libavcodec/mpegaudiodec.c File Reference

MPEG Audio decoder. More...

#include "avcodec.h"
#include "bitstream.h"
#include "dsputil.h"
#include "mpegaudio.h"
#include "mpegaudiodecheader.h"
#include "mathops.h"
#include "mpegaudiodata.h"
#include "mpegaudiodectab.h"

Go to the source code of this file.

Data Structures

struct  GranuleDef

Defines

#define FIXR(a)   ((int)((a) * FRAC_ONE + 0.5))
#define FRAC_RND(a)   (((a) + (FRAC_ONE/2)) >> FRAC_BITS)
#define FIXHR(a)   ((int)((a) * (1LL<<32) + 0.5))
#define HEADER_SIZE   4
#define TABLE_4_3_SIZE   (8191 + 16)*4
#define SCALE_GEN(v)   { FIXR(1.0 * (v)), FIXR(0.7937005259 * (v)), FIXR(0.6299605249 * (v)) }
#define DEV_ORDER   13
#define POW_FRAC_BITS   24
#define POW_FRAC_ONE   (1 << POW_FRAC_BITS)
#define POW_FIX(a)   ((int)((a) * POW_FRAC_ONE))
#define POW_MULL(a, b)   (((int64_t)(a) * (int64_t)(b)) >> POW_FRAC_BITS)
#define COS0_0   FIXHR(0.50060299823519630134/2)
#define COS0_1   FIXHR(0.50547095989754365998/2)
#define COS0_2   FIXHR(0.51544730992262454697/2)
#define COS0_3   FIXHR(0.53104259108978417447/2)
#define COS0_4   FIXHR(0.55310389603444452782/2)
#define COS0_5   FIXHR(0.58293496820613387367/2)
#define COS0_6   FIXHR(0.62250412303566481615/2)
#define COS0_7   FIXHR(0.67480834145500574602/2)
#define COS0_8   FIXHR(0.74453627100229844977/2)
#define COS0_9   FIXHR(0.83934964541552703873/2)
#define COS0_10   FIXHR(0.97256823786196069369/2)
#define COS0_11   FIXHR(1.16943993343288495515/4)
#define COS0_12   FIXHR(1.48416461631416627724/4)
#define COS0_13   FIXHR(2.05778100995341155085/8)
#define COS0_14   FIXHR(3.40760841846871878570/8)
#define COS0_15   FIXHR(10.19000812354805681150/32)
#define COS1_0   FIXHR(0.50241928618815570551/2)
#define COS1_1   FIXHR(0.52249861493968888062/2)
#define COS1_2   FIXHR(0.56694403481635770368/2)
#define COS1_3   FIXHR(0.64682178335999012954/2)
#define COS1_4   FIXHR(0.78815462345125022473/2)
#define COS1_5   FIXHR(1.06067768599034747134/4)
#define COS1_6   FIXHR(1.72244709823833392782/4)
#define COS1_7   FIXHR(5.10114861868916385802/16)
#define COS2_0   FIXHR(0.50979557910415916894/2)
#define COS2_1   FIXHR(0.60134488693504528054/2)
#define COS2_2   FIXHR(0.89997622313641570463/2)
#define COS2_3   FIXHR(2.56291544774150617881/8)
#define COS3_0   FIXHR(0.54119610014619698439/2)
#define COS3_1   FIXHR(1.30656296487637652785/4)
#define COS4_0   FIXHR(0.70710678118654752439/2)
#define BF(a, b, c, s)
#define BF1(a, b, c, d)
#define BF2(a, b, c, d)
#define ADD(a, b)   tab[a] += tab[b]
#define MACS(rt, ra, rb)   MAC16(rt, ra, rb)
#define MULS(ra, rb)   MUL16(ra, rb)
#define MLSS(rt, ra, rb)   MLS16(rt, ra, rb)
#define SUM8(op, sum, w, p)
#define SUM8P2(sum1, op1, sum2, op2, w1, w2, p)
#define C3   FIXHR(0.86602540378443864676/2)
#define C1   FIXHR(0.98480775301220805936/2)
#define C2   FIXHR(0.93969262078590838405/2)
#define C3   FIXHR(0.86602540378443864676/2)
#define C4   FIXHR(0.76604444311897803520/2)
#define C5   FIXHR(0.64278760968653932632/2)
#define C6   FIXHR(0.5/2)
#define C7   FIXHR(0.34202014332566873304/2)
#define C8   FIXHR(0.17364817766693034885/2)
#define ISQRT2   FIXR(0.70710678118654752440)
#define INT_AA(j)
#define FLOAT_AA(j)

