1 /* 2 * On2 Audio for Video Codec decoder 3 * 4 * Copyright (c) 2013 Konstantin Shishkov 5 * 6 * This file is part of FFmpeg. 7 * 8 * FFmpeg is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * FFmpeg is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with FFmpeg; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 */ 22 23 #ifndef AVCODEC_ON2AVCDATA_H 24 #define AVCODEC_ON2AVCDATA_H 25 26 #include <stdint.h> 27 28 #define ON2AVC_MAX_BANDS 112 29 #define ON2AVC_ESC_CB 15 30 31 typedef struct On2AVCMode { 32 int num_windows; 33 int num_bands; 34 const int *band_start; 35 } On2AVCMode; 36 37 extern const On2AVCMode ff_on2avc_modes_40[8]; 38 extern const On2AVCMode ff_on2avc_modes_44[8]; 39 40 #define ON2AVC_SCALE_DIFFS 121 41 extern const uint8_t ff_on2avc_scale_diff_syms[]; 42 extern const uint8_t ff_on2avc_scale_diff_bits[]; 43 44 extern const uint8_t ff_on2avc_cb_lens[]; 45 extern const uint16_t ff_on2avc_cb_syms[]; 46 extern const int ff_on2avc_cb_elems[]; 47 48 extern const float ff_on2avc_window_long_32000[1024]; 49 extern const float ff_on2avc_window_long_24000[1024]; 50 extern const float ff_on2avc_window_short[128]; 51 52 extern const double ff_on2avc_tab_10_1[]; 53 extern const double ff_on2avc_tab_10_2[]; 54 extern const double ff_on2avc_tab_20_1[]; 55 extern const double ff_on2avc_tab_20_2[]; 56 extern const double ff_on2avc_tab_40_1[]; 57 extern const double ff_on2avc_tab_40_2[]; 58 extern const double ff_on2avc_tab_84_1[]; 59 extern const double ff_on2avc_tab_84_2[]; 60 extern const double ff_on2avc_tab_84_3[]; 61 extern const double ff_on2avc_tab_84_4[]; 62 extern const double * const ff_on2avc_tabs_4_10_1[4]; 63 extern const double * const ff_on2avc_tabs_4_10_2[4]; 64 extern const double * const ff_on2avc_tabs_9_20_1[9]; 65 extern const double * const ff_on2avc_tabs_9_20_2[9]; 66 extern const double * const ff_on2avc_tabs_19_40_1[19]; 67 extern const double * const ff_on2avc_tabs_19_40_2[19]; 68 extern const double * const ff_on2avc_tabs_20_84_1[20]; 69 extern const double * const ff_on2avc_tabs_20_84_2[20]; 70 extern const double * const ff_on2avc_tabs_20_84_3[20]; 71 extern const double * const ff_on2avc_tabs_20_84_4[20]; 72 extern const float ff_on2avc_ctab_1[2048]; 73 extern const float ff_on2avc_ctab_2[2048]; 74 extern const float ff_on2avc_ctab_3[2048]; 75 extern const float ff_on2avc_ctab_4[2048]; 76 77 #endif /* AVCODEC_ON2AVCDATA_H */ 78