00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef AVCODEC_VORBIS_H
00022 #define AVCODEC_VORBIS_H
00023
00024 #include "avcodec.h"
00025
00026 extern const float ff_vorbis_floor1_inverse_db_table[256];
00027 extern const float * const ff_vorbis_vwin[8];
00028 extern const uint8_t ff_vorbis_channel_layout_offsets[8][8];
00029 extern const uint8_t ff_vorbis_encoding_channel_layout_offsets[8][8];
00030 extern const uint64_t ff_vorbis_channel_layouts[9];
00031
00032 typedef struct {
00033 uint16_t x;
00034 uint16_t sort;
00035 uint16_t low;
00036 uint16_t high;
00037 } vorbis_floor1_entry;
00038
00039 int ff_vorbis_ready_floor1_list(AVCodecContext *avccontext,
00040 vorbis_floor1_entry *list, int values);
00041 unsigned int ff_vorbis_nth_root(unsigned int x, unsigned int n);
00042 int ff_vorbis_len2vlc(uint8_t *bits, uint32_t *codes, unsigned num);
00043 void ff_vorbis_floor1_render_list(vorbis_floor1_entry * list, int values,
00044 uint16_t *y_list, int *flag,
00045 int multiplier, float * out, int samples);
00046 void ff_vorbis_inverse_coupling(float *mag, float *ang, int blocksize);
00047
00048 #define ilog(i) av_log2(2*(i))
00049
00050 #endif