Functions

static void compute_antialias_integer (MPADecodeContext *s, GranuleDef *g)
static void compute_antialias_float (MPADecodeContext *s, GranuleDef *g)
static DECLARE_ALIGNED_16 (MPA_INT, window[512])
void ff_region_offset2size (GranuleDef *g)
 Convert region offsets to region sizes and truncate size to big_values.
void ff_init_short_region (MPADecodeContext *s, GranuleDef *g)
void ff_init_long_region (MPADecodeContext *s, GranuleDef *g, int ra1, int ra2)
void ff_compute_band_indexes (MPADecodeContext *s, GranuleDef *g)
static int l1_unscale (int n, int mant, int scale_factor)
static int l2_unscale_group (int steps, int mant, int scale_factor)
static int l3_unscale (int value, int exponent)
static av_cold void int_pow_init (void)
static av_cold int decode_init (AVCodecContext *avctx)
static void dct32 (int32_t *out, int32_t *tab)
static int round_sample (int *sum)
void av_cold ff_mpa_synth_init (MPA_INT *window)
void ff_mpa_synth_filter (MPA_INT *synth_buf_ptr, int *synth_buf_offset, MPA_INT *window, int *dither_state, OUT_INT *samples, int incr, int32_t sb_samples[SBLIMIT])
static void imdct12 (int *out, int *in)
static void imdct36 (int *out, int *buf, int *in, int *win)
static int mp_decode_layer1 (MPADecodeContext *s)
static int mp_decode_layer2 (MPADecodeContext *s)
static void lsf_sf_expand (int *slen, int sf, int n1, int n2, int n3)
static void exponents_from_scale_factors (MPADecodeContext *s, GranuleDef *g, int16_t *exponents)
static int get_bitsz (GetBitContext *s, int n)
static void switch_buffer (MPADecodeContext *s, int *pos, int *end_pos, int *end_pos2)
static int huffman_decode (MPADecodeContext *s, GranuleDef *g, int16_t *exponents, int end_pos2)
static void reorder_block (MPADecodeContext *s, GranuleDef *g)
static void compute_stereo (MPADecodeContext *s, GranuleDef *g0, GranuleDef *g1)
static void compute_imdct (MPADecodeContext *s, GranuleDef *g, int32_t *sb_samples, int32_t *mdct_buf)
static int mp_decode_layer3 (MPADecodeContext *s)
static int mp_decode_frame (MPADecodeContext *s, OUT_INT *samples, const uint8_t *buf, int buf_size)
static int decode_frame (AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
static void flush (AVCodecContext *avctx)

Variables

static VLC huff_vlc [16]
static VLC_TYPE huff_vlc_tables [0+128+128+128+130+128+154+166+142+204+190+170+542+460+662+414][2]
static const int huff_vlc_tables_sizes [16]
static VLC huff_quad_vlc [2]
static VLC_TYPE huff_quad_vlc_tables [128+16][2]
static const int huff_quad_vlc_tables_sizes [2]
static uint16_t band_index_long [9][23]
static int8_t table_4_3_exp [TABLE_4_3_SIZE]
static uint32_t table_4_3_value [TABLE_4_3_SIZE]
static uint32_t exp_table [512]
static uint32_t expval_table [512][16]
static int32_t is_table [2][16]
static int32_t is_table_lsf [2][2][16]
static int32_t csa_table [8][4]
static float csa_table_float [8][4]
static int32_t mdct_win [8][36]
static uint16_t scale_factor_modshift [64]
static int32_t scale_factor_mult [15][3]
static const int32_t scale_factor_mult2 [3][3]
static int dev_4_3_coefs [DEV_ORDER]
static const int icos36 [9]
static const int icos36h [9]


Detailed Description

MPEG Audio decoder.

Definition in file mpegaudiodec.c.


Define Documentation

#define ADD ( a,
 )     tab[a] += tab[b]

Definition at line 589 of file mpegaudiodec.c.

Referenced by dct32(), idct_add_altivec(), and vc1_inv_trans_8x4_altivec().

#define BF ( a,
b,
c,
 ) 

Value:

{\
    tmp0 = tab[a] + tab[b];\
    tmp1 = tab[a] - tab[b];\
    tab[a] = tmp0;\
    tab[b] = MULH(tmp1<<(s), c);\
}

Definition at line 564 of file mpegaudiodec.c.

#define BF1 ( a,
b,
c,
 ) 

Value:

{\
    BF(a, b, COS4_0, 1);\
    BF(c, d,-COS4_0, 1);\
    tab[c] += tab[d];\
}

Definition at line 572 of file mpegaudiodec.c.

Referenced by dct32().

#define BF2 ( a,
b,
c,
 ) 

Value:

{\
    BF(a, b, COS4_0, 1);\
    BF(c, d,-COS4_0, 1);\
    tab[c] += tab[d];\
    tab[a] += tab[c];\
    tab[c] += tab[b];\
    tab[b] += tab[d];\
}

Definition at line 579 of file mpegaudiodec.c.

Referenced by dct32().

#define C1   FIXHR(0.98480775301220805936/2)

Definition at line 999 of file mpegaudiodec.c.

Referenced by DECLARE_ASM_CONST(), idct4col_add(), idct4col_put(), and imdct36().

#define C2   FIXHR(0.93969262078590838405/2)

Definition at line 1000 of file mpegaudiodec.c.

Referenced by DECLARE_ASM_CONST(), idct4col_add(), idct4col_put(), and imdct36().

#define C3   FIXHR(0.86602540378443864676/2)

Definition at line 1001 of file mpegaudiodec.c.

#define C3   FIXHR(0.86602540378443864676/2)

Definition at line 1001 of file mpegaudiodec.c.

Referenced by DECLARE_ASM_CONST(), idct4col_add(), imdct12(), and imdct36().

#define C4   FIXHR(0.76604444311897803520/2)

Definition at line 1002 of file mpegaudiodec.c.

Referenced by DECLARE_ASM_CONST(), idct_col(), and imdct36().

#define C5   FIXHR(0.64278760968653932632/2)

Definition at line 1003 of file mpegaudiodec.c.

Referenced by DECLARE_ASM_CONST(), and imdct36().

#define C6   FIXHR(0.5/2)

Definition at line 1004 of file mpegaudiodec.c.

Referenced by DECLARE_ASM_CONST().

#define C7   FIXHR(0.34202014332566873304/2)

Definition at line 1005 of file mpegaudiodec.c.

Referenced by DECLARE_ASM_CONST(), and imdct36().

#define C8   FIXHR(0.17364817766693034885/2)

Definition at line 1006 of file mpegaudiodec.c.

Referenced by imdct36().

#define COS0_0   FIXHR(0.50060299823519630134/2)

Definition at line 527 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_1   FIXHR(0.50547095989754365998/2)

Definition at line 528 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_10   FIXHR(0.97256823786196069369/2)

Definition at line 537 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_11   FIXHR(1.16943993343288495515/4)

Definition at line 538 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_12   FIXHR(1.48416461631416627724/4)

Definition at line 539 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_13   FIXHR(2.05778100995341155085/8)

Definition at line 540 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_14   FIXHR(3.40760841846871878570/8)

Definition at line 541 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_15   FIXHR(10.19000812354805681150/32)

Definition at line 542 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_2   FIXHR(0.51544730992262454697/2)

Definition at line 529 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_3   FIXHR(0.53104259108978417447/2)

Definition at line 530 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_4   FIXHR(0.55310389603444452782/2)

Definition at line 531 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_5   FIXHR(0.58293496820613387367/2)

Definition at line 532 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_6   FIXHR(0.62250412303566481615/2)

Definition at line 533 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_7   FIXHR(0.67480834145500574602/2)

Definition at line 534 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_8   FIXHR(0.74453627100229844977/2)

Definition at line 535 of file mpegaudiodec.c.

Referenced by dct32().

#define COS0_9   FIXHR(0.83934964541552703873/2)

Definition at line 536 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_0   FIXHR(0.50241928618815570551/2)

Definition at line 544 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_1   FIXHR(0.52249861493968888062/2)

Definition at line 545 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_2   FIXHR(0.56694403481635770368/2)

