libavcodec/mpegaudiodsp_template.c File Reference

#include <stdint.h>
#include "libavutil/mem.h"
#include "dct32.h"
#include "mathops.h"
#include "mpegaudiodsp.h"
#include "mpegaudio.h"

Go to the source code of this file.

Defines

#define RENAME(n)   n##_fixed
#define OUT_SHIFT   (WFRAC_BITS + FRAC_BITS - 15)
#define MULS(ra, rb)   MUL64(ra, rb)
#define MACS(rt, ra, rb)   MAC64(rt, ra, rb)
#define MLSS(rt, ra, rb)   MLS64(rt, ra, rb)
#define MULH3(x, y, s)   MULH((s)*(x), y)
#define MULLx(x, y, s)   MULL(x,y,s)
#define SHR(a, b)   ((a)>>(b))
#define FIXR(a)   ((int)((a) * FRAC_ONE + 0.5))
#define FIXHR(a)   ((int)((a) * (1LL<<32) + 0.5))
#define SUM8(op, sum, w, p)
#define SUM8P2(sum1, op1, sum2, op2, w1, w2, p)
#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)

Functions

static int round_sample (int64_t *sum)
void ff_mpadsp_apply_window_TMPL (MPA_INT *synth_buf, MPA_INT *window, int *dither_state, OUT_INT *samples, int incr)
void ff_mpa_synth_filter_TMPL (MPADSPContext *s, MPA_INT *synth_buf_ptr, int *synth_buf_offset, MPA_INT *window, int *dither_state, OUT_INT *samples, int incr, MPA_INT *sb_samples)
av_cold void ff_mpa_synth_init_TMPL (MPA_INT *window)
void ff_init_mpadsp_tabs_TMPL (void)
static void imdct36 (INTFLOAT *out, INTFLOAT *buf, INTFLOAT *in, INTFLOAT *win)
void ff_imdct36_blocks_TMPL (INTFLOAT *out, INTFLOAT *buf, INTFLOAT *in, int count, int switch_point, int block_type)

Variables

int ff_mdct_win_TMPL [8][MDCT_BUF_SIZE]
 Window for MDCT.
MPA_INT ff_mpa_synth_window_TMPL [512+256]
static const INTFLOAT icos36 [9]
static const INTFLOAT icos36h [9]


Define Documentation

#define C1   FIXHR(0.98480775301220805936/2)

Definition at line 266 of file mpegaudiodsp_template.c.

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

#define C2   FIXHR(0.93969262078590838405/2)

Definition at line 267 of file mpegaudiodsp_template.c.

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

#define C3   FIXHR(0.86602540378443864676/2)

Definition at line 268 of file mpegaudiodsp_template.c.

#define C4   FIXHR(0.76604444311897803520/2)

Definition at line 269 of file mpegaudiodsp_template.c.

#define C5   FIXHR(0.64278760968653932632/2)

Definition at line 270 of file mpegaudiodsp_template.c.

#define C6   FIXHR(0.5/2)

Definition at line 271 of file mpegaudiodsp_template.c.

#define C7   FIXHR(0.34202014332566873304/2)

Definition at line 272 of file mpegaudiodsp_template.c.

Referenced by imdct36().

#define C8   FIXHR(0.17364817766693034885/2)

Definition at line 273 of file mpegaudiodsp_template.c.

Referenced by imdct36().

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

Definition at line 68 of file mpegaudiodsp_template.c.

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

Definition at line 67 of file mpegaudiodsp_template.c.

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

Definition at line 62 of file mpegaudiodsp_template.c.

Referenced by ff_mpadsp_apply_window_TMPL().

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

Definition at line 63 of file mpegaudiodsp_template.c.

Referenced by apply_window_mp3(), and ff_mpadsp_apply_window_TMPL().

#define MULH3 ( x,
y,
 )     MULH((s)*(x), y)

Definition at line 64 of file mpegaudiodsp_template.c.

#define MULLx ( x,
y,
 )     MULL(x,y,s)

Definition at line 65 of file mpegaudiodsp_template.c.

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

Definition at line 61 of file mpegaudiodsp_template.c.

#define OUT_SHIFT   (WFRAC_BITS + FRAC_BITS - 15)

Definition at line 51 of file mpegaudiodsp_template.c.

#define RENAME (  )     n##_fixed

Definition at line 50 of file mpegaudiodsp_template.c.

#define SHR ( a,
 )     ((a)>>(b))

Definition at line 66 of file mpegaudiodsp_template.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 79 of file mpegaudiodsp_template.c.

Referenced by apply_window_mp3(), and ff_mpadsp_apply_window_TMPL().

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

Value:

{                                               \
    INTFLOAT 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 91 of file mpegaudiodsp_template.c.

Referenced by ff_mpadsp_apply_window_TMPL().


Function Documentation

void ff_imdct36_blocks_TMPL ( INTFLOAT *  out,
INTFLOAT *  buf,
INTFLOAT *  in,
int  count,
int  switch_point,
int  block_type 
)

Definition at line 382 of file mpegaudiodsp_template.c.

void ff_init_mpadsp_tabs_TMPL ( void   ) 

Definition at line 223 of file mpegaudiodsp_template.c.

void ff_mpa_synth_filter_TMPL ( MPADSPContext s,
MPA_INT synth_buf_ptr,
int synth_buf_offset,
MPA_INT window,
int dither_state,
OUT_INT samples,
int  incr,
MPA_INT sb_samples 
)

Definition at line 175 of file mpegaudiodsp_template.c.

av_cold void ff_mpa_synth_init_TMPL ( MPA_INT window  ) 

Definition at line 194 of file mpegaudiodsp_template.c.

void ff_mpadsp_apply_window_TMPL ( MPA_INT synth_buf,
MPA_INT window,
int dither_state,
OUT_INT samples,
int  incr 
)

Definition at line 120 of file mpegaudiodsp_template.c.

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

Definition at line 302 of file mpegaudiodsp_template.c.

Referenced by ff_imdct36_blocks_TMPL().

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

Definition at line 53 of file mpegaudiodsp_template.c.

Referenced by ff_mpadsp_apply_window_TMPL().


Variable Documentation

int ff_mdct_win_TMPL[8][MDCT_BUF_SIZE]

Window for MDCT.

Actually only the elements in [0,17] and [MDCT_BUF_SIZE/2, MDCT_BUF_SIZE/2 + 17] are actually used. The rest is just to preserve alignment for SIMD implementations.

Definition at line 75 of file mpegaudiodsp_template.c.

Definition at line 77 of file mpegaudiodsp_template.c.

const INTFLOAT 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 276 of file mpegaudiodsp_template.c.

const INTFLOAT 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 289 of file mpegaudiodsp_template.c.


Generated on Fri Oct 26 02:50:06 2012 for FFmpeg by  doxygen 1.5.8