X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=wma.h;h=18748dad9be2bdbf6faf1c7a1a49cba6d78e8fac;hp=c4703c25a5e9b7751b94e39c61e12c30053a7038;hb=84c3f9183674c561772dc4064e1b32a1e76ea8a3;hpb=226ce82aaccff7e74a6fadd028743b731a3744d2 diff --git a/wma.h b/wma.h index c4703c25..18748dad 100644 --- a/wma.h +++ b/wma.h @@ -3,15 +3,24 @@ * * 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; + /** 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; + /** Whether to use exp_vlc, bit reservoir, variable block len. */ uint16_t flags2; }; @@ -19,6 +28,8 @@ struct asf_header_info { 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 +#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n))) +#define DECLARE_ALIGNED_16(t, v) DECLARE_ALIGNED(16, t, v)