blob: 95d88e02524a2d23c2f210c9891aea7b9c8b0ad4
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 uint32_t ff_on2avc_scale_diff_codes[]; |
42 | extern const uint8_t ff_on2avc_scale_diff_bits[]; |
43 | |
44 | extern const uint32_t * const ff_on2avc_quad_cb_codes[]; |
45 | extern const uint8_t * const ff_on2avc_quad_cb_bits[]; |
46 | extern const uint16_t * const ff_on2avc_quad_cb_syms[]; |
47 | extern const int ff_on2avc_quad_cb_elems[]; |
48 | extern const uint16_t * const ff_on2avc_pair_cb_codes[]; |
49 | extern const uint8_t * const ff_on2avc_pair_cb_bits[]; |
50 | extern const uint16_t * const ff_on2avc_pair_cb_syms[]; |
51 | extern const int ff_on2avc_pair_cb_elems[]; |
52 | |
53 | extern const float ff_on2avc_window_long_32000[1024]; |
54 | extern const float ff_on2avc_window_long_24000[1024]; |
55 | extern const float ff_on2avc_window_short[128]; |
56 | |
57 | extern const double ff_on2avc_tab_10_1[]; |
58 | extern const double ff_on2avc_tab_10_2[]; |
59 | extern const double ff_on2avc_tab_20_1[]; |
60 | extern const double ff_on2avc_tab_20_2[]; |
61 | extern const double ff_on2avc_tab_40_1[]; |
62 | extern const double ff_on2avc_tab_40_2[]; |
63 | extern const double ff_on2avc_tab_84_1[]; |
64 | extern const double ff_on2avc_tab_84_2[]; |
65 | extern const double ff_on2avc_tab_84_3[]; |
66 | extern const double ff_on2avc_tab_84_4[]; |
67 | extern const double* const ff_on2avc_tabs_4_10_1[4]; |
68 | extern const double* const ff_on2avc_tabs_4_10_2[4]; |
69 | extern const double* const ff_on2avc_tabs_9_20_1[9]; |
70 | extern const double* const ff_on2avc_tabs_9_20_2[9]; |
71 | extern const double* const ff_on2avc_tabs_19_40_1[19]; |
72 | extern const double* const ff_on2avc_tabs_19_40_2[19]; |
73 | extern const double* const ff_on2avc_tabs_20_84_1[20]; |
74 | extern const double* const ff_on2avc_tabs_20_84_2[20]; |
75 | extern const double* const ff_on2avc_tabs_20_84_3[20]; |
76 | extern const double* const ff_on2avc_tabs_20_84_4[20]; |
77 | extern const float ff_on2avc_ctab_1[2048]; |
78 | extern const float ff_on2avc_ctab_2[2048]; |
79 | extern const float ff_on2avc_ctab_3[2048]; |
80 | extern const float ff_on2avc_ctab_4[2048]; |
81 | |
82 | #endif /* AVCODEC_ON2AVCDATA_H */ |
83 |