From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 3BCD140C77 for ; Sun, 6 Feb 2022 05:45:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4172368B0C6; Sun, 6 Feb 2022 07:45:57 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1FDB768A8E7 for ; Sun, 6 Feb 2022 07:45:51 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A/8ZxrkopAXG+K2juRLDOyk7aF4dCdSFj9Vm6u7QnryVOw51dVdpZ3d/J6aTLa/QvD3Dz3byEebJcKY3V4OrVkIu6iqTLC/wtSu/9fsTbNatPfbyTwJJIBYPP8MlYXJWYBpG9vFqpnQ9qW8v1/S0fEe5ABwnfE3J/qDb9CLfCseFMb37CZzMCsy3IXrr34jnqMiLizbFTLFqZId23NU3Vfn2/u9CQonuJ2uYw/nzVH0Yn0NAe3IEAfj9i/AGWdpCpMmDe8GPapRgLMyhDrJzSTY8dmS0w9jvQxx9lwzd+M+zjQoW8gCZqJLFwJ0KJioDgoXTDv8wmuUf9tMdjtBKTQ== 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=TwkMzzk4mtKG4txdxtIfEKw2ZcPY2+cjjXjXjENE/SA=; b=DyLzrP8LQ9MPM5BZ7vcFhgaO1DYOGEbt+HgBtHBuMo3xjpts1a7FvuqXL+Sf0yTBvSfMFbCwsK1tNF4VNMKC0wmekZCDZHtLw2sCZEQvkPKspljMe/pDAKS1kNw1wCfpMzHsjJcFMzUqK4+BibkHj/q5WBnpWKrxrJ6tbDtIOD1YdJHpk8l86FhzJVsR55LB7yzOezYrSPxk1fBpQp0Ja7IBb3ZW2wV6HylUcVsiyMm6MUbv4TdDO6Jcih9MhVPCzx1/IS7reHAXwFAy2YdhLBl3rP+Gxj/rbXhZ9NZNYBP8+97XLgniD615sTXuBHwaxOYl/LUQQB1DbkdU824i7A== 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=TwkMzzk4mtKG4txdxtIfEKw2ZcPY2+cjjXjXjENE/SA=; b=K34Dl1PmXosE8D+6rEfyL7yjw/WRJ3QBHa6SUEtDWGMfeOqHJWiSakrTGgGVn6trILPzMHXYhSoArOnrm5YYkzyjwjtb1EVssBXQ807vJQdETYSBSlaP+lDUwi4ao61/SluyBdIAvoKn/yPrxP4hyzYRqCy93yLWZp4grZaZ3Q4/eawJITV8hQs5981I935mVzBONNENl4XMbcaK0Vcd0DM+EEN98joRfntZlggkFhPPQEGCw+TgjCmtaDpTZ7zhL0E0RuN/a9B2ONSZWxJflW9qlp0IhPSBRqtyoid9VnzjbJlJ99PxMeHw+pwtVkKQElKv3OPU99dhesffDoNkuw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB7028.eurprd03.prod.outlook.com (2603:10a6:20b:284::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.16; Sun, 6 Feb 2022 05:45:49 +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.018; Sun, 6 Feb 2022 05:45:49 +0000 Message-ID: Date: Sun, 6 Feb 2022 06:45:47 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <167e94b0-79a3-1d31-27a2-e218c2b61e3a@gmail.com> <20220206054127.36820-1-tom.ty89@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20220206054127.36820-1-tom.ty89@gmail.com> X-TMN: [t7ubBzGX/la9daWnfGlxmP+ech55aAAS] X-ClientProxiedBy: FR3P281CA0081.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::11) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <941faef0-4b0c-9df3-c7ff-45c614c53d3c@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ed83c7d-2ff8-4167-bab6-08d9e933edbc X-MS-TrafficTypeDiagnostic: AM9PR03MB7028:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TL/Mi6XPtHT6NFQ1a4hMf9ObDudSbyuNRLBQSxg3CqturhHOO8gLIPta+Tl5HcySVjOgDtOqHDySVMTo5rt7DG5Gk8lyhcGl9Nu8uX2ZaxobNt3zT/TdqwC3IjqYj1bg6tFc5ggZfB4ppfIRFl+fZms0W5EllgQXwWPxTfbjkGAnSGrmb++aXTZrPkXxbDZMpRFqVHDL9EKzT3yEed6J+4RfIjptD6nc372R1e3egQ+XnNpo/S4g3Gd5Ly1KkEJYAGuS+PvnBaSPjK/i1qEzQfPnqSkJoyJk2+xe77+be9Ju43txy2FQ2ZrFG8i9iYQqybmw92Z0Kued+yal6WcE+65QN5lN5CH0GBRa/ZZDi+duUTplfywcOjrDYstOzFM7hw2dmBYbg2yT98+uIEbLKDUgrTOC/P+KbLQXZzzj5goTZVnmcikvCuSLeaRGD/mXFiP4fNJ+fhCM+R9GkJMDpyq14bCmeq+w2vmBHajJPF/QkBgi8+jY0IozKm42Av0IWymkWtWc/QRx7/NQ4xgNYrpRZyIqki53nNqIJdcySy784zZLoNALumZwZftfyemQYqjt6d6nssRstkVFHnh3CQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MVFXNmVIY29qdVE3SXhXRUdaSUdheVl3R0ZWR2pnY3JNZ0t5N3hqYXlwczFE?= =?utf-8?B?WG13Z1hZdkZaMERGcTBISmlBMFB6TENvTURaRElTUzQvT2o1NW9ISVR1ZWVw?= =?utf-8?B?ZnJoVGtYSEF6Z3NFcHZWWHZmZkliUVhlWjNIRHNXaWxYMHZicDh2SDJyb3Z6?= =?utf-8?B?Rm94VDBMaUo2Smdhc3F3NjkyUnNHNjVwdEtOWkUyY3lJUEthdWs3WitPaEVj?= =?utf-8?B?N1NORWtybHdESHZ6SXI2elh1QkxzR2R0TGNLeHU3bFkyM0ZYM2NRWlpRb2wv?= =?utf-8?B?b1BMYldQSjBkRHRIbjJudHVadW5XUGJZa2txRURaQUx2YnlpeFdKcDZ5d05h?= =?utf-8?B?U1VibTVOTnRNWTMzNU9XVWhCQTZsZFNFd0crTkwrclFjbTk2NzhGc2F0NTRJ?= =?utf-8?B?Qmk0UllJV0MyVmlhdEhwL2owYWlLUktTb3dRbDQ3TDRSZ1NIaXRMdyt5VjZU?= =?utf-8?B?S1hnUXkvRFppVytzTWZ0ZkFSYUpjaXlnQjhRd3BtQ1BOSHJ1ZjR0NjZsWEFT?= =?utf-8?B?cmFBVnF0WDIzTlRyRHZ6cEN0dHRzT2FScStHWEY2WllQenVwMFJub0VhR2xk?= =?utf-8?B?aHJjdEM4S2ZiYU5VOWtua0ZXcXZ1VzFCNHRtV3M2TXRJK1NkWHo5Q0Y3UnU2?= =?utf-8?B?emxpbTNEUC9XbjRNZkhCSVhtRlNjcmk4TzI3eStXbEh5dkdjTnZ4UmkrV0Vl?= =?utf-8?B?OXlyYUdKVUlOYTVWbGtjcWVDYTBpU0RKbnlqNm1QeWxMcmVjMHVFalJOa1Ro?= =?utf-8?B?ZjVpbzd1ZklZS2I1ZERyMlRZcjNlVmRYanVXS1d3alVpS2E3YUY5azdmWFVu?= =?utf-8?B?d1pFUDdrUTZmRjlmZG5qRkU5S0xlK2FVRmVwQVd2dEdUQmo2QUluK1RIUUdP?= =?utf-8?B?M3Ruc1J1MWllMk1UeFRMMzYzeXFIUnFWaEMrVnBlczRuZ2hNdjVPM3pST2hz?= =?utf-8?B?WFdDN1o4VTUwWG91N25YYmVSTE03bGRmT2pRNERURjM2YnZXNmFjR1lURDRK?= =?utf-8?B?RHV6Z25NUVlpQnN0bEl1SllHQ1Zza3N0QnFhNEJEd1dpYnUzQXBKWkIyUGNN?= =?utf-8?B?MGFVS1Q1Wks2M0lMaDJNZWM5NEZwVTlrL1dEck4yNC9ndzZMS3N1VFVFVjRs?= =?utf-8?B?Y1FsdzZ0eDh0U2N1SmJwVS9MbU5hWkd3a0l6eDVHMHQ0ZFdia1FMZGIybFJH?= =?utf-8?B?Zzdqb0lQRk9ZeHNSdmpJV1B2QmY5cmJQTnVINjlUc1FqbG55RmhyR1VmaG4x?= =?utf-8?B?ZldWMUl0Ky9vVWpZSk8yV0plMGs3eWd3bC9vejR3M3Q2UkY4Zz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ed83c7d-2ff8-4167-bab6-08d9e933edbc X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2022 05:45:49.3308 (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: AM9PR03MB7028 Subject: Re: [FFmpeg-devel] [PATCH v2] mpegvideo_parser: check picture_structure for field order 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Tom Yan: > the top_field_first bit is only used to indicate the field order > when the picture is a frame picture (which consists of two fields) > but not when it is a field picture (which consists of one single > top or bottom field). > > also removing the unnecessary progressive_sequence check (the bit > is mandated to be 0 if progressive_frame is 0 on any picture in the > sequence). > Just because something is mandated does not mean that it is so; spec-incompliant files exist. > Signed-off-by: Tom Yan > --- > libavcodec/mpegvideo_parser.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/libavcodec/mpegvideo_parser.c b/libavcodec/mpegvideo_parser.c > index c5dc867d24..004ff602f6 100644 > --- a/libavcodec/mpegvideo_parser.c > +++ b/libavcodec/mpegvideo_parser.c > @@ -181,6 +181,7 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s, > break; > case 0x8: /* picture coding extension */ > if (bytes_left >= 5) { > + s->picture_structure = buf[2] & 0x3; > top_field_first = buf[3] & (1 << 7); > repeat_first_field = buf[3] & (1 << 1); > progressive_frame = buf[4] & (1 << 7); > @@ -198,13 +199,15 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s, > } > } > > - if (!pc->progressive_sequence && !progressive_frame) { > - if (top_field_first) > - s->field_order = AV_FIELD_TT; > - else > - s->field_order = AV_FIELD_BB; > - } else > + if (progressive_frame) > s->field_order = AV_FIELD_PROGRESSIVE; > + else if (top_field_first || > + /* top_field_first is mandated to be 0 when > + the picture is not a frame picture) */ > + s->picture_structure == AV_PICTURE_STRUCTURE_TOP_FIELD) > + s->field_order = AV_FIELD_TT; > + else > + s->field_order = AV_FIELD_BB; > } > break; > } _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".