on2avcdata.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. #ifndef AVCODEC_ON2AVCDATA_H
  23. #define AVCODEC_ON2AVCDATA_H
  24. #include <stdint.h>
  25. #define ON2AVC_MAX_BANDS 112
  26. #define ON2AVC_ESC_CB 15
  27. typedef struct On2AVCMode {
  28. int num_windows;
  29. int num_bands;
  30. const int *band_start;
  31. } On2AVCMode;
  32. extern const On2AVCMode ff_on2avc_modes_40[8];
  33. extern const On2AVCMode ff_on2avc_modes_44[8];
  34. #define ON2AVC_SCALE_DIFFS 121
  35. extern const uint32_t ff_on2avc_scale_diff_codes[];
  36. extern const uint8_t ff_on2avc_scale_diff_bits[];
  37. extern const uint32_t * const ff_on2avc_quad_cb_codes[];
  38. extern const uint8_t * const ff_on2avc_quad_cb_bits[];
  39. extern const uint16_t * const ff_on2avc_quad_cb_syms[];
  40. extern const int ff_on2avc_quad_cb_elems[];
  41. extern const uint16_t * const ff_on2avc_pair_cb_codes[];
  42. extern const uint8_t * const ff_on2avc_pair_cb_bits[];
  43. extern const uint16_t * const ff_on2avc_pair_cb_syms[];
  44. extern const int ff_on2avc_pair_cb_elems[];
  45. extern const float ff_on2avc_window_long_32000[1024];
  46. extern const float ff_on2avc_window_long_24000[1024];
  47. extern const float ff_on2avc_window_short[128];
  48. extern const double ff_on2avc_tab_10_1[];
  49. extern const double ff_on2avc_tab_10_2[];
  50. extern const double ff_on2avc_tab_20_1[];
  51. extern const double ff_on2avc_tab_20_2[];
  52. extern const double ff_on2avc_tab_40_1[];
  53. extern const double ff_on2avc_tab_40_2[];
  54. extern const double ff_on2avc_tab_84_1[];
  55. extern const double ff_on2avc_tab_84_2[];
  56. extern const double ff_on2avc_tab_84_3[];
  57. extern const double ff_on2avc_tab_84_4[];
  58. extern const double * const ff_on2avc_tabs_4_10_1[4];
  59. extern const double * const ff_on2avc_tabs_4_10_2[4];
  60. extern const double * const ff_on2avc_tabs_9_20_1[9];
  61. extern const double * const ff_on2avc_tabs_9_20_2[9];
  62. extern const double * const ff_on2avc_tabs_19_40_1[19];
  63. extern const double * const ff_on2avc_tabs_19_40_2[19];
  64. extern const double * const ff_on2avc_tabs_20_84_1[20];
  65. extern const double * const ff_on2avc_tabs_20_84_2[20];
  66. extern const double * const ff_on2avc_tabs_20_84_3[20];
  67. extern const double * const ff_on2avc_tabs_20_84_4[20];
  68. extern const float ff_on2avc_ctab_1[2048];
  69. extern const float ff_on2avc_ctab_2[2048];
  70. extern const float ff_on2avc_ctab_3[2048];
  71. extern const float ff_on2avc_ctab_4[2048];
  72. #endif /* AVCODEC_ON2AVCDATA_H */