From patchwork Tue Sep 5 17:43:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 43563 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4f16:b0:149:dfde:5c0a with SMTP id gi22csp2010016pzb; Tue, 5 Sep 2023 10:44:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG3I1ucSZSyo2OC3yQOeoxReF67f6jJ8J5Pv6zN52ow/TxOcvRpE+1zerqaU3ihT91IEDjs X-Received: by 2002:a17:906:74db:b0:9a1:da9a:f1c0 with SMTP id z27-20020a17090674db00b009a1da9af1c0mr375001ejl.48.1693935869337; Tue, 05 Sep 2023 10:44:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693935869; cv=none; d=google.com; s=arc-20160816; b=MIB4JFEXRi2coz8vXQIVMp0CP7J111ygtyF7U0lNWxgAnTaQxq8BCzl/0bsKTMfey5 +wQyWCHKUBXXnwHvCxOPGtNMoenRqKVufar5BYrGT3YKXSi2XioSz7CouDVCh3ftHNLn CL56IX6CKU7BfbrBxhNthuFuYcXLuzyd3mxBsHkL7MgUP6Onne2EdX6JnYSHO67FqhrS uJmPI4bmvKv2Rjm2FZJBQrsRxy2qD9ec2n7yWxFtYrVVayzVpyatdPa+wCIjil+AH297 DFHZ+mbqZBtyb6K3AfIURRinjKn0raqG9LeOfDbmKY+ywCuf9osBC6ntsdcNwB/s97oc bE+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=Oq+qZcavqhtm52MLbKTQPyUPm/EukPJ4O7CL4X1qdSE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=hHpc0CwRGwtu48zTkGCXPs3USr2gIeEVnyA29C0g/h9qZh5KFJ3uHwCGZOn3baL+T7 XAYSuEPo11YrlYJ+gU1WJ1lCVTUIvTo0alJFtw4yM8IcuOMBV87AmmffU/n0zfoR33gC dlA6wWGKgIiEHVeypKLUoCQx6AvxhgiZyPGW2sYrFoFoIIDOCMpwQqPiuxL67EN0OvCW DXVBJzW4eZssAkMJr7I5t+QLCXPn8avsmLTYRvlmrAT9JkH+fCu/36WODwKwWi2Gp3ur 2Xhymdrf1tk/BODKcO1s+1crQkCycvQ/tylAr/N9PsCKy1NcjsNmy/Wz7fZErc3i3cXV RSkA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=Vb++cYxK; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y16-20020a1709064b1000b0099bcf4f5e79si7479964eju.674.2023.09.05.10.44.28; Tue, 05 Sep 2023 10:44:29 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=Vb++cYxK; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6443368C7F4; Tue, 5 Sep 2023 20:44:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ot1-f54.google.com (mail-ot1-f54.google.com [209.85.210.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CF39E68C60B for ; Tue, 5 Sep 2023 20:44:18 +0300 (EEST) Received: by mail-ot1-f54.google.com with SMTP id 46e09a7af769-6bca3311b4fso2075928a34.0 for ; Tue, 05 Sep 2023 10:44:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693935857; x=1694540657; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=ek6TqB9gGUO3TFikpKvdn9p5qbnV2iWPLnlWIT6Sp8c=; b=Vb++cYxK6DRIPSHe6EmIOaNpUh7bizOFGjwPbbEUiCv5Eiin1VcAx65jCAvmYvp3Zz tM/wqLvRttNSzrkW14KJwp9oO1L+CwWFRm0YTfU19VsJzzkdnrttp2dkyQse17mNACul KtXlh795el0OHroQd2iWlTKVvf06/0hGSEEae4D6MerX+jaklN+Gw55nBkr1flhj5lXC t6wpKG4XpoeM/M8PAT7X77nuy5v1kro6TGMIi2UPTZUJsHMnWG601wi5QnWjY2NSxXue Cr66jUbBKlvbEsDRpcVf4hHMYVe0i2OBvJXqg44cVsMyxfOg1yo08VHnAIO4nz14Cbrz hw2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693935857; x=1694540657; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ek6TqB9gGUO3TFikpKvdn9p5qbnV2iWPLnlWIT6Sp8c=; b=FIQn3Xn5gwftuQm62psqJ1l3GFjkR3ds4kZ9PRsicGp8DL5vqLSHgyzXtnHU8sGZE1 64yimUcmlBRtP+Dwdm323qrhfWZGJPkvv4v46zVhbAE9F91pN3J1NNIOmMZxlMorfmOU Q80/zRQp0pAXm333mEjTsrcAajJalQYzn/gGJ3lJebmuB1/1UkJTOPuM5kfwgCr5N8+w RW5AnLA3V8aNK4T1YcAJOXnIyGHGkJn2bsiXtn3p0YZOEqScADtwan73PxeWq3xVWD+X mANbTIO2bkVpZ/pkJXk6aqV36qenCT2RiCcTVHENPaCNl1fkUBCVu09Q1rKb+DcOve9d bVLg== X-Gm-Message-State: AOJu0YxxypyCSTd76dnKBoLd5IGdqLJbHQ4IHjytCeVB7gP0NZ0Mjdu7 sQrPQo2H0Ci6RSY4QDpTn1VpBeOiC34= X-Received: by 2002:a05:6830:1350:b0:6b9:14bf:7097 with SMTP id r16-20020a056830135000b006b914bf7097mr15232550otq.9.1693935856581; Tue, 05 Sep 2023 10:44:16 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id y9-20020a9d6349000000b006bee51de9f6sm5673148otk.18.2023.09.05.10.44.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Sep 2023 10:44:16 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 5 Sep 2023 14:43:33 -0300 Message-ID: <20230905174336.3585-1-jamrial@gmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] Revert "avcodec/mpeg12dec: Do not alter avctx->rc_buffer_size" X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: nngCsemnpw+Z This reverts commit eb88ccb92e05018b1060cf8126b30eeeff551d3b. AVCodecContext fields are the proper place for a decoder to export such values. This change is in preparation for the following commits. --- libavcodec/avcodec.h | 2 +- libavcodec/mpeg12dec.c | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 649411ac79..714a3c78da 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1260,7 +1260,7 @@ typedef struct AVCodecContext { /** * decoder bitstream buffer size * - encoding: Set by user. - * - decoding: unused + * - decoding: May be set by libavcodec. */ int rc_buffer_size; diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 36461a9ae6..2290a90778 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -76,7 +76,6 @@ typedef struct Mpeg1Context { unsigned aspect_ratio_info; AVRational save_aspect; int save_width, save_height, save_progressive_seq; - int rc_buffer_size; AVRational frame_rate_ext; /* MPEG-2 specific framerate modificator */ unsigned frame_rate_index; int sync; /* Did we reach a sync point like a GOP/SEQ/KEYFrame? */ @@ -1392,7 +1391,7 @@ static void mpeg_decode_sequence_extension(Mpeg1Context *s1) bit_rate_ext = get_bits(&s->gb, 12); /* XXX: handle it */ s->bit_rate += (bit_rate_ext << 18) * 400LL; check_marker(s->avctx, &s->gb, "after bit rate extension"); - s1->rc_buffer_size += get_bits(&s->gb, 8) * 1024 * 16 << 10; + s->avctx->rc_buffer_size += get_bits(&s->gb, 8) * 1024 * 16 << 10; s->low_delay = get_bits1(&s->gb); if (s->avctx->flags & AV_CODEC_FLAG_LOW_DELAY) @@ -1405,7 +1404,7 @@ static void mpeg_decode_sequence_extension(Mpeg1Context *s1) s->codec_id = s->avctx->codec_id = AV_CODEC_ID_MPEG2VIDEO; if (cpb_props = ff_add_cpb_side_data(s->avctx)) { - cpb_props->buffer_size = s1->rc_buffer_size; + cpb_props->buffer_size = s->avctx->rc_buffer_size; if (s->bit_rate != 0x3FFFF*400) cpb_props->max_bitrate = s->bit_rate; } @@ -1414,7 +1413,7 @@ static void mpeg_decode_sequence_extension(Mpeg1Context *s1) av_log(s->avctx, AV_LOG_DEBUG, "profile: %d, level: %d ps: %d cf:%d vbv buffer: %d, bitrate:%"PRId64"\n", s->avctx->profile, s->avctx->level, s->progressive_sequence, s->chroma_format, - s1->rc_buffer_size, s->bit_rate); + s->avctx->rc_buffer_size, s->bit_rate); } static void mpeg_decode_sequence_display_extension(Mpeg1Context *s1) @@ -2104,7 +2103,7 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx, return AVERROR_INVALIDDATA; } - s1->rc_buffer_size = get_bits(&s->gb, 10) * 1024 * 16; + s->avctx->rc_buffer_size = get_bits(&s->gb, 10) * 1024 * 16; skip_bits(&s->gb, 1); /* get matrix */ @@ -2152,7 +2151,7 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx, if (s->avctx->debug & FF_DEBUG_PICT_INFO) av_log(s->avctx, AV_LOG_DEBUG, "vbv buffer: %d, bitrate:%"PRId64", aspect_ratio_info: %d \n", - s1->rc_buffer_size, s->bit_rate, s1->aspect_ratio_info); + s->avctx->rc_buffer_size, s->bit_rate, s1->aspect_ratio_info); return 0; }