From patchwork Tue Sep 20 16:42:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38103 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp2066728pzh; Tue, 20 Sep 2022 09:43:20 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4m/sfpFVJ0BXwxJX833Z+++m5X7FS9jmlIEK6Z7txNUsKhwEqlHz+bF0NdaPG9l772YrAq X-Received: by 2002:a05:6402:298e:b0:451:129e:1b35 with SMTP id eq14-20020a056402298e00b00451129e1b35mr20733382edb.79.1663692200376; Tue, 20 Sep 2022 09:43:20 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hc18-20020a170907169200b007806f92dfeasi295586ejc.55.2022.09.20.09.43.19; Tue, 20 Sep 2022 09:43:20 -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=@outlook.com header.s=selector1 header.b=KYb9D3dq; 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 E3F8F68B957; Tue, 20 Sep 2022 19:43:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2044.outbound.protection.outlook.com [40.92.59.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9978268B730 for ; Tue, 20 Sep 2022 19:43:10 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZM3TuRvb8Hbek2SYBjXEsKvwCpONJOiylEJrOFLcOGumLzYgJ6M22vPdSLHHvE2lZ3vmMez/Jey7pamQdAzSPZXexXvN2nVL6M/ixZWkPbkwxxqeaG6vSE9JijkmWMYsZUNXCKIXO3T5tDfMZt69/HNhh5SCX1+Y3qCPzBosxzGIkIT347kBDTCjJX41BD6ExoZyFzysUE8xhMrrKO4j6gIq/KmqHt8hTE0oc0IIGpE+XaVqETWysUFyPqEyYlj2LCg+tWKUficGfXo/9jD4mr4VYd4y/Ra3CLdPp9603lSprpycnNwG3JUiCJ0dzCWqtxJl+VzFSOfkWWMO1JE94A== 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=qwrk1/SXNY2XjqwIjrvwzsAlhY+Hei5iQvCqn29y8PE=; b=bu41ATFP2KtlRgDpvgL6+61flWxBObDDWh9+AbmYcvkulv3kOfaf8mr5XcTXSlHEj1spMidDvoQK2UAPb3e3nUsYRa9+FeoZDv6rFvmJU2OzuYF+ytM3qJFUqGegrACzbwlHqcm9EGUXXeOKlyGZvRvlShly23+IaVT0XuFGQzyHp8TTETGjyET7S40m2g0W9iY1EV/q2bMnbWpbCLN2R8OiEbDvEr0CDXZC2Ebvg1/C7rr7tPeAiNliWddIwaBN1/tPab+4W3fDbHrOpStx9qEI/Gg1R1lM2YV5Qp4lCJjei0xWo7P8d+xzyHqtgmR2llR/9P6z5WIow3J6xP6Kjw== 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=qwrk1/SXNY2XjqwIjrvwzsAlhY+Hei5iQvCqn29y8PE=; b=KYb9D3dqADeW7WfdD0CBulFKpl/FlLMSEDiwS8j6EZX6CpIPmilHRUD8E6MQlikWq+3zS+zaMtOqm+WmFtM2b49XgGobyT11G/qQBYJ6G8WEEo7YrpPEGaoRxJusmSnYxXcSJIUoSZafF1rwm9hCVyUV1TMq+CFk21ZvhhYMiSCHZDejPF18ZVQVcbyzJzpWjyHy5VCvtOwu6jjDwRFJCrpfGMt01Sc6/7B3dv/H/rGmw3wZ/wC4OK7Ui7gv1BPCPBSVnQAxbMN8lvtuwXVRttqJljlURwfdwTLskNjUdx7xXmt8d40AJf5CEx2STn5MIiXz0WVP/1cAvjJ+Rxt5og== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0366.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:27b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.21; Tue, 20 Sep 2022 16:43:02 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::f3f2:4362:56:4785]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::f3f2:4362:56:4785%8]) with mapi id 15.20.5632.019; Tue, 20 Sep 2022 16:43:02 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Sep 2022 18:42:54 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [/CXm9dMDyuu0lSrQE2E/8NgUbP8lJwdR2uBJWetAmhA=] X-ClientProxiedBy: ZR0P278CA0168.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::23) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220920164257.3991697-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0366:EE_ X-MS-Office365-Filtering-Correlation-Id: 74037f7a-b5d6-4d4d-1b62-08da9b272ee8 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmrSLXKEIOho5rAVFPd+GouzFIhnk/a9Vg1w3OdYi9FvMNuvvM3rX+snCyW4HesiJZqSgt5E5ZIHObkjG9gopQdAqG6khkK6fWaozltvssFmsQ1Y58dFjQ1TaAjbC34Ito1isr37Bc181I5JmPTJtl22NccvEr3lEInvONdfexKEj5xybCmEQ/lv7VeJQNCBqwMNCzxYPLp5NyAMPzFHQQGUeTksaceFS//1wVDKENPu/M10/cjPwCBJlzEndp88jpLOSw9gNaRSYY9KEWIYA854e+k/AdXA4UyJ0dPjytVJL1STiEFZcGBEyhhDrLxWIRgdcdwrZ3eEOfvJmsWULEvoOXUgZ9/U2NzBhDX5LgMCE5FMUgQDjZvuPzsyB08oQA2M2aTb2e5oWQ1LADLNIIw+j5l1JSeIGTS7UQAIZtr0JJhGoefqPdCmmPpbjVtSN1awq4OJq8QhNT5ntM+19wURN5EpDuPVEsrFukp+yo0DBdeGvxRVBK7oEYFKty4TLx1hY6M7jNw//f4DM046ZXHSuBmvT5llj1KA67TdXGLkntunkK6l4kwc9thzYIL//h34jB2Nf08rnRmKL3MrkCBJA0+W6jAtBVrR7u7CcRFt9tDF5QCD9uUOn4BJrNICC/glSZrAtlBbARb3vJDAgMyhdLRXOweaL8CCXUFGPMJBCUkA9HU9b+S7+v++yeVtM72I53Xo4OyOL0Z4+E9sZ4vKmqgpRRuOqh02oBh8Y2baNiOEvP+blkrkSSm8s/51Egw= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aAfzmbHP9tXrX/9mjtmwr1jXW0kNzq5aJAm2Z4WAdLbPzDgdDAZbKIrZjOi3QRTcKhVOvVHYmKrvyDlu4AzeKLVpn7haRaVyV/Ebc36nkOcTDkUWyz91SzZ0l39jLb6M6SuELWZZ5cUkp8v9yC+ylosVd1Z0PzVblbiyyQ0k5IU8leMqFHFOLnPcRQy0+TgxdhN5GCfc4lBJx/PZQYFXfKsWCD8gR80mNHIMntq8G8OzMU0dunpfEL7O78rcerkLk1BNFMt1SM87Md6J43q+QgeexsOsv4F25r/FOjd9BwSVmw3lj6GQM/e77MU8cprEDDXOteIxXLr58U1jQjBRV/Totu+6DlcCxPbJtUs7M7JjOXFq6GUOcFLONSUWk1s6Ol2g2NY04yNUjoJnlkfbY2leDKjE5Rm0KDtWJoEfQiODOrPip7gSGaj32ebIz3Bmi3ae7hgGTrOgRvkjb9QVRXdXn4/br0vRCusyFJ2Y0vXcsqkKdA6UG8VnFVjQevSU1sVFaQflHplJMnAPWw0CISwzn6r2Zmtfb7jMmtpfPtS3bRMnIZVNY1d3EtZf5YAC5/lu5a/48vFuLMFx71edaW335XSO775m9g+qHYSQF+aKYHxK9d1dAzfUl7QWE11PmM3WnGhis5zNNOhtFcj10w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0Z6mVwupjj4y65CHLQDYAu70RPr2KKoPObHcZehoJr26srFAikaKCMdJEge0G9DXE/YPVdJrWe3rtnCZ9+MFxVDhmvHyZ1xabgSWez+4ag0zJhIrQu7c3zUlDWjoIpTA9Tm78vWluNklBn6p7nDT31kCmz+NfknGZ3V8YGumUcJ/Yi43HUwSIuplnikvD9l+ZYyYyg8eQPC5N411zSWMhFe+b+mNHMBFs2EO+DmPXSG5kMBj4Ch3IkOr4+Y6OAKGqfIK6j0HUQVzkPotvU5JoQ3KI5b3nquXKE3OsAZfCgMxpswwWSS/LDEIKnEGczVAEWTaksG7GKFi0W3O0hjOMf20H130Sy0JFNgpy/15oMWN5AoKrG69F1OaNr1G67GlHMzaD5KeCNJHdEwcpYXXcNwlbKzMiyWMIiwuMyPg/FjN4n3d7vyfZqe/s9OO33lzyqWxrBjXlUdek32E3vQG1yTM7Fkup8C6eiAZVDqzoa4H60WXUnjWxqS82d0D0KkTB6BMjnQAfkjKE4FAzmSaAOG9cSyNMR7ovSsHFLsP4AC02di/fz+yXop5kmRo6TXFzOISlP22s2vr+Vu1sJg71Pmyj2Mk23QLnNiNZlaQv26HfAQYasfxaaHGMSeik12evHN1MYr5uVqTZHrrr01RK3GBTditp0BjdIOy6BrlsligY/TGcf0Fr9loNgfP57laGpUndwiChbTXXcaaCC2tL2Cz5yXFhfwerrPlQD61nuaIWB7ZPMXHyAQm8izKdHGc3m3RBmS2BE/YDoX5O1pk5DVVKUa4V1orYMywFYfNX8D+K/8kYpqPqRejQGxIrKUxOIuGKfQFKIN4l+9tJIw7st6oZ4fqKtbJcS1eSMTKA9pR6fzTPFt+9HVZDBAIeoKNMGw/1vICNOd1JfY5QZSP2+XmIk9FAi99r6r+y4VdVf6/wA+urW9fhuU3kcLnVwHKm6TzW1huV8Wk7W4/+FLsS/OETODF1vpZ9X42xv/gT9LeEEEzvxjjw9gOzg1A7m66T1rI4Qqr6SLm5dW4ppc+L1rWqwJ+AHUut1jNyIHFviKrSJfPD00azUNKX+WTCVIa7HgBov27lFevvohVvij48UydPkgox24X1araFlgupMhNe96txmZVObG5oXOg+oIKIa/Kml2JZlTlXx7as2nwGHOeBVTNG3Y/NJCgQzxdNSoSvZ9CRuSzu3vzbUp8kA7+8zufeQeyvbiMRMcwq9LcIv3Gz0VUQhFbhHumZ12RP1F3Vtf/MaZp4nS2mI41vn4fIc8s3n+q3NZZuCMeiuconiKlzFl56R8Zqor9x+FEKUs= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74037f7a-b5d6-4d4d-1b62-08da9b272ee8 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2022 16:43:02.1214 (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: DU2P250MB0366 Subject: [FFmpeg-devel] [PATCH v2 1/4] avcodec/h264_redundant_pps_bsf: Don't remove PPS 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: afXOXHGXKV3m There is no check for whether these supposedly redundant PPS are actually redundant. One could check via memcmp which would work in practice* (because all content buffers are initially zero-allocated), but this is not portable as compilers may trash padding inside structures as they wish. In case the PPS is not really redundant the output is garbage. This happens with several files from the FATE-suite. E.g. h264-conformance/CVCANLMA2_Sony_C.jsv doesn't decode correctly any more, whereas h264-conformance/CABA3_TOSHIBA_E.264 even fails in ff_cbs_write_packet(), because the inferred value of num_ref_idx_l0_active_minus1 mismatches with the value set in the slice (this happens when num_ref_idx_l0_default_active_minus1 changes in the PPS; the value in the slice header is inferred from the original PPS's num_ref_idx_l0_default_active_minus1). *: Unless slice_group_id is used, i.e. unless slice_group_map_type is six. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264_redundant_pps_bsf.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/libavcodec/h264_redundant_pps_bsf.c b/libavcodec/h264_redundant_pps_bsf.c index f8bab1f109..df9a88a705 100644 --- a/libavcodec/h264_redundant_pps_bsf.c +++ b/libavcodec/h264_redundant_pps_bsf.c @@ -80,26 +80,15 @@ static int h264_redundant_pps_update_fragment(AVBSFContext *bsf, CodedBitstreamFragment *au) { H264RedundantPPSContext *ctx = bsf->priv_data; - int au_has_sps; int err, i; - au_has_sps = 0; for (i = 0; i < au->nb_units; i++) { CodedBitstreamUnit *nal = &au->units[i]; - if (nal->type == H264_NAL_SPS) - au_has_sps = 1; if (nal->type == H264_NAL_PPS) { err = h264_redundant_pps_fixup_pps(ctx, nal); if (err < 0) return err; - if (!au_has_sps) { - av_log(bsf, AV_LOG_VERBOSE, "Deleting redundant PPS " - "at %"PRId64".\n", pkt->pts); - ff_cbs_delete_unit(au, i); - i--; - continue; - } } if (nal->type == H264_NAL_SLICE || nal->type == H264_NAL_IDR_SLICE) {