FFmpeg
|
#include <stdint.h>
#include "libavutil/attributes.h"
#include "libavutil/mem_internal.h"
#include "libavutil/thread.h"
#include "dct32.h"
#include "mathops.h"
#include "mpegaudiodsp.h"
#include "mpegaudio.h"
Go to the source code of this file.
Macros | |
#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((int)(x),(y),s) |
#define | SHR(a, b) (((int)(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, ptrdiff_t 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, ptrdiff_t incr, MPA_INT *sb_samples) |
static av_cold void | mpa_synth_init (MPA_INT *window) |
static av_cold void | mpa_synth_window_init (void) |
av_cold void | ff_mpa_synth_init_TMPL (void) |
static void | imdct36 (INTFLOAT *out, INTFLOAT *buf, SUINTFLOAT *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. More... | |
MPA_INT | ff_mpa_synth_window_TMPL [512+256] |
static const INTFLOAT | icos36 [9] |
static const INTFLOAT | icos36h [9] |
#define RENAME | ( | n | ) | n##_fixed |
Definition at line 53 of file mpegaudiodsp_template.c.
#define OUT_SHIFT (WFRAC_BITS + FRAC_BITS - 15) |
Definition at line 54 of file mpegaudiodsp_template.c.
#define MULS | ( | ra, | |
rb | |||
) | MUL64(ra, rb) |
Definition at line 64 of file mpegaudiodsp_template.c.
#define MACS | ( | rt, | |
ra, | |||
rb | |||
) | MAC64(rt, ra, rb) |
Definition at line 65 of file mpegaudiodsp_template.c.
#define MLSS | ( | rt, | |
ra, | |||
rb | |||
) | MLS64(rt, ra, rb) |
Definition at line 66 of file mpegaudiodsp_template.c.
Definition at line 67 of file mpegaudiodsp_template.c.
Definition at line 68 of file mpegaudiodsp_template.c.
Definition at line 70 of file mpegaudiodsp_template.c.
Definition at line 71 of file mpegaudiodsp_template.c.
Definition at line 82 of file mpegaudiodsp_template.c.
#define SUM8P2 | ( | sum1, | |
op1, | |||
sum2, | |||
op2, | |||
w1, | |||
w2, | |||
p | |||
) |
Definition at line 94 of file mpegaudiodsp_template.c.
#define C1 FIXHR(0.98480775301220805936/2) |
Definition at line 238 of file mpegaudiodsp_template.c.
#define C2 FIXHR(0.93969262078590838405/2) |
Definition at line 239 of file mpegaudiodsp_template.c.
#define C3 FIXHR(0.86602540378443864676/2) |
Definition at line 240 of file mpegaudiodsp_template.c.
#define C4 FIXHR(0.76604444311897803520/2) |
Definition at line 241 of file mpegaudiodsp_template.c.
#define C5 FIXHR(0.64278760968653932632/2) |
Definition at line 242 of file mpegaudiodsp_template.c.
#define C6 FIXHR(0.5/2) |
Definition at line 243 of file mpegaudiodsp_template.c.
#define C7 FIXHR(0.34202014332566873304/2) |
Definition at line 244 of file mpegaudiodsp_template.c.
#define C8 FIXHR(0.17364817766693034885/2) |
Definition at line 245 of file mpegaudiodsp_template.c.
|
inlinestatic |
Definition at line 56 of file mpegaudiodsp_template.c.
Referenced by ff_mpadsp_apply_window_TMPL().
void ff_mpadsp_apply_window_TMPL | ( | MPA_INT * | synth_buf, |
MPA_INT * | window, | ||
int * | dither_state, | ||
OUT_INT * | samples, | ||
ptrdiff_t | incr | ||
) |
Definition at line 123 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, | ||
ptrdiff_t | incr, | ||
MPA_INT * | sb_samples | ||
) |
Definition at line 178 of file mpegaudiodsp_template.c.
Definition at line 197 of file mpegaudiodsp_template.c.
Referenced by mpa_synth_window_init().
|
static |
Definition at line 226 of file mpegaudiodsp_template.c.
Referenced by ff_mpa_synth_init_TMPL().
av_cold void ff_mpa_synth_init_TMPL | ( | void | ) |
Definition at line 231 of file mpegaudiodsp_template.c.
|
static |
Definition at line 274 of file mpegaudiodsp_template.c.
Referenced by ff_imdct36_blocks_TMPL().
void ff_imdct36_blocks_TMPL | ( | INTFLOAT * | out, |
INTFLOAT * | buf, | ||
INTFLOAT * | in, | ||
int | count, | ||
int | switch_point, | ||
int | block_type | ||
) |
Definition at line 354 of file mpegaudiodsp_template.c.
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 78 of file mpegaudiodsp_template.c.
MPA_INT ff_mpa_synth_window_TMPL[512+256] |
Definition at line 80 of file mpegaudiodsp_template.c.
|
static |
Definition at line 248 of file mpegaudiodsp_template.c.
Referenced by imdct36().
|
static |
Definition at line 261 of file mpegaudiodsp_template.c.
Referenced by imdct36().