From patchwork Tue Aug 31 12:42:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 29914 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp4888920iov; Tue, 31 Aug 2021 05:44:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy2b7Zt3KLXS1Bbob4H/9u2t6iG0Fbo4SPR0DkEMATTqdZLc9ac08hrkwVD98LGO1V9C6xd X-Received: by 2002:aa7:de85:: with SMTP id j5mr29472019edv.147.1630413850011; Tue, 31 Aug 2021 05:44:10 -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 a1si11064051edx.506.2021.08.31.05.44.09; Tue, 31 Aug 2021 05:44:10 -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=Vkh6rzga; 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 11B8568A473; Tue, 31 Aug 2021 15:43:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073086.outbound.protection.outlook.com [40.92.73.86]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A02A168A306 for ; Tue, 31 Aug 2021 15:43:30 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F3frwg4MwMhYIi9RxgpJVEPkTdR3Gam6cwK8X5ELeCvfiXCqwDj180s+YcTXCmKfSLKHZEAozZvplys+SP+7Lfbk4QBPIpDkvN/Ehdx9Go4YI8yBLnsfGEC990SiEaGMPrhVXD5US/DNNkxSewH6gtv85flTNPNshfA1lAF4IVEXMjptiKO1W6o379wvAFAxyEujMv26r1L09XXA0XAKADYYreaMOslnycBr3B4+lyY3ksRBPGNMzBQvrwy+8TR3Jwb2qs1bI59/W4EnILlimY1FMyWgcF91+L0dD7K6Sj02RTXRDpXfvw6wVWhUusOsHhrvYLWdxp+HrqYTaxQwoQ== 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-SenderADCheck; bh=1frG/HO//MzrvnwN2MZ/6iMVZyF12dGC4C2/pNMGjfM=; b=KYb2mxdSCIg6t4ICgNTaGVRirjFSrPuGIBrcxqyqXSI1Tp0rGVJDOCwfUYr4rr9oRKW8O0gEbzB7l6K6EqOdjXFrrOp9Jdbr+QZuHt90puN6keNuI45bZLatoKwta9AyKuHrxDyc4l16XaLvuU6RVt7kuOQnK0iuq2J0rEBtAxltMC54KBPl6rnbHwNStVmmRqc9uG39AzTDkFqiA0hAIvan3Q/D21aJF7KNbnu7EPiRHm2pLNE/dU29v7l2P8mIrhVbuzNQB46T8mIv7EP3Zpi6cSAnWhPYytbOPlzbstB217EQIbiGEogZZHyAtORQVpHDgMIpYfl9wydhPEe8VA== 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=1frG/HO//MzrvnwN2MZ/6iMVZyF12dGC4C2/pNMGjfM=; b=Vkh6rzgatChOW2ZPO0fA+hL6K21EigzJ/MA9N3d7M/BcjtUOwpOnMu/Eil3ISPOAKTEwM4lH7jNAM09B1ada/m1NrSYKsO0hqeM7/RfHqnMhgpJzAdka/HfrhZAehNv5Dy/Nnp3SdFfJO/ssgkIb94Rf+9bKY6PqplRmr2qPgfMKmvJhqB3ipgsP7kUsU2az8rznNueOKlq5cHxV69WPF8nw2QdQuDVJoZxatqBYo9SBfIvc8Z+f7kJmV1sTFf/0BQvXIDjIp6xjniNlLyr7u17gARugfocZn4VNWuCZb9Je8J9Jg17k0G7ItQ44qjnpIH2eJoY2RRvpgoQYTAsWsg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (10.141.218.86) by AS8PR03MB7270.eurprd03.prod.outlook.com (20.183.133.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Tue, 31 Aug 2021 12:43:20 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f8b5:1ef2:89b2:f8c5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f8b5:1ef2:89b2:f8c5%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021 12:43:20 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 31 Aug 2021 14:42:56 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [UP9B+liNU6+QrMkA474P2DrQOPK/seNi] X-ClientProxiedBy: AM9P250CA0014.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210831124258.1715917-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM9P250CA0014.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23 via Frontend Transport; Tue, 31 Aug 2021 12:43:20 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0887d64e-bc8f-4450-ed6b-08d96c7ce9ef X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVAewO3OwszBVL1NI+kAPIBwte81gPa6nTNLFzZDeuJXcJTyRvme2PhAMTC0A6XNfdyFyZclrWKlxcPynBMiSkCEFj+a3/tPAWCU9b06lY2fhWEX/dvl+dVJDG6DbVol45LW6DJvDfObFrvSqQF7PWwOyxTfternYBXJlgiiB+rQE4W4/MlDnSvRp+aQAmN4+h1kqrDB2amek1+axdcZV79rfKomT3dJbXKkyT0SGd/CQ7y5jhU2IOM+4HVgoPSBCjNtjVOzWv3HvCEkfTs5GAKqAivFMEdInMbCOy/4W08vIf0A2AcvyyY1yze4scjOTvNz0FmXppRnm46SV/z3JD+m5MqBhhdzlpk4Eu92J940Ivdog/ZxCAnSXce0rmzZlooyIHDymHr/Ny/hsMAOeJOC7yXow9PYA5b70HN6S86XK+x8/odXC4QYE5Uy9lnTiMAOFIzto88BpCqoTJsrsD+TSyl9NmAvh1rh1c2GnoZ6UwXo1rTMnhAAiyQrzyUUERMOjeHKhA+wC57rNzginzVXg5FKuHPn2vaFAr0EilpdWDG7ErUNQatCTG+zocjrNK+XUxCn11zhGvPX9a5U/tA6dZm9hVPvUflPcjRTyWS7EimYkMaFQP2xxSDv80KvyEcrr1GOSgM50oAU7E8j5ATpnejkeIBqauOeFZX9aVsTpktEksedC4jRGXB4IYn+EIWQFSyUKUA6c1Y4HhyhTIRFbegfuR6PRc= X-MS-TrafficTypeDiagnostic: AS8PR03MB7270: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WdZVDWDTlXJA0cr6Fy9V+iVUd3gJqRLVYJwtdxksYkgFiw+QlTvmR0/SprA3zNPNwjRm+oycW41REz2bRjd8yFKzUVFHW5+9/Vr/Oxal9wTVP5LzLZMSJtjpf4wvwZezGyuPjWdOIlcL7dkFtggV1NriIKOBW10zpcWTFpLb5lT84jSv4nY9RVlgs6UqVcIxXZlwSBUTVuSujHAaH6CbTqoNvDc2b/6sIakZSjnvQjo5bDzMVYTDemQRKg3yec4AJ0w8X48B7bPBOtFlttbCXYJwk/l//eiGvG/RRCba49BBaTPEqBDaUz+CJAAYW72T60F4u7K8+r5dYWfrFUs9qV01rFQQgVnQVQaonikJGF0XUOThMKVkeHsQnNiDEOojOYzYkLGjGBpPbE2ntKn2vJ/ypU0+pPTvdyhytq1bXbp3V35whzXhYSO+sELr1Ony X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0k1rRvA70Fno3N+B7j0HWXZg1oc08MDdxMQJhDOUcpiBvEK8R3PkQKcDMOsfsIS7n6CGeO7ilEbvPHuDwIsb2jyz+BvGY9/zcTTlgOcxJDEZMV5uq7H7njpzcnoHotu5d1GmF7/SZKc7EPranA2Bxg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0887d64e-bc8f-4450-ed6b-08d96c7ce9ef X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 12:43:20.8107 (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: AS8PR03MB7270 Subject: [FFmpeg-devel] [PATCH v2 08/10] avformat/aptxdec: Use ff_pcm_read_packet 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: Xp6rbu8Jrno8 It automatically honours block_align and it clears the AV_PKT_FLAG_CORRUPT flag which up until now was always set for the last packet if the number of input blocks was not divisible by 256 (or equivalently: if the number of input samples was not divisible by 1024). It reads more data at once; this necessitated updates to FATE reference files. Signed-off-by: Andreas Rheinhardt --- libavformat/Makefile | 4 ++-- libavformat/aptxdec.c | 15 +++------------ tests/ref/fate/aptx | 14 +++----------- tests/ref/fate/aptx-hd | 14 +++----------- 4 files changed, 11 insertions(+), 36 deletions(-) diff --git a/libavformat/Makefile b/libavformat/Makefile index 7e0f587b41..becf07867d 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -99,9 +99,9 @@ OBJS-$(CONFIG_APM_DEMUXER) += apm.o OBJS-$(CONFIG_APM_MUXER) += apm.o rawenc.o OBJS-$(CONFIG_APNG_DEMUXER) += apngdec.o OBJS-$(CONFIG_APNG_MUXER) += apngenc.o -OBJS-$(CONFIG_APTX_DEMUXER) += aptxdec.o +OBJS-$(CONFIG_APTX_DEMUXER) += aptxdec.o pcm.o OBJS-$(CONFIG_APTX_MUXER) += rawenc.o -OBJS-$(CONFIG_APTX_HD_DEMUXER) += aptxdec.o +OBJS-$(CONFIG_APTX_HD_DEMUXER) += aptxdec.o pcm.o OBJS-$(CONFIG_APTX_HD_MUXER) += rawenc.o OBJS-$(CONFIG_AQTITLE_DEMUXER) += aqtitledec.o subtitles.o OBJS-$(CONFIG_ARGO_ASF_DEMUXER) += argo_asf.o diff --git a/libavformat/aptxdec.c b/libavformat/aptxdec.c index a5ed921e2c..2cbf9a2cb8 100644 --- a/libavformat/aptxdec.c +++ b/libavformat/aptxdec.c @@ -22,6 +22,7 @@ #include "libavutil/opt.h" #include "avformat.h" +#include "pcm.h" #define APTX_BLOCK_SIZE 4 #define APTX_PACKET_SIZE (256*APTX_BLOCK_SIZE) @@ -70,16 +71,6 @@ static int aptx_hd_read_header(AVFormatContext *s) return 0; } -static int aptx_read_packet(AVFormatContext *s, AVPacket *pkt) -{ - return av_get_packet(s->pb, pkt, APTX_PACKET_SIZE); -} - -static int aptx_hd_read_packet(AVFormatContext *s, AVPacket *pkt) -{ - return av_get_packet(s->pb, pkt, APTX_HD_PACKET_SIZE); -} - static const AVOption aptx_options[] = { { "sample_rate", "", offsetof(AptXDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 48000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM }, { NULL }, @@ -99,7 +90,7 @@ const AVInputFormat ff_aptx_demuxer = { .extensions = "aptx", .priv_data_size = sizeof(AptXDemuxerContext), .read_header = aptx_read_header, - .read_packet = aptx_read_packet, + .read_packet = ff_pcm_read_packet, .flags = AVFMT_GENERIC_INDEX, .priv_class = &aptx_demuxer_class, }; @@ -112,7 +103,7 @@ const AVInputFormat ff_aptx_hd_demuxer = { .extensions = "aptxhd", .priv_data_size = sizeof(AptXDemuxerContext), .read_header = aptx_hd_read_header, - .read_packet = aptx_hd_read_packet, + .read_packet = ff_pcm_read_packet, .flags = AVFMT_GENERIC_INDEX, .priv_class = &aptx_demuxer_class, }; diff --git a/tests/ref/fate/aptx b/tests/ref/fate/aptx index 22607e2b89..35729b77c7 100644 --- a/tests/ref/fate/aptx +++ b/tests/ref/fate/aptx @@ -6,14 +6,6 @@ b5d8a297c0e8d9854f19d9d3e8b82859 *tests/data/fate/aptx.aptx #sample_rate 0: 44100 #channel_layout 0: 3 #channel_layout_name 0: stereo -0, 0, 0, 1024, 4096, 0xcbb4ceff -0, 1024, 1024, 1024, 4096, 0xa66533e7 -0, 2048, 2048, 1024, 4096, 0x4f22ec39 -0, 3072, 3072, 1024, 4096, 0x45f117f9 -0, 4096, 4096, 1024, 4096, 0xad6c0b7a -0, 5120, 5120, 1024, 4096, 0x611618fd -0, 6144, 6144, 1024, 4096, 0x0ec02f2b -0, 7168, 7168, 1024, 4096, 0x2cf9ae5c -0, 8192, 8192, 1024, 4096, 0xfb008ac0 -0, 9216, 9216, 1024, 4096, 0x25068495 -0, 10240, 10240, 785, 3140, 0x5a260589 +0, 0, 0, 4096, 16384, 0xcc670736 +0, 4096, 4096, 4096, 16384, 0xf5a1020d +0, 8192, 8192, 2833, 11332, 0xcdf214ed diff --git a/tests/ref/fate/aptx-hd b/tests/ref/fate/aptx-hd index 8b62ea1611..fe611de03e 100644 --- a/tests/ref/fate/aptx-hd +++ b/tests/ref/fate/aptx-hd @@ -6,14 +6,6 @@ #sample_rate 0: 44100 #channel_layout 0: 3 #channel_layout_name 0: stereo -0, 0, 0, 1024, 8192, 0xa99888c6 -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 +0, 0, 0, 4096, 32768, 0x00b6bc94 +0, 4096, 4096, 4096, 32768, 0x14411314 +0, 8192, 8192, 2833, 22664, 0xb4a826ca