From patchwork Tue Feb 1 13:07:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34035 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp613023iov; Tue, 1 Feb 2022 05:23:24 -0800 (PST) X-Google-Smtp-Source: ABdhPJwQZ1mNIdC8sTEHNB3NFU/83sdiCAhKLuIUu6/LU4z4/6BWTpO7FYAfm+MI8Lk7hbsG9dCH X-Received: by 2002:a05:6402:3450:: with SMTP id l16mr25292414edc.225.1643721804044; Tue, 01 Feb 2022 05:23:24 -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 u25si9484949edq.22.2022.02.01.05.23.23; Tue, 01 Feb 2022 05:23:24 -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=WK+KLV5u; 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 B80BA68B46E; Tue, 1 Feb 2022 15:09:29 +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 DE74068B360 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=CkvjsEYCj8DGEZ4P7KYa3Yg4uI6tlPPcmdtbwtyRocqau6bCmg/Ai46/d8XCk2l/83XIZ4hVa2aBgOQ+G1gLI+7jpHGrKEM6dF+FGYNvQGZZpXQgf2zJu1hptc0FLreLHKJY1pU0GeifbzhvTyZK8jMynMkVh6nbONDSiefFaf0glkPwNeWLEC9aVQQt6Qnvm/7iffNMqQf0DjnOG0sXmftjaunATVQqCbk9lJwU0TJRoya8a8+9gZpz6iiqEvRqXVy7zyPBYEu9ikRIT+grpEebjvR0eJurtUUzOKlOR1WY2kZMIeJ6zun/ilggfHI0bVX9Yfyet1vvffgwdYj34w== 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=F2Ts4j1f8nNGIvjW7wWCJa0e4TAUq6Zy0piLgW1/x2Y=; b=MiWwIdwdzQLQYRnrXS3c315ZgYQy5oh19WJMgbid+r3PrjfG8Lhk/u+fr1Xpf2YWTaMBZOt8ZCtF9XQ2tozzm7QsP45PbGtPpc2ZUWyXw5dh//2JsPxilXAHTlq5+ImmSoWlLGs8qMhJ6MLGDJtMFtRN8DBQUfeJr63ZpVK/MOQDJ1cIqiUvcPYOdDhLzXo/hSbwKblFaZvHLUwNR9iZX1j0BSV5EMYrurUXi0rsD+Qj9/ZqPIpWcLFVHXAfVhyyeoGtdeagEvCkbGUMjfBJcbR7N0bM2oKQPhL9vvku1V+x7/5Xm5ZSYV+oNDdO0Qhiw89tuC66M+PdUPdegSyuYg== 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=F2Ts4j1f8nNGIvjW7wWCJa0e4TAUq6Zy0piLgW1/x2Y=; b=WK+KLV5uuEK1UYkK7d5/hladEnB8TyS4fF2cX9gAztayNfuo3qDfAvh2e6h8vM2arSSX6KUN98i3BNpPcI+R8A8hoS2LYVrqxH6Nf5VtlgmtYoxAAsThKXi7CqRRtjstFYxLK9+zanVKqK9X1iMALhjuAchT4C+bVu8zyKHgJNJG8egt0ID9GcR55YKWukae+08cH+flfW7faqg/OQbK+romANfZYl3abhHzpZuQMRX1q3htMI9amOyl9PARuVMXNh+hAX8lvHo/eCe6ZlHBk28hY8dDLiab8Wn28/2XU3dM420j8NBDeO2C/r74PcFsY2scbswaosNPCtlgnTDIKQ== 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:26 +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:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Feb 2022 14:07:03 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [bLK4aZdrfKw/WJrGW/HHMRMuh+Nmiq/O] 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-65-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 55ef0dd9-e3dc-41c6-7ea7-08d9e584019c X-MS-TrafficTypeDiagnostic: AM0PR03MB5025:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1C8gRjZmTxr4Xfg1M6GVi7193rnyGxii2n9lsNQiEv3eTGk5Q48atBZaWd5cTGugWRryJGXyGYCOEtX8Mlt6Z5GgFi4rjl/jxmsEYon0OyrlBPSILL1CG89MvWLchukMp1eb2Lt0zyo41A/kOniQsrombjTDN0DFOSWHpfFGJLtPFX8XDmw/Ks3FutgxpoVGg7jomTMKj1ONY0VROMhcDSwKLYznK5a9FsV84epp3FXczDtHkhjL1pBgk7md4OhlNTp2fbzVaBiC55DSEZTgCbvRVjRWlvXnQoCkuHJEivgMLfwvO1V1W/CT4e0Z+s0jebQG6aUhoVUtE5V5Tkb6KDOc7VcuBsi12w28zgqzUb00zUmdX7ObR8SLBx0ior8p7R4KpUlyNbTQ3p4EbJzmIKJHKN7Lmsy2ye/1hcjfA4MH6fJyb6r3lkx0CeVIuPSiNoni33Jfxy3Fbp5WPf6UJCB3KVoSp5CKagCsB/dOgQQCMCMMqEPru8hZKVxGvjqSS5rPS1fVxO+5cUix2wQ++uPCvBxPOEEc5vztQZ2n/I4VOM8jjvq8pFev1omo+ru1 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9VadBGzBl9AOzCeq8kgux9Z/nj4SUt8SB8sTlVn82sB8J8WqzWoaOlEGJCYHvxt7NbL894H+VQFYvvDuvSfNN3kQ4EpnPRjH92zF5MsLuwlPufBiAUrEf6g3ZBtpYFYN+L8DtBIqZyLAl4qIjmEx4B91NjiEYRhbxjL2FS9AArIaDfYVLMqOqAtvlb2SAqW+lf2wP8Pjs4zV8MO6ubMkcGXRPQsWNJfRAVcw1T2U7ugOzGeFGUcEKyNpOqvbZzbYTpiEAvm8vtlj83l+v+rPRVG+iWFgjLOj7CnOg/qBYJhGZxy0XwTLzIaELFawJSBld0V/NYfLQiBg4eWEzC+GhCOB/D2hE9fV2xazWcfwqpjFCdTJVSh82CLLgkdrar4VaMcDA9/eRihqfYybzPU56a8c/LjD9SopwJ0YxQoo8eL6lRY1vVniK7AQgIlrjduyG+NZVlEK7mLOA6U4EoAF/y7k0Gd6TCwVsviEdQvjDp+E2wq/Iu7bDHomQXGIDS+YKJAPOTdOHwcM6VWlqnzzcgAwSyLFAj/1PI0SsAZD1RqeKFafW3N4bneV/yRjfT3fz0BKaqTt5CF4SGkTPiNgh/pY1fduk1rCiXNrSCvXxsM1es9XnL3T8EcuPv+rX8/7XqY6TJ0inRskOy18mWAr7QoQlnoKEc21tzBZ+S3T6nV0qTalDwj8mht8tVOkInYKm6L+R05x0Xd71F/cVxqz08nfb441bAx43LQlUsd/WmpchAwHP1xfWhd5OICvb+L98LMpjCwxcnja9wXOxgaRs/5eVcZsKGW61v+O75ODnDfqsLDRO6YZMmxLLrZSW7ktUU3lM4C+wlzHeSyu3QTA2zOO9rQQofSx9QJhapWwgX3aZNQOJfA+l+xM0odJ1DLRzP28ABRvBLG5onMg6NrVdVu4RUC3XE5nyaV6Orj0f0S8Y+Ei3ptqJ4icYH69H8in/mKUvhT0AGGQIdkH8Dxpcw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55ef0dd9-e3dc-41c6-7ea7-08d9e584019c 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:57.5893 (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 66/69] avcodec/mpegvideo: Remove strict_std_compliance from MPVContext 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: z86bC/NumnMN It just duplicates AVCodecContext.strict_std_compliance. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 2 +- libavcodec/mpeg4videoenc.c | 4 ++-- libavcodec/mpegvideo.h | 1 - libavcodec/mpegvideo_enc.c | 3 +-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 4b885669bc..a9d87f6854 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -223,7 +223,7 @@ static av_cold int encode_init(AVCodecContext *avctx) return ret; if (find_frame_rate_index(mpeg12) < 0) { - if (s->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) { + if (avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) { av_log(avctx, AV_LOG_ERROR, "MPEG-1/2 does not support %d/%d fps\n", avctx->time_base.den, avctx->time_base.num); return AVERROR(EINVAL); diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 9bc6fb9388..2f78763344 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -1068,9 +1068,9 @@ int ff_mpeg4_encode_picture_header(MPVMainEncContext *m, int picture_number) if (s->pict_type == AV_PICTURE_TYPE_I) { if (!(s->avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER)) { - if (s->strict_std_compliance < FF_COMPLIANCE_VERY_STRICT) // HACK, the reference sw is buggy + if (s->avctx->strict_std_compliance < FF_COMPLIANCE_VERY_STRICT) // HACK, the reference sw is buggy mpeg4_encode_visual_object_header(m); - if (s->strict_std_compliance < FF_COMPLIANCE_VERY_STRICT || picture_number == 0) // HACK, the reference sw is buggy + if (s->avctx->strict_std_compliance < FF_COMPLIANCE_VERY_STRICT || picture_number == 0) // HACK, the reference sw is buggy mpeg4_encode_vol_header(m, 0, 0); } if (!(s->workaround_bugs & FF_BUG_MS)) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 56c1d8118c..a65c23f1d1 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -97,7 +97,6 @@ typedef struct MPVContext { int encoding; ///< true if we are encoding (vs decoding) int luma_elim_threshold; int chroma_elim_threshold; - int strict_std_compliance; ///< strictly follow the std (MPEG-4, ...) int workaround_bugs; ///< workaround bugs in encoders which cannot be detected automatically int codec_tag; ///< internal codec_tag upper case converted from avctx codec_tag /* the following fields are managed internally by the encoder */ diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 3e9f8b4e42..d3e52126d7 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -370,7 +370,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - s->strict_std_compliance = avctx->strict_std_compliance; s->quarter_sample = (avctx->flags & AV_CODEC_FLAG_QPEL) != 0; s->rtp_mode = !!s->rtp_payload_size; s->intra_dc_precision = avctx->intra_dc_precision; @@ -585,7 +584,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) if (avctx->flags & AV_CODEC_FLAG_LOW_DELAY) { if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO && - s->strict_std_compliance >= FF_COMPLIANCE_NORMAL) { + avctx->strict_std_compliance >= FF_COMPLIANCE_NORMAL) { av_log(avctx, AV_LOG_ERROR, "low delay forcing is only available for mpeg2, " "set strict_std_compliance to 'unofficial' or lower in order to allow it\n");