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 0C1AD499EF for ; Mon, 26 Feb 2024 01:25:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1F26468C7DA; Mon, 26 Feb 2024 03:25:28 +0200 (EET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01olkn2066.outbound.protection.outlook.com [40.92.65.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4B0FB68A2DF for ; Mon, 26 Feb 2024 03:25:22 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JfXkuwTcfuvaL7ytCPkFb4v4y8c/+rzVGOapaAbkdiEvpMAe9C9giowlVVAsz7VXyPFZzOlHNSUFgAYSb6osSDq4/B5MpGplHPCEfGPVGDWDaawpRM/AZWPlPGTam2Z9eNkq1I/mL1Pm4Yc3nghsCEBIHvZttscLWNJajPEgkHDy4W09VauHmF21FVsw5Nze255jDC6NGyIoHsXE/k74Da0v9LCxdQeFmPO4b6+QC3SwOEpdzFYdalISsejox9EL90cR87IbEx8KAwbJlrQuZGL/hIoIy3PqFb3mpGDCk1nnTE6hf6ZEWT9u1OvvbYvl6Or3Aqaw843hHE2HsNqMLQ== 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=b+iMep5Hp3Tw4CwAMbTOIFciR5+yqQqfQ2MRbumH6dk=; b=Qy0dSg/010FWilFxi9pQolXUE/AN+uwredXv0QPj/FdbiZ2Suk7mte15nYCmuS20H59YWQ7J/z8CkfRadJ85x3Dto0sIg/cL7GR8Uhl01VZKPZX/++VFgfSM/k37/NXCLyVA29yrwRbiCS1xXmokjT/Jqm1ArMx7Pj0Cmkc8AsbcVuk61mPTwxUIQWeMZm749cGHTiUuJxJSSaaakRXZIjUqVmGzZeF5mriE0CLl4y2lOxh6VjFGNJ2lqKTQpQTJAGRQ17CaD8QmjDV4Pwd/KZOP9H8Hyq4wSC+au3LBxV0J3cnDgu5X3Rjk9//7WaQKMxL2Wei6Zg3/27N6EyPJ1A== 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=b+iMep5Hp3Tw4CwAMbTOIFciR5+yqQqfQ2MRbumH6dk=; b=Plclr+ai+wRN0Vw14DSNg8/iVsiUKLF0XlA03nMp4ttjm4D8/yw0RGWwQDjich2Kon0j3uxND4B2h0dVBIHN4vNiVmhdPGbskQj+geKhjnDosXzkmMAJzLTcidc2AByf9XypOh8UcjUnfDU1iO8QatgDF//ot+RNKFqTuRJsYmcHUTHiWsywd4NMMh5phngkL/9LA2evMDrAR+w3+IZ3F0XGKE0M44+d9GO5Q9DhG1+RC9xYHsOm5Si8axWC009YY/g5sqFhQbSxx9FW9D1bOIv5o2WRYbKWvgcWTMKRw081Jb1Ov+zHtGYgdF8nEXy13aoXMWKYtJhNPEzZu2/s3g== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0288.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:27d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.34; Mon, 26 Feb 2024 01:25:11 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7316.023; Mon, 26 Feb 2024 01:25:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 26 Feb 2024 02:26:54 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [nj/w2uPHhUqBdHmB5g8+rxYgIqliXlWF4kWkSVkD7kk=] X-ClientProxiedBy: ZR0P278CA0063.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240226012656.4055642-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0288:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a83ce16-ad4a-454b-75f4-08dc3669c65f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +xk9/ztf/RppBTOA5dCTNPb/BsNoj2VoMOWFD4hEDJLzOypQ0FAM8EejvW+Q2bN9Mupbo+nu24yUZgVEQqWxe/7eYjjZi7VOe8oeqR+6cekPrAReiXQHzlp6qxBDJ8vMTsyYNodmWpkk6dqGNz4sX/sa84TR3fBYUMCCttCp2cgorKIOT9diw8WjIMSzOn5p0Cs8442yChc2SRYs7EXWNsetc5i2Z6MgnUa8U5tYLd26idj8lrY2r5ZcaRLJH1B3MhZzR+edug3HmJz3atys3IAcr6jIvg+r7ExUII1cf1JJ4YgPgudwIm+aW6ZpeaS2EADJH7s7Pd9XRlHCiawEGppnSqreOCIoJHXD2+C1fp1s/lrFBTLATKv0KzrhS93/6Mgn8l16TDar1vL4iVkxi/OqH0vLsbqGGdoIjD4vIoIQk4YRpL/WQj4DCl8mo7c4PlmPZHm5fyi57KviLvna75gIu98QQH0N5CsJ++M4PxYo+Tb7ZvjqkX3gP91F1y/C544TfOeV1q8M5zrngrpVFW2JJZ0P6ppQRFmXr1IQIahNoOYMX+IBsCuTZZE+lC/yITx57cvfPRspMORf1YVn8riZoreFwC+hRn11tHECmsaD6kMVGVf+NAttZDkBF7hqcBC8/yGnY5b73vTKT2UugsyN1SGjHbu2r6xdU379qhD8g626uscA4KAg3zgrU59V6BTAVTTi/R45hYxJxW0QIg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?i5IWloUrjUSrSeXS2D7zXFacE7VcGRtnIsFzP26r5eW5plf++4KVEbgRB1pB?= =?us-ascii?Q?F5tw0aRlXD/E75M86wd64hVzNJgSY79DwkcCzVZgIkoojbgm13dtmW/1+GC4?= =?us-ascii?Q?KtqIAU29m7IaMJukVOaG+1KJaHM1wGGi+54Eiy6j6nJvNZWZT5K/cdVs8KfF?= =?us-ascii?Q?Kx4InWcyyciUIT5ofR+Hk9D23aug/Uxfn1aXl/dz+k9FVW/AP+yRQi3gMPTI?= =?us-ascii?Q?XikRWYluIOPC1UjWTP6zC8yBVhpswWUOo3nvHvWmDE7ItdYvfJtQA3c4gnvV?= =?us-ascii?Q?0exoLIEANYlLgjOuqJ5iVRcPULM97UrdAPR3pqF+Z69oLKORmMf6GqCG5C/4?= =?us-ascii?Q?pp2l2Ew+us98sVMgh1I766+mkHJIgPvXlN5WjTokBbcKXJpbxHKyD3qwwQW8?= =?us-ascii?Q?R7GQPr/SNLglScyQYqyi9PCUqlb8bSwRAlWfpoOHRwymY8xPPFc2KNxhpziU?= =?us-ascii?Q?uC2kMdKd0RNcIKh7jwCKuAKwIs8xO1B7M/oSgDdQ9AVIz/3PAVmVovwzdMKK?= =?us-ascii?Q?7PCoBnUmVhtkDJC0hbBodCQMjvC2KJigRdJ0g/LhRvhmBIlTfKxu23jbXAc4?= =?us-ascii?Q?mBC6EvyGjNQP5y/aC4P/lOAMGorOpP5ms0H93ccMBDfS6rjArcnfFH/n2WA2?= =?us-ascii?Q?phLZhxQR+/E8N562AuLXMntt4tcfkB0koxHSEW4/dK70u815JS6ZCYtYniW+?= =?us-ascii?Q?0tO7dDaLffbQRujt2Acpk1VuJe23cJY3YfUy0rDR7CuzlMRBxh8lkbCq9aEc?= =?us-ascii?Q?WWyocKXBmzlJOLf5srTHCv86oNwbUxmmK1A5hBMJuDrvsTumkpaexT6eTNCn?= =?us-ascii?Q?gWW+HQDPIoYcMAKYNvTumEcWhc1JJn2PpX6S+QLMS1JAhEMcIMron/aBe4c5?= =?us-ascii?Q?2PshViZNRn/9ivgtSu23lD42AfyJLX977NLiAsmnO41hsaIKtaD/kLhWzYzp?= =?us-ascii?Q?IzZzxGgmuhi/LYKywugva3ZaTyewmZmiJeN6qvma/WPU1vaeyFuZm+RzAnez?= =?us-ascii?Q?ypEkJxkePtarz5b8XzhVRsxy4WLHXajQvmAtj6Bno3nGjT4e/j6QLdRqq8WK?= =?us-ascii?Q?6cwHPN67I2Qmx7ThrySWicT9NRJKMWvxd3la105kwqcrc93YstcpSPcg2/gm?= =?us-ascii?Q?rki3RFTgvdgXBnGNhx8pnzVIbKKDbaquOlflL33otxSIfqdl2kvTsG4S096p?= =?us-ascii?Q?fYdAEvaCD3why1jN+mDCpRIGtsX6wQwLOtBgGxppJkVU3b2ttvmKXegg1Dcg?= =?us-ascii?Q?lvJHfKO0tDzzDuuUntUXurWhdgSmisBEuaNrfMk/aw=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a83ce16-ad4a-454b-75f4-08dc3669c65f X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2024 01:25:10.9282 (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: DU2P250MB0288 Subject: [FFmpeg-devel] [PATCH 6/8] avcodec/aacsbr_template: Avoid using AACDecContext; pass logctx directly 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: Signed-off-by: Andreas Rheinhardt --- libavcodec/aacsbr_template.c | 131 ++++++++++++++++++----------------- 1 file changed, 66 insertions(+), 65 deletions(-) diff --git a/libavcodec/aacsbr_template.c b/libavcodec/aacsbr_template.c index ce3834e2dc..72bec96d2c 100644 --- a/libavcodec/aacsbr_template.c +++ b/libavcodec/aacsbr_template.c @@ -237,15 +237,15 @@ static int array_min_int16(const int16_t *array, int nel) return min; } -static int check_n_master(AVCodecContext *avctx, int n_master, int bs_xover_band) +static int check_n_master(void *logctx, int n_master, int bs_xover_band) { // Requirements (14496-3 sp04 p205) if (n_master <= 0) { - av_log(avctx, AV_LOG_ERROR, "Invalid n_master: %d\n", n_master); + av_log(logctx, AV_LOG_ERROR, "Invalid n_master: %d\n", n_master); return -1; } if (bs_xover_band >= n_master) { - av_log(avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Invalid bitstream, crossover band index beyond array bounds: %d\n", bs_xover_band); return -1; @@ -254,7 +254,7 @@ static int check_n_master(AVCodecContext *avctx, int n_master, int bs_xover_band } /// Master Frequency Band Table (14496-3 sp04 p194) -static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, +static int sbr_make_f_master(void *logctx, SpectralBandReplication *sbr, SpectrumParameters *spectrum) { unsigned int temp, max_qmf_subbands = 0; @@ -283,7 +283,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, sbr_offset_ptr = sbr_offset[5]; break; default: - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Unsupported sample rate for SBR: %d\n", sbr->sample_rate); return -1; } @@ -311,7 +311,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, } else if (spectrum->bs_stop_freq == 15) { sbr->k[2] = 3*sbr->k[0]; } else { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Invalid bs_stop_freq: %d\n", spectrum->bs_stop_freq); return -1; } @@ -328,7 +328,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, av_assert0(0); if (sbr->k[2] - sbr->k[0] > max_qmf_subbands) { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Invalid bitstream, too many QMF subbands: %d\n", sbr->k[2] - sbr->k[0]); return -1; } @@ -338,7 +338,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, dk = spectrum->bs_alter_scale + 1; sbr->n_master = ((sbr->k[2] - sbr->k[0] + (dk&2)) >> dk) << 1; - if (check_n_master(ac->avctx, sbr->n_master, sbr->spectrum_params.bs_xover_band)) + if (check_n_master(logctx, sbr->n_master, sbr->spectrum_params.bs_xover_band)) return -1; for (k = 1; k <= sbr->n_master; k++) @@ -388,7 +388,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, #endif /* USE_FIXED */ if (num_bands_0 <= 0) { // Requirements (14496-3 sp04 p205) - av_log(ac->avctx, AV_LOG_ERROR, "Invalid num_bands_0: %d\n", num_bands_0); + av_log(logctx, AV_LOG_ERROR, "Invalid num_bands_0: %d\n", num_bands_0); return -1; } @@ -402,7 +402,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, vk0[0] = sbr->k[0]; for (k = 1; k <= num_bands_0; k++) { if (vk0[k] <= 0) { // Requirements (14496-3 sp04 p205) - av_log(ac->avctx, AV_LOG_ERROR, "Invalid vDk0[%d]: %d\n", k, vk0[k]); + av_log(logctx, AV_LOG_ERROR, "Invalid vDk0[%d]: %d\n", k, vk0[k]); return -1; } vk0[k] += vk0[k-1]; @@ -448,14 +448,14 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, vk1[0] = sbr->k[1]; for (k = 1; k <= num_bands_1; k++) { if (vk1[k] <= 0) { // Requirements (14496-3 sp04 p205) - av_log(ac->avctx, AV_LOG_ERROR, "Invalid vDk1[%d]: %d\n", k, vk1[k]); + av_log(logctx, AV_LOG_ERROR, "Invalid vDk1[%d]: %d\n", k, vk1[k]); return -1; } vk1[k] += vk1[k-1]; } sbr->n_master = num_bands_0 + num_bands_1; - if (check_n_master(ac->avctx, sbr->n_master, sbr->spectrum_params.bs_xover_band)) + if (check_n_master(logctx, sbr->n_master, sbr->spectrum_params.bs_xover_band)) return -1; memcpy(&sbr->f_master[0], vk0, (num_bands_0 + 1) * sizeof(sbr->f_master[0])); @@ -464,7 +464,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, } else { sbr->n_master = num_bands_0; - if (check_n_master(ac->avctx, sbr->n_master, sbr->spectrum_params.bs_xover_band)) + if (check_n_master(logctx, sbr->n_master, sbr->spectrum_params.bs_xover_band)) return -1; memcpy(sbr->f_master, vk0, (num_bands_0 + 1) * sizeof(sbr->f_master[0])); } @@ -474,7 +474,7 @@ static int sbr_make_f_master(AACDecContext *ac, SpectralBandReplication *sbr, } /// High Frequency Generation - Patch Construction (14496-3 sp04 p216 fig. 4.46) -static int sbr_hf_calc_npatches(AACDecContext *ac, SpectralBandReplication *sbr) +static int sbr_hf_calc_npatches(void *logctx, SpectralBandReplication *sbr) { int i, k, last_k = -1, last_msb = -1, sb = 0; int msb = sbr->k[0]; @@ -491,7 +491,7 @@ static int sbr_hf_calc_npatches(AACDecContext *ac, SpectralBandReplication *sbr) do { int odd = 0; if (k == last_k && msb == last_msb) { - av_log(ac->avctx, AV_LOG_ERROR, "patch construction failed\n"); + av_log(logctx, AV_LOG_ERROR, "patch construction failed\n"); return AVERROR_INVALIDDATA; } last_k = k; @@ -506,7 +506,7 @@ static int sbr_hf_calc_npatches(AACDecContext *ac, SpectralBandReplication *sbr) // illegal however the Coding Technologies decoder check stream has a final // count of 6 patches if (sbr->num_patches > 5) { - av_log(ac->avctx, AV_LOG_ERROR, "Too many patches: %d\n", sbr->num_patches); + av_log(logctx, AV_LOG_ERROR, "Too many patches: %d\n", sbr->num_patches); return -1; } @@ -532,7 +532,7 @@ static int sbr_hf_calc_npatches(AACDecContext *ac, SpectralBandReplication *sbr) } /// Derived Frequency Band Tables (14496-3 sp04 p197) -static int sbr_make_f_derived(AACDecContext *ac, SpectralBandReplication *sbr) +static int sbr_make_f_derived(void *logctx, SpectralBandReplication *sbr) { int k, temp; #if USE_FIXED @@ -549,12 +549,12 @@ static int sbr_make_f_derived(AACDecContext *ac, SpectralBandReplication *sbr) // Requirements (14496-3 sp04 p205) if (sbr->kx[1] + sbr->m[1] > 64) { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Stop frequency border too high: %d\n", sbr->kx[1] + sbr->m[1]); return -1; } if (sbr->kx[1] > 32) { - av_log(ac->avctx, AV_LOG_ERROR, "Start frequency border too high: %d\n", sbr->kx[1]); + av_log(logctx, AV_LOG_ERROR, "Start frequency border too high: %d\n", sbr->kx[1]); return -1; } @@ -581,7 +581,7 @@ static int sbr_make_f_derived(AACDecContext *ac, SpectralBandReplication *sbr) #endif /* USE_FIXED */ if (sbr->n_q > 5) { - av_log(ac->avctx, AV_LOG_ERROR, "Too many noise floor scale factors: %d\n", sbr->n_q); + av_log(logctx, AV_LOG_ERROR, "Too many noise floor scale factors: %d\n", sbr->n_q); return -1; } @@ -592,7 +592,7 @@ static int sbr_make_f_derived(AACDecContext *ac, SpectralBandReplication *sbr) sbr->f_tablenoise[k] = sbr->f_tablelow[temp]; } - if (sbr_hf_calc_npatches(ac, sbr) < 0) + if (sbr_hf_calc_npatches(logctx, sbr) < 0) return -1; sbr_make_f_tablelim(sbr); @@ -617,7 +617,7 @@ static const int8_t ceil_log2[] = { 0, 1, 2, 2, 3, 3, }; -static int read_sbr_grid(AACDecContext *ac, SpectralBandReplication *sbr, +static int read_sbr_grid(void *logctx, SpectralBandReplication *sbr, GetBitContext *gb, SBRData *ch_data) { int i; @@ -636,7 +636,7 @@ static int read_sbr_grid(AACDecContext *ac, SpectralBandReplication *sbr, case FIXFIX: bs_num_env = 1 << get_bits(gb, 2); if (bs_num_env > 4) { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Invalid bitstream, too many SBR envelopes in FIXFIX type SBR frame: %d\n", bs_num_env); return -1; @@ -696,7 +696,7 @@ static int read_sbr_grid(AACDecContext *ac, SpectralBandReplication *sbr, bs_num_env = num_rel_lead + num_rel_trail + 1; if (bs_num_env > 5) { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Invalid bitstream, too many SBR envelopes in VARVAR type SBR frame: %d\n", bs_num_env); return -1; @@ -720,7 +720,7 @@ static int read_sbr_grid(AACDecContext *ac, SpectralBandReplication *sbr, av_assert0(bs_pointer >= 0); if (bs_pointer > ch_data->bs_num_env + 1) { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Invalid bitstream, bs_pointer points to a middle noise border outside the time borders table: %d\n", bs_pointer); return -1; @@ -728,7 +728,7 @@ static int read_sbr_grid(AACDecContext *ac, SpectralBandReplication *sbr, for (i = 1; i <= ch_data->bs_num_env; i++) { if (ch_data->t_env[i-1] >= ch_data->t_env[i]) { - av_log(ac->avctx, AV_LOG_ERROR, "Not strictly monotone time borders\n"); + av_log(logctx, AV_LOG_ERROR, "Not strictly monotone time borders\n"); return -1; } } @@ -800,7 +800,7 @@ static void read_sbr_invf(SpectralBandReplication *sbr, GetBitContext *gb, ch_data->bs_invf_mode[0][i] = get_bits(gb, 2); } -static int read_sbr_envelope(AACDecContext *ac, SpectralBandReplication *sbr, GetBitContext *gb, +static int read_sbr_envelope(void *logctx, SpectralBandReplication *sbr, GetBitContext *gb, SBRData *ch_data, int ch) { int bits; @@ -838,7 +838,7 @@ static int read_sbr_envelope(AACDecContext *ac, SpectralBandReplication *sbr, Ge for (j = 0; j < sbr->n[ch_data->bs_freq_res[i + 1]]; j++) { ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i][j] + delta * get_vlc2(gb, t_huff, 9, 3); if (ch_data->env_facs_q[i + 1][j] > 127U) { - av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); + av_log(logctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); return AVERROR_INVALIDDATA; } } @@ -847,7 +847,7 @@ static int read_sbr_envelope(AACDecContext *ac, SpectralBandReplication *sbr, Ge k = (j + odd) >> 1; // find k such that f_tablelow[k] <= f_tablehigh[j] < f_tablelow[k + 1] ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i][k] + delta * get_vlc2(gb, t_huff, 9, 3); if (ch_data->env_facs_q[i + 1][j] > 127U) { - av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); + av_log(logctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); return AVERROR_INVALIDDATA; } } @@ -856,7 +856,7 @@ static int read_sbr_envelope(AACDecContext *ac, SpectralBandReplication *sbr, Ge k = j ? 2*j - odd : 0; // find k such that f_tablehigh[k] == f_tablelow[j] ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i][k] + delta * get_vlc2(gb, t_huff, 9, 3); if (ch_data->env_facs_q[i + 1][j] > 127U) { - av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); + av_log(logctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); return AVERROR_INVALIDDATA; } } @@ -866,7 +866,7 @@ static int read_sbr_envelope(AACDecContext *ac, SpectralBandReplication *sbr, Ge for (j = 1; j < sbr->n[ch_data->bs_freq_res[i + 1]]; j++) { ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i + 1][j - 1] + delta * get_vlc2(gb, f_huff, 9, 3); if (ch_data->env_facs_q[i + 1][j] > 127U) { - av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); + av_log(logctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]); return AVERROR_INVALIDDATA; } } @@ -880,7 +880,7 @@ static int read_sbr_envelope(AACDecContext *ac, SpectralBandReplication *sbr, Ge return 0; } -static int read_sbr_noise(AACDecContext *ac, SpectralBandReplication *sbr, GetBitContext *gb, +static int read_sbr_noise(void *logctx, SpectralBandReplication *sbr, GetBitContext *gb, SBRData *ch_data, int ch) { int i, j; @@ -900,7 +900,7 @@ static int read_sbr_noise(AACDecContext *ac, SpectralBandReplication *sbr, GetBi for (j = 0; j < sbr->n_q; j++) { ch_data->noise_facs_q[i + 1][j] = ch_data->noise_facs_q[i][j] + delta * get_vlc2(gb, t_huff, 9, 2); if (ch_data->noise_facs_q[i + 1][j] > 30U) { - av_log(ac->avctx, AV_LOG_ERROR, "noise_facs_q %d is invalid\n", ch_data->noise_facs_q[i + 1][j]); + av_log(logctx, AV_LOG_ERROR, "noise_facs_q %d is invalid\n", ch_data->noise_facs_q[i + 1][j]); return AVERROR_INVALIDDATA; } } @@ -909,7 +909,7 @@ static int read_sbr_noise(AACDecContext *ac, SpectralBandReplication *sbr, GetBi for (j = 1; j < sbr->n_q; j++) { ch_data->noise_facs_q[i + 1][j] = ch_data->noise_facs_q[i + 1][j - 1] + delta * get_vlc2(gb, f_huff, 9, 3); if (ch_data->noise_facs_q[i + 1][j] > 30U) { - av_log(ac->avctx, AV_LOG_ERROR, "noise_facs_q %d is invalid\n", ch_data->noise_facs_q[i + 1][j]); + av_log(logctx, AV_LOG_ERROR, "noise_facs_q %d is invalid\n", ch_data->noise_facs_q[i + 1][j]); return AVERROR_INVALIDDATA; } } @@ -949,7 +949,7 @@ static void read_sbr_extension(AACDecContext *ac, SpectralBandReplication *sbr, } } -static int read_sbr_single_channel_element(AACDecContext *ac, +static int read_sbr_single_channel_element(void *logctx, SpectralBandReplication *sbr, GetBitContext *gb) { @@ -958,13 +958,13 @@ static int read_sbr_single_channel_element(AACDecContext *ac, if (get_bits1(gb)) // bs_data_extra skip_bits(gb, 4); // bs_reserved - if (read_sbr_grid(ac, sbr, gb, &sbr->data[0])) + if (read_sbr_grid(logctx, sbr, gb, &sbr->data[0])) return -1; read_sbr_dtdf(sbr, gb, &sbr->data[0]); read_sbr_invf(sbr, gb, &sbr->data[0]); - if((ret = read_sbr_envelope(ac, sbr, gb, &sbr->data[0], 0)) < 0) + if((ret = read_sbr_envelope(logctx, sbr, gb, &sbr->data[0], 0)) < 0) return ret; - if((ret = read_sbr_noise(ac, sbr, gb, &sbr->data[0], 0)) < 0) + if((ret = read_sbr_noise(logctx, sbr, gb, &sbr->data[0], 0)) < 0) return ret; if ((sbr->data[0].bs_add_harmonic_flag = get_bits1(gb))) @@ -973,7 +973,7 @@ static int read_sbr_single_channel_element(AACDecContext *ac, return 0; } -static int read_sbr_channel_pair_element(AACDecContext *ac, +static int read_sbr_channel_pair_element(void *logctx, SpectralBandReplication *sbr, GetBitContext *gb) { @@ -983,7 +983,7 @@ static int read_sbr_channel_pair_element(AACDecContext *ac, skip_bits(gb, 8); // bs_reserved if ((sbr->bs_coupling = get_bits1(gb))) { - if (read_sbr_grid(ac, sbr, gb, &sbr->data[0])) + if (read_sbr_grid(logctx, sbr, gb, &sbr->data[0])) return -1; copy_sbr_grid(&sbr->data[1], &sbr->data[0]); read_sbr_dtdf(sbr, gb, &sbr->data[0]); @@ -991,29 +991,29 @@ static int read_sbr_channel_pair_element(AACDecContext *ac, read_sbr_invf(sbr, gb, &sbr->data[0]); memcpy(sbr->data[1].bs_invf_mode[1], sbr->data[1].bs_invf_mode[0], sizeof(sbr->data[1].bs_invf_mode[0])); memcpy(sbr->data[1].bs_invf_mode[0], sbr->data[0].bs_invf_mode[0], sizeof(sbr->data[1].bs_invf_mode[0])); - if((ret = read_sbr_envelope(ac, sbr, gb, &sbr->data[0], 0)) < 0) + if((ret = read_sbr_envelope(logctx, sbr, gb, &sbr->data[0], 0)) < 0) return ret; - if((ret = read_sbr_noise(ac, sbr, gb, &sbr->data[0], 0)) < 0) + if((ret = read_sbr_noise(logctx, sbr, gb, &sbr->data[0], 0)) < 0) return ret; - if((ret = read_sbr_envelope(ac, sbr, gb, &sbr->data[1], 1)) < 0) + if((ret = read_sbr_envelope(logctx, sbr, gb, &sbr->data[1], 1)) < 0) return ret; - if((ret = read_sbr_noise(ac, sbr, gb, &sbr->data[1], 1)) < 0) + if((ret = read_sbr_noise(logctx, sbr, gb, &sbr->data[1], 1)) < 0) return ret; } else { - if (read_sbr_grid(ac, sbr, gb, &sbr->data[0]) || - read_sbr_grid(ac, sbr, gb, &sbr->data[1])) + if (read_sbr_grid(logctx, sbr, gb, &sbr->data[0]) || + read_sbr_grid(logctx, sbr, gb, &sbr->data[1])) return -1; read_sbr_dtdf(sbr, gb, &sbr->data[0]); read_sbr_dtdf(sbr, gb, &sbr->data[1]); read_sbr_invf(sbr, gb, &sbr->data[0]); read_sbr_invf(sbr, gb, &sbr->data[1]); - if((ret = read_sbr_envelope(ac, sbr, gb, &sbr->data[0], 0)) < 0) + if((ret = read_sbr_envelope(logctx, sbr, gb, &sbr->data[0], 0)) < 0) return ret; - if((ret = read_sbr_envelope(ac, sbr, gb, &sbr->data[1], 1)) < 0) + if((ret = read_sbr_envelope(logctx, sbr, gb, &sbr->data[1], 1)) < 0) return ret; - if((ret = read_sbr_noise(ac, sbr, gb, &sbr->data[0], 0)) < 0) + if((ret = read_sbr_noise(logctx, sbr, gb, &sbr->data[0], 0)) < 0) return ret; - if((ret = read_sbr_noise(ac, sbr, gb, &sbr->data[1], 1)) < 0) + if((ret = read_sbr_noise(logctx, sbr, gb, &sbr->data[1], 1)) < 0) return ret; } @@ -1029,22 +1029,23 @@ static unsigned int read_sbr_data(AACDecContext *ac, SpectralBandReplication *sb GetBitContext *gb, int id_aac) { unsigned int cnt = get_bits_count(gb); + void *logctx = ac->avctx; sbr->id_aac = id_aac; sbr->ready_for_dequant = 1; if (id_aac == TYPE_SCE || id_aac == TYPE_CCE) { - if (read_sbr_single_channel_element(ac, sbr, gb)) { + if (read_sbr_single_channel_element(logctx, sbr, gb)) { sbr_turnoff(sbr); return get_bits_count(gb) - cnt; } } else if (id_aac == TYPE_CPE) { - if (read_sbr_channel_pair_element(ac, sbr, gb)) { + if (read_sbr_channel_pair_element(logctx, sbr, gb)) { sbr_turnoff(sbr); return get_bits_count(gb) - cnt; } } else { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "Invalid bitstream - cannot apply SBR to element type %d\n", id_aac); sbr_turnoff(sbr); return get_bits_count(gb) - cnt; @@ -1060,7 +1061,7 @@ static unsigned int read_sbr_data(AACDecContext *ac, SpectralBandReplication *sb read_sbr_extension(ac, sbr, gb, get_bits(gb, 2), &num_bits_left); // bs_extension_id } if (num_bits_left < 0) { - av_log(ac->avctx, AV_LOG_ERROR, "SBR Extension over read.\n"); + av_log(logctx, AV_LOG_ERROR, "SBR Extension over read.\n"); } if (num_bits_left > 0) skip_bits(gb, num_bits_left); @@ -1069,14 +1070,14 @@ static unsigned int read_sbr_data(AACDecContext *ac, SpectralBandReplication *sb return get_bits_count(gb) - cnt; } -static void sbr_reset(AACDecContext *ac, SpectralBandReplication *sbr) +static void sbr_reset(void *logctx, SpectralBandReplication *sbr) { int err; - err = sbr_make_f_master(ac, sbr, &sbr->spectrum_params); + err = sbr_make_f_master(logctx, sbr, &sbr->spectrum_params); if (err >= 0) - err = sbr_make_f_derived(ac, sbr); + err = sbr_make_f_derived(logctx, sbr); if (err < 0) { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "SBR reset failed. Switching SBR to pure upsampling mode.\n"); sbr_turnoff(sbr); } @@ -1120,7 +1121,7 @@ int AAC_RENAME(ff_decode_sbr_extension)(AACDecContext *ac, SpectralBandReplicati num_sbr_bits += read_sbr_header(sbr, gb); if (sbr->reset) - sbr_reset(ac, sbr); + sbr_reset(ac->avctx, sbr); if (sbr->start) num_sbr_bits += read_sbr_data(ac, sbr, gb, id_aac); @@ -1268,7 +1269,7 @@ static int sbr_lf_gen(AACDecContext *ac, SpectralBandReplication *sbr, } /// High Frequency Generator (14496-3 sp04 p215) -static int sbr_hf_gen(AACDecContext *ac, SpectralBandReplication *sbr, +static int sbr_hf_gen(void *logctx, SpectralBandReplication *sbr, INTFLOAT X_high[64][40][2], const INTFLOAT X_low[32][40][2], const INTFLOAT (*alpha0)[2], const INTFLOAT (*alpha1)[2], const INTFLOAT bw_array[5], const uint8_t *t_env, @@ -1285,7 +1286,7 @@ static int sbr_hf_gen(AACDecContext *ac, SpectralBandReplication *sbr, g--; if (g < 0) { - av_log(ac->avctx, AV_LOG_ERROR, + av_log(logctx, AV_LOG_ERROR, "ERROR : no subband found for frequency %d\n", k); return -1; } @@ -1342,7 +1343,7 @@ static int sbr_x_gen(SpectralBandReplication *sbr, INTFLOAT X[2][38][64], /** High Frequency Adjustment (14496-3 sp04 p217) and Mapping * (14496-3 sp04 p217) */ -static int sbr_mapping(AACDecContext *ac, SpectralBandReplication *sbr, +static int sbr_mapping(void *logctx, SpectralBandReplication *sbr, SBRData *ch_data, int e_a[2]) { int e, i, m; @@ -1354,7 +1355,7 @@ static int sbr_mapping(AACDecContext *ac, SpectralBandReplication *sbr, int k; if (sbr->kx[1] != table[0]) { - av_log(ac->avctx, AV_LOG_ERROR, "kx != f_table{high,low}[0]. " + av_log(logctx, AV_LOG_ERROR, "kx != f_table{high,low}[0]. " "Derived frequency tables were not regenerated.\n"); sbr_turnoff(sbr); return AVERROR_BUG; @@ -1502,7 +1503,7 @@ void AAC_RENAME(ff_sbr_apply)(AACDecContext *ac, SpectralBandReplication *sbr, i (const INTFLOAT (*)[40][2]) sbr->X_low, sbr->k[0]); sbr_chirp(sbr, &sbr->data[ch]); av_assert0(sbr->data[ch].bs_num_env > 0); - sbr_hf_gen(ac, sbr, sbr->X_high, + sbr_hf_gen(ac->avctx, sbr, sbr->X_high, (const INTFLOAT (*)[40][2]) sbr->X_low, (const INTFLOAT (*)[2]) sbr->alpha0, (const INTFLOAT (*)[2]) sbr->alpha1, @@ -1510,7 +1511,7 @@ void AAC_RENAME(ff_sbr_apply)(AACDecContext *ac, SpectralBandReplication *sbr, i sbr->data[ch].bs_num_env); // hf_adj - err = sbr_mapping(ac, sbr, &sbr->data[ch], sbr->data[ch].e_a); + err = sbr_mapping(ac->avctx, sbr, &sbr->data[ch], sbr->data[ch].e_a); if (!err) { sbr_env_estimate(sbr->e_curr, sbr->X_high, sbr, &sbr->data[ch]); sbr_gain_calc(sbr, &sbr->data[ch], sbr->data[ch].e_a); -- 2.40.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".