From patchwork Thu Sep 15 19:28: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: 37939 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp520955pzh; Thu, 15 Sep 2022 12:28:33 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5l7hNrvAiNIplwi5EaeeBbbM62nbWgvjDVU0ufbqmo8alzC8JT+6JsmDp9b32e2Ts/HXVt X-Received: by 2002:a17:907:1b03:b0:6ff:78d4:c140 with SMTP id mp3-20020a1709071b0300b006ff78d4c140mr994959ejc.554.1663270113020; Thu, 15 Sep 2022 12:28:33 -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 z18-20020a05640240d200b0045161c9a31fsi245085edb.69.2022.09.15.12.28.32; Thu, 15 Sep 2022 12:28:33 -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=Zrr5gpAA; 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 0D99B68BBB8; Thu, 15 Sep 2022 22:28:30 +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-oln040092069055.outbound.protection.outlook.com [40.92.69.55]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 08A0168BB00 for ; Thu, 15 Sep 2022 22:28:24 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ri7mvV+KxmQsniu8tzzlUNZ4POZLeeiYqNX6xMqvm8jTj8lD+Yl1HJ4ZZaVIM1JlcvGnG+r3QPV8wz/6e7KmbLkluZDKpYTKIiNddea3I554jqoWBKA2Js5FWwO6e/bRc3Um+CObewdlCMlzfce70Zskx/T6wVaNhyVJi7eZCbH+Qxsb2eacJYD1+Be83MW1a7vab7dxZGKz69STZouniRUbVvFCz7axbH4j9w4qiLU0apITrVmPN+wNVqDjJ0rt3qpaXf80voksuueEAKODD/YxydTvwmf9qFnJ9ViGTAUJ/hXSsE08stLKqK0u9WgWgbWypq/+lgtllg7jXhPVEw== 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=rfGlRc1wrcGPA6nyLglVXRy80cI60N8UT0KyHD2R5WU=; b=kmCuBnIEyJhcKSgCEjJEhaGqwRpfsOHWjpPMgHXfifnODd/hMvog9Rh1oklZ5erNMMAVuii9uC4EQBoYkO35Ix+MvKVYlOrKpcxIYKcRfqgux3SMt84nn9r8LhV9cWmcG9jkGnUTx72Cuk9TeDhZXxLNo1bCDBAIPJ48aO1HM6Jolc33zFhCFoWu+nrmtQyIRin6+vqYPENviXZ3fN9USwq6NNVg8q5oSwE9HBTkvJCbSPgNdByQc4Aj5ye8W2p4cDYoai+XIfM1p7hNlNxf/9Bctaah65KTiqZXvba1ubf/k7oCBfDqksl/UWw4Cku+cRt0xt5ALXUjc82KYhgKCQ== 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=rfGlRc1wrcGPA6nyLglVXRy80cI60N8UT0KyHD2R5WU=; b=Zrr5gpAAdIl95n4y6AJGujjhpg9LXT8pmPu2Kr18iKTa1XeX9Re8hIfAXf8cG1b4GruR4rR4SfKS5UeVrzNXAVrlUwVnLBTXbQZZLWhz+BR01zCuoubiJJfrtpfpjIBmJdeGVybx7gBmfX2Rdm3P0NUPCgD+8d8vHVt2plPXUc3JgHBjTCEQIlZfyiE9j64Vsvr6e22T4grYxVm1NAIrGeOwajqfqDNS+YWxm9i9T01b4Uxu7N9SvVAA8426MkUTIRZRfwDn01HP6U7sAakBU6mYLiGSmoGXKZs02vw3ZH4J4XXWpzKzz2IVpxf+kOwwbTJOM02XnsIXkRIH91GJ/Q== 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:22 +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:22 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 15 Sep 2022 21:28:03 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220915192809.2761301-1-andreas.rheinhardt@outlook.com> References: <20220915192809.2761301-1-andreas.rheinhardt@outlook.com> X-TMN: [aUwQiXnCM2jPNqeqJtOPzZeooeagfAJ71Zja/oXIiyM=] 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-2-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: 9f5e9036-5e95-4ef5-583a-08da975073d9 X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKwiAlKx4YLPXfs4dEXJm5ZiGgBydc9RiFRtUoEOqrt6d7qchH+A2G/0rkID7OLcPE7xFSP78dyz7lOJWbD+keCXvG67zhERhUTL+x4KUAjOUahlnHnWSkz5ToHcBe8cdilyPjYjTevPBzRAs8xTiY+VaP1sj3PYu14QJLwd5N4XqqViXRfvJypBSUmpIeAsZgPVB1VRvVcnDpUC3HdYw+pw/YM5jRxPQ5myxVV390XVlC2+HiPF6S7UtiO4OCewBlDDMU4J7VOwwYUBQDdV+JmL5//+KgI8a0l83hSsX7Qg/dyMY3JvGvxnoWbD8Kynz2dkxWk/aNDeU9i5hS4gYdokiVIw1Fn9Fgjp/FRzvGWmF7cNXy0C4WZnlHTPLmMAxZiIWjVHZ/dJ4FUeDGjlhB1eq0aqXoTdkONQyLDmiNeXpjHdCsCKdXIBuVGQxNdCXrelGDeE3wasIW9HjIax2fDMG2Rw0NTXpyTqbMAZrB9SnHF8vatDizdY/lIV82SMsVF4OoHgtkn0U8YvWfcDCwzRGvrj34jdp8qFepDYcMjjxKb+E+P6eIWuRF8x/ViUOWLtsuvrUDz4j7EV3Vs00LPktzoxzWQh8wZcg93Osstc3Sk7clruXd01bpWNBfcxcp7vgOH6R7ugIJRiCxUYkWx4FUtRcE2U2PIZv46muRuXyUwqkkuaJKJwzb0OwX/6B6xdchIfmXYoCxExKn3om9h31xoMdiX5wgk= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Oh9vX6uJpoQs3oOk2dBsanMYhXPSb1Y6/BoX6FuQ3Dc1iDAxvadr0gKRuqqc9BbZtXY81XwW2mgPjW3bk0oSNPFvkVD9BebS07utI9MdipUDVhqpBIX2GbHhWBoeW3Ldq3C1FftQN55cj1bd4aEy90gM6Opz8Osp8MF/58qMbd9bWYejQk02TDrRuaQnn/45qFqsw8jc3cQIpmlT6RoXw1NmnXNLQhvjG6TbbpNiFaeTOdMwnkeN69gOMr2enJ8Fsp7jjAhPRV4yJRM22p3D1H75bFzDua8JnseJ8WysKL+dm9MKaoQcyyQrvQIP7gUW0sIOaPzz6ICG9a/V9YRcb5XQwJAlncJfAhDkZy6bpbFAhmtewJpYxHFg71hBIXWt/4dBYGNza4hj7qn7BHPG0KHkiA28VB25CmffeLCzVyi3vw0UpZ46lIUNc83UHYLc4o078YnXUaoDA1uXmr2fiRnfwIuu0E4pseBTW7ZpzCOcnNQTXA8Fd5YQWoqMv70hxZe3QA+AlA4R28yzFAAtDZqfeMtQTlAE3Q62E5fES8NNNUNOHGrUV+jOGjOClVUNueFpbUqIZylFCUlwDqfrIMORAWoVw1VeB3TfavE3pJnJYQXV4xuZEYcnVCvFF65LVf48rc3leTiFLjKthnoDdg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tpDJsCUVSL1EkFVmrQWn9v4+t/4b/zFIxbijCeEjKpaUMiZ1hGrLBtcebjGfXNMHVoZyJV6RIMoKw28VwCitVDfMBCURIexNR+ibfEUj8LwGg4B3YP7bhee2NrhtDh/E4/ldKxnd+MDO4ny6/vGj0DnZg5b4QkYVlZ4eMOB8n2evM/6fg3tuQN2qfmdJNXTffw9DnLJyEiUQpCjNfElhXITdS9xHzXBjx307XMHyAWXmDNUPulOQEOWqpJAK9HxWLk+ozRrscXMs/i+Rz7LAki8OfIPfXwLZKrFVlCWFOx+FApUUSBC22qZvlo22ggbEwzsZoJFP2jvKsBrDYrRmZ8VNgFcLk1ejsYDBkleNenW3P9L7tGnr+5MhX5KEli3qeaJufen1yH0Tznz3XyCB2SjY/DlY9Ly/laDo9kM57ERchYzfxx/JFOWeI1kJKtm7m82xxS5BHxSkKfQ8RVNsEHz/9uLCOT4iGE/N8hV3XnT52OBu5WRpYte9WIGELVgOzETVURhAHCYUBjBaL/ziqWhH3F6oXmVnMq43avOv6kUYB7swmFpsH31qcTgnyER3XI+AnI1TpCheTLuheaYDSm9tMH4yeJommtKRq2LsJmaeYgpJ7OBt9rzk8mMxIsRZvic6uaQmGgxCmNdEo4mA7gWssUpo60oVqbbDVVjpPFPYYLwbjPDofzHSfd3VIjm0M77cHrvNjLIztwayRlpP25v/fjjY9L14hy56GPqjszn6A43ru40DOoz+IRTGaKV2N0t0WWO7smV5GqhniM/xRKztCTKQq56EZa0vCGvpUjtkyjsYMnrz2PJZ7kE32nRIkkC0hEtlGMcOzGZWpMZf6hPFWSF3+giiPAwjgzk/QVmoRphtpZGjY+tVIf2qbJPs+NIcfSI1pS0H02KSULM+N1NVM9XvWkJZkwTMDZ5NxHXBiLwV+Kcx1IDCW1C/z7CD/WAd23tyUmeQ/bIwl5GQkqvUpgWrj2mUMUsiaJHTExIsTzvLlHiSQnnAU8fNWIwpGhGknbZKwnR7uWsZ7lCrgSSTVPjZzCCjDE6ZmPL68xOcQIwGPkx3eOwGC+xEORf35APdNFMTO1niPHgpvlH8sRiQ2LvYXDVsmvL/zuzqi3dITMfFSKr8bzq3nWiFnvYeJSz/GraN6/MACZdVSNvaomRLcdlfOlMo/vDKfb4yzQuX285cHulWyJaRC4X8WeYdKJihffNg1weGBl49vu3K0K0+h4guqJfiKW1sLPh30U4Vw3hvKCnd7w2iUgyqdCftzO/tEb6X3srnH16USbFLxno8mTVJAEpE4KEHlI1eD/E= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f5e9036-5e95-4ef5-583a-08da975073d9 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:22.5346 (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 3/9] avcodec/aptx: Use AVCodecContext.frame_size according to the API 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: /pttJ1sU7YW1 Currently the APTX (HD) codecs set frame_size if unset and check whether it is divisible by block_size (corresponding to block_align as used by other codecs). But this is based upon a misunderstanding of the API: frame_size is not in bytes, but in samples. Said value is also not intended to be set by the user at all, but set by encoders and (possibly) decoders if the number of channels in a frame is constant. The latter condition is not fulfilled here, so only set it for encoders. Given that the encoder can handle any number of samples as long as it is divisible by four and given that it worked to set a custom frame size before, the encoders accept any multiple of four; otherwise the value is set to the value that it already had for APTX: 1024 samples (per channel). Signed-off-by: Andreas Rheinhardt --- libavcodec/aptx.c | 9 --------- libavcodec/aptxenc.c | 3 +++ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/libavcodec/aptx.c b/libavcodec/aptx.c index 8e110acc97..ed814ad1c0 100644 --- a/libavcodec/aptx.c +++ b/libavcodec/aptx.c @@ -516,15 +516,6 @@ av_cold int ff_aptx_init(AVCodecContext *avctx) s->hd = avctx->codec->id == AV_CODEC_ID_APTX_HD; s->block_size = s->hd ? 6 : 4; - if (avctx->frame_size == 0) - avctx->frame_size = 256 * s->block_size; - - if (avctx->frame_size % s->block_size) { - av_log(avctx, AV_LOG_ERROR, - "Frame size must be a multiple of %d samples\n", s->block_size); - return AVERROR(EINVAL); - } - for (chan = 0; chan < NB_CHANNELS; chan++) { Channel *channel = &s->channels[chan]; for (subband = 0; subband < NB_SUBBANDS; subband++) { diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c index f9347853d2..434a9abf0f 100644 --- a/libavcodec/aptxenc.c +++ b/libavcodec/aptxenc.c @@ -257,6 +257,9 @@ static av_cold int aptx_encode_init(AVCodecContext *avctx) ff_af_queue_init(avctx, &s->afq); + if (!avctx->frame_size || avctx->frame_size % 4) + avctx->frame_size = 1024; + return ff_aptx_init(avctx); }