From patchwork Mon Oct 3 22:45: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: 38548 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp1575849pzh; Mon, 3 Oct 2022 15:47:05 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4V93HjkhpQKAC8bJn/kNS45aO1xuwT3hqQWNP3Vf7DWjUOH0sdjuQiMb7Fvgsra23ZzrGj X-Received: by 2002:a17:907:6d89:b0:783:5465:908 with SMTP id sb9-20020a1709076d8900b0078354650908mr17505221ejc.26.1664837225374; Mon, 03 Oct 2022 15:47:05 -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 e28-20020a50d4dc000000b0045945eed10asi908515edj.5.2022.10.03.15.47.05; Mon, 03 Oct 2022 15:47:05 -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=AGdTslRL; 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 CB65C68BC19; Tue, 4 Oct 2022 01:47:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2088.outbound.protection.outlook.com [40.92.58.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E760968B2D8 for ; Tue, 4 Oct 2022 01:47:00 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I40je719IWyAdFQKHeo44ZxtVhMoAVNlXrQ/e8gO68zEvTThchWsBxjrZ7hQBk5vMERvHPjvbIHnFfgUQ9U5wbFOkCDUwbK9J+Cn/cgGGoeQr6I3igkkRE3fvD7AoFmmQF9VVEmD38ZK3n7oweTeH2O1v+tZ2kFDAVvblm7RCc3tkfnH3+Cm4Jv979uJ77yeuXvW3/pM+NDiHz5XbYVtlzkLmieaBAIgKhW/kLrqtyoYPcghVrWOgtcDXyhzEc7KZmAFuo8yHMowEO+KEloqLjNvOA4DbSxzcJs4Eiz0snLMmDyJmVcCsy7Wu7NCNpHj2shkCqmik/3antDU/A5fMQ== 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=upzwN/t7LY8z8fkZsf4ATkgbGegFdg2ESZb9InAxMDE=; b=C+I8l0SgsP0OFSYQSIvdFV/avxvpNtevISv3g5pbJMWGotLu1XXwNiqcQqLAPM1IUMvWxR0tBlbQRcnh3JkSuqYbzTKyc7woFDSBX68FbmMN3M2Cg2n/PICNYlXAqK/pG+0mgqef7cM8fnYq7bFgRGnnuOKmS9+NS/UoquTloBtjXZsYME3yqvt4nck3Vy2iKUKCi6RVNyEArvguF7yjJWeR7veHTyiRylMZ3OBbT4zZNarDLnFjsqRSfDbaHA9wL/Mhv54De6bNrjF1/PNBJfgv7YVa5llFI7NK8iUpMnXvfcCs7zvxVJCYcJVQMF44sKejxJIYr92861nJr/Xi7Q== 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=upzwN/t7LY8z8fkZsf4ATkgbGegFdg2ESZb9InAxMDE=; b=AGdTslRLt14f9pVzwirhcsGHOgckc11Pib31OZOZ3dwl+kk1Z2Do9rnpFij2ejpImponERAUdHd0SOoW2TYBjBjeFkyd/lPeX4Kc1Bq7rrszEKuYpvdG0Vz007CKsYWHlI03Fp9K7huZC6TdJOAzxfIpTLwEKBeVv5xlrVI2OK5kLKuxjZTPJX/6eAK0WAvbOWUq4RK7+cIQP5wrpJnpkufvZIWOA7eAj2LEPfziCU6Yp4Py5pZV4AxpnVQbKsIdwiI907XUsEgpHG67sis0/XYzKgA5tJ0U4I60BSQfcBCHytiCbol5oXZxi1kFZyR8ECvGSaqwnF9mpmHKLXRw+g== 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:46:59 +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:46:59 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 4 Oct 2022 00:45:03 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [HZ6SdTezHtFNIF3MZCPqlnNz3SbBhSrai5W/A7iVit0=] 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-6-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: 4c915435-7f84-4f2a-4420-08daa5912e4e X-MS-Exchange-SLBlob-MailProps: feAVlmA1hHXgXBGESH14SR3yJncyDS0I2Y6CfamvfrzUU1uLdofYWm4pi+iiJZJ8R++v6jPwOfFw6OAH8+/ooZjtz/mnLvOYCyllfgDygQKiisd81fojOEPnS+68k+crByKaHb15yLqhQKSFbs7l13HOtX+4ImEp3gqXTDrmiCIB+NCKgegQCYC/QA3GZuQOJ6vRuKTScCGJb7LXwRislwBPCeW/JgUMBlo7D12Yf+zLb+2wJ/fDvpiN12Tr6ukO8kprUyweNT+gdSBDc59skRG5MCvWsVPxvsNiH7x+GvNdHhIm22IQ+KE4SdQjIO+TfscyOi8FW2F/w+SpzliQ8nHv/XJ+ECRO1BxYPeDw10Uu3Oz6STPMfbPYGlApYnqxGDqdkEe6VvEoXT/t+zg6/u/8A9BNnM3fHMLyTOkvMxhkmZVzTlt/kh54S0Tt47kGE/i32V9/R2AymKX8BPFUUYJ1eyxbXytQrIIRm51/2MIO3+DbrhvjZrGMZnVYkpol73Rz80HwTfrI7g+g3wNiHZnLmRlvb0YTWEiuu+DsD+P5iqAbLqEGEqU5BzWerK3oths6oNLn8OoiikMRO2C/VN1B6MbGdf7PE0C8+BWYX7czVG8auuHjzn0i9hXPpDIvML+73krxs9r7hqbv5XDAPU41QRt1axyQxzRIKJ/hUMt1lm4Wy1CPaQJrujJuGtvtCgBmQifk6VUfmTVej+umJA== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ee7lHOrWM4bAfSg2h53Z4oEpU+Vk+UCgcc/WS2jFYI37BZo7QixvDolwLZ3qAcpSQ1TTLiODctNNdfvJGcoZrRNySxcrt5vCmvUFoKig65FRpWFxKeStuCWcgBukjB7BB9F93dS7dkZPqWpysVa6QtY0k+cH4tvD5zJTUDB76C++DIsgfeTAMDeJk0zv/HO/qUE4wRn8dde6UFfNjcQy/ebukYON+FNWV0dKmQd5PcK7oLdoztQ4QngKpZ3QWY16UUUBPpaqFyy51IZ9in1vySTqVl/0ssuY5zPFvW7mwo3uo/LaqDKBmAvE3j/mgBmAPhG4lC7wbFpn/TY/cqJtwAzWFl68MbSdzkF2AonnLwXbd8VRxz8ion/48BeGpZmpFHwbA3xa/ScV2BsHPELxDdte4597yny3aE8l2tN35S5s+LpxWzH4jXIzdPGJgCWAe0uIr7Ok4+//eFu07RUzI6WR916bYsAl72Yz7LPVz/HCMAnVTEF9rPoR07PQkFuv9Jb9J3MxdC2m78GnWGeOZJndPeAarVoaWcLz4u06GryWhj1V7WCRedtTfHo3gMjoTj2KoD1cMi5nt45Q1CWwERlOsem5RemNDU2Z8zAL+UCoyBAshl47/NZrhnMfxeiq52pvfq5APhEei5kAQmYpA5b9aWwvG7W/b6B2qu75PR5glRVhpZWxF7x54XSG4o6i X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: atOpFeHylSMDpBTXwcsZT5/rO+CyyZqZb1JeBWqzbxmUrbSdAOrBPz4c85hcUAhdZZ1hB/kIQd5ALi9yPCMJ+dJXo8euw06PmgVracsLAMlrc8HSB3/hE4tQUtMTfGMrAhlSr3cm21u0yU9q8HVBNyagIw+mVaMoeNRCMdcSGveHTMeC5vTUNkLnmF2CaxsaSSONZZl7jpMLJzhZ/7Y+4kOqaFFHa4hqeT7z6fr3vdhwTPO3FfnpJku0tBdw9xS5Kx27CJ3XuS6qEVihfDtjCL3KRnnb/BXwCXLYhkFLpSSNPKEN9j0wWoj2xvNmxX4jmv/QCRIV77Y+H8FxWPzECZVyBdgiKqTc5xiH9oDph2h8NT4YrwEGTloRhiLpjknsAj1V4yLAgFq13ICGGCNG1Eq6kpf8g2Gqpjck+3BGBsR8NiTixInz6Hm4Mos48L+ctxy6zwKbPZOjbKKSnMkhAa0zNxw5E0D5/qKyq1RNbPn8eu8LqNa4+v1dtYXfGnfOpoT3o03cD3B3d0xjHuWkua2UD4ek3Wamrz5jsmntpyFJpO4Rsecpr1QaIa1E1qLBUD5eg6jDkwhZI5OPMo0fBQzaUbRFuoSKD//JoOj/9BQEaXyNIsq2hca6R33m8QyqWo7atJblLqNBxAZ5W/3hnR0QU7lfUcH55zhRyTC3C+f4LnWBAuzq4rHrmrWj1e/V5PscRTiP8yYOgB3aHc1/FPI24W7/eMpJwTiH3EN6xQgXkMeW3KIX2nb1lh3pnaCT0W9SxGs7DVBZIIs5b6fwj/1UIedHAeptVHqbnt0EqyQe+at7xCLRtBxnW5Fan/CcIYcKKs0KiTQseOd0Jiely1cLjyj/DK6hO3iSoZOzzS+1Vy2PzZlIWM72mp5spESwJvJozG5m52dSCLKzOWE3plhekq4Foz2LqB0cfgK99LLYS0E7gmx9Y1RifT1e+qqbTz8qqiO8sLpzNO+aidDelvR9Ri6RJjuYNMz+ldgKYLTozkws6efifsOahFvVnHrdhgrnOGCnipKQNPJOEPSdY3t+5O1+ddOmaJnlmqnd5HiDfxIY5HQorsEBPUAtJLoNlpRDRdeSFvVAD1yODAK6f3UVG+as/FohL58C3/9AM8kmpES6BDCbnq4xgugD82lTycIUzFFjWb3emx9IUD+smu0Uo8Y/DpeUWOJe4rjjssbw8U4GQuy3BN7Spji2a0p7TSXwNUx0Nw4pitNv8FKFRYhwzs/uhzJjrcsPpKO+AuDqXBfv+gkwo87vPhjg9x5xlH4trXjhdeerPwlMM5loP+S8BOG8/HpxSL/UTKkLvRo= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c915435-7f84-4f2a-4420-08daa5912e4e 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:46:59.3631 (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 7/9] avcodec/opus: Move remaining celt declarations to opus_celt.h 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: oOozUMybgMhQ Signed-off-by: Andreas Rheinhardt --- libavcodec/opus.h | 8 -------- libavcodec/opus_celt.h | 11 +++++++++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/libavcodec/opus.h b/libavcodec/opus.h index c88bb89dde..023bc9daa1 100644 --- a/libavcodec/opus.h +++ b/libavcodec/opus.h @@ -73,8 +73,6 @@ enum OpusBandwidth { typedef struct SilkContext SilkContext; -typedef struct CeltFrame CeltFrame; - int ff_silk_init(AVCodecContext *avctx, SilkContext **ps, int output_channels); void ff_silk_free(SilkContext **ps); void ff_silk_flush(SilkContext *s); @@ -88,10 +86,4 @@ int ff_silk_decode_superframe(SilkContext *s, OpusRangeCoder *rc, enum OpusBandwidth bandwidth, int coded_channels, int duration_ms); -/* Encode or decode CELT bands */ -void ff_celt_quant_bands(CeltFrame *f, OpusRangeCoder *rc); - -/* Encode or decode CELT bitallocation */ -void ff_celt_bitalloc(CeltFrame *f, OpusRangeCoder *rc, int encode); - #endif /* AVCODEC_OPUS_H */ diff --git a/libavcodec/opus_celt.h b/libavcodec/opus_celt.h index c812b6645c..8d92b86b07 100644 --- a/libavcodec/opus_celt.h +++ b/libavcodec/opus_celt.h @@ -28,6 +28,7 @@ #include "opus.h" #include "opusdsp.h" +#include "opus_rc.h" #include "libavutil/float_dsp.h" #include "libavutil/libm.h" @@ -87,7 +88,7 @@ typedef struct CeltBlock { float emph_coeff; } CeltBlock; -struct CeltFrame { +typedef struct CeltFrame { // constant values that do not change during context lifetime AVCodecContext *avctx; AVTXContext *tx[4]; @@ -136,7 +137,7 @@ struct CeltFrame { int fine_priority[CELT_MAX_BANDS]; int pulses [CELT_MAX_BANDS]; int tf_change [CELT_MAX_BANDS]; -}; +} CeltFrame; /* LCG for noise generation */ static av_always_inline uint32_t celt_rng(CeltFrame *f) @@ -167,4 +168,10 @@ void ff_celt_flush(CeltFrame *f); int ff_celt_decode_frame(CeltFrame *f, OpusRangeCoder *rc, float **output, int coded_channels, int frame_size, int startband, int endband); +/* Encode or decode CELT bands */ +void ff_celt_quant_bands(CeltFrame *f, OpusRangeCoder *rc); + +/* Encode or decode CELT bitallocation */ +void ff_celt_bitalloc(CeltFrame *f, OpusRangeCoder *rc, int encode); + #endif /* AVCODEC_OPUS_CELT_H */