Definition at line 546 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_3   FIXHR(0.64682178335999012954/2)

Definition at line 547 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_4   FIXHR(0.78815462345125022473/2)

Definition at line 548 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_5   FIXHR(1.06067768599034747134/4)

Definition at line 549 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_6   FIXHR(1.72244709823833392782/4)

Definition at line 550 of file mpegaudiodec.c.

Referenced by dct32().

#define COS1_7   FIXHR(5.10114861868916385802/16)

Definition at line 551 of file mpegaudiodec.c.

Referenced by dct32().

#define COS2_0   FIXHR(0.50979557910415916894/2)

Definition at line 553 of file mpegaudiodec.c.

Referenced by dct32().

#define COS2_1   FIXHR(0.60134488693504528054/2)

Definition at line 554 of file mpegaudiodec.c.

Referenced by dct32().

#define COS2_2   FIXHR(0.89997622313641570463/2)

Definition at line 555 of file mpegaudiodec.c.

Referenced by dct32().

#define COS2_3   FIXHR(2.56291544774150617881/8)

Definition at line 556 of file mpegaudiodec.c.

Referenced by dct32().

#define COS3_0   FIXHR(0.54119610014619698439/2)

Definition at line 558 of file mpegaudiodec.c.

Referenced by dct32().

#define COS3_1   FIXHR(1.30656296487637652785/4)

Definition at line 559 of file mpegaudiodec.c.

Referenced by dct32().

#define COS4_0   FIXHR(0.70710678118654752439/2)

Definition at line 561 of file mpegaudiodec.c.

#define DEV_ORDER   13

Definition at line 236 of file mpegaudiodec.c.

Referenced by int_pow_init().

#define FIXHR (  )     ((int)((a) * (1LL<<32) + 0.5))

Definition at line 46 of file mpegaudiodec.c.

Referenced by decode_init().

#define FIXR (  )     ((int)((a) * FRAC_ONE + 0.5))

Definition at line 43 of file mpegaudiodec.c.

Referenced by decode_init().

#define FLOAT_AA (  ) 

Value:

tmp0= ptr[-1-j];\
        tmp1= ptr[   j];\
        ptr[-1-j] = lrintf(tmp0 * csa[0+4*j] - tmp1 * csa[1+4*j]);\
        ptr[   j] = lrintf(tmp0 * csa[1+4*j] + tmp1 * csa[0+4*j]);

Referenced by compute_antialias_float().

#define FRAC_RND (  )     (((a) + (FRAC_ONE/2)) >> FRAC_BITS)

Definition at line 44 of file mpegaudiodec.c.

#define HEADER_SIZE   4

Definition at line 50 of file mpegaudiodec.c.

#define INT_AA (  ) 

Value:

tmp0 = ptr[-1-j];\
            tmp1 = ptr[   j];\
            tmp2= MULH(tmp0 + tmp1, csa[0+4*j]);\
            ptr[-1-j] = 4*(tmp2 - MULH(tmp1, csa[2+4*j]));\
            ptr[   j] = 4*(tmp2 + MULH(tmp0, csa[3+4*j]));

Referenced by compute_antialias_integer().

#define ISQRT2   FIXR(0.70710678118654752440)

Definition at line 1645 of file mpegaudiodec.c.

Referenced by compute_stereo().

#define MACS ( rt,
ra,
rb   )     MAC16(rt, ra, rb)

Definition at line 765 of file mpegaudiodec.c.

Referenced by ff_mpa_synth_filter().

#define MLSS ( rt,
ra,
rb   )     MLS16(rt, ra, rb)

Definition at line 770 of file mpegaudiodec.c.

Referenced by ff_mpa_synth_filter().

#define MULS ( ra,
rb   )     MUL16(ra, rb)

Definition at line 768 of file mpegaudiodec.c.

#define POW_FIX (  )     ((int)((a) * POW_FRAC_ONE))

Definition at line 240 of file mpegaudiodec.c.

Referenced by int_pow_init().

#define POW_FRAC_BITS   24

Definition at line 238 of file mpegaudiodec.c.

#define POW_FRAC_ONE   (1 << POW_FRAC_BITS)

Definition at line 239 of file mpegaudiodec.c.

#define POW_MULL ( a,
 )     (((int64_t)(a) * (int64_t)(b)) >> POW_FRAC_BITS)

