Commit 43eb5908 authored by Alexander Strasser's avatar Alexander Strasser

Added support for vorbis files containing floor type 0.

Originally committed as revision 4933 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent efac2613
This diff is collapsed.
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment