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 9FE3B40B1C for ; Mon, 3 Oct 2022 22:47:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A278C68BC21; Tue, 4 Oct 2022 01:47:11 +0300 (EEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2036.outbound.protection.outlook.com [40.92.58.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D480A68BC07 for ; Tue, 4 Oct 2022 01:47:09 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J7lNmx1Y9VViEqIZ18Mi5bYfcXOEWGvZhWhXRaXvULVI9F57zk6CwCuRYcEXadLF+6/sEu4vgX2KlRgmOi24DIpd5kk95E2/CAongbn2XKuafa/WyROg7FOOnFszE700eKz/0DETPMSkCiujYZCrD+AHAD9AMjdc4ZhvhijJ3q0I8ePKIXHcePKAQvDnC+jhhmuj+bMAZTlgNEHleAgCv8GiNZdxqeeHXqXnaZmAibNlGeLUZzXneWF4fbo0oNx0ily2sd16o7Tn7JEW0CMVOfSRlZvBfd2+Mm+n9tnES7lVAgYrO84NvuDQMCgrdKToWpyxBNvhHSycVbDGxRTTmw== 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=H/GV9daLFBoQtsREodOw1javlIxqecLKUo1sPZXQ/84=; b=EVuIEjR5zc0tPvNZfYByWxEQucXzH9IidXbmkgMAQEuqwEN436jUDd8wveiWU9bNZerK6+tSNeUosjSD4gyCpYYNyZuY54Qmt86VI9TYNKWc2w7dZoFhOLUGwQO32jUO4uRzWm8ecVX7xuV0JVRyYr+LjWvyLISAbH/TubdnkJoQK5Pj/YIR+PVj44QtK1P4CFiQzjH/ETAxLyn7pnPk5JkDylS/pvrVecX06KoA028j+CPYIMwYVKvZtsKGGVNtwk3qvTzehT/ntJ/UHCFX42U0nfp01O/GmB0HhrS7oy2sOSgZHK3PO5ClOJJjOJtBTjqYiQFe2muZ/cp61NM8kA== 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=H/GV9daLFBoQtsREodOw1javlIxqecLKUo1sPZXQ/84=; b=COEtFQlm40HwOTph+xHZZP64QTDiV+l3NM6S5lGHJcNmvogTXoppCmZ+flL1HXZ504aBHZLLynZ0k9u8lJMrZjMcMWiT4JKRqR/OFZ6Xw3ncPwEatNitxbUduTD4dbkEmWjlPBmhPAF5syyw9PX/h83mxyO0I3ne50i90iB/yA0vQMPTrvX+HW46NkwYZZhCof1OjMfNBR++gwOS6HN49LNuCmQyQe0Ermj1MY9gmUEWa2oLCKP/cc+s2Ub8ciPsKly/S/AnFwlaYftBFhPE8caFe/xlFKHUvokqfIaxW6Y0qG2FaxNwVm0FEO8dX94w7Doj/4zZGcDT3H0KifMQ6A== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PAXP250MB0470.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:283::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Mon, 3 Oct 2022 22:47:06 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8%9]) with mapi id 15.20.5676.023; Mon, 3 Oct 2022 22:47:06 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 4 Oct 2022 00:45:04 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [i0JG8b+3Bemlt0JKtdULIeLBMXwPef6PTD6LxQLl/MA=] X-ClientProxiedBy: ZR0P278CA0056.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::7) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20221003224505.1846824-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PAXP250MB0470:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b2e3274-4301-46c2-9b59-08daa5913284 X-MS-Exchange-SLBlob-MailProps: feAVlmA1hHXgXBGESH14SR3yJncyDS0I/b3vIW3FxkHf29efWIropvwa+FY7ofSEeLQG5rwYhJlUUKKaDhfni6LvU4xiM9l/1cC4ORjOTjhv5DUU97M+TS+pVnOzt+qTIE/3YxwzjjVvdoaMFcS+yTt9mSPQ6yxqnIKJLB+AN5mDKrAlz92pw1FUEG6f73R8+CXHhTVqKrl2zD51tK7D5Kly/4rUmRFhLTM9AUxBtPGqoj1yJJYse7FTW+Go0LZSH3lI39250bY4f6+FkAYfGYJi3FVnAMMGKtaa2+gBhKWoePrMABaF3o5WH4P8RpvrVbB+F64HmOxri6VAi85kvJZaWXGodz9h+x2NDtFdI01eh9//xn7tx1khFo1m61EH7qUjwaL/GHq6b51GHS/KEwMeoTH/14uaQobpIHTBHIpyxrAY0/3J2TAqnqLneF3Zq2HAxLZGbt/C+JKPg1RIeL/AO3DxRcxWwA6nHxpYeRXXdXclxINFIBrbXdAGTHYjYqsxbqdVi6A0e+glb3lm7PLOlvNAQHHhF2Nylr5hqFauEdPQZfApbu3MAeDnhQmzBnWgjDP8W05WxHClF7X5mfnkzYVq8Sq5ZEaISplPOzn9+TfFzbAoc4x2nW2658TFXj0RlxTQlszPHeMfkDWXz9vV8HQzegc7zA33EXXFnUf7AvJX3qoK1giNCd/+cncOoroUSQ7vy/v429rVZSvFgQ== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cBc4r4HMovS5O+K/Kp07FWqJ4VsBSCjxfI06/nv1oEKty0oI64BKUyVqOzzIVWep96eCEZrDB5YwKYJFQRYdTJETJCK2zatFUZ3AwZCjc/tJsMVbChPTG5U310PIttu7L36mpv0QzwnIhyVLr0rWaTLb7dN0haReWgRXoXbCSz6TzBTjAGbifAZ5MAT5945rJlX7enAhAS8MQJYMvUaCDkN9zvJLpODe4qTjIKN7TNS/+C6xH51eBflrpkbyB/oIvtQWT/Qf85pXY29ZH0YD9IJPjho0jTlpnUGZpSzHyT/P02yNJJJ/nG7PcrgY1W90hkA463Rn55HWNzB4zk/yPhmQ3uwgJJQsToDtWpqwL9uya/ampzcs5OVwSdXYffm1zPGPUKUpdGmFvYX5zWiVDfin6mQvuw/A4chhK1K+Q9pfSZvXNZNTOTIc2jzI3v/xmda9XXJC9sHrPQeRgS8PGfxYvwak7D6RmNzwBMTvwXeH1wbadRANLczUqCU3jFeKFJPMekBeGf4vD7XVGu4MI4pzNHrwSpgGhq5CzCNQhcrihpiy6AB3BcmqoQ3yMF5bk24OPemg6mPEbpbCN0Yg0ZsyhnYg22txZDQmxif+J03+Sw1soRO/KB9BS5/mTTyF/YubxTtqKq6qcmeoG3+5e98PctT4qbKj4zcfihdrbFZbi8pjzgfjowcX5otKYhTr X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oGpaQfJnEXp/Hea//JxZOAaXqCAJwiDK1IvHYneEQHQD8jjvLyVkQ0kZCdh9?= =?us-ascii?Q?Jsj5vZ6xTVE1UGFeBIY1/fJ01AY1Aq6hKlRtFCnVA36VLP0r6dRBFV4MIaRR?= =?us-ascii?Q?NZNdXr82wuYBXGRGMVEF6didOsrx8KxabDcvsD+t8ji9Er8lQ8VHw3fDfQ35?= =?us-ascii?Q?zSXigLAVMGE52uW9KnmQo+vGBjgsNjzk7kAaDXG+Afc3tQFeu3tXv8ME3or7?= =?us-ascii?Q?tzLyVOsQGIhl8F8EV6o64U8/EEADFkZAZGBxX8+aXmmJ38tmmtL19QvP5X/W?= =?us-ascii?Q?oRjEUk/IHKGcfWsZx4c0vx5yzjaXngLD81xaNMC4neyy0dj6p6Wras/XxGhG?= =?us-ascii?Q?1FreqISz4h+nYYSZHR+gKgZ5Oc9yhzfcRreAlV0KGaxrKk6N34DakXNwBVJF?= =?us-ascii?Q?smAmyVizOdTh1L8FgHCrx91yU0cdX5cX7/92zrIuMMKDCveR8Kzpga6q+56U?= =?us-ascii?Q?Cqlmfvi5eB/f1aVjU1V0U+8Ol1TBjris0aGxEGuVk6DR0a4RknP/QKc9Ee0N?= =?us-ascii?Q?YsNvn00Dp3KP8f+FJa0UnJK3f33dP1mJFjQmirpZzPrGc58dJyyNcvDod7NG?= =?us-ascii?Q?dNNTJarVqd8avlScLjCEOjKMRYzlmEe4MW40TdJDLVcQpEs9hn4xRPHENqgY?= =?us-ascii?Q?T5fW6ny558jlH9yoKko0vB9Ep1ob43sLEYKV9fY4LV1vQEjYCKcPc277U4Sn?= =?us-ascii?Q?oQao9XEmmS1Tt/gtU4ULTM2LsS8aYplYuuOJRp3EOAIea8Owa//HdeSh5iKw?= =?us-ascii?Q?JSlSK2e40sYXdq1KFKkn5jxXaEiw2Cleze5824jykF3S9IFHubZrvEkzInIX?= =?us-ascii?Q?HWQN/QDb4hvWzHsSbdJ+qpqB2W+TPLKNRGOooImGO5A5HQlOxMAFZfseQUOO?= =?us-ascii?Q?9PCaxaNq/vKEljg+VSgZkcNNrct0EefH06GzhPhQh18gtkufIQTfx0HNCVr5?= =?us-ascii?Q?fgLUPWePQ7XUoOyy5XlqK3iWDSgClORES0VPp6C5h+iMv46w/miw1Fuwk3IY?= =?us-ascii?Q?oBJoySitG9AMlDRlNR6ROTTdO1tx//HDBnli4RatFDOaSxma7JkgR/uTAa+9?= =?us-ascii?Q?JEckCg4QskKB1vTHK7f4AD4JuCK41B8IOeQwQQVDl4qtZPSjtasGFoHeFCoi?= =?us-ascii?Q?Wma9mqttQlT8/YYIYWnvW/TciScWo4E00Sx/9+pELz52Fyyx1IviJk5IQBhO?= =?us-ascii?Q?JYlBPQlzo/TdVqOrt4oRUBK1I9cSS79hGkFv1+XcNImKyeg8VJZHaGSjOrrk?= =?us-ascii?Q?ipImIYFm+NKl4Jc4HgyQpGfF7DtZoVtMtLviCR2A5ePiDmW2AGSUpoVoCnXg?= =?us-ascii?Q?o5Q=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b2e3274-4301-46c2-9b59-08daa5913284 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2022 22:47:06.4300 (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: PAXP250MB0470 Subject: [FFmpeg-devel] [PATCH 8/9] avcodec/opus: Move defines to better places 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: Move ROUND_MUL* macros to their only users and the Celt macros to opus_celt.h. Also improve the other headers a bit while at it. Signed-off-by: Andreas Rheinhardt --- libavcodec/opus.h | 9 --------- libavcodec/opus_celt.c | 2 ++ libavcodec/opus_celt.h | 10 ++++++++-- libavcodec/opus_pvq.c | 5 +++++ libavcodec/opus_silk.c | 3 +++ libavcodec/opusenc.c | 2 ++ libavcodec/opusenc.h | 3 ++- libavcodec/opusenc_psy.c | 5 ++++- libavcodec/opusenc_psy.h | 2 +- 9 files changed, 27 insertions(+), 14 deletions(-) diff --git a/libavcodec/opus.h b/libavcodec/opus.h index 023bc9daa1..283d9d9f7a 100644 --- a/libavcodec/opus.h +++ b/libavcodec/opus.h @@ -32,18 +32,9 @@ #define MAX_FRAMES 48 #define MAX_PACKET_DUR 5760 -#define CELT_SHORT_BLOCKSIZE 120 -#define CELT_OVERLAP CELT_SHORT_BLOCKSIZE -#define CELT_MAX_LOG_BLOCKS 3 -#define CELT_MAX_FRAME_SIZE (CELT_SHORT_BLOCKSIZE * (1 << CELT_MAX_LOG_BLOCKS)) -#define CELT_MAX_BANDS 21 - #define SILK_HISTORY 322 #define SILK_MAX_LPC 16 -#define ROUND_MULL(a,b,s) (((MUL64(a, b) >> ((s) - 1)) + 1) >> 1) -#define ROUND_MUL16(a,b) ((MUL16(a, b) + 16384) >> 15) - #define OPUS_TS_HEADER 0x7FE0 // 0x3ff (11 bits) #define OPUS_TS_MASK 0xFFE0 // top 11 bits diff --git a/libavcodec/opus_celt.c b/libavcodec/opus_celt.c index f1fb88a56d..c2904cc9e0 100644 --- a/libavcodec/opus_celt.c +++ b/libavcodec/opus_celt.c @@ -25,6 +25,8 @@ * Opus CELT decoder */ +#include + #include "opus_celt.h" #include "opustab.h" #include "opus_pvq.h" diff --git a/libavcodec/opus_celt.h b/libavcodec/opus_celt.h index 8d92b86b07..3aa96244e1 100644 --- a/libavcodec/opus_celt.h +++ b/libavcodec/opus_celt.h @@ -24,9 +24,9 @@ #ifndef AVCODEC_OPUS_CELT_H #define AVCODEC_OPUS_CELT_H -#include +#include -#include "opus.h" +#include "avcodec.h" #include "opusdsp.h" #include "opus_rc.h" @@ -35,6 +35,12 @@ #include "libavutil/mem_internal.h" #include "libavutil/tx.h" +#define CELT_SHORT_BLOCKSIZE 120 +#define CELT_OVERLAP CELT_SHORT_BLOCKSIZE +#define CELT_MAX_LOG_BLOCKS 3 +#define CELT_MAX_FRAME_SIZE (CELT_SHORT_BLOCKSIZE * (1 << CELT_MAX_LOG_BLOCKS)) +#define CELT_MAX_BANDS 21 + #define CELT_VECTORS 11 #define CELT_ALLOC_STEPS 6 #define CELT_FINE_OFFSET 21 diff --git a/libavcodec/opus_pvq.c b/libavcodec/opus_pvq.c index a4e44b7a14..79101847af 100644 --- a/libavcodec/opus_pvq.c +++ b/libavcodec/opus_pvq.c @@ -23,11 +23,16 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #include "config_components.h" +#include "mathops.h" #include "opustab.h" #include "opus_pvq.h" +#define ROUND_MUL16(a,b) ((MUL16(a, b) + 16384) >> 15) + #define CELT_PVQ_U(n, k) (ff_celt_pvq_u_row[FFMIN(n, k)][FFMAX(n, k)]) #define CELT_PVQ_V(n, k) (CELT_PVQ_U(n, k) + CELT_PVQ_U(n, (k) + 1)) diff --git a/libavcodec/opus_silk.c b/libavcodec/opus_silk.c index f9d67f4fb3..fd1e83659c 100644 --- a/libavcodec/opus_silk.c +++ b/libavcodec/opus_silk.c @@ -26,9 +26,12 @@ #include +#include "mathops.h" #include "opus.h" #include "opustab.h" +#define ROUND_MULL(a,b,s) (((MUL64(a, b) >> ((s) - 1)) + 1) >> 1) + typedef struct SilkFrame { int coded; int log_gain; diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c index 06f71876eb..d082b86056 100644 --- a/libavcodec/opusenc.c +++ b/libavcodec/opusenc.c @@ -19,6 +19,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #include "encode.h" #include "opusenc.h" #include "opus_pvq.h" diff --git a/libavcodec/opusenc.h b/libavcodec/opusenc.h index 32d23deead..4d691d6a7d 100644 --- a/libavcodec/opusenc.h +++ b/libavcodec/opusenc.h @@ -22,7 +22,8 @@ #ifndef AVCODEC_OPUSENC_H #define AVCODEC_OPUSENC_H -#include "opus_celt.h" +#include "libavutil/intmath.h" +#include "opus.h" /* Determines the maximum delay the psychoacoustic system will use for lookahead */ #define FF_BUFQUEUE_SIZE 145 diff --git a/libavcodec/opusenc_psy.c b/libavcodec/opusenc_psy.c index 3bff57d347..9b11651dbe 100644 --- a/libavcodec/opusenc_psy.c +++ b/libavcodec/opusenc_psy.c @@ -19,10 +19,13 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #include "opusenc_psy.h" +#include "opus_celt.h" #include "opus_pvq.h" #include "opustab.h" -#include "libavutil/qsort.h" +#include "libavfilter/window_func.h" static float pvq_band_cost(CeltPVQ *pvq, CeltFrame *f, OpusRangeCoder *rc, int band, float *bits, float lambda) diff --git a/libavcodec/opusenc_psy.h b/libavcodec/opusenc_psy.h index 0a7cdb6f2c..67e96b2fa5 100644 --- a/libavcodec/opusenc_psy.h +++ b/libavcodec/opusenc_psy.h @@ -26,8 +26,8 @@ #include "libavutil/mem_internal.h" #include "opusenc.h" +#include "opus_celt.h" #include "opusenc_utils.h" -#include "libavfilter/window_func.h" /* Each step is 2.5ms */ typedef struct OpusPsyStep { -- 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".