Definition at line 241 of file mpegaudiodec.c.

Referenced by int_pow_init().

#define SCALE_GEN (  )     { FIXR(1.0 * (v)), FIXR(0.7937005259 * (v)), FIXR(0.6299605249 * (v)) }

Definition at line 114 of file mpegaudiodec.c.

#define SUM8 ( op,
sum,
w,
 ) 

Value:

{                                         \
    op(sum, (w)[0 * 64], p[0 * 64]);      \
    op(sum, (w)[1 * 64], p[1 * 64]);      \
    op(sum, (w)[2 * 64], p[2 * 64]);      \
    op(sum, (w)[3 * 64], p[3 * 64]);      \
    op(sum, (w)[4 * 64], p[4 * 64]);      \
    op(sum, (w)[5 * 64], p[5 * 64]);      \
    op(sum, (w)[6 * 64], p[6 * 64]);      \
    op(sum, (w)[7 * 64], p[7 * 64]);      \
}

Definition at line 791 of file mpegaudiodec.c.

Referenced by ff_mpa_synth_filter().

#define SUM8P2 ( sum1,
op1,
sum2,
op2,
w1,
w2,
 ) 

Value:

{                                               \
    int tmp;\
    tmp = p[0 * 64];\
    op1(sum1, (w1)[0 * 64], tmp);\
    op2(sum2, (w2)[0 * 64], tmp);\
    tmp = p[1 * 64];\
    op1(sum1, (w1)[1 * 64], tmp);\
    op2(sum2, (w2)[1 * 64], tmp);\
    tmp = p[2 * 64];\
    op1(sum1, (w1)[2 * 64], tmp);\
    op2(sum2, (w2)[2 * 64], tmp);\
    tmp = p[3 * 64];\
    op1(sum1, (w1)[3 * 64], tmp);\
    op2(sum2, (w2)[3 * 64], tmp);\
    tmp = p[4 * 64];\
    op1(sum1, (w1)[4 * 64], tmp);\
    op2(sum2, (w2)[4 * 64], tmp);\
    tmp = p[5 * 64];\
    op1(sum1, (w1)[5 * 64], tmp);\
    op2(sum2, (w2)[5 * 64], tmp);\
    tmp = p[6 * 64];\
    op1(sum1, (w1)[6 * 64], tmp);\
    op2(sum2, (w2)[6 * 64], tmp);\
    tmp = p[7 * 64];\
    op1(sum1, (w1)[7 * 64], tmp);\
    op2(sum2, (w2)[7 * 64], tmp);\
}

Definition at line 803 of file mpegaudiodec.c.

Referenced by ff_mpa_synth_filter().

#define TABLE_4_3_SIZE   (8191 + 16)*4

Definition at line 96 of file mpegaudiodec.c.

Referenced by decode_init().


Function Documentation

static void compute_antialias_float ( MPADecodeContext s,
GranuleDef g 
) [static]

Definition at line 1814 of file mpegaudiodec.c.

Referenced by decode_init().

static void compute_antialias_integer ( MPADecodeContext s,
GranuleDef g 
) [static]

Definition at line 1774 of file mpegaudiodec.c.

Referenced by decode_init().

static void compute_imdct ( MPADecodeContext s,
GranuleDef g,
int32_t *  sb_samples,
int32_t *  mdct_buf 
) [static]

Definition at line 1853 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

static void compute_stereo ( MPADecodeContext s,
GranuleDef g0,
GranuleDef g1 
) [static]

Definition at line 1647 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

static void dct32 ( int32_t *  out,
int32_t *  tab 
) [static]

Definition at line 592 of file mpegaudiodec.c.

Referenced by ff_mpa_synth_filter().

static DECLARE_ALIGNED_16 ( MPA_INT  ,
window  [512] 
) [static]

static int decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 2259 of file mpegaudiodec.c.

static av_cold int decode_init ( AVCodecContext avctx  )  [static]

Definition at line 311 of file mpegaudiodec.c.

static void exponents_from_scale_factors ( MPADecodeContext s,
GranuleDef g,
int16_t *  exponents 
) [static]

Definition at line 1391 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

void ff_compute_band_indexes ( MPADecodeContext s,
GranuleDef g 
)

Definition at line 163 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

