Revision 59bebb11 libavcodec/mpegaudiodec_float.c
libavcodec/mpegaudiodec_float.c | ||
---|---|---|
41 | 41 |
*synth_buf_offset = offset; |
42 | 42 |
} |
43 | 43 |
|
44 |
static void compute_antialias_float(MPADecodeContext *s, |
|
45 |
GranuleDef *g) |
|
46 |
{ |
|
47 |
float *ptr; |
|
48 |
int n, i; |
|
49 |
|
|
50 |
/* we antialias only "long" bands */ |
|
51 |
if (g->block_type == 2) { |
|
52 |
if (!g->switch_point) |
|
53 |
return; |
|
54 |
/* XXX: check this for 8000Hz case */ |
|
55 |
n = 1; |
|
56 |
} else { |
|
57 |
n = SBLIMIT - 1; |
|
58 |
} |
|
59 |
|
|
60 |
ptr = g->sb_hybrid + 18; |
|
61 |
for(i = n;i > 0;i--) { |
|
62 |
float tmp0, tmp1; |
|
63 |
float *csa = &csa_table_float[0][0]; |
|
64 |
#define FLOAT_AA(j)\ |
|
65 |
tmp0= ptr[-1-j];\ |
|
66 |
tmp1= ptr[ j];\ |
|
67 |
ptr[-1-j] = tmp0 * csa[0+4*j] - tmp1 * csa[1+4*j];\ |
|
68 |
ptr[ j] = tmp0 * csa[1+4*j] + tmp1 * csa[0+4*j]; |
|
69 |
|
|
70 |
FLOAT_AA(0) |
|
71 |
FLOAT_AA(1) |
|
72 |
FLOAT_AA(2) |
|
73 |
FLOAT_AA(3) |
|
74 |
FLOAT_AA(4) |
|
75 |
FLOAT_AA(5) |
|
76 |
FLOAT_AA(6) |
|
77 |
FLOAT_AA(7) |
|
78 |
|
|
79 |
ptr += 18; |
|
80 |
} |
|
81 |
} |
|
82 |
|
|
44 | 83 |
#if CONFIG_MP1FLOAT_DECODER |
45 | 84 |
AVCodec mp1float_decoder = |
46 | 85 |
{ |
Also available in: Unified diff