Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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_ON2AVC_DATA_H
  24. #define AVCODEC_ON2AVC_DATA_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_ON2AVC_DATA_H */
  83.