[FFmpeg-soc] [soc]: r2530 - aac/aac.c
superdump
subversion at mplayerhq.hu
Sun Jun 22 12:30:32 CEST 2008
Author: superdump
Date: Sun Jun 22 12:30:31 2008
New Revision: 2530
Log:
Migrate to new static VLC table initialisation
Modified:
aac/aac.c
Modified: aac/aac.c
==============================================================================
--- aac/aac.c (original)
+++ aac/aac.c Sun Jun 22 12:30:31 2008
@@ -801,6 +801,62 @@ static int aac_decode_init(AVCodecContex
avccontext->sample_rate = ac->m4ac.sample_rate;
avccontext->frame_size = 1024;
+ if(!books[0].table)
+ INIT_VLC_STATIC(&books[0], 6, tmp[0].s/sizeof(tmp[0].a_code[0]),
+ tmp[0].a_bits, sizeof(tmp[0].a_bits[0]), sizeof(tmp[0].a_bits[0]),
+ tmp[0].a_code, sizeof(tmp[0].a_code[0]), sizeof(tmp[0].a_code[0]),
+ 144);
+ if(!books[1].table)
+ INIT_VLC_STATIC(&books[1], 6, tmp[1].s/sizeof(tmp[1].a_code[0]),
+ tmp[1].a_bits, sizeof(tmp[1].a_bits[0]), sizeof(tmp[1].a_bits[0]),
+ tmp[1].a_code, sizeof(tmp[1].a_code[0]), sizeof(tmp[1].a_code[0]),
+ 114);
+ if(!books[2].table)
+ INIT_VLC_STATIC(&books[2], 6, tmp[2].s/sizeof(tmp[2].a_code[0]),
+ tmp[2].a_bits, sizeof(tmp[2].a_bits[0]), sizeof(tmp[2].a_bits[0]),
+ tmp[2].a_code, sizeof(tmp[2].a_code[0]), sizeof(tmp[2].a_code[0]),
+ 188);
+ if(!books[3].table)
+ INIT_VLC_STATIC(&books[3], 6, tmp[3].s/sizeof(tmp[3].a_code[0]),
+ tmp[3].a_bits, sizeof(tmp[3].a_bits[0]), sizeof(tmp[3].a_bits[0]),
+ tmp[3].a_code, sizeof(tmp[3].a_code[0]), sizeof(tmp[3].a_code[0]),
+ 180);
+ if(!books[4].table)
+ INIT_VLC_STATIC(&books[4], 6, tmp[4].s/sizeof(tmp[4].a_code[0]),
+ tmp[4].a_bits, sizeof(tmp[4].a_bits[0]), sizeof(tmp[4].a_bits[0]),
+ tmp[4].a_code, sizeof(tmp[4].a_code[0]), sizeof(tmp[4].a_code[0]),
+ 172);
+ if(!books[5].table)
+ INIT_VLC_STATIC(&books[5], 6, tmp[5].s/sizeof(tmp[5].a_code[0]),
+ tmp[5].a_bits, sizeof(tmp[5].a_bits[0]), sizeof(tmp[5].a_bits[0]),
+ tmp[5].a_code, sizeof(tmp[5].a_code[0]), sizeof(tmp[5].a_code[0]),
+ 140);
+ if(!books[6].table)
+ INIT_VLC_STATIC(&books[6], 6, tmp[6].s/sizeof(tmp[6].a_code[0]),
+ tmp[6].a_bits, sizeof(tmp[6].a_bits[0]), sizeof(tmp[6].a_bits[0]),
+ tmp[6].a_code, sizeof(tmp[6].a_code[0]), sizeof(tmp[6].a_code[0]),
+ 168);
+ if(!books[7].table)
+ INIT_VLC_STATIC(&books[7], 6, tmp[7].s/sizeof(tmp[7].a_code[0]),
+ tmp[7].a_bits, sizeof(tmp[7].a_bits[0]), sizeof(tmp[7].a_bits[0]),
+ tmp[7].a_code, sizeof(tmp[7].a_code[0]), sizeof(tmp[7].a_code[0]),
+ 114);
+ if(!books[8].table)
+ INIT_VLC_STATIC(&books[8], 6, tmp[8].s/sizeof(tmp[8].a_code[0]),
+ tmp[8].a_bits, sizeof(tmp[8].a_bits[0]), sizeof(tmp[8].a_bits[0]),
+ tmp[8].a_code, sizeof(tmp[8].a_code[0]), sizeof(tmp[8].a_code[0]),
+ 262);
+ if(!books[9].table)
+ INIT_VLC_STATIC(&books[9], 6, tmp[9].s/sizeof(tmp[9].a_code[0]),
+ tmp[9].a_bits, sizeof(tmp[9].a_bits[0]), sizeof(tmp[9].a_bits[0]),
+ tmp[9].a_code, sizeof(tmp[9].a_code[0]), sizeof(tmp[9].a_code[0]),
+ 248);
+ if(!books[10].table)
+ INIT_VLC_STATIC(&books[10], 6, tmp[10].s/sizeof(tmp[10].a_code[0]),
+ tmp[10].a_bits, sizeof(tmp[10].a_bits[0]), sizeof(tmp[10].a_bits[0]),
+ tmp[10].a_code, sizeof(tmp[10].a_code[0]), sizeof(tmp[10].a_code[0]),
+ 384);
+
for (i = 0; i < 11; i++) {
static const int mod_cb[11] = { 3, 3, 3, 3, 9, 9, 8, 8, 13, 13, 17 };
static const int off_cb[11] = { 1, 1, 0, 0, 4, 4, 0, 0, 0, 0, 0 };
@@ -811,12 +867,6 @@ static int aac_decode_init(AVCodecContex
int dim = (i >= 4 ? 2 : 4);
int mod = mod_cb[i], off = off_cb[i], index = 0;
- if(!books[i].table && init_vlc(&books[i], 6, values,
- tmp[i].a_bits, a_bits_size, a_bits_size,
- tmp[i].a_code, a_code_size, a_code_size,
- INIT_VLC_USE_STATIC) < 0)
- return -1;
-
if(!(ac->vq[i] = av_malloc(dim * values * sizeof(int))))
return -1;
@@ -855,11 +905,11 @@ static int aac_decode_init(AVCodecContex
pow2sf_tab[i] = pow(2, (i - 200)/4.);
#endif /* CONFIG_HARDCODED_TABLES */
- if(!mainvlc.table && init_vlc(&mainvlc, 7, sizeof(code)/sizeof(code[0]),
+ if(!mainvlc.table)
+ INIT_VLC_STATIC(&mainvlc, 7, sizeof(code)/sizeof(code[0]),
bits, sizeof(bits[0]), sizeof(bits[0]),
code, sizeof(code[0]), sizeof(code[0]),
- INIT_VLC_USE_STATIC) < 0)
- return -1;
+ 352);
#ifdef AAC_SSR
if (ac->audioObjectType == AOT_AAC_SSR) {
More information about the FFmpeg-soc
mailing list