From patchwork Tue Feb 1 13:06:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34018 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp608943iov; Tue, 1 Feb 2022 05:17:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJyLE3FpZVvXJ71A2pMcu7VF+tXn8T3LJnlBSN+rO33f7QhxvDvZOc7QXVJkNQtgxw5t0zh7 X-Received: by 2002:a17:906:5d16:: with SMTP id g22mr20836005ejt.753.1643721473667; Tue, 01 Feb 2022 05:17:53 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z17si10966734edc.147.2022.02.01.05.17.53; Tue, 01 Feb 2022 05:17:53 -0800 (PST) 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=@outlook.com header.s=selector1 header.b=Nk0Foq1j; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0276968B3E1; Tue, 1 Feb 2022 15:08:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075035.outbound.protection.outlook.com [40.92.75.35]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8FCBE68B3A0 for ; Tue, 1 Feb 2022 15:08:40 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l1yDIFOdmqOj+3ECQYtu8YpFg3Dcs36FsA2XIVMwJbMemgw6CzjEmK3QJ/DGmwh9I+Nq4G61LMNiF/2s8UAScM5qd7wec+2hhqif7EZnTxDT9EBJxk4oi9/kkAJzOvXYKeJu1TeR/mk3suzWXRYhE6go5ygisbUGYne1H11eGTlEbE17TkZSovMV36iuKeSZycrdZ334DkTYah0AqPOQFOc33DVHIaJRqAtPmSa3mjC5mEBssqPE+r7+0hayvHTmKaPRya6xl8TVIBYQY76vDGNt1Jy9m9fksrzCQuMOlaBrmYe/kcRZMzHPNu/465Bz87QwlegTwLjPc8xz81utpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aHWT8YfIaP58s+6z0EQK5GdUpoLGBcyC2dzhtWBrgOo=; b=Ny7DuIn3wU/c8Ltf8G1RQydYbWzO7XVkPhG65yWfGuYsNGpQn68+KgP3Q6EVA/ISyBokLqtKXKtjGKMGobopJjMekPTbLUZWFexDTIMkAWEXhO5UqBtsorIz0F/reP8O82V/ALrQoXZeJ0DHb1dFfNeVxPjzIMAIox7gKvzMTAm9qmE4BuOD1/+c1KFIcVdoK40E2yM7BMDDet2BamAAWEcnM847Z2J80cyRDKvmstZKQpsHHIF2tdcG/RxclTgMSqehuMDZlshcwIrVsD1N6ASe5XQW2N2M++K967e965cGSj5VdbIBTGB9o1sw8Zr3AWsErvw5JVlbVHd8Hg97HQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aHWT8YfIaP58s+6z0EQK5GdUpoLGBcyC2dzhtWBrgOo=; b=Nk0Foq1jinOY3trbbylFmrut/cZuwkuKPzZOLHLpksl+P4teH4LZAwREnPIemC+kL9c8iXozhBFFw4oicyQeX1LMY+lz96eX8fVrTD7OyG8cJQsazwx7piZPUi/zGFwa+s9SCqAu5WFvFhRk2titXxp7BWbkm/1MJ36QR+y7XmmxOBhMuzGyYddfHHrE3yfl+lnOizmHf4LtCP2LpkFBYEQQ6D2UO7rw7KZiKq52Nth/BSu0E1UYO/1NOyOmP2lVG+5eoxkUcz0d9wUf0BbYhaLOJCv3fuH+4BBGdddQtQG2uYukArMBRd9N0fbQr+2vwFYonhLppjqtptqE0nT+uQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by HE1PR0301MB2330.eurprd03.prod.outlook.com (2603:10a6:3:73::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Tue, 1 Feb 2022 13:08:36 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%6]) with mapi id 15.20.4951.011; Tue, 1 Feb 2022 13:08:36 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Feb 2022 14:06:40 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [WmAdulL1/rnPa+MAqSKhsz4Y6cZOeDue] X-ClientProxiedBy: AM6P195CA0092.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::33) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220201130706.1420875-42-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1c26c73f-cfc6-4727-eda9-08d9e583ead2 X-MS-TrafficTypeDiagnostic: HE1PR0301MB2330:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OMSEUKQg8wuwrD3HEGU6tM+2nhBXO5Z0a6WrIv+Lo+e281Sm8yOhREJ3uStEPiPCgUzcEX/QLGagluknhBJ8gQllvvRrql6hYVtcW2lK7nQHtGbRa+1pq9/F4RpdUzVhdKjceoe+pFElW8/HWqqeBN/8cS8IM2m4nQF8JNT5GpMC1uSzp12+/4BWE/uNqhztOisN2h4CuKKZO+jjnFG0+5WzTPr2dA3bbBVYdtcw2Nd9487bpOujzXa4Y1yLAUatNWZyNJ5hcgYETMir1u/GB0W3MyTBJ91drBO8oBOpXYfRtfwUOMcDcd8JdMi5y98JfDaCzs+zArcaV+R0USaN2ncEA81gYNNys19eWNb1Pq74BAPGAHIv4y888fqk2IvgitSYXq4afSDdq3KuZ1ZFuRdZ+U98VNZfxfQ0/JEaUU1vFhVZkE3yWQeHCgQrKXX0DhqsUBKPDh+mmsWw50tfqZsRXQCfcJbaA/k8UErIxjsBhh1mdpukwdhsI/b24ClyFH0WYzrj0DyELLyjUhkr4Qfa+Akhy7JD9UpkYxY4qSs= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ySjLrzGWZPkqucpts9efA3G6G5NaI3zKgCbFJKzcpZL178K3GEW1x5+mnsYPdXaSrxcPZSpfi8OK11tle+nIGyaa+mLW/snRlaRirevzYjWYYVIHSkYl5zRu2M77J+7ArQ3mmZr28WSxcAfPdS2+C7ouapnhdqZWZnwyhqLjhW3sbDv8wyRwcN8ryafYKGLXwZEoooyME/u8HaxxGehl6LIsTKdx745EkhcSX9uHtScaTvz5lN2CiBs175pwcBUt3ZEM8aHvzNxXlhov+2ce/oCrjmKrZXB7I+jW0gHyrFJl/rmaD0PCCGdtDZuDBtk0UQwg2Ep5oJ0js3yjekLYGKOFkArAKd4PnGgwWG1WC6FWHQWdACOcq+4T2IcvOIT1zOkKorTuwyUouv7BSlJcDDZlJWoD/fBXA3yqhi8uNRIC0pzO9BbnYb+2RFQpM6+87osvaYZ4pvA2+kkyL6j6C82KueB/UV9opLsSj3dZTiDEUxvhxj5NjcZmDxB71lvVNbytJ/oZozBrVuB9YMf+7zCCoWWRytU8lza35RE1boRqOc8KY7NQri2c8oy8GquWySKxZMO6gd+s7DMM2ni5dfsrxTNEuCq2hfQPgzX/PCOGzgjcCScNQybngR299Ocjs9M5vsB16+TUF/ukQ/cDAzq0b0TksQEg6H2fjGyHkx+ZYOCP0YcTefufaz3guY0RxqyHMmxHjGkbGinH6zPDIU9iqZLqedbL+6/oHjbQmIlyhIT4FC6IVBJlbHoTK+7TQamdLZjnv2c6ke2LHjPNSzepvs+YWvDNG3Vb/syCg6vI/eDqbeLnqGcIVZjz8E7Lu+OLa5Mf48KNd+xbmzowwXrpXFDEOhluxqixYkQzQ7JKdHWCe4OPsHLfy64qaSe6HAJuGCbaEUlzUPbi1kXV+MQAM8x6Zr8Qq8zwVv8kVLt8ta5Brd5q2ooA+TnWvCR4kVzXpWNLNOMUezLQzRHMjA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c26c73f-cfc6-4727-eda9-08d9e583ead2 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 13:08:19.4054 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0301MB2330 Subject: [FFmpeg-devel] [PATCH v2 43/69] avcodec/mpegvideo: Move brd_scale to MPVMainEncContext 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: w6heLhfjlwV6 Only used by the main encoding thread. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.h | 1 - libavcodec/mpegvideo_enc.c | 6 +++--- libavcodec/mpegvideoenc.h | 5 +++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 0153abde3b..62347eff81 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -406,7 +406,6 @@ typedef struct MPVContext { int top_field_first; int concealment_motion_vectors; int q_scale_type; - int brd_scale; int intra_vlc_format; int alternate_scan; #define VIDEO_FORMAT_COMPONENT 0 diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index ab49705823..a1ea875546 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -909,8 +909,8 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(ENOMEM); m->tmp_frames[i]->format = AV_PIX_FMT_YUV420P; - m->tmp_frames[i]->width = s->width >> s->brd_scale; - m->tmp_frames[i]->height = s->height >> s->brd_scale; + m->tmp_frames[i]->width = s->width >> m->brd_scale; + m->tmp_frames[i]->height = s->height >> m->brd_scale; ret = av_frame_get_buffer(m->tmp_frames[i], 0); if (ret < 0) @@ -1224,7 +1224,7 @@ static int estimate_best_b_count(MPVMainEncContext *m) { MPVEncContext *const s = &m->common; AVPacket *pkt; - const int scale = s->brd_scale; + const int scale = m->brd_scale; int width = s->width >> scale; int height = s->height >> scale; int i, j, out_size, p_lambda, b_lambda, lambda2; diff --git a/libavcodec/mpegvideoenc.h b/libavcodec/mpegvideoenc.h index ab0f7d13c7..350a1f70a6 100644 --- a/libavcodec/mpegvideoenc.h +++ b/libavcodec/mpegvideoenc.h @@ -75,6 +75,7 @@ typedef struct MPVMainEncContext { AVFrame *tmp_frames[MPVENC_MAX_B_FRAMES + 2]; int b_frame_strategy; int b_sensitivity; + int brd_scale; } MPVMainEncContext; #define UNI_AC_ENC_INDEX(run,level) ((run)*128 + (level)) @@ -157,7 +158,7 @@ FF_MPV_OPT_CMP_FUNC, \ #define FF_MPV_COMMON_BFRAME_OPTS \ {"b_strategy", "Strategy to choose between I/P/B-frames", FF_MPV_MAIN_OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 2, FF_MPV_OPT_FLAGS }, \ {"b_sensitivity", "Adjust sensitivity of b_frame_strategy 1", FF_MPV_MAIN_OFFSET(b_sensitivity), AV_OPT_TYPE_INT, {.i64 = 40 }, 1, INT_MAX, FF_MPV_OPT_FLAGS }, \ -{"brd_scale", "Downscale frames for dynamic B-frame decision", FF_MPV_OFFSET(brd_scale), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS }, +{"brd_scale", "Downscale frames for dynamic B-frame decision", FF_MPV_MAIN_OFFSET(brd_scale), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS }, #if FF_API_MPEGVIDEO_OPTS #define FF_MPV_DEPRECATED_MPEG_QUANT_OPT \ @@ -169,7 +170,7 @@ FF_MPV_OPT_CMP_FUNC, \ #define FF_MPV_DEPRECATED_BFRAME_OPTS \ { "b_strategy", "Deprecated, does nothing", FF_MPV_MAIN_OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 2, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, \ { "b_sensitivity", "Deprecated, does nothing", FF_MPV_MAIN_OFFSET(b_sensitivity), AV_OPT_TYPE_INT, { .i64 = 40 }, 1, INT_MAX, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, \ - { "brd_scale", "Deprecated, does nothing", FF_MPV_OFFSET(brd_scale), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, + { "brd_scale", "Deprecated, does nothing", FF_MPV_MAIN_OFFSET(brd_scale), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, #endif extern const AVClass ff_mpv_enc_class;