[FFmpeg-cvslog] r18865 - in trunk/libavcodec: atrac3.c atrac3data.h
banan
subversion
Sun May 17 18:12:08 CEST 2009
Author: banan
Date: Sun May 17 18:12:07 2009
New Revision: 18865
Log:
Change from INIT_VLC_USE_STATIC to INIT_VLC_USE_NEW_STATIC in atrac3
Modified:
trunk/libavcodec/atrac3.c
trunk/libavcodec/atrac3data.h
Modified: trunk/libavcodec/atrac3.c
==============================================================================
--- trunk/libavcodec/atrac3.c Sun May 17 12:31:16 2009 (r18864)
+++ trunk/libavcodec/atrac3.c Sun May 17 18:12:07 2009 (r18865)
@@ -933,6 +933,8 @@ static av_cold int atrac3_decode_init(AV
int i;
const uint8_t *edata_ptr = avctx->extradata;
ATRAC3Context *q = avctx->priv_data;
+ static VLC_TYPE atrac3_vlc_table[4096][2];
+ static int vlcs_initialized = 0;
/* Take data from the AVCodecContext (RM container). */
q->sample_rate = avctx->sample_rate;
@@ -1023,10 +1025,15 @@ static av_cold int atrac3_decode_init(AV
/* Initialize the VLC tables. */
+ if (!vlcs_initialized) {
for (i=0 ; i<7 ; i++) {
+ spectral_coeff_tab[i].table = &atrac3_vlc_table[atrac3_vlc_offs[i]];
+ spectral_coeff_tab[i].table_allocated = atrac3_vlc_offs[i + 1] - atrac3_vlc_offs[i];
init_vlc (&spectral_coeff_tab[i], 9, huff_tab_sizes[i],
huff_bits[i], 1, 1,
- huff_codes[i], 1, 1, INIT_VLC_USE_STATIC);
+ huff_codes[i], 1, 1, INIT_VLC_USE_NEW_STATIC);
+ }
+ vlcs_initialized = 1;
}
init_atrac3_transforms(q);
Modified: trunk/libavcodec/atrac3data.h
==============================================================================
--- trunk/libavcodec/atrac3data.h Sun May 17 12:31:16 2009 (r18864)
+++ trunk/libavcodec/atrac3data.h Sun May 17 18:12:07 2009 (r18865)
@@ -105,6 +105,10 @@ static const uint8_t* const huff_bits[7]
huffbits1,huffbits2,huffbits3,huffbits4,huffbits5,huffbits6,huffbits7,
};
+static const uint16_t atrac3_vlc_offs[] = {
+ 0,512,1024,1536,2048,2560,3072,3584,4096
+};
+
/* selector tables */
static const uint8_t CLCLengthTab[8] = {0, 4, 3, 3, 4, 4, 5, 6};
More information about the ffmpeg-cvslog
mailing list