Logo Search packages:      
Sourcecode: blender version File versions

mpegaudiodec.c File Reference


Detailed Description

MPEG Audio decoder.

Definition in file mpegaudiodec.c.

#include "avcodec.h"
#include "bitstream.h"
#include "dsputil.h"
#include "mpegaudio.h"
#include "mpegaudiodectab.h"

Go to the source code of this file.

Classes

struct  GranuleDef
struct  HuffTable
struct  MP3On4DecodeContext
struct  MPADecodeContext

Defines

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

Functions

static MPA_INT window[512] __attribute__ ((aligned(16)))
static void compute_antialias_float (MPADecodeContext *s, GranuleDef *g)
static void compute_antialias_integer (MPADecodeContext *s, GranuleDef *g)
static void compute_imdct (MPADecodeContext *s, GranuleDef *g, int32_t *sb_samples, int32_t *mdct_buf)
static void compute_stereo (MPADecodeContext *s, GranuleDef *g0, GranuleDef *g1)
static void dct32 (int32_t *out, int32_t *tab)
static int decode_close_mp3on4 (AVCodecContext *avctx)
static int decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int decode_frame_adu (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int decode_frame_mp3on4 (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int decode_header (MPADecodeContext *s, uint32_t header)
static int decode_init (AVCodecContext *avctx)
static int decode_init_mp3on4 (AVCodecContext *avctx)
static void exponents_from_scale_factors (MPADecodeContext *s, GranuleDef *g, int16_t *exponents)
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])
void ff_mpa_synth_init (MPA_INT *window)
static int get_bitsz (GetBitContext *s, int n)
static int huffman_decode (MPADecodeContext *s, GranuleDef *g, int16_t *exponents, int end_pos)
static void imdct12 (int *out, int *in)
static void imdct36 (int *out, int *buf, int *in, int *win)
static void int_pow_init (void)
static int l1_unscale (int n, int mant, int scale_factor)
int l2_select_table (int bitrate, int nb_channels, int freq, int lsf)
static int l2_unscale_group (int steps, int mant, int scale_factor)
static int l3_unscale (int value, int exponent)
static void lsf_sf_expand (int *slen, int sf, int n1, int n2, int n3)
static int mp_decode_frame (MPADecodeContext *s, OUT_INT *samples)
static int mp_decode_layer1 (MPADecodeContext *s)
static int mp_decode_layer2 (MPADecodeContext *s)
static int mp_decode_layer3 (MPADecodeContext *s)
int mpa_decode_header (AVCodecContext *avctx, uint32_t head)
static always_inline int MULH (int a, int b)
static void reorder_block (MPADecodeContext *s, GranuleDef *g)
static int round_sample (int *sum)
static void seek_to_maindata (MPADecodeContext *s, unsigned int backstep)

Variables

static uint16_t band_index_long [9][23]
static int chan_offset [9][5]
static int32_t csa_table [8][4]
static float csa_table_float [8][4]
static int dev_4_3_coefs [DEV_ORDER]
static uint8_t * huff_code_table [16]
static VLC huff_quad_vlc [2]
static VLC huff_vlc [16]
static const int icos36 [9]
static int32_t is_table [2][16]
static int32_t is_table_lsf [2][2][16]
static int32_t mdct_win [8][36]
AVCodec mp2_decoder
AVCodec mp3_decoder
AVCodec mp3adu_decoder
static int mp3Channels [16] = {0,1,2,3,4,5,6,8,4}
static int mp3Frames [16] = {0,1,1,2,3,3,4,5,2}
AVCodec mp3on4_decoder
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 int8_t * table_4_3_exp
static uint32_t * table_4_3_value


Generated by  Doxygen 1.6.0   Back to index