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