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 363F44263C for ; Wed, 24 Aug 2022 01:40:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9253768B9DF; Wed, 24 Aug 2022 04:40:28 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2071.outbound.protection.outlook.com [40.92.91.71]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1E1A68B9B4 for ; Wed, 24 Aug 2022 04:40:21 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ijw7YZSKfozFnqDYTjr4E2wlxYgCKEHaQjDqCLbZe5oxEU7Vfn7INjC5njAyOgGMwH9vKyBHtaanUqFYbRs+SaHW5zkicAzjleukvHJcof9EKAg8EoSfr/NJ6DLl+bj7oc4uvE54eiv8RDwfVIAGXXY/JRdYSKajEfF2W58+jYX3DKwB56GVx2H9yopky0xj/HkaM3UfuXWGnwwyQ88ozMUAXUrMeq2x73Dg7U6Um9UeENX0AvyiCYtJgGxvIv1DdbHOnZB8sgIv4e6kUfDfzmovh1kSjXonYQ8QXnOYwSMpHURtE7Iq0DWlAi6xdOH/1OcsbeAxnLkWxjtxDDLrcA== 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=zmD8D8WPMzCJhN4RdtxsX3NGhFD/VZSJutZbArwSE+c=; b=CPv9Mt/6M5vOL7oIiAVesiA17EnCiyM1bVKAksT8vrApeCk2iRDMHaHMsZgCPyM88BPmDHa28SOhl863LBfjSqtcO/l0JNLJCCHMR7TlOQn/ZrzUmPxVhGhvbeinDZXpTQLRswfdS24GN2p2XTh8DFna9ueZoKc5P/rOIlESlLDSp4ZntLMuMVNhcPUtz12fS/zIMfGchS34zUrf5Z3vpJBCqQZtMMcOnAtSnPPSRkCCZGWs//QOW+DY8OF0Qd232QKEZpOtvPiZWwTDx/ZD+va8UNlXCIJKuomD2FwpvaiA92m70N7Kr5Iq4AVvdQzBnqldNdRROFvYpQ6H6LKEvw== 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=zmD8D8WPMzCJhN4RdtxsX3NGhFD/VZSJutZbArwSE+c=; b=qhPuJDgBYPZZfvFo7fPAqMzom5AKOKfKf2B2i5xTapG6fYv1I3ZifrOzduAq7dVHI6iIILY3iivmkvYfbg8dAty+gANj5z1bbyYpZybBWqJXbDomwy3ysR0anef/MY85Mwzm7PIAwPYQxujrO71CG2ja14OtH0ZQQr6TcCCk5L7MxAXu2D4uKuOvC8Ja4zadvZiBDB21YgTQoR5LRK/CYu3OkZ03Qn9xz0++7JESDJXq85gWxPCXXdNibJBeLPeZO/scqKNX3L84H77m93TR0HuhsbjmZh1x2KDUZIEhp5EypjmsiCeHFbRO2bu0YDVI+5fJ+wEDrwOwoyRyp7Dblg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AS4PR01MB8966.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4e5::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug 2022 01:40:18 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5546.022; Wed, 24 Aug 2022 01:40:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Aug 2022 03:39:58 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [OKtfRaWkECBuhPi8trtT1gvEWpwbcKSR] X-ClientProxiedBy: ZR0P278CA0110.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::7) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220824014006.2441856-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a734c3ab-a037-4219-e394-08da857199c6 X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKxUnxcm+B0m2g2rXtiL3/xX5J6jsUeiuJjMUiAe87d8KjDfyWp1FiQOnLlvL7ykGWx7uZn6YUmbhrm/Q3fVqHr9R7J5iqfkSb2y0jbIdsu3tIa5hdPQCs/sh3HGj2bUSkEoYWSwhIs9Jtjn66dbqoCfZdvvU3iJe7i+f7VopQ8tO9jPd9uGbvO2J5cHYCWRCEezBNCAnBfk1m/TPOF5n/LrJUg2+n4OeSDbsRHN0Xb8T5S4kJTACIn/dRn9f7yGAxE4x18yK9RzTEasKHe4kDQ1UtQBJDLaaAd4TioWY31d+UooZq8YPBCD/eJiw5H5+nFnM3OsR7uQiyJGg5kni9sr7fp4YEzz6FAK+BuyNxplk59yvoQPFqpkORguqHLbZboee0zNEMPuaAF2ufUQOoH1lZKuv5H8Gojj1TP+m9KMuh8YsJ687dFxyGLdVtCvh4MKUSN4lSrhf4EzAhJCud0ja1B1uO+Ymm6pH2he+h9FphjQ/VhCL/TAqYz4a6RKT2+3t5xT73dN+5ADA662OrKep2yzifPQKssV8fgpWYwpxdf7zZyh+dBQWdh/MehxGy8f18sw0hgzAhyd75mI82+AdLXyLs1kMWa+90dzv6Wov7CvKrBwzapzQjn0NtwH7vMWQxlg9IEjqkIWgRsbvrf+DDN6z5fAtAF1lFSKRu4YUIAHZuYDgIhPgYcp/QGMt4UyDawttxkieR663tPyzG5sFkFX+ePEkHc= X-MS-TrafficTypeDiagnostic: AS4PR01MB8966:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O7XQZQPDLnbpfzSSGxmjMJ251RIZS5UoLT3feBkHASxCNQ5btuHm5R+lsOw5FSFh4umX+eDuwX2MTG9nly3Ar4tCVZbUPh/yuap457MEG5moQ76E4Hr/Fq3cfNxBPBb1LPfOZ/eH09RzjsIUMio/2xAaf9yQiJW/F+g/B+04Mp2etdzsJwGDL6/1hRQmO49CQr6I3/LWC1Dsq5cKIQILIICpNzUNH+/4WOdQmG+wfizchtWWvNOEbj9CkLu5AGaCJA8OtTn0hi9ZUfRF9eHiHga9ZGx4Je1Z0Pi74uDww4fiULq3Xbtn8y+FQMbG54X7TRfOMAyxXgtw6F2StUnAbD5DiCHsoLVpvE0j7Ob1i+qR2LxzfEjd5m39s1bIEuKCRPq/KYFMTZ3hzAjBX02XLDMn535uCZGrH3di2HoIvEhmg/8wfPxdQVqY+I0zq4zFC1IYoLjxcO7czI0/tEUiSZLmiGBwLKWbz7de6vvOPFCfhbY5efLqdUqi7nP/QWZqNyEzI/WIC6NR4dlzNs2F+dECjcAznDT1EPuipAPVbBEFK8r9sZpeBEZ+81rsjPj+PSTgba47guUeDNcXy4ZA3zWZXyO1LMLp3qRQvv+n38GDjwVT3ErQxBjQkTUK6NMsDPj3pi/fNmr+DrmYFQVLkg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mxdlfH1KfF2C62bi+80dTMIBk4xa3W5Dcn8Bj57/YGWFbbSE8E9P804r+4bv?= =?us-ascii?Q?R7puOT4PGrRyMv6/9GOMmfrz+rvEdN8LXkkdyvCIFQEagb7OO67BcdBOWedN?= =?us-ascii?Q?idW2T7sOrd+EqMgu+U8k2hPGrgb+5bCsZ8mYSJitW3ypLVDaHz12tDkWECoB?= =?us-ascii?Q?xCawcELwqh6x2MSY2I8lGz8mid/moJcYEDYhLH0CPAZOmKCc3LXB2NbbRKQq?= =?us-ascii?Q?2QrdcrVMGGMDbwg5ctN9RQG2l8YzFr9N/qfSbIuQydyhav0NCS/c89+at7k4?= =?us-ascii?Q?bw3jU9may3n244/AATZFk0T2DsboviZYVu3fjX8zIni4G7TTNeWb8ODipyjv?= =?us-ascii?Q?MQV2mL/sY+8713o6jUwjdhNsiHGxHyiSPJjhoLQQjtftcVQ7t3Ja+dva6n8V?= =?us-ascii?Q?cA+sLtQxHY7FLAq/2NGejl9GmYI85kohJ2l0FFkdsmF8PwSuC7n30apCaOYy?= =?us-ascii?Q?gGNUHUFuAL4RdhN/0qyD/Kh847fUG4GV9/ZbHBv8fCL/G8rbBu9xyUpfPyA9?= =?us-ascii?Q?PcKAhoANIn1Wt4MVzCL3ALZByJERjXfYbPlcpTexAlsIv/R1i5Y+EglCSPy1?= =?us-ascii?Q?co16N8Ct1NTJKmQ27f6BfSyPGv0jWB60JchJG4eQFCsWXP6M6Ecmrg7zgVIX?= =?us-ascii?Q?CaTQvluTkDJRfUBWSgk7s3GM0EqqG+KV6k+5npoYyM/oTYq3kFLIIp4aSiL/?= =?us-ascii?Q?4LG2Y67W5Q3LJuDc54feAHRc73rW//IJjPtrJfOPTJWWvywrd8u3wNuYHIi9?= =?us-ascii?Q?kRjoKBgp07dNTpH/m9ghQ8+0pxkIlJQR34GmXWwfTgJXJXHowsYFC67iyyzk?= =?us-ascii?Q?s0akwtI0gH7dafe3ozeM/pkWCTeBL6HFgV+lSDKWs2w06/RMOjYOIhDzHiSd?= =?us-ascii?Q?2CAJ7foB1iSxfFVn4Rr+ljvylk4y/wr1ybma47lOkdeKi5kpANOKBYYWLVmk?= =?us-ascii?Q?JGQXXNkcs1BUVieBIvYPz5Kgdrxs0g1MKwPfURgp7a2u6N1dtJ68oM6NeWMk?= =?us-ascii?Q?cUCrgTlL6r5koulVV5JFFp+POePZnWcelXhk8C9ga8qRVdmjreuGcNUciNT/?= =?us-ascii?Q?1zvnvYLccyRL9aYUEydJyF3mSnOMW7aJhg9moppoOdBWqiU2Ser+iRB8a8at?= =?us-ascii?Q?iDEqlbo3gDQP6e4PTa0Rfo7cOeEzl41QziBGBgQ2iQj9Bv68DQKLUXP2pyXG?= =?us-ascii?Q?492SCfuJ+/0oymjJDaC7HzHGFepJHMSav4IPdH5142Ey9NBN2gD0QYOgHiyu?= =?us-ascii?Q?Gq6/1l/GQIlK79XJPqGNpMlZy9cSa0mXUccNrV0Td87KRNSFZ2jWunOc2nKK?= =?us-ascii?Q?NxY=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a734c3ab-a037-4219-e394-08da857199c6 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 01:40:18.6593 (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: AS4PR01MB8966 Subject: [FFmpeg-devel] [PATCH 03/11] avcodec/aptx: Move AudioFrameQueue to aptxenc.c 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 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: It is only used by the encoder. Signed-off-by: Andreas Rheinhardt --- libavcodec/aptx.c | 1 - libavcodec/aptx.h | 2 -- libavcodec/aptxenc.c | 32 ++++++++++++++++++++++++-------- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/libavcodec/aptx.c b/libavcodec/aptx.c index f2604be60c..8e110acc97 100644 --- a/libavcodec/aptx.c +++ b/libavcodec/aptx.c @@ -534,6 +534,5 @@ av_cold int ff_aptx_init(AVCodecContext *avctx) } } - ff_af_queue_init(avctx, &s->afq); return 0; } diff --git a/libavcodec/aptx.h b/libavcodec/aptx.h index abb49e6faa..da0697e652 100644 --- a/libavcodec/aptx.h +++ b/libavcodec/aptx.h @@ -26,7 +26,6 @@ #include "libavutil/intreadwrite.h" #include "avcodec.h" #include "mathops.h" -#include "audio_frame_queue.h" enum channels { @@ -95,7 +94,6 @@ typedef struct { int block_size; int32_t sync_idx; Channel channels[NB_CHANNELS]; - AudioFrameQueue afq; } AptXContext; typedef const struct { diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c index 453146f154..2a0d8e06eb 100644 --- a/libavcodec/aptxenc.c +++ b/libavcodec/aptxenc.c @@ -24,9 +24,15 @@ #include "libavutil/channel_layout.h" #include "aptx.h" +#include "audio_frame_queue.h" #include "codec_internal.h" #include "encode.h" +typedef struct AptXEncContext { + AptXContext common; + AudioFrameQueue afq; +} AptXEncContext; + /* * Half-band QMF analysis filter realized with a polyphase FIR filter. * Split into 2 subbands and downsample by 2. @@ -212,10 +218,11 @@ static void aptx_encode_samples(AptXContext *ctx, static int aptx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr) { - AptXContext *s = avctx->priv_data; + AptXEncContext *const s0 = avctx->priv_data; + AptXContext *const s = &s0->common; int pos, ipos, channel, sample, output_size, ret; - if ((ret = ff_af_queue_add(&s->afq, frame)) < 0) + if ((ret = ff_af_queue_add(&s0->afq, frame)) < 0) return ret; output_size = s->block_size * frame->nb_samples/4; @@ -232,18 +239,27 @@ static int aptx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, aptx_encode_samples(s, samples, avpkt->data + pos); } - ff_af_queue_remove(&s->afq, frame->nb_samples, &avpkt->pts, &avpkt->duration); + ff_af_queue_remove(&s0->afq, frame->nb_samples, &avpkt->pts, &avpkt->duration); *got_packet_ptr = 1; return 0; } static av_cold int aptx_close(AVCodecContext *avctx) { - AptXContext *s = avctx->priv_data; + AptXEncContext *const s = avctx->priv_data; ff_af_queue_close(&s->afq); return 0; } +static av_cold int aptx_encode_init(AVCodecContext *avctx) +{ + AptXEncContext *const s = avctx->priv_data; + + ff_af_queue_init(avctx, &s->afq); + + return ff_aptx_init(avctx); +} + #if CONFIG_APTX_ENCODER const FFCodec ff_aptx_encoder = { .p.name = "aptx", @@ -251,8 +267,8 @@ const FFCodec ff_aptx_encoder = { .p.type = AVMEDIA_TYPE_AUDIO, .p.id = AV_CODEC_ID_APTX, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME, - .priv_data_size = sizeof(AptXContext), - .init = ff_aptx_init, + .priv_data_size = sizeof(AptXEncContext), + .init = aptx_encode_init, FF_CODEC_ENCODE_CB(aptx_encode_frame), .close = aptx_close, #if FF_API_OLD_CHANNEL_LAYOUT @@ -272,8 +288,8 @@ const FFCodec ff_aptx_hd_encoder = { .p.type = AVMEDIA_TYPE_AUDIO, .p.id = AV_CODEC_ID_APTX_HD, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME, - .priv_data_size = sizeof(AptXContext), - .init = ff_aptx_init, + .priv_data_size = sizeof(AptXEncContext), + .init = aptx_encode_init, FF_CODEC_ENCODE_CB(aptx_encode_frame), .close = aptx_close, #if FF_API_OLD_CHANNEL_LAYOUT -- 2.34.1 _______________________________________________ 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".