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 31typedef struct On2AVCMode { 32 int num_windows; 33 int num_bands; 34 const int *band_start; 35} On2AVCMode; 36 37extern const On2AVCMode ff_on2avc_modes_40[8]; 38extern const On2AVCMode ff_on2avc_modes_44[8]; 39 40#define ON2AVC_SCALE_DIFFS 121 41extern const uint8_t ff_on2avc_scale_diff_syms[]; 42extern const uint8_t ff_on2avc_scale_diff_bits[]; 43 44extern const uint8_t ff_on2avc_cb_lens[]; 45extern const uint16_t ff_on2avc_cb_syms[]; 46extern const int ff_on2avc_cb_elems[]; 47 48extern const float ff_on2avc_window_long_32000[1024]; 49extern const float ff_on2avc_window_long_24000[1024]; 50extern const float ff_on2avc_window_short[128]; 51 52extern const double ff_on2avc_tab_10_1[]; 53extern const double ff_on2avc_tab_10_2[]; 54extern const double ff_on2avc_tab_20_1[]; 55extern const double ff_on2avc_tab_20_2[]; 56extern const double ff_on2avc_tab_40_1[]; 57extern const double ff_on2avc_tab_40_2[]; 58extern const double ff_on2avc_tab_84_1[]; 59extern const double ff_on2avc_tab_84_2[]; 60extern const double ff_on2avc_tab_84_3[]; 61extern const double ff_on2avc_tab_84_4[]; 62extern const double * const ff_on2avc_tabs_4_10_1[4]; 63extern const double * const ff_on2avc_tabs_4_10_2[4]; 64extern const double * const ff_on2avc_tabs_9_20_1[9]; 65extern const double * const ff_on2avc_tabs_9_20_2[9]; 66extern const double * const ff_on2avc_tabs_19_40_1[19]; 67extern const double * const ff_on2avc_tabs_19_40_2[19]; 68extern const double * const ff_on2avc_tabs_20_84_1[20]; 69extern const double * const ff_on2avc_tabs_20_84_2[20]; 70extern const double * const ff_on2avc_tabs_20_84_3[20]; 71extern const double * const ff_on2avc_tabs_20_84_4[20]; 72extern const float ff_on2avc_ctab_1[2048]; 73extern const float ff_on2avc_ctab_2[2048]; 74extern const float ff_on2avc_ctab_3[2048]; 75extern const float ff_on2avc_ctab_4[2048]; 76 77#endif /* AVCODEC_ON2AVCDATA_H */ 78