libavcodec/vorbis.h
04d7f601
 /*
cc0ba5a5
  * copyright (c) 2006 Oded Shimon <ods15@ods15.dyndns.org>
04d7f601
  *
b78e7197
  * This file is part of FFmpeg.
  *
  * FFmpeg is free software; you can redistribute it and/or
04d7f601
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
b78e7197
  * version 2.1 of the License, or (at your option) any later version.
04d7f601
  *
b78e7197
  * FFmpeg is distributed in the hope that it will be useful,
04d7f601
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
b78e7197
  * License along with FFmpeg; if not, write to the Free Software
04d7f601
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
98790382
 #ifndef AVCODEC_VORBIS_H
 #define AVCODEC_VORBIS_H
0bde73d9
 
ded515b2
 #include "avcodec.h"
 
cc0ba5a5
 extern const float ff_vorbis_floor1_inverse_db_table[256];
cf2baeb3
 extern const float * const ff_vorbis_vwin[8];
4a27f326
 extern const uint8_t ff_vorbis_channel_layout_offsets[8][8];
9577838f
 extern const uint8_t ff_vorbis_encoding_channel_layout_offsets[8][8];
4a27f326
 extern const int64_t ff_vorbis_channel_layouts[9];
0bde73d9
 
9f963af5
 typedef struct {
0a6b1a9f
     uint16_t x;
     uint16_t sort;
     uint16_t low;
     uint16_t high;
05dee1b7
 } vorbis_floor1_entry;
9f963af5
 
05dee1b7
 void ff_vorbis_ready_floor1_list(vorbis_floor1_entry * list, int values);
6c29d7c8
 unsigned int ff_vorbis_nth_root(unsigned int x, unsigned int n); // x^(1/n)
cf3ac543
 int ff_vorbis_len2vlc(uint8_t *bits, uint32_t *codes, unsigned num);
5e56b30e
 void ff_vorbis_floor1_render_list(vorbis_floor1_entry * list, int values,
0a6b1a9f
                                   uint16_t *y_list, int *flag,
5e56b30e
                                   int multiplier, float * out, int samples);
3da11804
 void vorbis_inverse_coupling(float *mag, float *ang, int blocksize);
6c29d7c8
 
 #define ilog(i) av_log2(2*(i))
9f963af5
 
98790382
 #endif /* AVCODEC_VORBIS_H */