void ff_init_long_region ( MPADecodeContext s,
GranuleDef g,
int  ra1,
int  ra2 
)

Definition at line 153 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

void ff_init_short_region ( MPADecodeContext s,
GranuleDef g 
)

Definition at line 139 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

void ff_mpa_synth_filter ( MPA_INT synth_buf_ptr,
int *  synth_buf_offset,
MPA_INT window,
int *  dither_state,
OUT_INT samples,
int  incr,
int32_t  sb_samples[SBLIMIT] 
)

Definition at line 854 of file mpegaudiodec.c.

Referenced by mp_decode_frame(), mpc_synth(), and qdm2_synthesis_filter().

void av_cold ff_mpa_synth_init ( MPA_INT window  ) 

Definition at line 832 of file mpegaudiodec.c.

Referenced by decode_init(), ff_mpc_init(), and qdm2_init().

void ff_region_offset2size ( GranuleDef g  ) 

Convert region offsets to region sizes and truncate size to big_values.

Definition at line 129 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

static void flush ( AVCodecContext avctx  )  [static]

Definition at line 2313 of file mpegaudiodec.c.

static int get_bitsz ( GetBitContext s,
int  n 
) [inline, static]

Definition at line 1430 of file mpegaudiodec.c.

Referenced by huffman_decode().

static int huffman_decode ( MPADecodeContext s,
GranuleDef g,
int16_t *  exponents,
int  end_pos2 
) [static]

Definition at line 1451 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

static void imdct12 ( int *  out,
int *  in 
) [static]

Definition at line 957 of file mpegaudiodec.c.

Referenced by compute_imdct().

static void imdct36 ( int *  out,
int *  buf,
int *  in,
int *  win 
) [static]

Definition at line 1010 of file mpegaudiodec.c.

Referenced by compute_imdct().

static av_cold void int_pow_init ( void   )  [static]

Definition at line 253 of file mpegaudiodec.c.

Referenced by decode_init().

static int l1_unscale ( int  n,
int  mant,
int  scale_factor 
) [inline, static]

Definition at line 189 of file mpegaudiodec.c.

Referenced by mp_decode_layer1(), and mp_decode_layer2().

static int l2_unscale_group ( int  steps,
int  mant,
int  scale_factor 
) [inline, static]

Definition at line 203 of file mpegaudiodec.c.

Referenced by mp_decode_layer2().

static int l3_unscale ( int  value,
int  exponent 
) [inline, static]

Definition at line 219 of file mpegaudiodec.c.

Referenced by huffman_decode().

static void lsf_sf_expand ( int *  slen,
int  sf,
int  n1,
int  n2,
int  n3 
) [inline, static]

Definition at line 1371 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

