defaultcoefcounts.h 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. /*
  2. * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
  3. *
  4. * Use of this source code is governed by a BSD-style license
  5. * that can be found in the LICENSE file in the root of the source
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. #ifndef VPX_VP8_ENCODER_DEFAULTCOEFCOUNTS_H_
  11. #define VPX_VP8_ENCODER_DEFAULTCOEFCOUNTS_H_
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. /* Generated file, included by entropy.c */
  16. static const unsigned int default_coef_counts
  17. [BLOCK_TYPES][COEF_BANDS][PREV_COEF_CONTEXTS][MAX_ENTROPY_TOKENS] = {
  18. {
  19. /* Block Type ( 0 ) */
  20. {
  21. /* Coeff Band ( 0 ) */
  22. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  23. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  24. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  25. },
  26. {
  27. /* Coeff Band ( 1 ) */
  28. { 30190, 26544, 225, 24, 4, 0, 0, 0, 0, 0, 0, 4171593 },
  29. { 26846, 25157, 1241, 130, 26, 6, 1, 0, 0, 0, 0, 149987 },
  30. { 10484, 9538, 1006, 160, 36, 18, 0, 0, 0, 0, 0, 15104 },
  31. },
  32. {
  33. /* Coeff Band ( 2 ) */
  34. { 25842, 40456, 1126, 83, 11, 2, 0, 0, 0, 0, 0, 0 },
  35. { 9338, 8010, 512, 73, 7, 3, 2, 0, 0, 0, 0, 43294 },
  36. { 1047, 751, 149, 31, 13, 6, 1, 0, 0, 0, 0, 879 },
  37. },
  38. {
  39. /* Coeff Band ( 3 ) */
  40. { 26136, 9826, 252, 13, 0, 0, 0, 0, 0, 0, 0, 0 },
  41. { 8134, 5574, 191, 14, 2, 0, 0, 0, 0, 0, 0, 35302 },
  42. { 605, 677, 116, 9, 1, 0, 0, 0, 0, 0, 0, 611 },
  43. },
  44. {
  45. /* Coeff Band ( 4 ) */
  46. { 10263, 15463, 283, 17, 0, 0, 0, 0, 0, 0, 0, 0 },
  47. { 2773, 2191, 128, 9, 2, 2, 0, 0, 0, 0, 0, 10073 },
  48. { 134, 125, 32, 4, 0, 2, 0, 0, 0, 0, 0, 50 },
  49. },
  50. {
  51. /* Coeff Band ( 5 ) */
  52. { 10483, 2663, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
  53. { 2137, 1251, 27, 1, 1, 0, 0, 0, 0, 0, 0, 14362 },
  54. { 116, 156, 14, 2, 1, 0, 0, 0, 0, 0, 0, 190 },
  55. },
  56. {
  57. /* Coeff Band ( 6 ) */
  58. { 40977, 27614, 412, 28, 0, 0, 0, 0, 0, 0, 0, 0 },
  59. { 6113, 5213, 261, 22, 3, 0, 0, 0, 0, 0, 0, 26164 },
  60. { 382, 312, 50, 14, 2, 0, 0, 0, 0, 0, 0, 345 },
  61. },
  62. {
  63. /* Coeff Band ( 7 ) */
  64. { 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  65. { 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319 },
  66. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 },
  67. },
  68. },
  69. {
  70. /* Block Type ( 1 ) */
  71. {
  72. /* Coeff Band ( 0 ) */
  73. { 3268, 19382, 1043, 250, 93, 82, 49, 26, 17, 8, 25, 82289 },
  74. { 8758, 32110, 5436, 1832, 827, 668, 420, 153, 24, 0, 3, 52914 },
  75. { 9337, 23725, 8487, 3954, 2107, 1836, 1069, 399, 59, 0, 0,
  76. 18620 },
  77. },
  78. {
  79. /* Coeff Band ( 1 ) */
  80. { 12419, 8420, 452, 62, 9, 1, 0, 0, 0, 0, 0, 0 },
  81. { 11715, 8705, 693, 92, 15, 7, 2, 0, 0, 0, 0, 53988 },
  82. { 7603, 8585, 2306, 778, 270, 145, 39, 5, 0, 0, 0, 9136 },
  83. },
  84. {
  85. /* Coeff Band ( 2 ) */
  86. { 15938, 14335, 1207, 184, 55, 13, 4, 1, 0, 0, 0, 0 },
  87. { 7415, 6829, 1138, 244, 71, 26, 7, 0, 0, 0, 0, 9980 },
  88. { 1580, 1824, 655, 241, 89, 46, 10, 2, 0, 0, 0, 429 },
  89. },
  90. {
  91. /* Coeff Band ( 3 ) */
  92. { 19453, 5260, 201, 19, 0, 0, 0, 0, 0, 0, 0, 0 },
  93. { 9173, 3758, 213, 22, 1, 1, 0, 0, 0, 0, 0, 9820 },
  94. { 1689, 1277, 276, 51, 17, 4, 0, 0, 0, 0, 0, 679 },
  95. },
  96. {
  97. /* Coeff Band ( 4 ) */
  98. { 12076, 10667, 620, 85, 19, 9, 5, 0, 0, 0, 0, 0 },
  99. { 4665, 3625, 423, 55, 19, 9, 0, 0, 0, 0, 0, 5127 },
  100. { 415, 440, 143, 34, 20, 7, 2, 0, 0, 0, 0, 101 },
  101. },
  102. {
  103. /* Coeff Band ( 5 ) */
  104. { 12183, 4846, 115, 11, 1, 0, 0, 0, 0, 0, 0, 0 },
  105. { 4226, 3149, 177, 21, 2, 0, 0, 0, 0, 0, 0, 7157 },
  106. { 375, 621, 189, 51, 11, 4, 1, 0, 0, 0, 0, 198 },
  107. },
  108. {
  109. /* Coeff Band ( 6 ) */
  110. { 61658, 37743, 1203, 94, 10, 3, 0, 0, 0, 0, 0, 0 },
  111. { 15514, 11563, 903, 111, 14, 5, 0, 0, 0, 0, 0, 25195 },
  112. { 929, 1077, 291, 78, 14, 7, 1, 0, 0, 0, 0, 507 },
  113. },
  114. {
  115. /* Coeff Band ( 7 ) */
  116. { 0, 990, 15, 3, 0, 0, 0, 0, 0, 0, 0, 0 },
  117. { 0, 412, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1641 },
  118. { 0, 18, 7, 1, 0, 0, 0, 0, 0, 0, 0, 30 },
  119. },
  120. },
  121. {
  122. /* Block Type ( 2 ) */
  123. {
  124. /* Coeff Band ( 0 ) */
  125. { 953, 24519, 628, 120, 28, 12, 4, 0, 0, 0, 0, 2248798 },
  126. { 1525, 25654, 2647, 617, 239, 143, 42, 5, 0, 0, 0, 66837 },
  127. { 1180, 11011, 3001, 1237, 532, 448, 239, 54, 5, 0, 0, 7122 },
  128. },
  129. {
  130. /* Coeff Band ( 1 ) */
  131. { 1356, 2220, 67, 10, 4, 1, 0, 0, 0, 0, 0, 0 },
  132. { 1450, 2544, 102, 18, 4, 3, 0, 0, 0, 0, 0, 57063 },
  133. { 1182, 2110, 470, 130, 41, 21, 0, 0, 0, 0, 0, 6047 },
  134. },
  135. {
  136. /* Coeff Band ( 2 ) */
  137. { 370, 3378, 200, 30, 5, 4, 1, 0, 0, 0, 0, 0 },
  138. { 293, 1006, 131, 29, 11, 0, 0, 0, 0, 0, 0, 5404 },
  139. { 114, 387, 98, 23, 4, 8, 1, 0, 0, 0, 0, 236 },
  140. },
  141. {
  142. /* Coeff Band ( 3 ) */
  143. { 579, 194, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  144. { 395, 213, 5, 1, 0, 0, 0, 0, 0, 0, 0, 4157 },
  145. { 119, 122, 4, 0, 0, 0, 0, 0, 0, 0, 0, 300 },
  146. },
  147. {
  148. /* Coeff Band ( 4 ) */
  149. { 38, 557, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  150. { 21, 114, 12, 1, 0, 0, 0, 0, 0, 0, 0, 427 },
  151. { 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 },
  152. },
  153. {
  154. /* Coeff Band ( 5 ) */
  155. { 52, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  156. { 18, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652 },
  157. { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30 },
  158. },
  159. {
  160. /* Coeff Band ( 6 ) */
  161. { 640, 569, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  162. { 25, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 517 },
  163. { 4, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
  164. },
  165. {
  166. /* Coeff Band ( 7 ) */
  167. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  168. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  169. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  170. },
  171. },
  172. {
  173. /* Block Type ( 3 ) */
  174. {
  175. /* Coeff Band ( 0 ) */
  176. { 2506, 20161, 2707, 767, 261, 178, 107, 30, 14, 3, 0, 100694 },
  177. { 8806, 36478, 8817, 3268, 1280, 850, 401, 114, 42, 0, 0, 58572 },
  178. { 11003, 27214, 11798, 5716, 2482, 2072, 1048, 175, 32, 0, 0,
  179. 19284 },
  180. },
  181. {
  182. /* Coeff Band ( 1 ) */
  183. { 9738, 11313, 959, 205, 70, 18, 11, 1, 0, 0, 0, 0 },
  184. { 12628, 15085, 1507, 273, 52, 19, 9, 0, 0, 0, 0, 54280 },
  185. { 10701, 15846, 5561, 1926, 813, 570, 249, 36, 0, 0, 0, 6460 },
  186. },
  187. {
  188. /* Coeff Band ( 2 ) */
  189. { 6781, 22539, 2784, 634, 182, 123, 20, 4, 0, 0, 0, 0 },
  190. { 6263, 11544, 2649, 790, 259, 168, 27, 5, 0, 0, 0, 20539 },
  191. { 3109, 4075, 2031, 896, 457, 386, 158, 29, 0, 0, 0, 1138 },
  192. },
  193. {
  194. /* Coeff Band ( 3 ) */
  195. { 11515, 4079, 465, 73, 5, 14, 2, 0, 0, 0, 0, 0 },
  196. { 9361, 5834, 650, 96, 24, 8, 4, 0, 0, 0, 0, 22181 },
  197. { 4343, 3974, 1360, 415, 132, 96, 14, 1, 0, 0, 0, 1267 },
  198. },
  199. {
  200. /* Coeff Band ( 4 ) */
  201. { 4787, 9297, 823, 168, 44, 12, 4, 0, 0, 0, 0, 0 },
  202. { 3619, 4472, 719, 198, 60, 31, 3, 0, 0, 0, 0, 8401 },
  203. { 1157, 1175, 483, 182, 88, 31, 8, 0, 0, 0, 0, 268 },
  204. },
  205. {
  206. /* Coeff Band ( 5 ) */
  207. { 8299, 1226, 32, 5, 1, 0, 0, 0, 0, 0, 0, 0 },
  208. { 3502, 1568, 57, 4, 1, 1, 0, 0, 0, 0, 0, 9811 },
  209. { 1055, 1070, 166, 29, 6, 1, 0, 0, 0, 0, 0, 527 },
  210. },
  211. {
  212. /* Coeff Band ( 6 ) */
  213. { 27414, 27927, 1989, 347, 69, 26, 0, 0, 0, 0, 0, 0 },
  214. { 5876, 10074, 1574, 341, 91, 24, 4, 0, 0, 0, 0, 21954 },
  215. { 1571, 2171, 778, 324, 124, 65, 16, 0, 0, 0, 0, 979 },
  216. },
  217. {
  218. /* Coeff Band ( 7 ) */
  219. { 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  220. { 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459 },
  221. { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13 },
  222. },
  223. },
  224. };
  225. #ifdef __cplusplus
  226. } // extern "C"
  227. #endif
  228. #endif // VPX_VP8_ENCODER_DEFAULTCOEFCOUNTS_H_