ref: a97ae1fff9186acc6519b1b53f589bf2e921df39
parent: 577c6499b68ebc46c68f543f91c0e822fc5f8c0c
author: Krzysztof Nikiel <knik@users.sourceforge.net>
date: Sat Oct 14 08:22:59 EDT 2017
removed unused code
--- a/libfaac/aacquant.c
+++ /dev/null
@@ -1,219 +1,0 @@
-/*
- * FAAC - Freeware Advanced Audio Coder
- * Copyright (C) 2001 Menno Bakker
- * Copyright (C) 2002, 2003 Krzysztof Nikiel
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
-
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <math.h>
-#include <stdlib.h>
-
-#include <faac.h>
-#include "aacquant.h"
-#include "coder.h"
-#include "huffman.h"
-#include "util.h"
-#include "quantize.h"
-
-
-void AACQuantizeInit(CoderInfo *coderInfo, unsigned int numChannels,
- AACQuantCfg *aacquantCfg)
-{
- unsigned int i;
-
- aacquantCfg->pow43 = (double*)AllocMemory(PRECALC_SIZE*sizeof(double));
- aacquantCfg->pow43[0] = 0.0;
- for(i=1;i<PRECALC_SIZE;i++)
- aacquantCfg->pow43[i] = pow((double)i, 4.0/3.0);
-}
-
-void AACQuantizeEnd(CoderInfo *coderInfo, unsigned int numChannels,
- AACQuantCfg *aacquantCfg)
-{
- if (aacquantCfg->pow43)
- {
- FreeMemory(aacquantCfg->pow43);
- aacquantCfg->pow43 = NULL;
- }
-}
-
-int AACQuantize(CoderInfo *coderInfo,
- int *cb_width,
- int num_cb,
- double *xr,
- AACQuantCfg *aacquantCfg)
-{
- int sb, i;
- int bits = 0, sign;
- int xi[FRAME_LEN];
-
- /* Use local copy's */
- int *scale_factor = coderInfo->scale_factor;
-
- /* Set all scalefactors to 0 */
- coderInfo->global_gain = 0;
- for (sb = 0; sb < coderInfo->sfbn; sb++)
- scale_factor[sb] = 0;
-
- if (BlocQuant(coderInfo, xr, xi, aacquantCfg))
- {
- for ( i = 0; i < FRAME_LEN; i++ ) {
- sign = (xr[i] < 0) ? -1 : 1;
- xi[i] *= sign;
- }
- }
-
- BitSearch(coderInfo, xi);
-
- /* offset the difference of common_scalefac and scalefactors by SF_OFFSET */
- for (i = 0; i < coderInfo->sfbn; i++) {
- if ((coderInfo->book_vector[i]!=INTENSITY_HCB)&&(coderInfo->book_vector[i]!=INTENSITY_HCB2)) {
- scale_factor[i] = coderInfo->global_gain - scale_factor[i] + SF_OFFSET;
- }
- }
- coderInfo->global_gain = scale_factor[0];
- // clamp to valid diff range
- {
- int previous_scale_factor = coderInfo->global_gain;
- int previous_is_factor = 0;
- for (i = 0; i < coderInfo->sfbn; i++) {
- if ((coderInfo->book_vector[i]==INTENSITY_HCB) ||
- (coderInfo->book_vector[i]==INTENSITY_HCB2)) {
- const int diff = scale_factor[i] - previous_is_factor;
- if (diff < -60) scale_factor[i] = previous_is_factor - 60;
- else if (diff > 60) scale_factor[i] = previous_is_factor + 60;
- previous_is_factor = scale_factor[i];
-// printf("sf %d: %d diff=%d **\n", i, coderInfo->scale_factor[i], diff);
- } else if (coderInfo->book_vector[i]) {
- const int diff = scale_factor[i] - previous_scale_factor;
- if (diff < -60) scale_factor[i] = previous_scale_factor - 60;
- else if (diff > 60) scale_factor[i] = previous_scale_factor + 60;
- previous_scale_factor = scale_factor[i];
-// printf("sf %d: %d diff=%d\n", i, coderInfo->scale_factor[i], diff);
- }
- }
- }
-
- /* place the codewords and their respective lengths in arrays data[] and len[] respectively */
- /* there are 'counter' elements in each array, and these are variable length arrays depending on the input */
-#ifdef DRM
- coderInfo->iLenReordSpData = 0; /* init length of reordered spectral data */
- coderInfo->iLenLongestCW = 0; /* init length of longest codeword */
- coderInfo->cur_cw = 0; /* init codeword counter */
-#endif
- coderInfo->spectral_count = 0;
- sb = 0;
- for(i = 0; i < coderInfo->sfbn; i++) {
- OutputBits(
- coderInfo,
-#ifdef DRM
- &coderInfo->book_vector[i], /* needed for VCB11 */
-#else
- coderInfo->book_vector[i],
-#endif
- xi,
- coderInfo->sfb_offset[i],
- coderInfo->sfb_offset[i+1]-coderInfo->sfb_offset[i]);
-
- if (coderInfo->book_vector[i])
- sb = i;
- }
-
- coderInfo->sfbn = sb + 1;
-
- return bits;
-}
-
-int SortForGrouping(CoderInfo* coderInfo,
- int *sfb_width_table,
- double *xr)
-{
- int i,j,ii;
- int index = 0;
- double xr_tmp[FRAME_LEN];
- int group_offset=0;
- int k=0;
- int windowOffset = 0;
-
-
- /* set up local variables for used quantInfo elements */
- int* sfb_offset = coderInfo->sfb_offset;
- int sfbn = coderInfo->sfbn;
- int* groups = coderInfo->groups.len;
- int num_window_groups = coderInfo->groups.n;
-
- /* calc org sfb_offset just for shortblock */
- sfb_offset[k]=0;
- for (k=1 ; k < sfbn; k++) {
- sfb_offset[k] = sfb_offset[k-1] + sfb_width_table[k-1];
- }
-
- /* sort the input spectral coefficients */
- index = 0;
- group_offset=0;
- for (i=0; i< num_window_groups; i++) {
- for (k=0; k < sfbn; k++) {
- for (j=0; j < groups[i]; j++) {
- for (ii=0;ii< sfb_width_table[k];ii++)
- xr_tmp[index++] = xr[ii+ sfb_offset[k] + BLOCK_LEN_SHORT*j +group_offset];
- }
- }
- group_offset += BLOCK_LEN_SHORT*groups[i];
- }
-
- for (k=0; k<FRAME_LEN; k++){
- xr[k] = xr_tmp[k];
- }
-
-
- /* now calc the new sfb_offset table for the whole p_spectrum vector*/
- index = 0;
- sfb_offset[index++] = 0;
- windowOffset = 0;
- for (i=0; i < num_window_groups; i++) {
- for (k=0; k < sfbn; k++) {
- sfb_offset[index] = sfb_offset[index-1] + sfb_width_table[k]*groups[i] ;
- index++;
- }
- windowOffset += groups[i];
- }
-
- coderInfo->sfbn = sfbn * num_window_groups;
-
- return 0;
-}
-
-void CalcAvgEnrg(CoderInfo *coderInfo,
- const double *xr)
-{
- int end, l;
- int last = 0;
- double totenrg = 0.0;
-
- end = coderInfo->sfb_offset[coderInfo->sfbn];
- for (l = 0; l < end; l++)
- {
- if (xr[l])
- {
- last = l;
- totenrg += xr[l] * xr[l];
- }
- }
- last++;
-
- coderInfo->avgenrg = totenrg / last;
-}
--- a/libfaac/aacquant.h
+++ /dev/null
@@ -1,72 +1,0 @@
-/*
- * FAAC - Freeware Advanced Audio Coder
- * Copyright (C) 2001 Menno Bakker
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
-
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * $Id: aacquant.h,v 1.9 2003/10/12 16:43:39 knik Exp $
- */
-
-#ifndef AACQUANT_H
-#define AACQUANT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include "coder.h"
-
-#define IXMAX_VAL 8191
-#define PRECALC_SIZE (IXMAX_VAL+2)
-#define LARGE_BITS 100000
-#define SF_OFFSET 100
-
-#define POW20(x) pow(2.0,((double)x)*.25)
-#define IPOW20(x) pow(2.0,-((double)x)*.1875)
-
-typedef struct
- {
- double *pow43;
- double quality;
- int max_cbl;
- int max_cbs;
- } AACQuantCfg;
-
-#include "quantize.h"
-
-enum {DEFQUAL = 100, MAXQUAL = 5000, MAXQUALADTS = MAXQUAL, MINQUAL = 10};
-
-void AACQuantizeInit(CoderInfo *coderInfo, unsigned int numChannels,
- AACQuantCfg *aacquantCfg);
-void AACQuantizeEnd(CoderInfo *coderInfo, unsigned int numChannels,
- AACQuantCfg *aacquantCfg);
-
-int AACQuantize(CoderInfo *coderInfo,
- int *cb_width,
- int num_cb,
- double *xr,
- AACQuantCfg *aacquantcfg);
-
-int SortForGrouping(CoderInfo* coderInfo,
- int *sfb_width_table,
- double *xr);
-void CalcAvgEnrg(CoderInfo *coderInfo,
- const double *xr);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* AACQUANT_H */