X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=wma.h;h=15b9c5d492560f2c6532935460cc7ca4f38ca571;hp=c4703c25a5e9b7751b94e39c61e12c30053a7038;hb=f2940b2fbde865256bc35c74e3bd624d2ff48d2e;hpb=226ce82aaccff7e74a6fadd028743b731a3744d2 diff --git a/wma.h b/wma.h index c4703c25..15b9c5d4 100644 --- a/wma.h +++ b/wma.h @@ -1,3 +1,5 @@ +/** \file wma.h The asf_header structure and public wma function declarations. */ + /** * Information contained in an asf audio file header. * @@ -6,19 +8,32 @@ struct asf_header_info { /** The size of the audio file header. */ int header_len; + /** Offset of the audio stream info header. */ int audio_stream_info_start; + /** Number of channels. */ uint8_t channels; + /** One of the 5 possible sample rates. */ uint16_t sample_rate; + /** Size of one data block. */ uint16_t block_align; + /** Bits per second. */ uint32_t bit_rate; + /** Further decoding information (ignored). */ uint32_t flags1; + /** 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; }; /* 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(char *buf, int loaded, struct asf_header_info *ahi); -#define M_PI 3.14159265358979323846 /* pi */ +int read_asf_header(const char *buf, int loaded, struct asf_header_info *ahi); + #define WMA_FRAME_SKIP 31