wma: Fix packet size calculation. Usually the (fixed) packet size of a wma file equals the block align value plus WMA_FRAME_SKIP. However, this is not true in general, and if the two values differ, we fail to decode the file and bail out with an "incoherent block length" error. This patch adds code to read the correct packet size from the file properties object and uses this value in the decoder and the audio format handler.
wma: Store ASF header info in afhi->techinfo. This changes the wma audio format handler and decoder to store the ASF header bits we care about (exp_vlc, bit reservoir, and variable block length) in struct asf_header_info instead of struct private_wmadec_data. This way the wma audio format handler can print this information in its ->techinfo string for the audio file.
wma: Fix sparse error. wma_common.c defines wma_log2() with __attribute__ ((const)), but the declaration in wma.h lacks this attribute. Sparse does not like that and fails with wma_common.c:147:15: error: symbol 'wma_log2' redeclared with different type (originally declared at wma.h:28) - different modifiers Add the const attribute also to wma.h.
Add __aligned macro to gcc-compat.h. and use this instead of DECLARE_ALIGNED. Fix some whitespace issues in gcc-compat.h while we're at it.
More documentation updates.
read_asf_header(): Make it take a const pointer.
Add docu of struct asf_header_info.
move sine window stuff from imdct.c to wmadec_filter.c.
First draft of the wma decoder. Understands only v1, but is easy to crash.