Merge branch 'refs/heads/t/autoplay-fix'
[paraslash.git] / wma.h
diff --git a/wma.h b/wma.h
index 4b3134270cf917b4d395c46ee4beb785402406ba..15b9c5d492560f2c6532935460cc7ca4f38ca571 100644 (file)
--- 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.
  *
 /**
  * Information contained in an asf audio file header.
  *
@@ -6,21 +8,32 @@
 struct asf_header_info {
        /** The size of the audio file header. */
        int header_len;
 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;
        int audio_stream_info_start;
+       /** Number of channels. */
        uint8_t channels;
        uint8_t channels;
+       /** One of the 5 possible sample rates. */
        uint16_t sample_rate;
        uint16_t sample_rate;
+       /** Size of one data block. */
        uint16_t block_align;
        uint16_t block_align;
+       /** Bits per second. */
        uint32_t bit_rate;
        uint32_t bit_rate;
+       /** Further decoding information (ignored). */
        uint32_t flags1;
        uint32_t flags1;
+       /** Encodes exp_vlc, bit reservoir, vbl, number of block sizes. */
        uint16_t flags2;
        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 */
 };
 
 /* 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);
 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 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)