diff options
author | Alexander Strasser <eclipse7@gmx.net> | 2006-02-04 08:55:34 +0000 |
---|---|---|
committer | Alexander Strasser <eclipse7@gmx.net> | 2006-02-04 08:55:34 +0000 |
commit | 43eb59087bf4c61434dd64e5d14dc9c0741ce9b5 (patch) | |
tree | 16c08d1ba16c64e09144c1fe04c497c8eed40364 /libavcodec/vorbis.h | |
parent | efac2613e71dd99446c858c987625b6a09864cf9 (diff) | |
download | ffmpeg-43eb59087bf4c61434dd64e5d14dc9c0741ce9b5.tar.gz |
Added support for vorbis files containing floor type 0.
Originally committed as revision 4933 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vorbis.h')
-rw-r--r-- | libavcodec/vorbis.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/libavcodec/vorbis.h b/libavcodec/vorbis.h index 27274a126e..5247d3414b 100644 --- a/libavcodec/vorbis.h +++ b/libavcodec/vorbis.h @@ -12,8 +12,33 @@ typedef struct { unsigned int nb_bits; } vorbis_codebook; +typedef union vorbis_floor_u vorbis_floor_data; +typedef struct vorbis_floor0_s vorbis_floor0; +typedef struct vorbis_floor1_s vorbis_floor1; +struct vorbis_context_s; +typedef +uint_fast8_t (* vorbis_floor_decode_func) + (struct vorbis_context_s *, vorbis_floor_data *, float *); typedef struct { uint_fast8_t floor_type; + vorbis_floor_decode_func decode; + union vorbis_floor_u + { + struct vorbis_floor0_s + { + uint_fast8_t order; + uint_fast16_t rate; + uint_fast16_t bark_map_size; + int_fast32_t * map; + uint_fast32_t map_size; + uint_fast8_t amplitude_bits; + uint_fast8_t amplitude_offset; + uint_fast8_t num_books; + uint_fast8_t * book_list; + float * lsp; + } t0; + struct vorbis_floor1_s + { uint_fast8_t partitions; uint_fast8_t maximum_class; uint_fast8_t partition_class[32]; @@ -27,6 +52,8 @@ typedef struct { uint_fast16_t *x_list_order; uint_fast16_t *low_neighbour; uint_fast16_t *high_neighbour; + } t1; + } data; } vorbis_floor; typedef struct { @@ -57,7 +84,7 @@ typedef struct { uint_fast8_t mapping; } vorbis_mode; -typedef struct { +typedef struct vorbis_context_s { AVCodecContext *avccontext; GetBitContext gb; |