X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=wma.h;h=b260feb99d76ea58511696cd0c04ddb4ec01b26c;hp=18748dad9be2bdbf6faf1c7a1a49cba6d78e8fac;hb=1709cc8f8a54429441f8f83c38146e667133c727;hpb=84c3f9183674c561772dc4064e1b32a1e76ea8a3 diff --git a/wma.h b/wma.h index 18748dad..b260feb9 100644 --- a/wma.h +++ b/wma.h @@ -1,10 +1,10 @@ +/** \file wma.h The asf_header structure and public wma function declarations. */ + /** * Information contained in an asf audio file header. * * Both para_filter and para_afh need to read the header. */ - -/** Information stored in the asf header. */ struct asf_header_info { /** The size of the audio file header. */ int header_len; @@ -20,16 +20,22 @@ struct asf_header_info { uint32_t bit_rate; /** Further decoding information (ignored). */ uint32_t flags1; - /** Whether to use exp_vlc, bit reservoir, variable block len. */ + /** Encodes exp_vlc, bit reservoir, vbl, number of block sizes. */ uint16_t flags2; + /** Whether exponents are coded with VLC codes. */ + bool use_exp_vlc; + /** If false, a frame is equal to a superframe. */ + bool use_bit_reservoir; + /** Whether blocks are of variable or of constant size. */ + bool use_variable_block_len; + /** Obtained from the file properties object. */ + uint32_t packet_size; }; /* wma_common.c */ -int wma_log2(unsigned int v); +__a_const int wma_log2(unsigned int v); const char *search_pattern(const char *pattern, int pattern_len, const char *buf, int buf_size); int read_asf_header(const char *buf, int loaded, struct asf_header_info *ahi); #define WMA_FRAME_SKIP 31 -#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n))) -#define DECLARE_ALIGNED_16(t, v) DECLARE_ALIGNED(16, t, v)