static int mp_decode_frame ( MPADecodeContext s,
OUT_INT samples,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 2188 of file mpegaudiodec.c.

static int mp_decode_layer1 ( MPADecodeContext s  )  [static]

Definition at line 1119 of file mpegaudiodec.c.

Referenced by mp_decode_frame().

static int mp_decode_layer2 ( MPADecodeContext s  )  [static]

Definition at line 1185 of file mpegaudiodec.c.

Referenced by mp_decode_frame().

static int mp_decode_layer3 ( MPADecodeContext s  )  [static]

Definition at line 1944 of file mpegaudiodec.c.

Referenced by mp_decode_frame().

static void reorder_block ( MPADecodeContext s,
GranuleDef g 
) [static]

Definition at line 1611 of file mpegaudiodec.c.

Referenced by mp_decode_layer3().

static int round_sample ( int *  sum  )  [inline, static]

Definition at line 752 of file mpegaudiodec.c.

Referenced by ff_mpa_synth_filter().

static void switch_buffer ( MPADecodeContext s,
int *  pos,
int *  end_pos,
int *  end_pos2 
) [static]

Definition at line 1439 of file mpegaudiodec.c.

Referenced by huffman_decode().


Variable Documentation

uint16_t band_index_long[9][23] [static]

Definition at line 94 of file mpegaudiodec.c.

Referenced by decode_init(), and ff_init_long_region().

int32_t csa_table[8][4] [static]

Definition at line 104 of file mpegaudiodec.c.

Referenced by compute_antialias_integer(), and decode_init().

float csa_table_float[8][4] [static]

Definition at line 105 of file mpegaudiodec.c.

Referenced by compute_antialias_float(), and decode_init().

int dev_4_3_coefs[DEV_ORDER] [static]

Definition at line 243 of file mpegaudiodec.c.

Referenced by int_pow_init().

uint32_t exp_table[512] [static]

Definition at line 99 of file mpegaudiodec.c.

Referenced by decode_init(), and huffman_decode().

uint32_t expval_table[512][16] [static]

Definition at line 100 of file mpegaudiodec.c.

Referenced by decode_init(), and huffman_decode().

VLC huff_quad_vlc[2] [static]

Definition at line 88 of file mpegaudiodec.c.

VLC_TYPE huff_quad_vlc_tables[128+16][2] [static]

Definition at line 89 of file mpegaudiodec.c.

Referenced by decode_init().

const int huff_quad_vlc_tables_sizes[2] [static]

Initial value:

 {
  128, 16
}

Definition at line 90 of file mpegaudiodec.c.

Referenced by decode_init().

VLC huff_vlc[16] [static]

Definition at line 79 of file mpegaudiodec.c.

VLC_TYPE huff_vlc_tables[0+128+128+128+130+128+154+166+142+204+190+170+542+460+662+414][2] [static]

Definition at line 83 of file mpegaudiodec.c.

Referenced by decode_init().

const int huff_vlc_tables_sizes[16] [static]

Initial value:

 {
  0, 128, 128, 128, 130, 128, 154, 166,
  142, 204, 190, 170, 542, 460, 662, 414
}

Definition at line 84 of file mpegaudiodec.c.

Referenced by decode_init().

const int icos36[9] [static]

Initial value:

 {
    FIXR(0.50190991877167369479),
    FIXR(0.51763809020504152469), 
    FIXR(0.55168895948124587824),
    FIXR(0.61038729438072803416),
    FIXR(0.70710678118654752439), 
    FIXR(0.87172339781054900991),
    FIXR(1.18310079157624925896),
    FIXR(1.93185165257813657349), 
    FIXR(5.73685662283492756461),
}

Definition at line 930 of file mpegaudiodec.c.

const int icos36h[9] [static]

Initial value:

 {
    FIXHR(0.50190991877167369479/2),
    FIXHR(0.51763809020504152469/2), 
    FIXHR(0.55168895948124587824/2),
    FIXHR(0.61038729438072803416/2),
    FIXHR(0.70710678118654752439/2), 
    FIXHR(0.87172339781054900991/2),
    FIXHR(1.18310079157624925896/4),
    FIXHR(1.93185165257813657349/4), 

}

Definition at line 943 of file mpegaudiodec.c.

int32_t is_table[2][16] [static]

Definition at line 102 of file mpegaudiodec.c.

Referenced by compute_stereo(), and decode_init().

int32_t is_table_lsf[2][2][16] [static]

Definition at line 103 of file mpegaudiodec.c.

Referenced by compute_stereo(), and decode_init().

int32_t mdct_win[8][36] [static]

Definition at line 106 of file mpegaudiodec.c.

Referenced by compute_imdct(), and decode_init().

uint16_t scale_factor_modshift[64] [static]

Definition at line 109 of file mpegaudiodec.c.

Referenced by decode_init(), l1_unscale(), and l2_unscale_group().

int32_t scale_factor_mult[15][3] [static]

Definition at line 111 of file mpegaudiodec.c.

Referenced by decode_init(), encode_frame(), l1_unscale(), and MPA_encode_init().

const int32_t scale_factor_mult2[3][3] [static]

Initial value:

 {
    SCALE_GEN(4.0 / 3.0), 
    SCALE_GEN(4.0 / 5.0), 
    SCALE_GEN(4.0 / 9.0), 
}

Definition at line 117 of file mpegaudiodec.c.

Referenced by l2_unscale_group().

int8_t table_4_3_exp[TABLE_4_3_SIZE] [static]

Definition at line 97 of file mpegaudiodec.c.

Referenced by decode_init(), and l3_unscale().

uint32_t table_4_3_value[TABLE_4_3_SIZE] [static]

Definition at line 98 of file mpegaudiodec.c.

Referenced by decode_init(), and l3_unscale().


Generated on Fri Oct 26 02:35:44 2012 for FFmpeg by  doxygen 1.5.8