From patchwork Thu Sep 15 19:28:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37937 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp520921pzh; Thu, 15 Sep 2022 12:28:27 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4xebcC1Pk/EiG5zJWC2abn9Q4e6sLIDL3hMbqBoqNb1lpBcHwbpvXd1fsXquW5CuZrZxYX X-Received: by 2002:a17:907:2722:b0:77f:c136:62eb with SMTP id d2-20020a170907272200b0077fc13662ebmr983151ejl.522.1663270107263; Thu, 15 Sep 2022 12:28:27 -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 gn26-20020a1709070d1a00b0077eb65c41e5si9788294ejc.22.2022.09.15.12.28.23; Thu, 15 Sep 2022 12:28:27 -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=ObOejvWZ; 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 260A568BAFE; Thu, 15 Sep 2022 22:28:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-oln040092069082.outbound.protection.outlook.com [40.92.69.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 53E0B68BAB4 for ; Thu, 15 Sep 2022 22:28:14 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d7Hyhy2lX2sTr5YLZBT5btC33hPyb301c9Kgm105KrrOEkaGDyjWZHu3A5KmPPW9uhJB9CWk0gF59gAraES6Jeimj1/6F1tZNAIhZKFDLvo3pduKw1GcrkOSD7/FdggxArg1VzXOWXaEQZ1jrVRnbPB/rlBkpHDCDuJjYuqktg/K+EXBPql+++Rpb6qXBtjiM4PKlyg5kEFVQdzdb+kfM8zGCQkmoTjEHM0md8ulHqB4f0morwHhYWQBEEEmTiRT6I3UrWaKXrg3cp432n4bkaqbQRSPqIFPr3M9u5GzarAWl5jquUVuobNxk9LGjHRSQpVXdXOlepXeySP6vmw/rg== 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=E7y1xohbK4M9k9TIqxJvCjSZ+ee/P0POb5wy5A1kPdQ=; b=Jd3xzR6daplv3b7ywEuF0yIeik9ac33C3UzZ2S/aDYF8lafAfjV4rsIoyfrSHjvC61Ik1EkdDNsOywLZJXfsXhF3RjxNdItFXfbJKuWW+ldaLUVcSGeKs8C1Zeo5EvJBlpL2azN/7ybhtjVvNl6qQbD4ral6jK723tXW5lXwau1UPFiKSMm72+NZCWAXhEzFzf1vP2C5D+MFHKFKi3IAMFU55usPmfWDDDXoukjP83VC16dEp7nUU095xwPJ9YAAYH1MAFmexsgQX7PI9MJdW9v+LzLLsHzmuOBq+bvKYsu3OTppMxoIB43YLt70+RyEp40R7uegtKHSe+zn2lSIdQ== 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=E7y1xohbK4M9k9TIqxJvCjSZ+ee/P0POb5wy5A1kPdQ=; b=ObOejvWZnBphSNkgVMgkI0uq1dHBVXt37sGqxGRX4FzBht/6wlvsQrCOV/ZCcrwjncB0p5MxVe/idl/zOTS5iBOxKobOtOVktWwdfuIQXrGFu5XYvluWJIDX92rV9COvZh9JnhhSdnJxd+LiCteIoLltUr0pwutO0uq9NS6lM2z5ctJYvWmAdN4ghv9G1RnxBKDwKJ+E+yHyYXGrrgANqb/2E3y6E0DNHaw3IGo9DE4zMxx11Q+vqTkesLoMXMRMnCEpyiTosvXDftqPDw3VR3Nh6HiwGZqGd2ASpSYNFWmClKI0V5buzQ0qr/mOY5BzV3y+6ANcbvHN5/ORyVoc2w== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0014.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:2b7::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.15; Thu, 15 Sep 2022 19:28:12 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::51a4:ed23:ea45:dfeb]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::51a4:ed23:ea45:dfeb%8]) with mapi id 15.20.5612.022; Thu, 15 Sep 2022 19:28:12 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 15 Sep 2022 21:28:02 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [qtLYG40rGHF21SFJ61HjChU0TnQ7tJOqqMpW+Xbih9o=] X-ClientProxiedBy: ZR0P278CA0117.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::14) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220915192809.2761301-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0014:EE_ X-MS-Office365-Filtering-Correlation-Id: 700ded73-6522-4433-419d-08da97506e09 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nhHBm6ef2k4kg+632kkxCL+DU1lznscpSZCOTYE5hATS7GRzYfa4pNQvS8Dr3cay9UsShEzhN9cXb4bSDNAtKCYRcFAF7kjau44UaSWhMxdH+ZXCD1ZilHILeVEfaHuq4rLIlTln+VCp+CJL8nF3GC8heoCJ8kU5XXb8Ni7+z+GeoVVV6thXb0a9LIlxFbd6SOWUuo00DsIzR+Gk2zw+xzqpA/9PpcB1GI+R+wX6BF5kH+d9DnSRtGxKCIrDVDKKRp6gsE6B3kmFTcPRpD4uGl5YyMJrVFESuLbVbOzhEqDNXZtEWg6739s3Zhb3NJvXg7CrOGI7uiVCBxy45c3/4A9IP7l8ltm+iOOBOm1wvbtBxRQVGMdRufo6HhXAle9+YF7GNAtXc6qJWoJcEk/0ZgMsgabwC7iy3MK1lwjKAbZBiHKM0v+k/FCf7CCOIoksLjpfl6jAdE7xZ/j0cyJ6hlU4Wgm3UKpDS0GkEQk8BSSacKrbO/q/yL8mc/kczlDT/zwa59J1r+5UChlvOi6HONtGLgHPLui5wOB/yo7KtsvAUbKgzCdafblaoJRDOskt6TA07vBUy6rcaNvjdBYzyqL4w4vQ1n6KbMCYs1ZaszDoDz41Ri5dbLufbf+sDN449RZolsv48+Y2v6ygpydw99NmoPDdZrxroqYLS73xrpPKrHvWhR0RO3Rfu0c4LYVlb8G/oE+okV/XnWKZq0kdaHHocOC21G0Wprj515CqKHx05WqQFPvAgDFnupD9C+LGOGr2RyYcz1ZZFinRlH+Vw9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZjkWoBTySAKzE9fcIx0h+3n8cFR6/ITBeToDZznIZIP8fGKTYqCM34EHX+78um3yVyH6VFetOTaKbmT7JTOWJ1/cIl+f8h/oowVkcqL8ZbkEQUWS2x22qDs6gL7sbnCHuggTxaaQtpyV8z89kv9FenQ8mLppAUXoCMl4/EpMlS5L6+vqxY9wUNr3UHLJNZdTu2kwT7sb5kkKKu75C7vwxorKNI39g3dGOhm8RIaisrYAg7icALd0ZNPaL57VP4f3AehxQsxqFPgOdTsic+oRjWNVbJjHR+7ZqtJuHzvvPLEtMHoTazbXxfykyw7UPmcBLrJqxXWk3YvY8+1eWPBsI6+na9uhVp35/TnzXtZkwReEDN2MykhJOlbalOZiAKGs5xfSbt6+++ReVlydI2oTLl3U1WrAR9e8ibtkQN25bn8yjuPkkLwy+oFtFDjaRcuyAmOehDYz+ZPuiMVWR+9JFM6yDmTluA8XfNeL/Id0DFC55fGl7typ10pI/AXrdIvcHb1/PBR0YHKnYbZGESWU5K0SgoMwnHpzXAHgwA1qSLTsvStrq+4a6E6Ypzcl0aOK4hMxbTbP2qg7NlTne6JVxlJSH7MVN9emq0WpUG4nyKMjrNsdVXzKuefvvks+c0wPdzq60bdSs8J0psdrAC4nVg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4ScbY5hm0kILsy8cXkvPMMKOsfSqCydJbgA+C+wtd/ZcUWyH8Z5tGDlqDwfdZx1cM46sBjqFzfaY1FsXXioF9qh7SYTZLl0H1uCuh6cZQMvLwhbmFHaNioZLFjiB40KJJubHEeQHnEHjTPBq6ePkIPFP5SYzsuBLXNdWO2lWLWjPoAdbbPQdN8s3dksiONWtWQDTVSdTOVwqG+T4UahQwrof70aBTqe5N0yWrNLuTQp6wiSEpi8GJCNIVdOa+x2j7qilcqAHic2ubbbx0JDci2vb1pXBsXwZx/oOhzzftz17RKJpkcCzEVHTQaD0j1yKr7OfRG1Mo7juwFPWEXqxeKLCLDnf5IMj0dMw5Gbei8bVGrLTvSdn0KmcuLS2wQ0XUr6HwFOJFcmw4DwG3NFHv/VG2KdLMP2xtDhtyTnAkcXpum6C0o+J/fDwIEBPXYSPACYSIMrXCMyxLgrmM3lorjCcH0NBn8AFJXr5+R7tJGEP0+Rjg2KL1wc25I/yN3J7lCr5eVb7SXDwu0yoHaOrLQQsjB44dtVNExPWlTa4XFmxBE4nJTVg//NtgvKBFHI4VQIygGL9Zwsvdd63gs+395qKLWF4DPGznVWcihj6wGVCxyC8zneAt4DEmTqDONLaAyUdXX5i+FXbh/RvzjvQ5nBGxuBbB33TlMaslU3/9BUXtH+s4BeyD8vd3TD/cLMJgN7LHFiuVmLMQvcG5ADUF1r299Y9hURjGQYwq7mE0I11dlQ9QJBElhMZcSa7P5xfUG47YJAIGWYujWWF0Yg+OX6223cztFwEVoFb91pIEt6RcZeHniJvbJQlsU5wi6KxY0mYue+JP1AphOYWd2U83quoPbDp/z888+idknmxGmCDertJDdQbbBqE6FI1P7ugSfqXhmH8n7eZGBT6s5NoyRkhX5aeXwnVJqR17NSEziDSsbKBn3NoquGVgtm2qQGdj40Cy0g9TliJStInUg9RktKIEujYlxXDbDYSwTVKmd8FIbNfvPw+tgrN+4ob2rrF9ztVX8g2ZAZJT4JnUnV6ojXe/439IiNCyoxXQw2o0aM7cYa12kvBUMPAD6+Rro8Y9vL+8prZsI6Iw/OiAYtw2e+0t1aVnCCZb0kh5HFIHqfnjMag6NrlE5m2Um5DTyLCxGjAq8ijAE7L8VzhcuAOeDCvL4NYmz3ZKxR1cNBCzk/ZwC+E/QnVho7jaCHkXwsSoak8Qs98eRPsyLOPFbFCriWD7U0HJpXHxkpVJayPPQW9DRx8eX4ezJnvVnppLs3RUsmgRUmsJkycBY+dFhhtWqeoqN2LaCacUhl7792xeAE= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 700ded73-6522-4433-419d-08da97506e09 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2022 19:28:12.7655 (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: DU2P250MB0014 Subject: [FFmpeg-devel] [PATCH 2/9] avcodec/utils: Support APTX (HD) in av_get_audio_frame_duration() 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: nRd1lqzU4te8 APTX decodes four bytes of input to four stereo samples; APTX HD does the same with six bytes of input. So it can be easily supported in av_get_audio_frame_duration(). This fixes invalid durations and (derived) timestamps of demuxed APTX HD packets and therefore fixed the timestamp in the aptx-hd FATE test. Signed-off-by: Andreas Rheinhardt --- libavcodec/utils.c | 4 ++++ tests/ref/fate/aptx-hd | 17 ++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 2f57418ff7..ba64aaf32d 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -682,6 +682,10 @@ static int get_audio_frame_duration(enum AVCodecID id, int sr, int ch, int ba, return 256 * (frame_bytes / 64); if (id == AV_CODEC_ID_RA_144) return 160 * (frame_bytes / 20); + if (id == AV_CODEC_ID_APTX) + return 4 * (frame_bytes / 4); + if (id == AV_CODEC_ID_APTX_HD) + return 4 * (frame_bytes / 6); if (bps > 0) { /* calc from frame_bytes and bits_per_coded_sample */ diff --git a/tests/ref/fate/aptx-hd b/tests/ref/fate/aptx-hd index 0691f33c86..498b9131a6 100644 --- a/tests/ref/fate/aptx-hd +++ b/tests/ref/fate/aptx-hd @@ -6,10 +6,13 @@ #sample_rate 0: 44100 #channel_layout_name 0: 2 channels 0, 0, 0, 1024, 8192, 0xa99888c6 -0, 1536, 1536, 1024, 8192, 0xc3e03a3c -0, 3072, 3072, 1024, 8192, 0x3f06e090 -0, 4608, 4608, 1024, 8192, 0x92fb18f3 -0, 6144, 6144, 1024, 8192, 0x3d5603a2 -0, 7680, 7680, 1024, 8192, 0xcc3d3101 -0, 9216, 9216, 1024, 8192, 0xbcc022ef -0, 10752, 10752, 273, 2184, 0x9873af57 +0, 1024, 1024, 1024, 8192, 0xc3e03a3c +0, 2048, 2048, 1024, 8192, 0x3f06e090 +0, 3072, 3072, 1024, 8192, 0x92fb18f3 +0, 4096, 4096, 1024, 8192, 0x3d5603a2 +0, 5120, 5120, 1024, 8192, 0xcc3d3101 +0, 6144, 6144, 1024, 8192, 0xbcc022ef +0, 7168, 7168, 1024, 8192, 0x600cbb73 +0, 8192, 8192, 1024, 8192, 0xdc938cbb +0, 9216, 9216, 1024, 8192, 0x37d968bc +0, 10240, 10240, 785, 6280, 0x48243144