@ -51,6 +51,8 @@
# define VLCBITS 9
# define VLCMAX ((22+VLCBITS-1) / VLCBITS)
typedef float WMACoef ; ///< type for decoded coefficients, int16_t would be enough for wma 1/2
typedef struct CoefVLCTable {
int n ; ///< total number of codes
int max_level ;
@ -111,7 +113,7 @@ typedef struct WMACodecContext {
int exponents_bsize [ MAX_CHANNELS ] ; ///< log2 ratio frame/exp. length
DECLARE_ALIGNED_16 ( float , exponents [ MAX_CHANNELS ] [ BLOCK_MAX_SIZE ] ) ;
float max_exponent [ MAX_CHANNELS ] ;
int16_t coefs1 [ MAX_CHANNELS ] [ BLOCK_MAX_SIZE ] ;
WMACoef coefs1 [ MAX_CHANNELS ] [ BLOCK_MAX_SIZE ] ;
DECLARE_ALIGNED_16 ( float , coefs [ MAX_CHANNELS ] [ BLOCK_MAX_SIZE ] ) ;
DECLARE_ALIGNED_16 ( FFTSample , output [ BLOCK_MAX_SIZE * 2 ] ) ;
MDCTContext mdct_ctx [ BLOCK_NB_SIZES ] ;
@ -151,7 +153,7 @@ int ff_wma_end(AVCodecContext *avctx);
int ff_wma_run_level_decode ( AVCodecContext * avctx , GetBitContext * gb ,
VLC * vlc ,
const uint16_t * level_table , const uint16_t * run_table ,
int version , int16_t * ptr , int offset ,
int version , WMACoef * ptr , int offset ,
int num_coefs , int block_len , int frame_len_bits ,
int coef_nb_bits ) ;