From patchwork Tue Feb 1 13:07:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34033 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp612598iov; Tue, 1 Feb 2022 05:22:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJy6i/RquErB+cVmOwjLFdxSmu6PR2/CccRg3Ib9cSPJykfpCaIK2YJ+RyiE6LKAWB/eQeXr X-Received: by 2002:a17:907:3e1d:: with SMTP id hp29mr20717861ejc.701.1643721776460; Tue, 01 Feb 2022 05:22:56 -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 dp15si7021443ejc.414.2022.02.01.05.22.55; Tue, 01 Feb 2022 05:22:56 -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=Xwiua2sJ; 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 D48C968B3D2; Tue, 1 Feb 2022 15:09:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074106.outbound.protection.outlook.com [40.92.74.106]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9A6D368B2C4 for ; Tue, 1 Feb 2022 15:09:26 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HCcc+TmD+xV81jTvZUo+e07PDqOUdFLZWHWPjdw95kk/FWcwv++PHMX85mCtq4C3/X5xThnqhnYOB7HUpE87+NkeBOR/CLGr6VEOEXaY+MYTl3iI5tkK8QuDWnbH/lQnt7li+/NDHyz0u0kwLwbd4CCKYA4TEbsnZR3R2teTaU3W95bIwdSZZrRbRuBtZ2Iqd/g/YMpePx7SipWHsE+GgKeYKu353YWydxjY0ImA9S/WCCKCNsQoevjbb28Q/MZFO5oVz1rAkBJ5g5AV49dgjhQ22TooO9UOPvmyMbOipTAhZnpHS6GGjRMtFnOmQj4UkRmBgXpCF75p0dZzcxYNdA== 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=G0LEqgRcZMHFrsVzGmK9tJfumv6D1kG4FjII/05DqVI=; b=M9YPEU6q5c7iVwjZplhIGLwtpXr3JxuLGC7fbOv0RVPelsLLR6dbrQGMYdZhxG95HdUDrWzIC8tGJm8728caML1uSWqh27tmWPrCi62+ogD5qU9DEbbqiMlZl0lxQYK4XmM3b8TzPwyhwOF9o4L2uQH06aFrLtH3Z1nP1xnRbNocFHYrcy5gTheWuioiBMAH5o6hRocAJ5iPlCoS75hdWlibqU6cFMERapWcm95baIq752yHUwSGKhZRmj04qhU9kFk9AY2IJ/HeJGKkD+F7cx8twQOypqEJiEINiZF4TSk2m22TNdrVhRAlkOdjW467eSwx0iO0+Sb51x/RXL3mNg== 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=G0LEqgRcZMHFrsVzGmK9tJfumv6D1kG4FjII/05DqVI=; b=Xwiua2sJrOhK8SKC7K+ho9JTnsVtMJaqu3sVhSvKGNnKoOiinFKJOn3f0lCF7+ZFX3CBDl88+0fGrtXBpsK4HVYwIbuEE5goMxo4HMw5pP+GUOM7vqYyKHuIwHcn5f2Gl3LqfRBfBj2Fcdz4Ykyv7dhEnpg5O0RgGo3aJNbV1cSIXH0x0cNB289DOhgSt1tWh7zQayFITNcbo/0od1g93DOwc3lFISduP+NJqGwElVDZsdcQ5dSrAqZVQlgVVs5o5w/VjTNaF1nWjJX3TxKZRyJr8mHrqdjPC/SRsfQIDVZEJ27g42U2QRAg7+83yN0cRcdQQiXmcnDaLOz/pfkNZw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM0PR03MB5025.eurprd03.prod.outlook.com (2603:10a6:208:102::19) 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:09:25 +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:09:25 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Feb 2022 14:07:01 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [MPFqIfTDw5OFXCKCl6J/Wt/i975g42yE] 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-63-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cc454e32-ff0d-48c4-ae5e-08d9e584000c X-MS-TrafficTypeDiagnostic: AM0PR03MB5025:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 935bDZ1z2qCkFSXEVv2756sQdyc4AzTgAWvsNJ88DubDJi0TxucVO05SdQ5xB2Ozox4Po6OUyBF9UMqCGicyp1iuUfx+6n3G9phDs84Y8yCtILJiPzP5aS49QVB48NF/5kW2hModxffKCUBxRIM9rLAgfX7AIHdD+K0jpnLoxywFQI0VYHHE5jTGYKrTydoWyIxv5vyK8A5kUrDgQPH/E3BNuytxBonYNprkLhspe+8LtHeO424DG3lEGtDI+70OQMoV833A3D2B3bn7VoVrytQySNQf4uPweDSAJwRuhEoMLQf6GjzHCypR3aLC2apLVuObsoIB2PUuvbuM5wEcULgfPtd0xhgKASjJcfkjjT6SO/01H+p6JEy8+mNhwnRx5t+oT8GFRd22ZB6s6P7WoBfIftnuCym1Zde2exfA9D3yUdhFJRtpdc/BD7NaJoqQivVOdq6ZIFOVL/4WBKtTc88oXB1LKTIuO6z8utPjGWzF6DtKWojTDiYaEXNsQewR+7Ztlg1V/AqZ0AZDx702loGgRAgqWZdTRXwNNui2r5Nhq54lX2fqbdcshYw1ng6o X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WICe908eeEfucrgCKeMV2BQMFzhw9AixjpnW9DyC4dGikIr8Xp1r41iApHQIAaBFkHwdzYqcgOV4dJnKbJU3eQIrdxmaQZeUxZYe0alCAbBHin4pdERvREPZhyJ2x/H1i0FLAiHTt44RRvGDx/FbEaXVQYmaHAge1caKXe6sQjRGQ2+Y4utj2JnLPAaxBpp3ibQUF5F+R+XSioxrVGF8M+U/JoDxdOx7DVh9rTt2OM2LRJFyXG7rcGWE/TdDURy2HCz62swMT2+Vs4AX48m3xr+Qk/4fUSq/zkkBV57/3FND6/GbJa7+3gVn+3acyLLBa3f27lKiS07Qi0WaHJf9uC3tUuRsNeq5cDKq3EE6GqAK50knzifnWb5eEn4OugIjog/CoI3qk7vLKuIssBVurrOnIQbO97NdQFMNVY+1OgYYRz53wLM8mD+Kl/OrZDE0Zb/uypwP8wL5u0hrTGiNS0uYAz0SwR7QV7kTjCf6ZT1KdZxhySYq/ighaTLCHNGBv0sqUrR7T9/2xhdigx50ZbJ02MMiiqBxYPwFyIYbzk6o+IYH1cYVN5bBhTrEVP8MKQk1ZF0Op8PM0X3NjboYtT1LCQP4p7uR10stsUxDK18p36/v/0C+nJLw4AXdaWRN8nd0i+nmHv58vnLYzwVWSR6zrniLmd57LkkZCo78BpxCm6GyHjnhtSveF9fE/okCyqyyzwRiG927cdbzBb6aOLhl8Xnq+eVrIs2W7MHBWKNZakgd846ki8hB5zTrKmrtOlN9qpkKm/nDiyNlRAHMMiOCDR6Xi20ga/QeDlGK+M8BausuIdKTXgZIc1NZig40YaF3/E+xQdb+ix6oLAFT3bVnRHjwOFjOYQ0tImVNXw1otxZae/fw3mumnZCREz2U3EB8dlVsdar1UZRbkNBTf3Cz1dk8SXAgEVu8vFWFaJvntueoIs2skJzyTN0+MfElQ2Tzm5IsW/0fYRGQHBJPAA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc454e32-ff0d-48c4-ae5e-08d9e584000c 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:54.9848 (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: AM0PR03MB5025 Subject: [FFmpeg-devel] [PATCH v2 64/69] avcodec/mpegvideo: Move coded_picture_number to MPVMainContext 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: XK5tdkYqlRmo It is not used by slice threads at all. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 2 +- libavcodec/mpegvideo.h | 3 ++- libavcodec/mpegvideo_dec.c | 4 ++-- libavcodec/mpegvideo_enc.c | 6 +++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index be18b428f5..8debf4d6ab 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -519,7 +519,7 @@ void ff_mpv_common_defaults(MPVMainContext *m) s->progressive_sequence = 1; s->picture_structure = PICT_FRAME; - s->coded_picture_number = 0; + m->coded_picture_number = 0; s->picture_number = 0; s->f_code = 1; diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index df5a51577a..99d474991a 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -103,7 +103,6 @@ typedef struct MPVContext { /* the following fields are managed internally by the encoder */ /* sequence parameters */ - int coded_picture_number; ///< used to set pic->coded_picture_number, should not be used for/by anything else int picture_number; //FIXME remove, unclear definition int mb_width, mb_height; ///< number of MBs horizontally & vertically int mb_stride; ///< mb_width+1 used for some arrays to allow simple addressing of left & top MBs without sig11 @@ -505,6 +504,8 @@ typedef struct MPVMainContext { * a frame size change */ int context_reinit; + int coded_picture_number; ///< used to set pic->coded_picture_number, should not be used for/by anything else + int slice_context_count; ///< number of used thread_contexts /* The first entry of this array points to the above MPVContext. */ MPVContext *thread_context[MAX_THREADS]; diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c index a4f751af71..48371aa886 100644 --- a/libavcodec/mpegvideo_dec.c +++ b/libavcodec/mpegvideo_dec.c @@ -105,7 +105,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst, s->quarter_sample = s1->quarter_sample; - s->coded_picture_number = s1->coded_picture_number; + m->coded_picture_number = m1->coded_picture_number; s->picture_number = s1->picture_number; av_assert0(!s->picture || s->picture != s1->picture); @@ -339,7 +339,7 @@ int ff_mpv_frame_start(MPVMainDecContext *m, AVCodecContext *avctx) pic->reference = 3; } - pic->f->coded_picture_number = s->coded_picture_number++; + pic->f->coded_picture_number = m->coded_picture_number++; if (alloc_picture(s, pic) < 0) return -1; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 2fbcfd56e1..3e9f8b4e42 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -1459,7 +1459,7 @@ static int select_input_picture(MPVMainEncContext *m) m->reordered_input_picture[0] = m->input_picture[0]; m->reordered_input_picture[0]->f->pict_type = AV_PICTURE_TYPE_I; m->reordered_input_picture[0]->f->coded_picture_number = - s->coded_picture_number++; + m2->coded_picture_number++; } else { int b_frames = 0; @@ -1545,13 +1545,13 @@ static int select_input_picture(MPVMainEncContext *m) if (m->reordered_input_picture[0]->f->pict_type != AV_PICTURE_TYPE_I) m->reordered_input_picture[0]->f->pict_type = AV_PICTURE_TYPE_P; m->reordered_input_picture[0]->f->coded_picture_number = - s->coded_picture_number++; + m2->coded_picture_number++; for (i = 0; i < b_frames; i++) { m->reordered_input_picture[i + 1] = m->input_picture[i]; m->reordered_input_picture[i + 1]->f->pict_type = AV_PICTURE_TYPE_B; m->reordered_input_picture[i + 1]->f->coded_picture_number = - s->coded_picture_number++; + m2->coded_picture_number++; } } }