comparison wma.h @ 10314:ab687351bfef libavcodec

WMA: store level_table as floats, use type punning for sign flip in decode
author mru
date Tue, 29 Sep 2009 10:38:34 +0000
parents 38ab367d4231
children 34a65026fa06
comparison
equal deleted inserted replaced
10313:f7376a522a7e 10314:ab687351bfef
91 91
92 /* there are two possible tables for spectral coefficients */ 92 /* there are two possible tables for spectral coefficients */
93 //FIXME the following 3 tables should be shared between decoders 93 //FIXME the following 3 tables should be shared between decoders
94 VLC coef_vlc[2]; 94 VLC coef_vlc[2];
95 uint16_t *run_table[2]; 95 uint16_t *run_table[2];
96 uint16_t *level_table[2]; 96 float *level_table[2];
97 uint16_t *int_table[2]; 97 uint16_t *int_table[2];
98 const CoefVLCTable *coef_vlcs[2]; 98 const CoefVLCTable *coef_vlcs[2];
99 /* frame info */ 99 /* frame info */
100 int frame_len; ///< frame length in samples 100 int frame_len; ///< frame length in samples
101 int frame_len_bits; ///< frame_len = 1 << frame_len_bits 101 int frame_len_bits; ///< frame_len = 1 << frame_len_bits
151 int ff_wma_total_gain_to_bits(int total_gain); 151 int ff_wma_total_gain_to_bits(int total_gain);
152 int ff_wma_end(AVCodecContext *avctx); 152 int ff_wma_end(AVCodecContext *avctx);
153 unsigned int ff_wma_get_large_val(GetBitContext* gb); 153 unsigned int ff_wma_get_large_val(GetBitContext* gb);
154 int ff_wma_run_level_decode(AVCodecContext* avctx, GetBitContext* gb, 154 int ff_wma_run_level_decode(AVCodecContext* avctx, GetBitContext* gb,
155 VLC *vlc, 155 VLC *vlc,
156 const uint16_t *level_table, const uint16_t *run_table, 156 const float *level_table, const uint16_t *run_table,
157 int version, WMACoef *ptr, int offset, 157 int version, WMACoef *ptr, int offset,
158 int num_coefs, int block_len, int frame_len_bits, 158 int num_coefs, int block_len, int frame_len_bits,
159 int coef_nb_bits); 159 int coef_nb_bits);
160 160
161 #endif /* AVCODEC_WMA_H */ 161 #endif /* AVCODEC_WMA_H */