From patchwork Wed Jul 8 01:29:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 20864 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id EEA5044B3D2 for ; Wed, 8 Jul 2020 04:30:27 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C83E768921A; Wed, 8 Jul 2020 04:30:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f196.google.com (mail-qt1-f196.google.com [209.85.160.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BCD82680415 for ; Wed, 8 Jul 2020 04:30:20 +0300 (EEST) Received: by mail-qt1-f196.google.com with SMTP id e12so33315583qtr.9 for ; Tue, 07 Jul 2020 18:30:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=YG8/9DgMo/uakxTfBhqQHTEhr8SOdaiXvgKL5VclNH8=; b=MKfAlsVeJRvQMqw/0K6vU2BQxsoQANF1FelWGFQ6zXtrGS1UPa6L9ThIMZDTNd432y 3IFutT+2SinqQNew9VJOqRhH0xw5E7paRu6tx4hA5kvpY2wftYKMgkeScTagqEgNAWyC R8MKazo7EDmcTAnyFvG9XulP3tpz2L/jxATlkU/HxkUdpy0ppRlqoSJLMA9pMpI9Ole0 OY2JiWX6BPvW8Sb3e0QNcvSkRUu2cev7OMHweV4087SKdA1Eycp3n5tXxTVCiFgcsh5H bTi6y0/bPJ2q8ETDRDHd+Ssjj9JOfj/TKC9erOhuDWTRS0ZvDfLdELHHwpkwY5XaGQtR D+0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=YG8/9DgMo/uakxTfBhqQHTEhr8SOdaiXvgKL5VclNH8=; b=YZ/G0SIqEeCaLk2u+QBbE4TiCdwLU+nwvuy8IsEViBK3EetKeugbKHOz+XsSC96BPD x/vLtq1HX+9liH980kWI7IpxFVAcxNSQGAYIqm1+0UeLJIGz3Bfoo4861hMBC/OUle67 zkx+q/q4/AoQ7AMJN0Dl75xwFgCAulMRxPV6qtQDRvXjZVZVZxE5Xz8nj/TDldtfbw2l sQP0F6/x9KkUxCq9LETIxYsWBkoCEJk5dk0CStMGw7j9kUmLA3A3d4R6FHDrVkkZg88t X4ZEj19vVqGMqL3iSggkf2vK6XiUK0/cGqVrPKSJRw4RiPfF4YR9e+VbF2SU623NVvIA n3ow== X-Gm-Message-State: AOAM533WnNeu2cJk44h4Y4gCD37Fv6dicKyPBKaEoKC2sls7Eh79aizr FqKZqAX6Jvmkr9vtjI1Hj9J2omGR X-Google-Smtp-Source: ABdhPJwDfqidvqjzFgpMSe1P3AjZiPCKqUYnYqLTQP0Wu6LXLTMEazqqa6GLbVT9aKDqiKUdKJ5hDQ== X-Received: by 2002:ac8:1907:: with SMTP id t7mr56694368qtj.160.1594171818754; Tue, 07 Jul 2020 18:30:18 -0700 (PDT) Received: from localhost.localdomain ([191.84.244.216]) by smtp.gmail.com with ESMTPSA id y40sm29275177qtc.29.2020.07.07.18.30.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 18:30:18 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Jul 2020 22:29:46 -0300 Message-Id: <20200708012949.13522-1-jamrial@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/av1_metadata_bsf: Use separate contexts for reading/writing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Based on code from 235a5734e0 Signed-off-by: James Almer --- libavcodec/av1_metadata_bsf.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/libavcodec/av1_metadata_bsf.c b/libavcodec/av1_metadata_bsf.c index 3e3cbfd174..3158ba995b 100644 --- a/libavcodec/av1_metadata_bsf.c +++ b/libavcodec/av1_metadata_bsf.c @@ -33,7 +33,8 @@ enum { typedef struct AV1MetadataContext { const AVClass *class; - CodedBitstreamContext *cbc; + CodedBitstreamContext *input; + CodedBitstreamContext *output; CodedBitstreamFragment access_unit; int td; @@ -125,7 +126,7 @@ static int av1_metadata_update_side_data(AVBSFContext *bsf, AVPacket *pkt) if (!side_data_size) return 0; - err = ff_cbs_read(ctx->cbc, frag, side_data, side_data_size); + err = ff_cbs_read(ctx->input, frag, side_data, side_data_size); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to read extradata from packet side data.\n"); return err; @@ -140,7 +141,7 @@ static int av1_metadata_update_side_data(AVBSFContext *bsf, AVPacket *pkt) } } - err = ff_cbs_write_fragment_data(ctx->cbc, frag); + err = ff_cbs_write_fragment_data(ctx->output, frag); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to write extradata into packet side data.\n"); return err; @@ -171,7 +172,7 @@ static int av1_metadata_filter(AVBSFContext *bsf, AVPacket *pkt) if (err < 0) goto fail; - err = ff_cbs_read_packet(ctx->cbc, frag, pkt); + err = ff_cbs_read_packet(ctx->input, frag, pkt); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to read packet.\n"); goto fail; @@ -216,7 +217,7 @@ static int av1_metadata_filter(AVBSFContext *bsf, AVPacket *pkt) } } - err = ff_cbs_write_packet(ctx->cbc, pkt, frag); + err = ff_cbs_write_packet(ctx->output, pkt, frag); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to write packet.\n"); goto fail; @@ -239,12 +240,15 @@ static int av1_metadata_init(AVBSFContext *bsf) AV1RawOBU *obu; int err, i; - err = ff_cbs_init(&ctx->cbc, AV_CODEC_ID_AV1, bsf); + err = ff_cbs_init(&ctx->input, AV_CODEC_ID_AV1, bsf); + if (err < 0) + return err; + err = ff_cbs_init(&ctx->output, AV_CODEC_ID_AV1, bsf); if (err < 0) return err; if (bsf->par_in->extradata) { - err = ff_cbs_read_extradata(ctx->cbc, frag, bsf->par_in); + err = ff_cbs_read_extradata(ctx->input, frag, bsf->par_in); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to read extradata.\n"); goto fail; @@ -259,7 +263,7 @@ static int av1_metadata_init(AVBSFContext *bsf) } } - err = ff_cbs_write_extradata(ctx->cbc, bsf->par_out, frag); + err = ff_cbs_write_extradata(ctx->output, bsf->par_out, frag); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to write extradata.\n"); goto fail; @@ -277,7 +281,8 @@ static void av1_metadata_close(AVBSFContext *bsf) AV1MetadataContext *ctx = bsf->priv_data; ff_cbs_fragment_free(&ctx->access_unit); - ff_cbs_close(&ctx->cbc); + ff_cbs_close(&ctx->input); + ff_cbs_close(&ctx->output); } #define OFFSET(x) offsetof(AV1MetadataContext, x) From patchwork Wed Jul 8 01:29:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 20866 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9B60D44BD3E for ; Wed, 8 Jul 2020 04:38:04 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 73C5468A295; Wed, 8 Jul 2020 04:38:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f193.google.com (mail-qk1-f193.google.com [209.85.222.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D120A68A295 for ; Wed, 8 Jul 2020 04:37:57 +0300 (EEST) Received: by mail-qk1-f193.google.com with SMTP id k18so40091584qke.4 for ; Tue, 07 Jul 2020 18:37:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=IyGJKjM2Rb56ZPcqzlUXE7zBub3klkHSBnYXuAChi4k=; b=odXtqfaD0Yc7Kiv6OBO+lSu/qNQZRKgzO1jesCOuZ0BPeSJNvrLSWdFSRLoz8lxw3u FF4ert5O0ppJ7DfXEsJiTi4lU1XPWeXv4ENMXt9eTqokfjRkkt4ioT/ourv3mGVMlAHh NOOGwXuFXNUKucwIKgueRqUtipT3CBWo3Pa4WetTEzNFCc8A3v2hPpsq54nuqy3giozT Dm9sxirHSzHFxEAVMDdnRJzH3VnQoj7we5UkQ2eD0j8m46yn/gzSsZm5VqV8tBWOPIW8 tNenaOs8FtDp82Tn5Y4xwhU+eycadhxQIdnU801y/ATt9mLw/MKJXw4VN4QaCwoCa4A5 Ttvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IyGJKjM2Rb56ZPcqzlUXE7zBub3klkHSBnYXuAChi4k=; b=GJgDPhHzm3z2cMF1YikNnwyiwtwJRmOqJqbVnJd291JvAErRpZg4bxD8/dk317lNCj lz38AMuCXtEOBWskXRUm+LUgWPjGseB1emogpB/VRik1wijV6bz1BJHQXZZXU2CnoJWV YjQN1aGktsMThxcn68VUA0J4Jd2JJIPLxhbkg237JB3BG6SpKZWfLSN0lIo0z4QT24Oc xgWhRZWflDNyY6m+j/0v9Jn++YoY3zwjgGzo9HUbQ6HgJvq1CtBoS5AhJhX2wmW2jJIY FBkaRR0PZPi3rZYTuZdhhuosOXKL81FAU1P0+cCBH4KMe/mu4ZChCmraTUZynLQnQEah WOJw== X-Gm-Message-State: AOAM533pUFu6nEO4c6rwAqBQoIxbHnY6YdWcDC/XPw9J2s+UGOF5G2xG sJxTPO6HIDA0NgQDh2OYvTmNfUxs6Mo= X-Google-Smtp-Source: ABdhPJyw05+SyiTPwT7Xctu+DBCr2skMuDgZ+PsQufleYT5J6OY1gLKZ1J4U//VvYvxH9YJ7P3un8w== X-Received: by 2002:a05:620a:6c9:: with SMTP id 9mr53213868qky.271.1594171820363; Tue, 07 Jul 2020 18:30:20 -0700 (PDT) Received: from localhost.localdomain ([191.84.244.216]) by smtp.gmail.com with ESMTPSA id y40sm29275177qtc.29.2020.07.07.18.30.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 18:30:19 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Jul 2020 22:29:47 -0300 Message-Id: <20200708012949.13522-2-jamrial@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200708012949.13522-1-jamrial@gmail.com> References: <20200708012949.13522-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] avcodec/av1_frame_merge_bsf: Use separate contexts for reading/writing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Based on code from 235a5734e0 Signed-off-by: James Almer --- libavcodec/av1_frame_merge_bsf.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/libavcodec/av1_frame_merge_bsf.c b/libavcodec/av1_frame_merge_bsf.c index baea5596d7..fce5bdb67e 100644 --- a/libavcodec/av1_frame_merge_bsf.c +++ b/libavcodec/av1_frame_merge_bsf.c @@ -24,7 +24,8 @@ #include "cbs_av1.h" typedef struct AV1FMergeContext { - CodedBitstreamContext *cbc; + CodedBitstreamContext *input; + CodedBitstreamContext *output; CodedBitstreamFragment frag[2]; AVPacket *pkt, *in; int idx; @@ -54,7 +55,7 @@ static int av1_frame_merge_filter(AVBSFContext *bsf, AVPacket *out) return err; } - err = ff_cbs_read_packet(ctx->cbc, frag, in); + err = ff_cbs_read_packet(ctx->input, frag, in); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to read packet.\n"); goto fail; @@ -82,7 +83,7 @@ static int av1_frame_merge_filter(AVBSFContext *bsf, AVPacket *out) if (tu->nb_units > 0 && frag->units[0].type == AV1_OBU_TEMPORAL_DELIMITER) { eof: - err = ff_cbs_write_packet(ctx->cbc, buffer_pkt, tu); + err = ff_cbs_write_packet(ctx->output, buffer_pkt, tu); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to write packet.\n"); goto fail; @@ -120,13 +121,18 @@ fail: static int av1_frame_merge_init(AVBSFContext *bsf) { AV1FMergeContext *ctx = bsf->priv_data; + int err; ctx->in = av_packet_alloc(); ctx->pkt = av_packet_alloc(); if (!ctx->in || !ctx->pkt) return AVERROR(ENOMEM); - return ff_cbs_init(&ctx->cbc, AV_CODEC_ID_AV1, bsf); + err = ff_cbs_init(&ctx->input, AV_CODEC_ID_AV1, bsf); + if (err < 0) + return err; + + return ff_cbs_init(&ctx->output, AV_CODEC_ID_AV1, bsf); } static void av1_frame_merge_close(AVBSFContext *bsf) @@ -137,7 +143,8 @@ static void av1_frame_merge_close(AVBSFContext *bsf) ff_cbs_fragment_free(&ctx->frag[1]); av_packet_free(&ctx->in); av_packet_free(&ctx->pkt); - ff_cbs_close(&ctx->cbc); + ff_cbs_close(&ctx->input); + ff_cbs_close(&ctx->output); } static const enum AVCodecID av1_frame_merge_codec_ids[] = { From patchwork Wed Jul 8 01:29:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 20867 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id BB17644BEB7 for ; Wed, 8 Jul 2020 04:52:29 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9A35368AB1D; Wed, 8 Jul 2020 04:52:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com [209.85.160.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 064D368A965 for ; Wed, 8 Jul 2020 04:52:23 +0300 (EEST) Received: by mail-qt1-f195.google.com with SMTP id w34so13323071qte.1 for ; Tue, 07 Jul 2020 18:52:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=uDluu0G4gZbsBUFJ+BH9pR36F50fvpNA3FOILEcIqOM=; b=DWM851Y48JlUX8bpy+jr8PrVunsgncYddEW8gyVZmVtXlAcmLcCQci9HI4HAD/Q6LD /MsTw606I6A+CliQALr4ZiHLywYVMWgNll1oEkslKhJHo0IHbYruesfuiZa0ydlLGAM1 Jk67gYv0ibuHHJ7BAK+ulTiNmvZJv62T/5LnWHgD8T4zzP1HujS9540aoW3sp/toV8VK /CeDbe0SMFUraApdcXN/+n6zV4r9TmR+/7ok8o1ZOVpIVMCDGEcAIbqvuyoMhpSmzsXn 8bDwL3rs6qWIvM+8ZOhTdmuGPUNFM+ATb/It/yCSL6DK1JQJNiKLbkIto9aZuwnpusLo CRuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uDluu0G4gZbsBUFJ+BH9pR36F50fvpNA3FOILEcIqOM=; b=lLk4WlU9QoiSHajVMQqeCEwMQ3H4F5oIw+XFjPBl9aUd0G0FGLgDg/EhL4QG7FS04b fnx7R5Dj/Oh3OsRx81mghQCKdKpBBQaUmCjcTqFDLdLgP00RSf7GSnjGxTltp5nC20yF NEZJVdkuV9iv0Bvx4VhkrkLnOPU+8F/drugaMrtVg9VYdDJkSqgXd8ubvmLjZXrFdIkV oMdfwPqBAL6d3+gNb/QDhjlK2cO8mpK/3WjZAHjgyLSohz1CfyqV+3eWhrtSoUMfAbLl vpp8FMF/7by5zZnQsd6xv30mRBWoweKfpRegNsgH+aNE6+t/Q53JvoymbbiLyKxppNWq DTHQ== X-Gm-Message-State: AOAM532homRJH61w4Dcniuj6Z8/+BIiJCGofMNReq9Jyb42F2IdzickP cmFCBx0RFcsmjYEm1NK0TCL2D045wMg= X-Google-Smtp-Source: ABdhPJxGyf5eUDo/T8L9aUEbT48IHizIlrq5LS3q9jwefqwsXGjZxFmY1rOwwo+6dvpIlaHaOMmbBw== X-Received: by 2002:a37:448:: with SMTP id 69mr54464289qke.130.1594171821881; Tue, 07 Jul 2020 18:30:21 -0700 (PDT) Received: from localhost.localdomain ([191.84.244.216]) by smtp.gmail.com with ESMTPSA id y40sm29275177qtc.29.2020.07.07.18.30.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 18:30:21 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Jul 2020 22:29:48 -0300 Message-Id: <20200708012949.13522-3-jamrial@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200708012949.13522-1-jamrial@gmail.com> References: <20200708012949.13522-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/4] avcodec/filter_units_bsf: Use separate contexts for reading/writing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Based on code from 235a5734e0 Signed-off-by: James Almer --- libavcodec/filter_units_bsf.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/libavcodec/filter_units_bsf.c b/libavcodec/filter_units_bsf.c index 354594ac50..14960761d2 100644 --- a/libavcodec/filter_units_bsf.c +++ b/libavcodec/filter_units_bsf.c @@ -29,7 +29,8 @@ typedef struct FilterUnitsContext { const AVClass *class; - CodedBitstreamContext *cbc; + CodedBitstreamContext *input; + CodedBitstreamContext *output; CodedBitstreamFragment fragment; const char *pass_types; @@ -112,7 +113,7 @@ static int filter_units_filter(AVBSFContext *bsf, AVPacket *pkt) if (ctx->mode == NOOP) return 0; - err = ff_cbs_read_packet(ctx->cbc, frag, pkt); + err = ff_cbs_read_packet(ctx->input, frag, pkt); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to read packet.\n"); goto fail; @@ -134,7 +135,7 @@ static int filter_units_filter(AVBSFContext *bsf, AVPacket *pkt) goto fail; } - err = ff_cbs_write_packet(ctx->cbc, pkt, frag); + err = ff_cbs_write_packet(ctx->output, pkt, frag); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to write packet.\n"); goto fail; @@ -179,22 +180,25 @@ static int filter_units_init(AVBSFContext *bsf) return 0; } - err = ff_cbs_init(&ctx->cbc, bsf->par_in->codec_id, bsf); + err = ff_cbs_init(&ctx->input, bsf->par_in->codec_id, bsf); + if (err < 0) + return err; + err = ff_cbs_init(&ctx->output, bsf->par_in->codec_id, bsf); if (err < 0) return err; // Don't actually decompose anything, we only want the unit data. - ctx->cbc->decompose_unit_types = ctx->type_list; - ctx->cbc->nb_decompose_unit_types = 0; + ctx->input->decompose_unit_types = ctx->type_list; + ctx->input->nb_decompose_unit_types = 0; if (bsf->par_in->extradata) { CodedBitstreamFragment *frag = &ctx->fragment; - err = ff_cbs_read_extradata(ctx->cbc, frag, bsf->par_in); + err = ff_cbs_read_extradata(ctx->input, frag, bsf->par_in); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to read extradata.\n"); } else { - err = ff_cbs_write_extradata(ctx->cbc, bsf->par_out, frag); + err = ff_cbs_write_extradata(ctx->output, bsf->par_out, frag); if (err < 0) av_log(bsf, AV_LOG_ERROR, "Failed to write extradata.\n"); } @@ -212,7 +216,8 @@ static void filter_units_close(AVBSFContext *bsf) av_freep(&ctx->type_list); ff_cbs_fragment_free(&ctx->fragment); - ff_cbs_close(&ctx->cbc); + ff_cbs_close(&ctx->input); + ff_cbs_close(&ctx->output); } #define OFFSET(x) offsetof(FilterUnitsContext, x) From patchwork Wed Jul 8 01:29:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 20865 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 04D0144B3D2 for ; Wed, 8 Jul 2020 04:30:31 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DBF7B68AA7F; Wed, 8 Jul 2020 04:30:31 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f193.google.com (mail-qt1-f193.google.com [209.85.160.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5482A6880CA for ; Wed, 8 Jul 2020 04:30:25 +0300 (EEST) Received: by mail-qt1-f193.google.com with SMTP id g13so33326697qtv.8 for ; Tue, 07 Jul 2020 18:30:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=D4czThycjf71RRp7/1qagUra6pYvn/Fquqa9/zcaZ3Q=; b=C0R56DVy9TbYerQi1IvV57sY1GvbPDFpzCdSpTtmG9aUK/K62YbCCIyxA4uE3h+J7l 3P8OsCBWCrU4nR86rzfC9bJURBjEA4cXX2tzLHEQ2JZBXli9K0D5ioHVDCmLFzk7mx+A pCheVr75kzF7DQ0R6yj9Ud9Cz6OldmbYFcgtxXwGGLqpnNVwNvMGZeRJyBAolH8CebQh nwfILF2PMIF8iX5UMVkjY5PV/tDgDCJfrKRIrYVsrYJXMzwcCF584rdm6fqX6/N5A90R lD0D1/ZK0FQXV1Noi6Ug0J4jqhf9Ul03D/AiHMqELBoP5f3lPgeIJe5PwGUwR08Zf7jQ 37+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D4czThycjf71RRp7/1qagUra6pYvn/Fquqa9/zcaZ3Q=; b=m3oaWoasCcGgdPPp93S9HkPzddrMnuMUWp8cARrT0KuZLr0uyxZL7lZkDoZkHx79L2 hwgMYDuL2XMhyWPsN912MoH64+U5S1y2XsZzmAcJCX/ircHcuBWGTQt7P/i6Gsk6inEf UMQ/NXHNz17bs4d7V+qor29+NEPZJZsj4H0mRSwR5vP1ex6GL+uu3/hvM7f87T+Drtzp MhksyoTPrjR/PK/UlZSsT0+EdgJiGrTCGBgy3ITJ3K0Vtg94jRqIR9EwJvilspIQ1A/J SsulcO76F0MXLKaA5qKxWtzz0PRGzv/gfhJ2ow6Zehz2e7+TgjyGYLnHxrdoySQZ3T69 NOPw== X-Gm-Message-State: AOAM5303ZX5OcOQDNKpaWomeJM142YVrRR2x1idp2xIFoDLylz3SfNAr ZYVolkGdsX4VWUN0vmWfv4V09FaJ/4c= X-Google-Smtp-Source: ABdhPJxGMZDn+ZQcn+jR/4JCoeRFkEc/hT6wC17FXUp+pX7m4jsdXFEqcbDyTEy+LBvOl0dR678CmA== X-Received: by 2002:ac8:7cb1:: with SMTP id z17mr59496313qtv.336.1594171823460; Tue, 07 Jul 2020 18:30:23 -0700 (PDT) Received: from localhost.localdomain ([191.84.244.216]) by smtp.gmail.com with ESMTPSA id y40sm29275177qtc.29.2020.07.07.18.30.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 18:30:22 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Jul 2020 22:29:49 -0300 Message-Id: <20200708012949.13522-4-jamrial@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200708012949.13522-1-jamrial@gmail.com> References: <20200708012949.13522-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/4] Revert "avcodec/cbs_av1: keep separate reference frame state for reading and writing" X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" This reverts commit 4e2bef6a82b356772a5919c51c9be1530268bd79. It's no longer needed now that all the bsfs use separate contexts for reading and writing. --- libavcodec/cbs_av1.c | 4 ---- libavcodec/cbs_av1.h | 4 +--- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c index b2a1d2ded1..75e9cb78df 100644 --- a/libavcodec/cbs_av1.c +++ b/libavcodec/cbs_av1.c @@ -939,8 +939,6 @@ static int cbs_av1_read_unit(CodedBitstreamContext *ctx, priv->spatial_id = 0; } - priv->ref = (AV1ReferenceFrameState *)&priv->read_ref; - switch (obu->header.obu_type) { case AV1_OBU_SEQUENCE_HEADER: { @@ -1084,8 +1082,6 @@ static int cbs_av1_write_obu(CodedBitstreamContext *ctx, td = NULL; start_pos = put_bits_count(pbc); - priv->ref = (AV1ReferenceFrameState *)&priv->write_ref; - switch (obu->header.obu_type) { case AV1_OBU_SEQUENCE_HEADER: { diff --git a/libavcodec/cbs_av1.h b/libavcodec/cbs_av1.h index fdc629b00c..f5fed220a5 100644 --- a/libavcodec/cbs_av1.h +++ b/libavcodec/cbs_av1.h @@ -441,9 +441,7 @@ typedef struct CodedBitstreamAV1Context { int tile_cols; int tile_rows; - AV1ReferenceFrameState *ref; - AV1ReferenceFrameState read_ref[AV1_NUM_REF_FRAMES]; - AV1ReferenceFrameState write_ref[AV1_NUM_REF_FRAMES]; + AV1ReferenceFrameState ref[AV1_NUM_REF_FRAMES]; } CodedBitstreamAV1Context;