LCOV - code coverage report
Current view: top level - third_party/aom/av1/common - entropymode.c (source / functions) Hit Total Coverage
Test: output.info Lines: 0 247 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 6 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2016, Alliance for Open Media. All rights reserved
       3             :  *
       4             :  * This source code is subject to the terms of the BSD 2 Clause License and
       5             :  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
       6             :  * was not distributed with this source code in the LICENSE file, you can
       7             :  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
       8             :  * Media Patent License 1.0 was not distributed with this source code in the
       9             :  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
      10             :  */
      11             : 
      12             : #include "aom_mem/aom_mem.h"
      13             : 
      14             : #include "av1/common/reconinter.h"
      15             : #include "av1/common/scan.h"
      16             : #include "av1/common/onyxc_int.h"
      17             : #include "av1/common/seg_common.h"
      18             : 
      19             : #if CONFIG_LV_MAP
      20             : const aom_prob default_txb_skip[TX_SIZES][TXB_SKIP_CONTEXTS] = {
      21             : #if CONFIG_CHROMA_2X2
      22             :   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
      23             : #endif
      24             :   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
      25             :   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
      26             :   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
      27             :   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
      28             : };
      29             : const aom_prob default_dc_sign[PLANE_TYPES][DC_SIGN_CONTEXTS] = {
      30             :   { 125, 102, 147 }, { 119, 101, 135 },
      31             : };
      32             : 
      33             : const aom_prob default_coeff_base
      34             :     [TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
      35             : #if CONFIG_CHROMA_2X2
      36             :       { // TX_2X2
      37             :         {
      38             :             { 73,  128, 131, 204, 165, 226, 169, 236, 18,  128, 51,
      39             :               153, 97,  179, 123, 201, 145, 226, 20,  128, 59,  153,
      40             :               107, 181, 129, 201, 142, 226, 3,   128, 19,  99,  46,
      41             :               135, 92,  166, 129, 190, 157, 217, 128, 128 },
      42             : 
      43             :             { 128, 128, 178, 218, 192, 236, 186, 243, 55,  128, 110,
      44             :               183, 151, 205, 168, 221, 180, 238, 65,  128, 116, 178,
      45             :               157, 206, 172, 222, 183, 238, 24,  128, 65,  127, 104,
      46             :               164, 154, 195, 187, 216, 205, 230, 128, 128 },
      47             :         },
      48             :         {
      49             :             { 73,  128, 131, 204, 165, 226, 169, 236, 18,  128, 51,
      50             :               153, 97,  179, 123, 201, 145, 226, 20,  128, 59,  153,
      51             :               107, 181, 129, 201, 142, 226, 3,   128, 19,  99,  46,
      52             :               135, 92,  166, 129, 190, 157, 217, 128, 128 },
      53             : 
      54             :             { 128, 128, 178, 218, 192, 236, 186, 243, 55,  128, 110,
      55             :               183, 151, 205, 168, 221, 180, 238, 65,  128, 116, 178,
      56             :               157, 206, 172, 222, 183, 238, 24,  128, 65,  127, 104,
      57             :               164, 154, 195, 187, 216, 205, 230, 128, 128 },
      58             :         } },
      59             : #endif
      60             :       { // TX_4X4
      61             :         {
      62             :             // PLANE_Y
      63             :             { 73,  128, 131, 204, 165, 226, 169, 236, 18,  128, 51,
      64             :               153, 97,  179, 123, 201, 145, 226, 20,  128, 59,  153,
      65             :               107, 181, 129, 201, 142, 226, 3,   128, 19,  99,  46,
      66             :               135, 92,  166, 129, 190, 157, 217, 128, 128 },
      67             : 
      68             :             { 128, 128, 178, 218, 192, 236, 186, 243, 55,  128, 110,
      69             :               183, 151, 205, 168, 221, 180, 238, 65,  128, 116, 178,
      70             :               157, 206, 172, 222, 183, 238, 24,  128, 65,  127, 104,
      71             :               164, 154, 195, 187, 216, 205, 230, 128, 128 },
      72             :         },
      73             :         {
      74             :             // PLANE_UV
      75             :             { 47,  128, 100, 176, 140, 207, 150, 223, 11,  128, 35,
      76             :               133, 79,  165, 115, 186, 129, 210, 8,   128, 30,  114,
      77             :               80,  159, 116, 187, 146, 214, 2,   128, 9,   59,  28,
      78             :               86,  71,  131, 117, 165, 149, 188, 128, 128 },
      79             : 
      80             :             { 83,  128, 152, 205, 168, 227, 192, 238, 42,  128, 92,
      81             :               169, 138, 193, 165, 209, 128, 206, 36,  128, 86,  159,
      82             :               141, 198, 181, 213, 102, 223, 18,  128, 50,  132, 90,
      83             :               144, 141, 169, 180, 191, 128, 217, 128, 128 },
      84             :         } },
      85             :       {
      86             :           // TX_8X8
      87             :           {
      88             :               // PLANE_Y
      89             :               { 82,  128, 143, 203, 177, 225, 186, 237, 7,   128, 37,
      90             :                 109, 78,  151, 110, 182, 139, 213, 25,  128, 51,  115,
      91             :                 86,  146, 111, 175, 125, 205, 3,   128, 12,  55,  32,
      92             :                 78,  63,  111, 96,  148, 123, 185, 146, 206 },
      93             : 
      94             :               { 136, 128, 182, 220, 201, 236, 205, 243, 46,  128, 101,
      95             :                 164, 147, 194, 170, 218, 177, 234, 62,  128, 104, 146,
      96             :                 143, 183, 165, 207, 183, 228, 30,  128, 60,  95,  95,
      97             :                 128, 135, 163, 166, 196, 175, 219, 192, 231 },
      98             :           },
      99             :           {
     100             :               // PLANE_UV
     101             :               { 47,  128, 112, 189, 164, 202, 163, 218, 8,   128, 32,
     102             :                 110, 68,  151, 102, 179, 134, 195, 5,   128, 22,  76,
     103             :                 54,  103, 80,  146, 101, 182, 1,   128, 5,   39,  17,
     104             :                 53,  46,  93,  79,  127, 112, 161, 64,  195 },
     105             : 
     106             :               { 90,  128, 156, 210, 183, 225, 128, 236, 39,  128, 98,
     107             :                 164, 146, 201, 209, 219, 171, 208, 32,  128, 68,  123,
     108             :                 119, 169, 154, 184, 128, 213, 15,  128, 38,  111, 83,
     109             :                 112, 120, 163, 180, 170, 154, 213, 128, 205 },
     110             :           },
     111             :       },
     112             : 
     113             :       {
     114             :           // TX_16X16
     115             :           {
     116             :               // PLANE_Y
     117             :               { 96,  128, 169, 218, 208, 233, 187, 244, 10,  128, 34,
     118             :                 101, 82,  153, 113, 184, 137, 212, 6,   128, 34,  104,
     119             :                 81,  145, 109, 176, 147, 202, 1,   128, 3,   43,  15,
     120             :                 53,  43,  89,  79,  129, 108, 168, 110, 194 },
     121             : 
     122             :               { 156, 128, 206, 232, 218, 240, 128, 251, 39,  128, 108,
     123             :                 161, 156, 202, 187, 216, 179, 234, 40,  128, 103, 152,
     124             :                 144, 185, 159, 208, 205, 227, 14,  128, 39,  84,  76,
     125             :                 110, 121, 151, 157, 187, 201, 206, 64,  216 },
     126             :           },
     127             :           {
     128             :               // PLANE_UV
     129             :               { 42, 128, 139, 211, 180, 230, 199, 238, 3,   128, 32,
     130             :                 96, 69,  145, 102, 186, 117, 212, 4,   128, 25,  72,
     131             :                 55, 111, 81,  159, 116, 198, 1,   128, 4,   22,  16,
     132             :                 34, 35,  68,  63,  116, 89,  165, 102, 199 },
     133             : 
     134             :               { 135, 128, 193, 227, 182, 239, 128, 246, 42,  128, 115,
     135             :                 156, 146, 203, 188, 216, 128, 229, 32,  128, 82,  127,
     136             :                 120, 178, 165, 203, 213, 229, 11,  128, 32,  73,  79,
     137             :                 111, 129, 158, 162, 187, 156, 209, 85,  222 },
     138             :           },
     139             :       },
     140             : 
     141             :       {
     142             :           // TX_32X32
     143             :           {
     144             :               // PLANE_Y
     145             :               { 97,  128, 163, 232, 191, 246, 219, 252, 3,   128, 41,
     146             :                 108, 91,  147, 104, 183, 118, 225, 6,   128, 45,  91,
     147             :                 83,  125, 92,  160, 99,  215, 1,   128, 11,  36,  28,
     148             :                 46,  43,  59,  57,  86,  73,  145, 91,  210 },
     149             : 
     150             :               { 127, 128, 201, 239, 247, 248, 128, 254, 40,  128, 103,
     151             :                 152, 158, 199, 186, 225, 181, 242, 38,  128, 92,  112,
     152             :                 146, 189, 162, 217, 112, 239, 17,  128, 30,  47,  63,
     153             :                 89,  113, 146, 147, 187, 168, 217, 150, 233 },
     154             :           },
     155             :           {
     156             :               // PLANE_UV
     157             :               { 65,  128, 155, 223, 166, 235, 154, 244, 15,  128, 57,
     158             :                 154, 110, 199, 159, 224, 149, 239, 9,   128, 57,  140,
     159             :                 97,  185, 148, 218, 176, 236, 1,   128, 3,   43,  19,
     160             :                 42,  64,  98,  117, 167, 154, 199, 128, 158 },
     161             : 
     162             :               { 130, 128, 189, 231, 171, 247, 128, 246, 63,  128, 132,
     163             :                 222, 186, 224, 199, 244, 128, 247, 55,  128, 113, 211,
     164             :                 164, 230, 225, 243, 128, 239, 7,   128, 31,  102, 106,
     165             :                 138, 147, 183, 171, 223, 171, 224, 128, 128 },
     166             :           },
     167             :       },
     168             :     };
     169             : 
     170             : const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] = {
     171             : #if CONFIG_CHROMA_2X2
     172             :   {
     173             :       { 34, 103, 61, 106, 62,  160, 112, 54, 173, 121,
     174             :         75, 157, 92, 75,  157, 129, 94,  65, 52,  37 },
     175             :       { 52,  124, 84,  136, 107, 197, 161, 82, 183, 151,
     176             :         109, 153, 140, 103, 152, 134, 109, 81, 69,  50 },
     177             :   },
     178             : #endif
     179             :   {
     180             :       { 34, 103, 61, 106, 62,  160, 112, 54, 173, 121,
     181             :         75, 157, 92, 75,  157, 129, 94,  65, 52,  37 },
     182             :       { 52,  124, 84,  136, 107, 197, 161, 82, 183, 151,
     183             :         109, 153, 140, 103, 152, 134, 109, 81, 69,  50 },
     184             :   },
     185             :   {
     186             :       { 34, 127, 74,  124, 74,  204, 153, 76,  226, 162,
     187             :         92, 207, 126, 91,  227, 192, 149, 108, 85,  55 },
     188             :       { 43,  136, 115, 158, 130, 212, 187, 112, 231, 180,
     189             :         130, 202, 164, 130, 236, 204, 168, 139, 112, 114 },
     190             :   },
     191             :   {
     192             :       { 25,  117, 70,  120, 77,  215, 171, 102, 234, 156,
     193             :         105, 235, 155, 109, 247, 220, 176, 127, 92,  72 },
     194             :       { 24,  88,  49,  100, 62,  202, 148, 62,  237, 178,
     195             :         102, 233, 168, 105, 244, 198, 162, 127, 103, 71 },
     196             :   },
     197             :   {
     198             :       { 11, 54,  17,  69, 26,  128, 125, 56,  232, 130,
     199             :         60, 237, 121, 66, 250, 168, 134, 114, 93,  53 },
     200             :       { 21, 52,  32,  95,  64,  171, 152, 70,  247, 159,
     201             :         81, 252, 177, 100, 252, 221, 192, 143, 195, 146 },
     202             :   },
     203             : };
     204             : 
     205             : const aom_prob default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
     206             : #if CONFIG_CHROMA_2X2
     207             :   {
     208             :       { 229, 236, 231, 222, 239, 236, 214, 201, 236, 226, 195, 134, 228,
     209             :         210, 150, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
     210             :       { 182, 186, 172, 176, 207, 213, 152, 122, 187, 171, 131, 65, 170,
     211             :         134, 101, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
     212             :   },
     213             : #endif
     214             :   {
     215             :       { 229, 236, 231, 222, 239, 236, 214, 201, 236, 226, 195, 134, 228,
     216             :         210, 150, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
     217             :       { 182, 186, 172, 176, 207, 213, 152, 122, 187, 171, 131, 65, 170,
     218             :         134, 101, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
     219             :   },
     220             :   {
     221             :       { 225, 234, 244, 236, 205, 242, 246, 247, 246, 234, 191, 242, 237,
     222             :         215, 142, 224, 206, 142, 73,  128, 128, 128, 128, 128, 128 },
     223             :       { 154, 171, 187, 175, 62,  199, 202, 206, 215, 200, 111, 197, 199,
     224             :         174, 100, 135, 105, 104, 45,  128, 128, 128, 128, 128, 128 },
     225             :   },
     226             :   {
     227             :       { 180, 213, 216, 229, 233, 232, 240, 235, 220, 178, 239, 238, 225,
     228             :         187, 229, 214, 226, 200, 183, 141, 158, 179, 128, 128, 128 },
     229             :       { 190, 225, 234, 248, 249, 248, 253, 251, 232, 110, 254, 252, 236,
     230             :         57,  253, 248, 232, 85,  244, 189, 112, 64,  128, 128, 128 },
     231             :   },
     232             :   {
     233             :       { 248, 224, 246, 244, 239, 245, 251, 246, 251, 255, 255, 255, 249,
     234             :         255, 255, 255, 229, 255, 255, 255, 228, 255, 255, 247, 137 },
     235             :       { 204, 207, 233, 215, 193, 228, 239, 221, 227, 250, 236, 207, 135,
     236             :         236, 186, 182, 57,  209, 140, 128, 85,  184, 110, 128, 128 },
     237             :   },
     238             : };
     239             : 
     240             : const aom_prob default_coeff_lps[TX_SIZES][PLANE_TYPES][LEVEL_CONTEXTS] = {
     241             : #if CONFIG_CHROMA_2X2
     242             :   {
     243             :       { 164, 128, 134, 165, 128, 137, 168, 128, 97,  136, 167, 128,
     244             :         182, 205, 143, 172, 200, 145, 173, 193, 103, 137, 170, 191,
     245             :         198, 214, 162, 187, 209, 162, 187, 207, 128, 156, 183, 201,
     246             :         219, 230, 204, 210, 225, 201, 209, 225, 187, 190, 203, 214 },
     247             :       { 106, 128, 98,  126, 128, 87,  122, 128, 54,  89,  131, 128,
     248             :         142, 180, 123, 154, 189, 115, 149, 175, 79,  115, 157, 182,
     249             :         175, 197, 147, 174, 199, 145, 174, 201, 89,  135, 173, 194,
     250             :         212, 222, 206, 203, 223, 188, 201, 220, 128, 144, 202, 206 },
     251             :   },
     252             : #endif
     253             :   {
     254             :       { 164, 128, 134, 165, 128, 137, 168, 128, 97,  136, 167, 128,
     255             :         182, 205, 143, 172, 200, 145, 173, 193, 103, 137, 170, 191,
     256             :         198, 214, 162, 187, 209, 162, 187, 207, 128, 156, 183, 201,
     257             :         219, 230, 204, 210, 225, 201, 209, 225, 187, 190, 203, 214 },
     258             :       { 106, 128, 98,  126, 128, 87,  122, 128, 54,  89,  131, 128,
     259             :         142, 180, 123, 154, 189, 115, 149, 175, 79,  115, 157, 182,
     260             :         175, 197, 147, 174, 199, 145, 174, 201, 89,  135, 173, 194,
     261             :         212, 222, 206, 203, 223, 188, 201, 220, 128, 144, 202, 206 },
     262             :   },
     263             :   {
     264             :       { 171, 128, 123, 169, 128, 121, 165, 128, 82,  125, 168, 128,
     265             :         191, 213, 143, 177, 199, 136, 170, 194, 95,  135, 171, 195,
     266             :         206, 222, 166, 191, 212, 154, 184, 207, 115, 149, 180, 204,
     267             :         223, 237, 196, 215, 231, 186, 209, 228, 158, 178, 201, 222 },
     268             :       { 115, 128, 115, 146, 128, 91,  147, 128, 55,  93,  139, 128,
     269             :         147, 190, 141, 176, 201, 123, 156, 173, 68,  114, 156, 195,
     270             :         186, 205, 153, 191, 214, 141, 179, 205, 107, 132, 166, 184,
     271             :         215, 225, 200, 212, 230, 102, 207, 222, 128, 119, 200, 212 },
     272             :   },
     273             :   {
     274             :       { 185, 128, 134, 198, 128, 128, 195, 128, 58,  110, 162, 128,
     275             :         208, 227, 154, 196, 206, 144, 188, 209, 83,  130, 168, 198,
     276             :         219, 232, 167, 205, 222, 158, 196, 216, 107, 143, 178, 204,
     277             :         233, 244, 202, 226, 238, 191, 217, 234, 153, 178, 200, 223 },
     278             :       { 160, 128, 154, 197, 128, 129, 178, 128, 53,  112, 157, 128,
     279             :         185, 214, 169, 196, 221, 134, 179, 186, 82,  131, 168, 194,
     280             :         204, 220, 176, 209, 221, 173, 194, 209, 107, 154, 181, 203,
     281             :         230, 241, 202, 226, 237, 185, 223, 234, 162, 187, 203, 222 },
     282             :   },
     283             :   {
     284             :       { 177, 128, 165, 226, 128, 152, 219, 128, 45,  129, 188, 128,
     285             :         198, 218, 179, 220, 228, 163, 214, 220, 72,  134, 181, 206,
     286             :         216, 225, 177, 218, 231, 158, 213, 223, 112, 150, 185, 210,
     287             :         245, 251, 204, 234, 247, 195, 231, 243, 163, 186, 213, 235 },
     288             :       { 161, 128, 174, 205, 128, 146, 182, 128, 59,  125, 179, 128,
     289             :         183, 208, 199, 220, 239, 184, 213, 217, 71,  141, 196, 217,
     290             :         213, 219, 215, 230, 237, 171, 224, 238, 112, 173, 193, 221,
     291             :         239, 246, 168, 243, 249, 93,  241, 247, 128, 195, 216, 233 },
     292             :   },
     293             : };
     294             : #endif  // CONFIG_LV_MAP
     295             : 
     296             : #if CONFIG_ALT_INTRA
     297             : #if CONFIG_SMOOTH_HV
     298             : const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = {
     299             :   {
     300             :       // above = dc
     301             :       { 111, 28, 44, 99, 166, 154, 28, 28, 27, 45, 134, 109 },    // left = dc
     302             :       { 82, 31, 102, 75, 117, 135, 33, 34, 21, 31, 134, 149 },    // left = v
     303             :       { 40, 29, 14, 161, 235, 180, 14, 12, 34, 52, 128, 69 },     // left = h
     304             :       { 98, 19, 36, 74, 137, 153, 49, 35, 25, 61, 137, 106 },     // left = d45
     305             :       { 59, 11, 25, 128, 47, 162, 29, 20, 53, 38, 143, 117 },     // left = d135
     306             :       { 86, 20, 51, 160, 39, 101, 69, 101, 112, 154, 158, 145 },  // left = d117
     307             :       { 49, 10, 17, 112, 98, 206, 16, 11, 104, 44, 138, 88 },     // left = d153
     308             :       { 64, 14, 22, 80, 170, 168, 19, 15, 26, 101, 137, 90 },     // left = d207
     309             :       { 84, 21, 31, 62, 110, 135, 40, 57, 22, 45, 143, 130 },     // left = d63
     310             :       { 58, 16, 31, 60, 154, 225, 17, 23, 19, 30, 138, 113 },  // left = smooth
     311             :       { 51, 19, 46, 64, 148, 209, 18, 28, 17, 25, 137,
     312             :         149 },                                                // left = smooth_v
     313             :       { 68, 15, 26, 61, 175, 233, 17, 17, 19, 29, 135, 76 },  // left = smooth_h
     314             :       { 49, 61, 41, 113, 203, 158, 26, 26, 29, 55, 123, 99 },  // left = tm
     315             :   },
     316             :   {
     317             :       // above = v
     318             :       { 31, 26, 135, 81, 100, 82, 13, 40, 14, 18, 131, 182 },    // left = dc
     319             :       { 24, 27, 175, 53, 93, 85, 17, 40, 5, 14, 119, 195 },      // left = v
     320             :       { 20, 34, 71, 97, 209, 133, 15, 24, 14, 28, 138, 129 },    // left = h
     321             :       { 54, 19, 88, 55, 102, 103, 39, 45, 8, 44, 134, 167 },     // left = d45
     322             :       { 23, 16, 93, 101, 33, 119, 23, 41, 26, 22, 136, 168 },    // left = d135
     323             :       { 34, 17, 130, 149, 30, 72, 43, 129, 66, 100, 143, 192 },  // left = d117
     324             :       { 23, 17, 83, 85, 63, 158, 16, 30, 64, 28, 145, 146 },     // left = d153
     325             :       { 33, 17, 85, 60, 136, 115, 21, 32, 15, 59, 134, 155 },    // left = d207
     326             :       { 40, 20, 103, 53, 66, 84, 26, 72, 9, 29, 134, 177 },      // left = d63
     327             :       { 22, 18, 112, 41, 138, 192, 12, 30, 9, 16, 131, 178 },  // left = smooth
     328             :       { 20, 20, 125, 39, 137, 179, 11, 28, 7, 12, 123,
     329             :         199 },  // left = smooth_v
     330             :       { 26, 19, 111, 46, 160, 201, 13, 29, 8, 17, 132,
     331             :         156 },  // left = smooth_h
     332             :       { 20, 35, 138, 62, 162, 107, 21, 36, 9, 24, 125, 181 },  // left = tm
     333             :   },
     334             :   {
     335             :       // above = h
     336             :       { 89, 27, 21, 136, 218, 175, 20, 19, 35, 56, 134, 96 },    // left = dc
     337             :       { 63, 37, 67, 117, 190, 160, 22, 29, 20, 45, 137, 137 },   // left = v
     338             :       { 34, 23, 7, 177, 245, 207, 13, 9, 30, 73, 125, 63 },      // left = h
     339             :       { 84, 29, 20, 83, 184, 182, 38, 25, 34, 86, 134, 106 },    // left = d45
     340             :       { 65, 19, 19, 119, 109, 177, 27, 19, 56, 56, 141, 103 },   // left = d135
     341             :       { 88, 25, 46, 152, 102, 130, 70, 61, 96, 157, 130, 102 },  // left = d117
     342             :       { 51, 11, 10, 108, 168, 216, 14, 9, 93, 58, 132, 79 },     // left = d153
     343             :       { 53, 15, 9, 103, 224, 192, 20, 13, 23, 122, 135, 80 },    // left = d207
     344             :       { 64, 30, 19, 90, 171, 176, 24, 44, 23, 56, 144, 121 },    // left = d63
     345             :       { 46, 20, 17, 94, 214, 234, 14, 15, 23, 38, 132, 98 },  // left = smooth
     346             :       { 41, 27, 22, 102, 214, 229, 13, 17, 18, 35, 133,
     347             :         137 },                                                // left = smooth_v
     348             :       { 52, 17, 14, 95, 224, 241, 14, 11, 24, 38, 133, 62 },  // left = smooth_h
     349             :       { 35, 43, 21, 148, 234, 188, 22, 17, 27, 47, 133, 100 },  // left = tm
     350             :   },
     351             :   {
     352             :       // above = d45
     353             :       { 80, 14, 31, 74, 129, 146, 52, 50, 29, 50, 138, 110 },   // left = dc
     354             :       { 59, 16, 84, 52, 106, 121, 63, 60, 20, 40, 143, 150 },   // left = v
     355             :       { 41, 19, 16, 118, 216, 168, 36, 27, 24, 62, 136, 69 },   // left = h
     356             :       { 86, 11, 11, 37, 168, 158, 113, 53, 8, 99, 140, 121 },   // left = d45
     357             :       { 49, 8, 24, 94, 49, 139, 48, 45, 40, 53, 134, 131 },     // left = d135
     358             :       { 58, 11, 36, 127, 45, 97, 90, 143, 91, 180, 153, 146 },  // left = d117
     359             :       { 39, 9, 14, 93, 97, 187, 32, 26, 66, 57, 134, 106 },     // left = d153
     360             :       { 75, 8, 26, 68, 135, 154, 51, 30, 17, 113, 144, 83 },    // left = d207
     361             :       { 77, 13, 18, 46, 146, 143, 81, 102, 18, 59, 142, 143 },  // left = d63
     362             :       { 49, 13, 31, 47, 142, 218, 46, 42, 19, 46, 146, 120 },   // left = smooth
     363             :       { 46, 15, 35, 47, 132, 206, 47, 50, 18, 37, 143,
     364             :         147 },                                                // left = smooth_v
     365             :       { 54, 11, 25, 54, 157, 229, 43, 34, 20, 44, 136, 99 },  // left = smooth_h
     366             :       { 40, 26, 41, 72, 176, 145, 78, 51, 27, 59, 133, 121 },  // left = tm
     367             :   },
     368             :   {
     369             :       // above = d135
     370             :       { 57, 10, 21, 118, 61, 178, 16, 20, 65, 52, 145, 125 },   // left = dc
     371             :       { 56, 15, 48, 107, 58, 153, 20, 32, 42, 35, 143, 162 },   // left = v
     372             :       { 28, 19, 8, 132, 172, 184, 14, 14, 45, 55, 140, 79 },    // left = h
     373             :       { 58, 13, 15, 73, 66, 177, 61, 24, 30, 72, 143, 122 },    // left = d45
     374             :       { 35, 5, 13, 150, 20, 187, 19, 21, 66, 38, 144, 130 },    // left = d135
     375             :       { 57, 9, 30, 173, 28, 133, 38, 71, 156, 140, 156, 173 },  // left = d117
     376             :       { 30, 6, 9, 121, 54, 207, 16, 20, 110, 62, 151, 94 },     // left = d153
     377             :       { 51, 9, 15, 88, 96, 188, 22, 18, 40, 95, 140, 98 },      // left = d207
     378             :       { 56, 12, 21, 82, 53, 140, 30, 37, 32, 47, 145, 149 },    // left = d63
     379             :       { 43, 12, 21, 83, 84, 222, 14, 23, 31, 35, 143, 127 },    // left = smooth
     380             :       { 41, 12, 25, 81, 75, 210, 16, 29, 29, 29, 141, 154 },  // left = smooth_v
     381             :       { 42, 11, 19, 81, 109, 226, 17, 20, 34, 36, 143,
     382             :         110 },  // left = smooth_h
     383             :       { 36, 26, 27, 107, 132, 151, 24, 28, 38, 46, 140, 127 },  // left = tm
     384             :   },
     385             :   {
     386             :       // above = d117
     387             :       { 52, 15, 58, 191, 40, 95, 38, 78, 98, 140, 152, 175 },    // left = dc
     388             :       { 50, 16, 85, 186, 28, 84, 41, 105, 65, 119, 158, 206 },   // left = v
     389             :       { 30, 23, 30, 179, 122, 124, 38, 47, 68, 140, 161, 102 },  // left = h
     390             :       { 75, 15, 47, 120, 49, 127, 63, 86, 54, 204, 175, 185 },   // left = d45
     391             :       { 36, 9, 37, 198, 15, 120, 56, 78, 104, 151, 155, 165 },   // left = d135
     392             :       { 38, 9, 54, 198, 12, 75, 47, 92, 71, 130, 170, 201 },     // left = d117
     393             :       { 31, 13, 33, 167, 46, 144, 32, 59, 124, 151, 162, 128 },  // left = d153
     394             :       { 47, 15, 43, 123, 70, 129, 49, 72, 48, 175, 163, 125 },   // left = d207
     395             :       { 61, 19, 62, 141, 35, 116, 55, 117, 51, 162, 150, 201 },  // left = d63
     396             :       { 22, 17, 34, 105, 41, 101, 20, 34, 26, 39, 146, 157 },  // left = smooth
     397             :       { 19, 14, 37, 116, 33, 91, 23, 38, 17, 36, 137, 178 },  // left = smooth_v
     398             :       { 25, 17, 35, 102, 59, 118, 23, 28, 30, 43, 147,
     399             :         148 },  // left = smooth_h
     400             :       { 35, 24, 62, 164, 95, 103, 47, 94, 65, 115, 186, 128 },  // left = tm
     401             :   },
     402             :   {
     403             :       // above = d153
     404             :       { 75, 12, 17, 101, 150, 177, 14, 13, 101, 55, 141, 104 },  // left = dc
     405             :       { 69, 19, 46, 91, 133, 167, 19, 22, 72, 41, 133, 143 },    // left = v
     406             :       { 30, 12, 6, 132, 209, 214, 10, 8, 75, 78, 137, 70 },      // left = h
     407             :       { 77, 16, 12, 85, 120, 203, 35, 17, 69, 66, 137, 96 },     // left = d45
     408             :       { 51, 8, 11, 119, 58, 178, 20, 17, 90, 51, 145, 92 },      // left = d135
     409             :       { 76, 8, 24, 144, 48, 128, 37, 46, 173, 153, 159, 111 },   // left = d117
     410             :       { 40, 6, 6, 87, 112, 213, 7, 7, 152, 54, 141, 84 },        // left = d153
     411             :       { 46, 6, 7, 78, 161, 195, 15, 11, 66, 97, 137, 83 },       // left = d207
     412             :       { 81, 17, 17, 82, 97, 187, 26, 34, 54, 60, 154, 128 },     // left = d63
     413             :       { 47, 10, 16, 74, 138, 233, 13, 17, 59, 42, 143, 106 },  // left = smooth
     414             :       { 45, 12, 17, 76, 141, 227, 14, 16, 56, 43, 141,
     415             :         135 },                                                // left = smooth_v
     416             :       { 55, 10, 13, 69, 162, 238, 11, 11, 59, 45, 133, 73 },  // left = smooth_h
     417             :       { 44, 23, 19, 110, 176, 165, 16, 19, 68, 59, 131, 89 },  // left = tm
     418             :   },
     419             :   {
     420             :       // above = d207
     421             :       { 86, 15, 26, 87, 166, 178, 27, 25, 27, 75, 145, 108 },   // left = dc
     422             :       { 71, 27, 62, 70, 126, 142, 29, 34, 17, 69, 141, 144 },   // left = v
     423             :       { 48, 21, 11, 130, 231, 196, 24, 19, 27, 82, 133, 72 },   // left = h
     424             :       { 82, 21, 14, 54, 128, 188, 55, 38, 19, 111, 148, 119 },  // left = d45
     425             :       { 57, 11, 17, 78, 83, 171, 43, 31, 37, 58, 143, 100 },    // left = d135
     426             :       { 76, 16, 44, 115, 77, 130, 78, 79, 82, 178, 132, 123 },  // left = d117
     427             :       { 50, 12, 11, 82, 133, 207, 27, 20, 67, 79, 138, 87 },    // left = d153
     428             :       { 77, 9, 13, 44, 174, 169, 26, 13, 9, 167, 135, 90 },     // left = d207
     429             :       { 70, 16, 18, 57, 117, 167, 43, 46, 17, 70, 150, 116 },   // left = d63
     430             :       { 56, 13, 18, 60, 170, 236, 24, 19, 18, 59, 139, 105 },   // left = smooth
     431             :       { 50, 17, 26, 60, 165, 234, 24, 20, 15, 53, 134,
     432             :         136 },                                                // left = smooth_v
     433             :       { 57, 11, 16, 62, 188, 239, 23, 15, 18, 57, 134, 79 },  // left = smooth_h
     434             :       { 49, 31, 24, 78, 194, 184, 45, 27, 19, 81, 138, 102 },  // left = tm
     435             :   },
     436             :   {
     437             :       // above = d63
     438             :       { 53, 13, 46, 61, 109, 116, 40, 83, 19, 31, 141, 150 },   // left = dc
     439             :       { 45, 14, 75, 40, 79, 102, 48, 118, 14, 23, 138, 174 },   // left = v
     440             :       { 34, 14, 24, 98, 214, 128, 33, 54, 18, 51, 138, 103 },   // left = h
     441             :       { 74, 11, 26, 37, 127, 154, 75, 89, 11, 61, 146, 125 },   // left = d45
     442             :       { 35, 9, 26, 68, 55, 128, 53, 74, 21, 33, 138, 132 },     // left = d135
     443             :       { 47, 9, 55, 108, 39, 105, 64, 193, 71, 127, 141, 193 },  // left = d117
     444             :       { 35, 9, 22, 66, 79, 172, 34, 64, 57, 44, 139, 112 },     // left = d153
     445             :       { 54, 7, 26, 48, 136, 139, 48, 60, 15, 82, 144, 116 },    // left = d207
     446             :       { 60, 9, 30, 25, 106, 127, 64, 143, 14, 42, 140, 165 },   // left = d63
     447             :       { 39, 11, 35, 40, 136, 212, 34, 67, 12, 28, 145, 150 },   // left = smooth
     448             :       { 37, 12, 45, 36, 128, 190, 34, 80, 8, 23, 138, 165 },  // left = smooth_v
     449             :       { 45, 9, 37, 46, 152, 196, 36, 58, 14, 29, 145, 127 },  // left = smooth_h
     450             :       { 35, 17, 53, 48, 159, 101, 53, 104, 15, 36, 132, 152 },  // left = tm
     451             :   },
     452             :   {
     453             :       // above = smooth
     454             :       { 58, 12, 33, 66, 168, 219, 13, 21, 16, 27, 137, 113 },  // left = dc
     455             :       { 42, 20, 78, 51, 139, 216, 16, 27, 11, 18, 134, 160 },  // left = v
     456             :       { 28, 17, 16, 118, 236, 231, 13, 14, 16, 41, 132, 77 },  // left = h
     457             :       { 58, 12, 23, 47, 138, 238, 39, 31, 16, 63, 142, 125 },  // left = d45
     458             :       { 44, 9, 27, 76, 80, 220, 21, 27, 27, 30, 142, 122 },    // left = d135
     459             :       { 30, 13, 38, 96, 47, 111, 26, 40, 31, 40, 146, 146 },   // left = d117
     460             :       { 42, 9, 19, 70, 127, 234, 15, 18, 53, 39, 138, 97 },    // left = d153
     461             :       { 44, 10, 20, 57, 186, 229, 15, 18, 15, 80, 141, 97 },   // left = d207
     462             :       { 51, 13, 33, 46, 123, 225, 23, 46, 15, 34, 143, 132 },  // left = d63
     463             :       { 42, 11, 29, 49, 154, 226, 13, 20, 12, 27, 139, 117 },  // left = smooth
     464             :       { 37, 13, 40, 48, 146, 217, 13, 23, 10, 24, 136,
     465             :         149 },                                                // left = smooth_v
     466             :       { 45, 10, 24, 55, 176, 230, 11, 16, 14, 26, 136, 86 },  // left = smooth_h
     467             :       { 32, 23, 43, 78, 204, 225, 18, 23, 15, 30, 134, 117 },  // left = tm
     468             :   },
     469             :   {
     470             :       // above = smooth_v
     471             :       { 62, 13, 47, 68, 165, 204, 14, 24, 14, 22, 137, 146 },   // left = dc
     472             :       { 42, 18, 97, 43, 138, 210, 12, 28, 8, 14, 127, 184 },    // left = v
     473             :       { 30, 19, 21, 128, 238, 231, 13, 13, 17, 38, 138, 103 },  // left = h
     474             :       { 66, 12, 31, 50, 132, 228, 37, 34, 14, 56, 142, 135 },   // left = d45
     475             :       { 45, 9, 33, 75, 73, 216, 20, 33, 25, 25, 146, 153 },     // left = d135
     476             :       { 31, 13, 48, 97, 46, 82, 26, 55, 31, 25, 140, 179 },     // left = d117
     477             :       { 47, 10, 26, 67, 109, 229, 15, 23, 52, 34, 136, 133 },   // left = d153
     478             :       { 49, 9, 25, 58, 174, 206, 14, 20, 13, 83, 144, 121 },    // left = d207
     479             :       { 54, 15, 42, 47, 120, 209, 22, 55, 13, 25, 139, 162 },   // left = d63
     480             :       { 41, 11, 43, 50, 146, 216, 11, 21, 11, 23, 136, 151 },   // left = smooth
     481             :       { 37, 12, 58, 48, 148, 202, 11, 24, 8, 19, 134, 178 },  // left = smooth_v
     482             :       { 47, 11, 39, 54, 169, 212, 12, 21, 14, 22, 144,
     483             :         115 },  // left = smooth_h
     484             :       { 36, 25, 57, 80, 215, 211, 16, 28, 11, 25, 130, 154 },  // left = tm
     485             :   },
     486             :   {
     487             :       // above = smooth_h
     488             :       { 57, 12, 28, 68, 186, 224, 11, 17, 20, 31, 133, 80 },   // left = dc
     489             :       { 42, 21, 86, 51, 159, 221, 14, 25, 10, 19, 134, 131 },  // left = v
     490             :       { 25, 17, 13, 123, 240, 240, 12, 10, 18, 42, 126, 56 },  // left = h
     491             :       { 55, 11, 25, 47, 146, 238, 36, 32, 18, 67, 144, 99 },   // left = d45
     492             :       { 47, 11, 23, 75, 95, 222, 20, 24, 28, 36, 143, 103 },   // left = d135
     493             :       { 30, 14, 34, 92, 59, 101, 27, 44, 31, 41, 142, 129 },   // left = d117
     494             :       { 42, 11, 17, 73, 158, 234, 14, 14, 59, 46, 138, 67 },   // left = d153
     495             :       { 45, 10, 15, 64, 194, 228, 14, 15, 17, 78, 133, 73 },   // left = d207
     496             :       { 52, 14, 29, 45, 138, 227, 25, 43, 16, 36, 136, 119 },  // left = d63
     497             :       { 42, 12, 23, 51, 173, 235, 12, 16, 13, 28, 134, 95 },   // left = smooth
     498             :       { 37, 16, 34, 52, 161, 228, 12, 19, 10, 28, 137,
     499             :         123 },                                                // left = smooth_v
     500             :       { 45, 9, 18, 58, 200, 240, 10, 13, 13, 27, 129, 61 },   // left = smooth_h
     501             :       { 32, 26, 44, 82, 217, 222, 19, 23, 16, 34, 134, 99 },  // left = tm
     502             :   },
     503             :   {
     504             :       // above = tm
     505             :       { 51, 42, 80, 104, 178, 121, 20, 37, 25, 42, 136, 150 },  // left = dc
     506             :       { 35, 38, 132, 73, 152, 132, 21, 36, 10, 32, 127, 174 },  // left = v
     507             :       { 21, 34, 26, 149, 241, 165, 17, 15, 19, 60, 132, 95 },   // left = h
     508             :       { 64, 20, 36, 67, 169, 142, 45, 30, 16, 86, 145, 134 },   // left = d45
     509             :       { 40, 23, 51, 96, 102, 149, 25, 33, 34, 43, 143, 125 },   // left = d135
     510             :       { 58, 29, 93, 140, 93, 89, 51, 107, 64, 146, 145, 154 },  // left = d117
     511             :       { 33, 23, 44, 95, 139, 209, 12, 20, 76, 56, 131, 104 },   // left = d153
     512             :       { 40, 21, 28, 79, 210, 165, 21, 15, 16, 134, 138, 108 },  // left = d207
     513             :       { 45, 24, 58, 62, 132, 127, 32, 58, 15, 51, 143, 152 },   // left = d63
     514             :       { 33, 27, 53, 71, 195, 223, 14, 24, 12, 36, 136, 135 },   // left = smooth
     515             :       { 30, 29, 62, 68, 201, 217, 14, 24, 11, 31, 132,
     516             :         162 },  // left = smooth_v
     517             :       { 37, 25, 50, 76, 204, 212, 12, 18, 15, 38, 134,
     518             :         106 },  // left = smooth_h
     519             :       { 28, 53, 64, 100, 203, 162, 26, 29, 15, 52, 127, 138 },  // left = tm
     520             :   },
     521             : };
     522             : 
     523             : static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
     524             :   { 56, 13, 37, 112, 91, 147, 66, 55, 72, 82, 124, 121 },  // block_size < 8x8
     525             :   { 92, 120, 47, 89, 120, 139, 18, 38, 32, 51, 146,
     526             :     124 },  // block_size < 16x16
     527             :   { 115, 102, 41, 69, 170, 142, 8, 23, 13, 23, 122,
     528             :     110 },                                            // block_size < 32x32
     529             :   { 148, 157, 47, 62, 238, 64, 7, 3, 1, 3, 74, 87 },  // block_size >= 32x32
     530             : };
     531             : 
     532             : static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
     533             :   { 184, 3, 67, 135, 194, 108, 33, 43, 40, 86, 121, 118 },   // y = dc
     534             :   { 23, 3, 204, 105, 117, 53, 14, 68, 13, 19, 112, 86 },     // y = v
     535             :   { 34, 3, 7, 220, 249, 142, 11, 13, 59, 124, 119, 131 },    // y = h
     536             :   { 138, 3, 45, 51, 162, 99, 110, 107, 21, 113, 119, 111 },  // y = d45
     537             :   { 130, 2, 28, 163, 52, 163, 16, 25, 94, 46, 127, 118 },    // y = d135
     538             :   { 109, 3, 55, 218, 20, 43, 34, 71, 74, 68, 108, 128 },     // y = d117
     539             :   { 124, 1, 17, 124, 151, 197, 8, 9, 184, 71, 123, 101 },    // y = d153
     540             :   { 127, 2, 16, 110, 225, 134, 28, 19, 18, 190, 124, 132 },  // y = d207
     541             :   { 115, 3, 65, 46, 134, 81, 37, 170, 20, 57, 122, 106 },    // y = d63
     542             :   { 131, 4, 52, 71, 177, 205, 17, 27, 20, 41, 128, 118 },    // y = smooth
     543             :   { 131, 5, 65, 70, 182, 196, 17, 30, 17, 35, 123, 154 },    // y = smooth_v
     544             :   { 137, 4, 43, 78, 196, 202, 16, 21, 24, 48, 123, 91 },     // y = smooth_h
     545             :   { 137, 12, 92, 142, 217, 71, 14, 45, 29, 62, 108, 109 },   // y = tm
     546             : };
     547             : 
     548             : #else  // !CONFIG_SMOOTH_HV
     549             : 
     550             : const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = {
     551             :   {
     552             :       // above = dc
     553             :       { 121, 30, 54, 128, 164, 158, 45, 41, 57, 91 },   // left = dc
     554             :       { 91, 38, 101, 102, 124, 141, 49, 48, 45, 73 },   // left = v
     555             :       { 66, 28, 27, 177, 225, 178, 32, 27, 52, 114 },   // left = h
     556             :       { 106, 23, 50, 101, 134, 148, 64, 50, 49, 107 },  // left = d45
     557             :       { 75, 24, 32, 118, 66, 143, 42, 28, 57, 74 },     // left = d135
     558             :       { 95, 24, 40, 142, 56, 141, 72, 121, 129, 255 },  // left = d117
     559             :       { 71, 14, 25, 126, 117, 201, 28, 21, 117, 89 },   // left = d153
     560             :       { 85, 16, 37, 110, 163, 178, 41, 28, 48, 134 },   // left = d207
     561             :       { 86, 25, 32, 83, 105, 133, 58, 81, 46, 95 },     // left = d63
     562             :       { 79, 25, 38, 75, 150, 255, 30, 49, 34, 51 },     // left = smooth
     563             :       { 68, 59, 48, 122, 193, 158, 43, 46, 46, 112 },   // left = paeth
     564             :   },
     565             :   {
     566             :       // above = v
     567             :       { 66, 21, 118, 111, 145, 107, 27, 50, 27, 54 },    // left = dc
     568             :       { 52, 25, 167, 81, 120, 101, 34, 55, 19, 32 },     // left = v
     569             :       { 56, 18, 72, 134, 208, 139, 31, 34, 27, 89 },     // left = h
     570             :       { 75, 21, 94, 88, 134, 123, 49, 57, 30, 68 },      // left = d45
     571             :       { 54, 18, 95, 96, 78, 107, 33, 49, 28, 65 },       // left = d135
     572             :       { 61, 19, 121, 131, 58, 101, 56, 143, 120, 255 },  // left = d117
     573             :       { 53, 13, 78, 103, 110, 147, 31, 41, 64, 77 },     // left = d153
     574             :       { 69, 14, 78, 93, 167, 121, 31, 39, 25, 113 },     // left = d207
     575             :       { 64, 18, 103, 79, 90, 108, 34, 73, 27, 69 },      // left = d63
     576             :       { 52, 20, 103, 61, 161, 255, 22, 42, 16, 35 },     // left = smooth
     577             :       { 50, 31, 124, 92, 161, 120, 50, 53, 23, 60 },     // left = paeth
     578             :   },
     579             :   {
     580             :       // above = h
     581             :       { 94, 29, 31, 158, 214, 178, 35, 31, 72, 111 },   // left = dc
     582             :       { 72, 37, 72, 149, 184, 177, 43, 40, 53, 105 },   // left = v
     583             :       { 53, 21, 14, 196, 242, 209, 29, 19, 55, 145 },   // left = h
     584             :       { 93, 36, 36, 104, 176, 166, 56, 37, 49, 141 },   // left = d45
     585             :       { 84, 32, 27, 124, 108, 143, 38, 36, 76, 134 },   // left = d135
     586             :       { 82, 31, 47, 142, 122, 161, 83, 73, 126, 255 },  // left = d117
     587             :       { 66, 16, 20, 133, 148, 210, 30, 17, 113, 104 },  // left = d153
     588             :       { 76, 16, 17, 129, 207, 181, 41, 20, 46, 163 },   // left = d207
     589             :       { 72, 38, 21, 100, 142, 171, 37, 70, 49, 111 },   // left = d63
     590             :       { 61, 30, 27, 115, 208, 255, 27, 31, 44, 63 },    // left = smooth
     591             :       { 53, 45, 29, 157, 222, 185, 49, 37, 55, 102 },   // left = paeth
     592             :   },
     593             :   {
     594             :       // above = d45
     595             :       { 96, 18, 37, 98, 138, 154, 68, 56, 59, 96 },    // left = dc
     596             :       { 73, 18, 92, 81, 125, 132, 75, 64, 27, 67 },    // left = v
     597             :       { 73, 17, 27, 128, 213, 154, 56, 44, 32, 105 },  // left = h
     598             :       { 101, 20, 21, 75, 138, 138, 82, 56, 23, 154 },  // left = d45
     599             :       { 71, 15, 33, 91, 70, 150, 62, 55, 38, 118 },    // left = d135
     600             :       { 80, 19, 38, 116, 69, 122, 88, 132, 92, 255 },  // left = d117
     601             :       { 68, 11, 22, 101, 116, 179, 52, 44, 85, 96 },   // left = d153
     602             :       { 101, 8, 59, 77, 151, 170, 53, 41, 35, 172 },   // left = d207
     603             :       { 82, 19, 24, 81, 172, 129, 82, 128, 43, 108 },  // left = d63
     604             :       { 66, 18, 42, 64, 143, 255, 52, 52, 25, 83 },    // left = smooth
     605             :       { 57, 24, 42, 85, 169, 145, 104, 71, 34, 86 },   // left = paeth
     606             :   },
     607             :   {
     608             :       // above = d135
     609             :       { 85, 15, 29, 113, 83, 176, 26, 29, 70, 110 },    // left = dc
     610             :       { 78, 28, 49, 111, 91, 141, 30, 42, 48, 75 },     // left = v
     611             :       { 56, 21, 16, 146, 190, 178, 23, 31, 49, 92 },    // left = h
     612             :       { 70, 19, 20, 65, 90, 173, 97, 36, 57, 98 },      // left = d45
     613             :       { 77, 14, 26, 110, 51, 156, 34, 35, 54, 74 },     // left = d135
     614             :       { 78, 18, 36, 153, 47, 131, 62, 102, 155, 255 },  // left = d117
     615             :       { 56, 11, 15, 115, 85, 196, 32, 45, 81, 96 },     // left = d153
     616             :       { 90, 18, 24, 95, 126, 159, 34, 31, 46, 136 },    // left = d207
     617             :       { 80, 23, 28, 90, 75, 141, 39, 50, 46, 87 },      // left = d63
     618             :       { 63, 22, 31, 91, 110, 255, 26, 43, 51, 51 },     // left = smooth
     619             :       { 66, 32, 31, 122, 145, 165, 40, 43, 56, 79 },    // left = paeth
     620             :   },
     621             :   {
     622             :       // above = d117
     623             :       { 81, 16, 61, 170, 74, 105, 54, 105, 113, 255 },  // left = dc
     624             :       { 74, 20, 86, 163, 64, 97, 65, 129, 101, 255 },   // left = v
     625             :       { 63, 15, 47, 168, 141, 176, 69, 77, 77, 255 },   // left = h
     626             :       { 70, 17, 59, 97, 78, 114, 74, 122, 80, 255 },    // left = d45
     627             :       { 78, 13, 50, 153, 34, 126, 75, 114, 120, 255 },  // left = d135
     628             :       { 72, 16, 69, 159, 28, 108, 63, 134, 107, 255 },  // left = d117
     629             :       { 66, 9, 47, 131, 79, 148, 41, 88, 105, 255 },    // left = d153
     630             :       { 78, 12, 60, 119, 105, 133, 47, 95, 63, 255 },   // left = d207
     631             :       { 82, 21, 58, 128, 61, 98, 64, 136, 91, 255 },    // left = d63
     632             :       { 23, 26, 28, 96, 85, 128, 51, 64, 85, 128 },     // left = smooth
     633             :       { 58, 27, 62, 162, 109, 151, 75, 106, 78, 255 },  // left = paeth
     634             :   },
     635             :   {
     636             :       // above = d153
     637             :       { 91, 18, 25, 121, 166, 173, 25, 25, 128, 102 },  // left = dc
     638             :       { 80, 27, 51, 111, 141, 147, 45, 38, 70, 85 },    // left = v
     639             :       { 53, 12, 11, 154, 197, 225, 17, 17, 74, 145 },   // left = h
     640             :       { 93, 27, 23, 111, 143, 188, 43, 39, 69, 112 },   // left = d45
     641             :       { 83, 15, 21, 118, 67, 178, 40, 33, 73, 92 },     // left = d135
     642             :       { 94, 13, 31, 132, 66, 110, 61, 82, 148, 255 },   // left = d117
     643             :       { 76, 9, 11, 96, 105, 201, 16, 13, 157, 97 },     // left = d153
     644             :       { 70, 10, 12, 100, 172, 201, 23, 17, 53, 158 },   // left = d207
     645             :       { 114, 25, 21, 104, 108, 163, 30, 47, 53, 111 },  // left = d63
     646             :       { 70, 16, 21, 80, 157, 255, 25, 30, 81, 69 },     // left = smooth
     647             :       { 87, 32, 26, 120, 191, 168, 32, 33, 70, 118 },   // left = paeth
     648             :   },
     649             :   {
     650             :       // above = d207
     651             :       { 98, 20, 39, 122, 168, 188, 38, 36, 54, 132 },   // left = dc
     652             :       { 81, 37, 62, 97, 122, 153, 38, 43, 36, 118 },    // left = v
     653             :       { 71, 21, 22, 154, 227, 183, 37, 31, 46, 140 },   // left = h
     654             :       { 90, 34, 19, 93, 144, 194, 65, 47, 41, 163 },    // left = d45
     655             :       { 78, 20, 27, 91, 93, 173, 57, 52, 49, 113 },     // left = d135
     656             :       { 79, 25, 45, 121, 101, 147, 69, 56, 122, 255 },  // left = d117
     657             :       { 73, 13, 19, 105, 122, 206, 40, 28, 91, 126 },   // left = d153
     658             :       { 101, 14, 22, 87, 153, 169, 33, 25, 26, 175 },   // left = d207
     659             :       { 81, 28, 23, 86, 115, 169, 48, 56, 41, 111 },    // left = d63
     660             :       { 70, 24, 30, 90, 180, 255, 38, 26, 36, 82 },     // left = smooth
     661             :       { 61, 37, 30, 94, 189, 163, 76, 50, 36, 127 },    // left = paeth
     662             :   },
     663             :   {
     664             :       // above = d63
     665             :       { 77, 13, 46, 86, 138, 117, 55, 88, 34, 68 },     // left = dc
     666             :       { 68, 17, 80, 64, 105, 108, 66, 115, 32, 45 },    // left = v
     667             :       { 62, 13, 37, 124, 210, 131, 46, 57, 28, 103 },   // left = h
     668             :       { 88, 15, 45, 73, 134, 145, 73, 101, 37, 87 },    // left = d45
     669             :       { 68, 16, 35, 78, 81, 133, 54, 71, 33, 67 },      // left = d135
     670             :       { 71, 16, 57, 108, 61, 135, 71, 184, 113, 255 },  // left = d117
     671             :       { 55, 10, 27, 69, 107, 158, 39, 76, 82, 95 },     // left = d153
     672             :       { 80, 9, 38, 78, 153, 145, 50, 63, 28, 123 },     // left = d207
     673             :       { 86, 12, 33, 49, 107, 135, 64, 134, 57, 89 },    // left = d63
     674             :       { 56, 19, 55, 60, 163, 255, 38, 84, 22, 36 },     // left = smooth
     675             :       { 53, 17, 60, 69, 151, 126, 73, 113, 26, 80 },    // left = paeth
     676             :   },
     677             :   {
     678             :       // above = smooth
     679             :       { 79, 16, 46, 89, 167, 255, 22, 36, 29, 42 },   // left = dc
     680             :       { 63, 22, 88, 71, 131, 255, 26, 41, 21, 35 },   // left = v
     681             :       { 51, 18, 28, 142, 232, 255, 26, 25, 25, 75 },  // left = h
     682             :       { 75, 18, 43, 70, 140, 255, 37, 49, 34, 89 },   // left = d45
     683             :       { 70, 14, 35, 87, 83, 255, 30, 36, 34, 50 },    // left = d135
     684             :       { 23, 26, 28, 96, 85, 128, 51, 64, 85, 128 },   // left = d117
     685             :       { 74, 12, 33, 83, 128, 255, 27, 33, 58, 68 },   // left = d153
     686             :       { 66, 11, 30, 77, 179, 255, 21, 27, 23, 113 },  // left = d207
     687             :       { 68, 22, 40, 65, 118, 255, 28, 61, 30, 50 },   // left = d63
     688             :       { 60, 18, 44, 69, 141, 255, 18, 32, 22, 40 },   // left = smooth
     689             :       { 52, 32, 54, 96, 194, 255, 33, 37, 25, 53 },   // left = paeth
     690             :   },
     691             :   {
     692             :       // above = paeth
     693             :       { 76, 47, 67, 123, 182, 150, 41, 52, 55, 97 },    // left = dc
     694             :       { 69, 40, 125, 102, 138, 138, 42, 55, 32, 70 },   // left = v
     695             :       { 46, 28, 27, 160, 232, 169, 34, 21, 32, 122 },   // left = h
     696             :       { 78, 35, 41, 99, 128, 124, 49, 43, 35, 111 },    // left = d45
     697             :       { 66, 28, 47, 100, 113, 145, 37, 40, 72, 93 },    // left = d135
     698             :       { 77, 37, 76, 134, 124, 124, 65, 122, 88, 255 },  // left = d117
     699             :       { 53, 23, 38, 108, 128, 204, 26, 32, 115, 114 },  // left = d153
     700             :       { 65, 20, 29, 101, 202, 186, 29, 24, 29, 188 },   // left = d207
     701             :       { 71, 24, 49, 81, 126, 151, 36, 65, 28, 93 },     // left = d63
     702             :       { 54, 36, 53, 94, 193, 255, 25, 38, 20, 64 },     // left = smooth
     703             :       { 52, 54, 60, 108, 176, 168, 47, 44, 50, 105 },   // left = paeth
     704             :   },
     705             : };
     706             : 
     707             : static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
     708             :   { 88, 16, 47, 133, 143, 150, 70, 48, 84, 122 },  // block_size < 8x8
     709             :   { 75, 26, 51, 120, 158, 157, 44, 45, 56, 102 },  // block_size < 16x16
     710             :   { 73, 24, 60, 115, 184, 164, 26, 36, 32, 63 },   // block_size < 32x32
     711             :   { 96, 27, 50, 107, 221, 148, 16, 22, 14, 39 },   // block_size >= 32x32
     712             : };
     713             : 
     714             : static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
     715             :   { 199, 3, 79, 179, 220, 109, 38, 50, 68, 138 },   // y = dc
     716             :   { 17, 2, 219, 136, 131, 58, 21, 106, 23, 41 },    // y = v
     717             :   { 26, 1, 5, 244, 253, 138, 16, 21, 68, 205 },     // y = h
     718             :   { 183, 3, 66, 94, 195, 97, 101, 104, 41, 178 },   // y = d45
     719             :   { 178, 2, 36, 158, 99, 175, 21, 29, 105, 77 },    // y = d135
     720             :   { 154, 3, 65, 219, 40, 48, 45, 95, 146, 255 },    // y = d117
     721             :   { 167, 1, 16, 160, 214, 187, 10, 10, 200, 155 },  // y = d153
     722             :   { 154, 2, 18, 178, 238, 132, 25, 21, 34, 221 },   // y = d207
     723             :   { 153, 4, 76, 85, 157, 90, 38, 165, 46, 104 },    // y = d63
     724             :   { 163, 3, 68, 87, 190, 255, 19, 27, 25, 46 },     // y = smooth
     725             :   { 185, 7, 113, 171, 203, 57, 18, 69, 49, 104 },   // y = paeth
     726             : };
     727             : 
     728             : #endif  // CONFIG_SMOOTH_HV
     729             : 
     730             : #else  // !CONFIG_ALT_INTRA
     731             : 
     732             : const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = {
     733             :   {
     734             :       // above = dc
     735             :       { 137, 30, 42, 148, 151, 207, 70, 52, 91 },   // left = dc
     736             :       { 92, 45, 102, 136, 116, 180, 74, 90, 100 },  // left = v
     737             :       { 73, 32, 19, 187, 222, 215, 46, 34, 100 },   // left = h
     738             :       { 91, 30, 32, 116, 121, 186, 93, 86, 94 },    // left = d45
     739             :       { 72, 35, 36, 149, 68, 206, 68, 63, 105 },    // left = d135
     740             :       { 73, 31, 28, 138, 57, 124, 55, 122, 151 },   // left = d117
     741             :       { 67, 23, 21, 140, 126, 197, 40, 37, 171 },   // left = d153
     742             :       { 86, 27, 28, 128, 154, 212, 45, 43, 53 },    // left = d207
     743             :       { 74, 32, 27, 107, 86, 160, 63, 134, 102 },   // left = d63
     744             :       { 59, 67, 44, 140, 161, 202, 78, 67, 119 }    // left = tm
     745             :   },
     746             :   {
     747             :       // above = v
     748             :       { 63, 36, 126, 146, 123, 158, 60, 90, 96 },   // left = dc
     749             :       { 43, 46, 168, 134, 107, 128, 69, 142, 92 },  // left = v
     750             :       { 44, 29, 68, 159, 201, 177, 50, 57, 77 },    // left = h
     751             :       { 58, 38, 76, 114, 97, 172, 78, 133, 92 },    // left = d45
     752             :       { 46, 41, 76, 140, 63, 184, 69, 112, 57 },    // left = d135
     753             :       { 38, 32, 85, 140, 46, 112, 54, 151, 133 },   // left = d117
     754             :       { 39, 27, 61, 131, 110, 175, 44, 75, 136 },   // left = d153
     755             :       { 52, 30, 74, 113, 130, 175, 51, 64, 58 },    // left = d207
     756             :       { 47, 35, 80, 100, 74, 143, 64, 163, 74 },    // left = d63
     757             :       { 36, 61, 116, 114, 128, 162, 80, 125, 82 }   // left = tm
     758             :   },
     759             :   {
     760             :       // above = h
     761             :       { 82, 26, 26, 171, 208, 204, 44, 32, 105 },  // left = dc
     762             :       { 55, 44, 68, 166, 179, 192, 57, 57, 108 },  // left = v
     763             :       { 42, 26, 11, 199, 241, 228, 23, 15, 85 },   // left = h
     764             :       { 68, 42, 19, 131, 160, 199, 55, 52, 83 },   // left = d45
     765             :       { 58, 50, 25, 139, 115, 232, 39, 52, 118 },  // left = d135
     766             :       { 50, 35, 33, 153, 104, 162, 64, 59, 131 },  // left = d117
     767             :       { 44, 24, 16, 150, 177, 202, 33, 19, 156 },  // left = d153
     768             :       { 55, 27, 12, 153, 203, 218, 26, 27, 49 },   // left = d207
     769             :       { 53, 49, 21, 110, 116, 168, 59, 80, 76 },   // left = d63
     770             :       { 38, 72, 19, 168, 203, 212, 50, 50, 107 }   // left = tm
     771             :   },
     772             :   {
     773             :       // above = d45
     774             :       { 103, 26, 36, 129, 132, 201, 83, 80, 93 },  // left = dc
     775             :       { 59, 38, 83, 112, 103, 162, 98, 136, 90 },  // left = v
     776             :       { 62, 30, 23, 158, 200, 207, 59, 57, 50 },   // left = h
     777             :       { 67, 30, 29, 84, 86, 191, 102, 91, 59 },    // left = d45
     778             :       { 60, 32, 33, 112, 71, 220, 64, 89, 104 },   // left = d135
     779             :       { 53, 26, 34, 130, 56, 149, 84, 120, 103 },  // left = d117
     780             :       { 53, 21, 23, 133, 109, 210, 56, 77, 172 },  // left = d153
     781             :       { 77, 19, 29, 112, 142, 228, 55, 66, 36 },   // left = d207
     782             :       { 61, 29, 29, 93, 97, 165, 83, 175, 162 },   // left = d63
     783             :       { 47, 47, 43, 114, 137, 181, 100, 99, 95 }   // left = tm
     784             :   },
     785             :   {
     786             :       // above = d135
     787             :       { 69, 23, 29, 128, 83, 199, 46, 44, 101 },   // left = dc
     788             :       { 53, 40, 55, 139, 69, 183, 61, 80, 110 },   // left = v
     789             :       { 40, 29, 19, 161, 180, 207, 43, 24, 91 },   // left = h
     790             :       { 60, 34, 19, 105, 61, 198, 53, 64, 89 },    // left = d45
     791             :       { 52, 31, 22, 158, 40, 209, 58, 62, 89 },    // left = d135
     792             :       { 44, 31, 29, 147, 46, 158, 56, 102, 198 },  // left = d117
     793             :       { 35, 19, 12, 135, 87, 209, 41, 45, 167 },   // left = d153
     794             :       { 55, 25, 21, 118, 95, 215, 38, 39, 66 },    // left = d207
     795             :       { 51, 38, 25, 113, 58, 164, 70, 93, 97 },    // left = d63
     796             :       { 47, 54, 34, 146, 108, 203, 72, 103, 151 }  // left = tm
     797             :   },
     798             :   {
     799             :       // above = d117
     800             :       { 64, 19, 37, 156, 66, 138, 49, 95, 133 },   // left = dc
     801             :       { 46, 27, 80, 150, 55, 124, 55, 121, 135 },  // left = v
     802             :       { 36, 23, 27, 165, 149, 166, 54, 64, 118 },  // left = h
     803             :       { 53, 21, 36, 131, 63, 163, 60, 109, 81 },   // left = d45
     804             :       { 40, 26, 35, 154, 40, 185, 51, 97, 123 },   // left = d135
     805             :       { 35, 19, 34, 179, 19, 97, 48, 129, 124 },   // left = d117
     806             :       { 36, 20, 26, 136, 62, 164, 33, 77, 154 },   // left = d153
     807             :       { 45, 18, 32, 130, 90, 157, 40, 79, 91 },    // left = d207
     808             :       { 45, 26, 28, 129, 45, 129, 49, 147, 123 },  // left = d63
     809             :       { 38, 44, 51, 136, 74, 162, 57, 97, 121 }    // left = tm
     810             :   },
     811             :   {
     812             :       // above = d153
     813             :       { 75, 17, 22, 136, 138, 185, 32, 34, 166 },  // left = dc
     814             :       { 56, 39, 58, 133, 117, 173, 48, 53, 187 },  // left = v
     815             :       { 35, 21, 12, 161, 212, 207, 20, 23, 145 },  // left = h
     816             :       { 56, 29, 19, 117, 109, 181, 55, 68, 112 },  // left = d45
     817             :       { 47, 29, 17, 153, 64, 220, 59, 51, 114 },   // left = d135
     818             :       { 46, 16, 24, 136, 76, 147, 41, 64, 172 },   // left = d117
     819             :       { 34, 17, 11, 108, 152, 187, 13, 15, 209 },  // left = d153
     820             :       { 51, 24, 14, 115, 133, 209, 32, 26, 104 },  // left = d207
     821             :       { 55, 30, 18, 122, 79, 179, 44, 88, 116 },   // left = d63
     822             :       { 37, 49, 25, 129, 168, 164, 41, 54, 148 }   // left = tm
     823             :   },
     824             :   {
     825             :       // above = d207
     826             :       { 82, 22, 32, 127, 143, 213, 39, 41, 70 },   // left = dc
     827             :       { 62, 44, 61, 123, 105, 189, 48, 57, 64 },   // left = v
     828             :       { 47, 25, 17, 175, 222, 220, 24, 30, 86 },   // left = h
     829             :       { 68, 36, 17, 106, 102, 206, 59, 74, 74 },   // left = d45
     830             :       { 57, 39, 23, 151, 68, 216, 55, 63, 58 },    // left = d135
     831             :       { 49, 30, 35, 141, 70, 168, 82, 40, 115 },   // left = d117
     832             :       { 51, 25, 15, 136, 129, 202, 38, 35, 139 },  // left = d153
     833             :       { 68, 26, 16, 111, 141, 215, 29, 28, 28 },   // left = d207
     834             :       { 59, 39, 19, 114, 75, 180, 77, 104, 42 },   // left = d63
     835             :       { 40, 61, 26, 126, 152, 206, 61, 59, 93 }    // left = tm
     836             :   },
     837             :   {
     838             :       // above = d63
     839             :       { 78, 23, 39, 111, 117, 170, 74, 124, 94 },   // left = dc
     840             :       { 48, 34, 86, 101, 92, 146, 78, 179, 134 },   // left = v
     841             :       { 47, 22, 24, 138, 187, 178, 68, 69, 59 },    // left = h
     842             :       { 56, 25, 33, 105, 112, 187, 95, 177, 129 },  // left = d45
     843             :       { 48, 31, 27, 114, 63, 183, 82, 116, 56 },    // left = d135
     844             :       { 43, 28, 37, 121, 63, 123, 61, 192, 169 },   // left = d117
     845             :       { 42, 17, 24, 109, 97, 177, 56, 76, 122 },    // left = d153
     846             :       { 58, 18, 28, 105, 139, 182, 70, 92, 63 },    // left = d207
     847             :       { 46, 23, 32, 74, 86, 150, 67, 183, 88 },     // left = d63
     848             :       { 36, 38, 48, 92, 122, 165, 88, 137, 91 }     // left = tm
     849             :   },
     850             :   {
     851             :       // above = tm
     852             :       { 65, 70, 60, 155, 159, 199, 61, 60, 81 },    // left = dc
     853             :       { 44, 78, 115, 132, 119, 173, 71, 112, 93 },  // left = v
     854             :       { 39, 38, 21, 184, 227, 206, 42, 32, 64 },    // left = h
     855             :       { 58, 47, 36, 124, 137, 193, 80, 82, 78 },    // left = d45
     856             :       { 49, 50, 35, 144, 95, 205, 63, 78, 59 },     // left = d135
     857             :       { 41, 53, 52, 148, 71, 142, 65, 128, 51 },    // left = d117
     858             :       { 40, 36, 28, 143, 143, 202, 40, 55, 137 },   // left = d153
     859             :       { 52, 34, 29, 129, 183, 227, 42, 35, 43 },    // left = d207
     860             :       { 42, 44, 44, 104, 105, 164, 64, 130, 80 },   // left = d63
     861             :       { 43, 81, 53, 140, 169, 204, 68, 84, 72 }     // left = tm
     862             :   }
     863             : };
     864             : 
     865             : // Default probabilities for signaling Intra mode for Y plane -- used only for
     866             : // inter frames. ('av1_kf_y_mode_prob' is used for intra-only frames).
     867             : // Context used: block size group.
     868             : static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
     869             :   { 65, 32, 18, 144, 162, 194, 41, 51, 98 },   // block_size < 8x8
     870             :   { 132, 68, 18, 165, 217, 196, 45, 40, 78 },  // block_size < 16x16
     871             :   { 173, 80, 19, 176, 240, 193, 64, 35, 46 },  // block_size < 32x32
     872             :   { 221, 135, 38, 194, 248, 121, 96, 85, 29 }  // block_size >= 32x32
     873             : };
     874             : 
     875             : // Default probabilities for signaling Intra mode for UV plane -- common for
     876             : // both intra and inter frames.
     877             : // Context used: Intra mode used by Y plane of the same block.
     878             : static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
     879             :   { 120, 7, 76, 176, 208, 126, 28, 54, 103 },   // y = dc
     880             :   { 48, 12, 154, 155, 139, 90, 34, 117, 119 },  // y = v
     881             :   { 67, 6, 25, 204, 243, 158, 13, 21, 96 },     // y = h
     882             :   { 97, 5, 44, 131, 176, 139, 48, 68, 97 },     // y = d45
     883             :   { 83, 5, 42, 156, 111, 152, 26, 49, 152 },    // y = d135
     884             :   { 80, 5, 58, 178, 74, 83, 33, 62, 145 },      // y = d117
     885             :   { 86, 5, 32, 154, 192, 168, 14, 22, 163 },    // y = d153
     886             :   { 85, 5, 32, 156, 216, 148, 19, 29, 73 },     // y = d207
     887             :   { 77, 7, 64, 116, 132, 122, 37, 126, 120 },   // y = d63
     888             :   { 101, 21, 107, 181, 192, 103, 19, 67, 125 }  // y = tm
     889             : };
     890             : 
     891             : #endif  // CONFIG_ALT_INTRA
     892             : 
     893             : #if CONFIG_EXT_PARTITION_TYPES
     894             : static const aom_prob
     895             :     default_partition_probs[PARTITION_CONTEXTS][EXT_PARTITION_TYPES - 1] = {
     896             :       // 8x8 -> 4x4
     897             :       { 199, 122, 141, 128, 128, 128, 128 },  // a/l both not split
     898             :       { 147, 63, 159, 128, 128, 128, 128 },   // a split, l not split
     899             :       { 148, 133, 118, 128, 128, 128, 128 },  // l split, a not split
     900             :       { 121, 104, 114, 128, 128, 128, 128 },  // a/l both split
     901             :       // 16x16 -> 8x8
     902             :       { 174, 73, 87, 128, 128, 128, 128 },  // a/l both not split
     903             :       { 92, 41, 83, 128, 128, 128, 128 },   // a split, l not split
     904             :       { 82, 99, 50, 128, 128, 128, 128 },   // l split, a not split
     905             :       { 53, 39, 39, 128, 128, 128, 128 },   // a/l both split
     906             :       // 32x32 -> 16x16
     907             :       { 177, 58, 59, 128, 128, 128, 128 },  // a/l both not split
     908             :       { 68, 26, 63, 128, 128, 128, 128 },   // a split, l not split
     909             :       { 52, 79, 25, 128, 128, 128, 128 },   // l split, a not split
     910             :       { 17, 14, 12, 128, 128, 128, 128 },   // a/l both split
     911             :       // 64x64 -> 32x32
     912             :       { 222, 34, 30, 128, 128, 128, 128 },  // a/l both not split
     913             :       { 72, 16, 44, 128, 128, 128, 128 },   // a split, l not split
     914             :       { 58, 32, 12, 128, 128, 128, 128 },   // l split, a not split
     915             :       { 10, 7, 6, 128, 128, 128, 128 },     // a/l both split
     916             : #if CONFIG_EXT_PARTITION
     917             :       // 128x128 -> 64x64
     918             :       { 222, 34, 30, 128, 128, 128, 128 },  // a/l both not split
     919             :       { 72, 16, 44, 128, 128, 128, 128 },   // a split, l not split
     920             :       { 58, 32, 12, 128, 128, 128, 128 },   // l split, a not split
     921             :       { 10, 7, 6, 128, 128, 128, 128 },     // a/l both split
     922             : #endif                                      // CONFIG_EXT_PARTITION
     923             : #if CONFIG_UNPOISON_PARTITION_CTX
     924             :       { 0, 0, 141, 0, 0, 0, 0 },  // 8x8 -> 4x4
     925             :       { 0, 0, 87, 0, 0, 0, 0 },   // 16x16 -> 8x8
     926             :       { 0, 0, 59, 0, 0, 0, 0 },   // 32x32 -> 16x16
     927             :       { 0, 0, 30, 0, 0, 0, 0 },   // 64x64 -> 32x32
     928             : #if CONFIG_EXT_PARTITION
     929             :       { 0, 0, 30, 0, 0, 0, 0 },   // 128x128 -> 64x64
     930             : #endif                            // CONFIG_EXT_PARTITION
     931             :       { 0, 122, 0, 0, 0, 0, 0 },  // 8x8 -> 4x4
     932             :       { 0, 73, 0, 0, 0, 0, 0 },   // 16x16 -> 8x8
     933             :       { 0, 58, 0, 0, 0, 0, 0 },   // 32x32 -> 16x16
     934             :       { 0, 34, 0, 0, 0, 0, 0 },   // 64x64 -> 32x32
     935             : #if CONFIG_EXT_PARTITION
     936             :       { 0, 34, 0, 0, 0, 0, 0 },  // 128x128 -> 64x64
     937             : #endif                           // CONFIG_EXT_PARTITION
     938             : #endif                           // CONFIG_UNPOISON_PARTITION_CTX
     939             :     };
     940             : #else
     941             : static const aom_prob
     942             :     default_partition_probs[PARTITION_CONTEXTS][PARTITION_TYPES - 1] = {
     943             :       // 8x8 -> 4x4
     944             :       { 199, 122, 141 },  // a/l both not split
     945             :       { 147, 63, 159 },   // a split, l not split
     946             :       { 148, 133, 118 },  // l split, a not split
     947             :       { 121, 104, 114 },  // a/l both split
     948             :       // 16x16 -> 8x8
     949             :       { 174, 73, 87 },  // a/l both not split
     950             :       { 92, 41, 83 },   // a split, l not split
     951             :       { 82, 99, 50 },   // l split, a not split
     952             :       { 53, 39, 39 },   // a/l both split
     953             :       // 32x32 -> 16x16
     954             :       { 177, 58, 59 },  // a/l both not split
     955             :       { 68, 26, 63 },   // a split, l not split
     956             :       { 52, 79, 25 },   // l split, a not split
     957             :       { 17, 14, 12 },   // a/l both split
     958             :       // 64x64 -> 32x32
     959             :       { 222, 34, 30 },  // a/l both not split
     960             :       { 72, 16, 44 },   // a split, l not split
     961             :       { 58, 32, 12 },   // l split, a not split
     962             :       { 10, 7, 6 },     // a/l both split
     963             : #if CONFIG_EXT_PARTITION
     964             :       // 128x128 -> 64x64
     965             :       { 222, 34, 30 },  // a/l both not split
     966             :       { 72, 16, 44 },   // a split, l not split
     967             :       { 58, 32, 12 },   // l split, a not split
     968             :       { 10, 7, 6 },     // a/l both split
     969             : #endif  // CONFIG_EXT_PARTITION
     970             : #if CONFIG_UNPOISON_PARTITION_CTX
     971             :       { 0, 0, 141 },    // 8x8 -> 4x4
     972             :       { 0, 0, 87 },     // 16x16 -> 8x8
     973             :       { 0, 0, 59 },     // 32x32 -> 16x16
     974             :       { 0, 0, 30 },     // 64x64 -> 32x32
     975             : #if CONFIG_EXT_PARTITION
     976             :       { 0, 0, 30 },     // 128x128 -> 64x64
     977             : #endif  // CONFIG_EXT_PARTITION
     978             :       { 0, 122, 0 },    // 8x8 -> 4x4
     979             :       { 0, 73, 0 },     // 16x16 -> 8x8
     980             :       { 0, 58, 0 },     // 32x32 -> 16x16
     981             :       { 0, 34, 0 },     // 64x64 -> 32x32
     982             : #if CONFIG_EXT_PARTITION
     983             :       { 0, 34, 0 },     // 128x128 -> 64x64
     984             : #endif  // CONFIG_EXT_PARTITION
     985             : #endif  // CONFIG_UNPOISON_PARTITION_CTX
     986             :     };
     987             : #endif  // CONFIG_EXT_PARTITION_TYPES
     988             : 
     989             : static const aom_prob default_newmv_prob[NEWMV_MODE_CONTEXTS] = {
     990             :   200, 180, 150, 150, 110, 70, 60,
     991             : };
     992             : 
     993             : static const aom_prob default_zeromv_prob[ZEROMV_MODE_CONTEXTS] = {
     994             :   192, 64,
     995             : };
     996             : 
     997             : static const aom_prob default_refmv_prob[REFMV_MODE_CONTEXTS] = {
     998             :   220, 220, 200, 200, 180, 128, 30, 220, 30,
     999             : };
    1000             : 
    1001             : static const aom_prob default_drl_prob[DRL_MODE_CONTEXTS] = { 128, 160, 180,
    1002             :                                                               128, 160 };
    1003             : 
    1004             : static const aom_prob
    1005             :     default_inter_mode_probs[INTER_MODE_CONTEXTS][INTER_MODES - 1] = {
    1006             :       { 2, 173, 34 },  // 0 = both zero mv
    1007             :       { 7, 145, 85 },  // 1 = one zero mv + one a predicted mv
    1008             :       { 7, 166, 63 },  // 2 = two predicted mvs
    1009             :       { 7, 94, 66 },   // 3 = one predicted/zero and one new mv
    1010             :       { 8, 64, 46 },   // 4 = two new mvs
    1011             :       { 17, 81, 31 },  // 5 = one intra neighbour + x
    1012             :       { 25, 29, 30 },  // 6 = two intra neighbours
    1013             :     };
    1014             : 
    1015             : #if CONFIG_EXT_INTER
    1016             : static const aom_prob default_inter_compound_mode_probs
    1017             :     [INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
    1018             :       { 2, 173, 68, 192, 128, 180, 180 },   // 0 = both zero mv
    1019             :       { 7, 145, 160, 192, 128, 180, 180 },  // 1 = 1 zero + 1 predicted
    1020             :       { 7, 166, 126, 192, 128, 180, 180 },  // 2 = two predicted mvs
    1021             :       { 7, 94, 132, 192, 128, 180, 180 },   // 3 = 1 pred/zero, 1 new
    1022             :       { 8, 64, 64, 192, 128, 180, 180 },    // 4 = two new mvs
    1023             :       { 17, 81, 52, 192, 128, 180, 180 },   // 5 = one intra neighbour
    1024             :       { 25, 29, 50, 192, 128, 180, 180 },   // 6 = two intra neighbours
    1025             :     };
    1026             : 
    1027             : #if CONFIG_COMPOUND_SINGLEREF
    1028             : // TODO(zoeliu): Default values to be further adjusted based on the collected
    1029             : //               stats.
    1030             : static const aom_prob default_inter_singleref_comp_mode_probs
    1031             :     [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
    1032             :       { 2, 173, 68, 180 },   // 0 = both zero mv
    1033             :       { 7, 145, 160, 180 },  // 1 = 1 zero + 1 predicted
    1034             :       { 7, 166, 126, 180 },  // 2 = two predicted mvs
    1035             :       { 7, 94, 132, 180 },   // 3 = 1 pred/zero, 1 new
    1036             :       { 8, 64, 64, 180 },    // 4 = two new mvs
    1037             :       { 17, 81, 52, 180 },   // 5 = one intra neighbour
    1038             :       { 25, 29, 50, 180 },   // 6 = two intra neighbours
    1039             :     };
    1040             : #endif  // CONFIG_COMPOUND_SINGLEREF
    1041             : 
    1042             : #if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
    1043             : static const aom_prob
    1044             :     default_compound_type_probs[BLOCK_SIZES][COMPOUND_TYPES - 1] = {
    1045             : #if CONFIG_CB4X4
    1046             :       { 255, 128 }, { 255, 128 }, { 255, 128 },
    1047             : #endif
    1048             :       { 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 128 },
    1049             :       { 208, 128 }, { 216, 128 }, { 216, 128 }, { 216, 128 }, { 224, 128 },
    1050             :       { 224, 1 },   { 240, 1 },   { 240, 1 },
    1051             : #if CONFIG_EXT_PARTITION
    1052             :       { 255, 1 },   { 255, 1 },   { 255, 1 },
    1053             : #endif  // CONFIG_EXT_PARTITION
    1054             :     };
    1055             : #elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
    1056             : static const aom_prob
    1057             :     default_compound_type_probs[BLOCK_SIZES][COMPOUND_TYPES - 1] = {
    1058             : #if CONFIG_CB4X4
    1059             :       { 255 }, { 255 }, { 255 },
    1060             : #endif
    1061             :       { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
    1062             :       { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
    1063             : #if CONFIG_EXT_PARTITION
    1064             :       { 255 }, { 255 }, { 255 },
    1065             : #endif  // CONFIG_EXT_PARTITION
    1066             :     };
    1067             : #elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
    1068             : static const aom_prob
    1069             :     default_compound_type_probs[BLOCK_SIZES][COMPOUND_TYPES - 1] = {
    1070             : #if CONFIG_CB4X4
    1071             :       { 255 }, { 255 }, { 255 },
    1072             : #endif
    1073             :       { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
    1074             :       { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
    1075             : #if CONFIG_EXT_PARTITION
    1076             :       { 255 }, { 255 }, { 255 },
    1077             : #endif  // CONFIG_EXT_PARTITION
    1078             :     };
    1079             : #else
    1080             : static const aom_prob default_compound_type_probs[BLOCK_SIZES]
    1081             :                                                  [COMPOUND_TYPES - 1];
    1082             : #endif  // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
    1083             : 
    1084             : #if CONFIG_INTERINTRA
    1085             : static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = {
    1086             :   208, 208, 208, 208,
    1087             : };
    1088             : 
    1089             : static const aom_prob
    1090             :     default_interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1] = {
    1091             :       { 88, 16, 150 },  // block_size < 8x8
    1092             :       { 75, 26, 150 },  // block_size < 16x16
    1093             :       { 73, 24, 150 },  // block_size < 32x32
    1094             :       { 96, 27, 150 }   // block_size >= 32x32
    1095             :     };
    1096             : 
    1097             : static const aom_prob default_wedge_interintra_prob[BLOCK_SIZES] = {
    1098             : #if CONFIG_CB4X4
    1099             :   208, 208, 208,
    1100             : #endif
    1101             :   208, 208, 208, 208, 208, 208, 216, 216, 216, 224, 224, 224, 240,
    1102             : #if CONFIG_EXT_PARTITION
    1103             :   208, 208, 208
    1104             : #endif  // CONFIG_EXT_PARTITION
    1105             : };
    1106             : #endif  // CONFIG_INTERINTRA
    1107             : #endif  // CONFIG_EXT_INTER
    1108             : 
    1109             : // Change this section appropriately once warped motion is supported
    1110             : #if CONFIG_MOTION_VAR && !CONFIG_WARPED_MOTION
    1111             : const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
    1112             :   -SIMPLE_TRANSLATION, -OBMC_CAUSAL
    1113             : };
    1114             : static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
    1115             :     {
    1116             : #if CONFIG_CB4X4
    1117             :       { 255 }, { 255 }, { 255 },
    1118             : #endif
    1119             :       { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
    1120             :       { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
    1121             : #if CONFIG_EXT_PARTITION
    1122             :       { 252 }, { 252 }, { 252 },
    1123             : #endif  // CONFIG_EXT_PARTITION
    1124             :     };
    1125             : 
    1126             : #elif !CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
    1127             : 
    1128             : const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
    1129             :   -SIMPLE_TRANSLATION, -WARPED_CAUSAL
    1130             : };
    1131             : 
    1132             : static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
    1133             :     {
    1134             : #if CONFIG_CB4X4
    1135             :       { 255 }, { 255 }, { 255 },
    1136             : #endif
    1137             :       { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
    1138             :       { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
    1139             : #if CONFIG_EXT_PARTITION
    1140             :       { 252 }, { 252 }, { 252 },
    1141             : #endif  // CONFIG_EXT_PARTITION
    1142             :     };
    1143             : 
    1144             : #elif CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
    1145             : 
    1146             : const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
    1147             :   -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
    1148             : };
    1149             : static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
    1150             :     {
    1151             : #if CONFIG_CB4X4
    1152             :       { 255, 200 }, { 255, 200 }, { 255, 200 },
    1153             : #endif
    1154             :       { 255, 200 }, { 255, 200 }, { 255, 200 }, { 151, 200 }, { 153, 200 },
    1155             :       { 144, 200 }, { 178, 200 }, { 165, 200 }, { 160, 200 }, { 207, 200 },
    1156             :       { 195, 200 }, { 168, 200 }, { 244, 200 },
    1157             : #if CONFIG_EXT_PARTITION
    1158             :       { 252, 200 }, { 252, 200 }, { 252, 200 },
    1159             : #endif  // CONFIG_EXT_PARTITION
    1160             :     };
    1161             : 
    1162             : // Probability for the case that only 1 additional motion mode is allowed
    1163             : static const aom_prob default_obmc_prob[BLOCK_SIZES] = {
    1164             : #if CONFIG_CB4X4
    1165             :   255, 255, 255,
    1166             : #endif
    1167             :   255, 255, 255, 151, 153, 144, 178, 165, 160, 207, 195, 168, 244,
    1168             : #if CONFIG_EXT_PARTITION
    1169             :   252, 252, 252,
    1170             : #endif  // CONFIG_EXT_PARTITION
    1171             : };
    1172             : #endif
    1173             : 
    1174             : #if CONFIG_DELTA_Q
    1175             : static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
    1176             : static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
    1177             :   AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
    1178             : };
    1179             : #if CONFIG_EXT_DELTA_Q
    1180             : static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
    1181             :                                                                  220 };
    1182             : static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
    1183             :   AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
    1184             : };
    1185             : #endif
    1186             : #endif
    1187             : int av1_intra_mode_ind[INTRA_MODES];
    1188             : int av1_intra_mode_inv[INTRA_MODES];
    1189             : int av1_inter_mode_ind[INTER_MODES];
    1190             : int av1_inter_mode_inv[INTER_MODES];
    1191             : #if CONFIG_EXT_TX
    1192             : int av1_ext_tx_intra_ind[EXT_TX_SETS_INTRA][TX_TYPES];
    1193             : int av1_ext_tx_intra_inv[EXT_TX_SETS_INTRA][TX_TYPES];
    1194             : int av1_ext_tx_inter_ind[EXT_TX_SETS_INTER][TX_TYPES];
    1195             : int av1_ext_tx_inter_inv[EXT_TX_SETS_INTER][TX_TYPES];
    1196             : #endif
    1197             : 
    1198             : #if CONFIG_ALT_INTRA
    1199             : #if CONFIG_SMOOTH_HV
    1200             : const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
    1201             :   -DC_PRED,
    1202             :   2, /* 0 = DC_NODE */
    1203             :   -TM_PRED,
    1204             :   4, /* 1 = TM_NODE */
    1205             :   -V_PRED,
    1206             :   6, /* 2 = V_NODE */
    1207             :   8,
    1208             :   12, /* 3 = COM_NODE */
    1209             :   -H_PRED,
    1210             :   10, /* 4 = H_NODE */
    1211             :   -D135_PRED,
    1212             :   -D117_PRED, /* 5 = D135_NODE */
    1213             :   -D45_PRED,
    1214             :   14, /* 6 = D45_NODE */
    1215             :   -D63_PRED,
    1216             :   16, /* 7 = D63_NODE */
    1217             :   -D153_PRED,
    1218             :   18, /* 8 = D153_NODE */
    1219             :   -D207_PRED,
    1220             :   20, /* 9 = D207_NODE */
    1221             :   -SMOOTH_PRED,
    1222             :   22, /* 10 = SMOOTH_NODE */
    1223             :   -SMOOTH_V_PRED,
    1224             :   -SMOOTH_H_PRED /* 11 = SMOOTH_V_NODE */
    1225             : };
    1226             : #else
    1227             : const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
    1228             :   -DC_PRED,   2,            /* 0 = DC_NODE */
    1229             :   -TM_PRED,   4,            /* 1 = TM_NODE */
    1230             :   -V_PRED,    6,            /* 2 = V_NODE */
    1231             :   8,          12,           /* 3 = COM_NODE */
    1232             :   -H_PRED,    10,           /* 4 = H_NODE */
    1233             :   -D135_PRED, -D117_PRED,   /* 5 = D135_NODE */
    1234             :   -D45_PRED,  14,           /* 6 = D45_NODE */
    1235             :   -D63_PRED,  16,           /* 7 = D63_NODE */
    1236             :   -D153_PRED, 18,           /* 8 = D153_NODE */
    1237             :   -D207_PRED, -SMOOTH_PRED, /* 9 = D207_NODE */
    1238             : };
    1239             : #endif  // CONFIG_SMOOTH_HV
    1240             : #else
    1241             : const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
    1242             :   -DC_PRED,   2,          /* 0 = DC_NODE */
    1243             :   -TM_PRED,   4,          /* 1 = TM_NODE */
    1244             :   -V_PRED,    6,          /* 2 = V_NODE */
    1245             :   8,          12,         /* 3 = COM_NODE */
    1246             :   -H_PRED,    10,         /* 4 = H_NODE */
    1247             :   -D135_PRED, -D117_PRED, /* 5 = D135_NODE */
    1248             :   -D45_PRED,  14,         /* 6 = D45_NODE */
    1249             :   -D63_PRED,  16,         /* 7 = D63_NODE */
    1250             :   -D153_PRED, -D207_PRED  /* 8 = D153_NODE */
    1251             : };
    1252             : #endif  // CONFIG_ALT_INTRA
    1253             : 
    1254             : const aom_tree_index av1_inter_mode_tree[TREE_SIZE(INTER_MODES)] = {
    1255             :   -INTER_OFFSET(ZEROMV), 2, -INTER_OFFSET(NEARESTMV), 4, -INTER_OFFSET(NEARMV),
    1256             :   -INTER_OFFSET(NEWMV)
    1257             : };
    1258             : 
    1259             : #if CONFIG_EXT_INTER
    1260             : /* clang-format off */
    1261             : #if CONFIG_INTERINTRA
    1262             : const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
    1263             :   -II_DC_PRED, 2,        /* 0 = II_DC_NODE     */
    1264             : #if CONFIG_ALT_INTRA
    1265             :   -II_SMOOTH_PRED, 4,    /* 1 = II_SMOOTH_PRED */
    1266             : #else
    1267             :   -II_TM_PRED, 4,        /* 1 = II_TM_NODE     */
    1268             : #endif
    1269             :   -II_V_PRED, -II_H_PRED /* 2 = II_V_NODE      */
    1270             : };
    1271             : #endif  // CONFIG_INTERINTRA
    1272             : 
    1273             : const aom_tree_index av1_inter_compound_mode_tree
    1274             :     [TREE_SIZE(INTER_COMPOUND_MODES)] = {
    1275             :   -INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2,
    1276             :   -INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4,
    1277             :   6, -INTER_COMPOUND_OFFSET(NEW_NEWMV),
    1278             :   -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
    1279             :   10, 12,
    1280             :   -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
    1281             :   -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
    1282             : };
    1283             : 
    1284             : #if CONFIG_COMPOUND_SINGLEREF
    1285             : const aom_tree_index av1_inter_singleref_comp_mode_tree
    1286             :     [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
    1287             :   -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
    1288             :   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
    1289             :   6, -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV),
    1290             :   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEWMV),
    1291             :   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV)
    1292             : };
    1293             : #endif  // CONFIG_COMPOUND_SINGLEREF
    1294             : 
    1295             : #if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
    1296             : const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
    1297             :   -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
    1298             : };
    1299             : #elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
    1300             : const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
    1301             :   -COMPOUND_AVERAGE, -COMPOUND_WEDGE
    1302             : };
    1303             : #elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
    1304             : const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
    1305             :   -COMPOUND_AVERAGE, -COMPOUND_SEG
    1306             : };
    1307             : #else
    1308             : const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {};
    1309             : #endif  // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
    1310             : /* clang-format on */
    1311             : #endif  // CONFIG_EXT_INTER
    1312             : 
    1313             : const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
    1314             :   -PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
    1315             : };
    1316             : 
    1317             : #if CONFIG_EXT_PARTITION_TYPES
    1318             : /* clang-format off */
    1319             : const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
    1320             :   -PARTITION_NONE, 2,
    1321             :   6, 4,
    1322             :   8, -PARTITION_SPLIT,
    1323             :   -PARTITION_HORZ, 10,
    1324             :   -PARTITION_VERT, 12,
    1325             :   -PARTITION_HORZ_A, -PARTITION_HORZ_B,
    1326             :   -PARTITION_VERT_A, -PARTITION_VERT_B
    1327             : };
    1328             : /* clang-format on */
    1329             : #endif  // CONFIG_EXT_PARTITION_TYPES
    1330             : 
    1331             : static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
    1332             :   9, 102, 187, 225
    1333             : };
    1334             : 
    1335             : static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
    1336             :   239, 183, 119, 96, 41
    1337             : };
    1338             : 
    1339             : #if CONFIG_EXT_REFS
    1340             : static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
    1341             :   // TODO(zoeliu): To adjust the initial prob values.
    1342             :   { 33, 16, 16 },
    1343             :   { 77, 74, 74 },
    1344             :   { 142, 142, 142 },
    1345             :   { 172, 170, 170 },
    1346             :   { 238, 247, 247 }
    1347             : };
    1348             : static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
    1349             :   { 16 }, { 74 }, { 142 }, { 170 }, { 247 }
    1350             : };
    1351             : #else
    1352             : static const aom_prob default_comp_ref_p[REF_CONTEXTS][COMP_REFS - 1] = {
    1353             :   { 50 }, { 126 }, { 123 }, { 221 }, { 226 }
    1354             : };
    1355             : #endif  // CONFIG_EXT_REFS
    1356             : 
    1357             : static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
    1358             : #if CONFIG_EXT_REFS
    1359             :   { 33, 16, 16, 16, 16 },
    1360             :   { 77, 74, 74, 74, 74 },
    1361             :   { 142, 142, 142, 142, 142 },
    1362             :   { 172, 170, 170, 170, 170 },
    1363             :   { 238, 247, 247, 247, 247 }
    1364             : #else
    1365             :   { 33, 16 }, { 77, 74 }, { 142, 142 }, { 172, 170 }, { 238, 247 }
    1366             : #endif  // CONFIG_EXT_REFS
    1367             : };
    1368             : 
    1369             : #if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
    1370             : // TODO(zoeliu): Default values to be further adjusted based on the collected
    1371             : //               stats.
    1372             : static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
    1373             :   41, 119, 187, 225
    1374             : };
    1375             : #endif  // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
    1376             : 
    1377             : #if CONFIG_PALETTE
    1378             : 
    1379             : // Tree to code palette size (number of colors in a palette) and the
    1380             : // corresponding probabilities for Y and UV planes.
    1381             : const aom_tree_index av1_palette_size_tree[TREE_SIZE(PALETTE_SIZES)] = {
    1382             :   -TWO_COLORS,  2, -THREE_COLORS, 4,  -FOUR_COLORS,  6,
    1383             :   -FIVE_COLORS, 8, -SIX_COLORS,   10, -SEVEN_COLORS, -EIGHT_COLORS,
    1384             : };
    1385             : 
    1386             : // TODO(huisu): tune these probs
    1387             : const aom_prob
    1388             :     av1_default_palette_y_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
    1389             :       { 96, 89, 100, 64, 77, 130 },   { 22, 15, 44, 16, 34, 82 },
    1390             :       { 30, 19, 57, 18, 38, 86 },     { 94, 36, 104, 23, 43, 92 },
    1391             :       { 116, 76, 107, 46, 65, 105 },  { 112, 82, 94, 40, 70, 112 },
    1392             :       { 147, 124, 123, 58, 69, 103 }, { 180, 113, 136, 49, 45, 114 },
    1393             :       { 107, 70, 87, 49, 154, 156 },  { 98, 105, 142, 63, 64, 152 },
    1394             : #if CONFIG_EXT_PARTITION
    1395             :       { 98, 105, 142, 63, 64, 152 },  { 98, 105, 142, 63, 64, 152 },
    1396             :       { 98, 105, 142, 63, 64, 152 },
    1397             : #endif  // CONFIG_EXT_PARTITION
    1398             :     };
    1399             : 
    1400             : const aom_prob
    1401             :     av1_default_palette_uv_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
    1402             :       { 160, 196, 228, 213, 175, 230 }, { 87, 148, 208, 141, 166, 163 },
    1403             :       { 72, 151, 204, 139, 155, 161 },  { 78, 135, 171, 104, 120, 173 },
    1404             :       { 59, 92, 131, 78, 92, 142 },     { 75, 118, 149, 84, 90, 128 },
    1405             :       { 89, 87, 92, 66, 66, 128 },      { 67, 53, 54, 55, 66, 93 },
    1406             :       { 120, 130, 83, 171, 75, 214 },   { 72, 55, 66, 68, 79, 107 },
    1407             : #if CONFIG_EXT_PARTITION
    1408             :       { 72, 55, 66, 68, 79, 107 },      { 72, 55, 66, 68, 79, 107 },
    1409             :       { 72, 55, 66, 68, 79, 107 },
    1410             : #endif  // CONFIG_EXT_PARTITION
    1411             :     };
    1412             : 
    1413             : // When palette mode is enabled, following probability tables indicate the
    1414             : // probabilities to code the "is_palette" bit (i.e. the bit that indicates
    1415             : // if this block uses palette mode or DC_PRED mode).
    1416             : const aom_prob av1_default_palette_y_mode_prob
    1417             :     [PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS] = {
    1418             :       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
    1419             :       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
    1420             :       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
    1421             :       { 240, 180, 100 },
    1422             : #if CONFIG_EXT_PARTITION
    1423             :       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
    1424             : #endif  // CONFIG_EXT_PARTITION
    1425             :     };
    1426             : 
    1427             : const aom_prob av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS] = {
    1428             :   253, 229
    1429             : };
    1430             : 
    1431             : // Trees to code palette color indices (for various palette sizes), and the
    1432             : // corresponding probability tables for Y and UV planes.
    1433             : const aom_tree_index
    1434             :     av1_palette_color_index_tree[PALETTE_SIZES][TREE_SIZE(PALETTE_COLORS)] = {
    1435             :       { // 2 colors
    1436             :         -PALETTE_COLOR_ONE, -PALETTE_COLOR_TWO },
    1437             :       { // 3 colors
    1438             :         -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, -PALETTE_COLOR_THREE },
    1439             :       { // 4 colors
    1440             :         -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE,
    1441             :         -PALETTE_COLOR_FOUR },
    1442             :       { // 5 colors
    1443             :         -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
    1444             :         -PALETTE_COLOR_FOUR, -PALETTE_COLOR_FIVE },
    1445             :       { // 6 colors
    1446             :         -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
    1447             :         -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, -PALETTE_COLOR_SIX },
    1448             :       { // 7 colors
    1449             :         -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
    1450             :         -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX,
    1451             :         -PALETTE_COLOR_SEVEN },
    1452             :       { // 8 colors
    1453             :         -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
    1454             :         -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX, 12,
    1455             :         -PALETTE_COLOR_SEVEN, -PALETTE_COLOR_EIGHT },
    1456             :     };
    1457             : 
    1458             : // Note: Has to be non-zero to avoid any asserts triggering.
    1459             : #define UNUSED_PROB 128
    1460             : 
    1461             : const aom_prob av1_default_palette_y_color_index_prob
    1462             :     [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
    1463             :       {
    1464             :           // 2 colors
    1465             :           { 231, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1466             :             UNUSED_PROB, UNUSED_PROB },
    1467             :           { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1468             :             UNUSED_PROB, UNUSED_PROB },
    1469             :           { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1470             :             UNUSED_PROB },
    1471             :           { 224, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1472             :             UNUSED_PROB, UNUSED_PROB },
    1473             :           { 249, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1474             :             UNUSED_PROB, UNUSED_PROB },
    1475             :       },
    1476             :       {
    1477             :           // 3 colors
    1478             :           { 219, 124, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1479             :             UNUSED_PROB },
    1480             :           { 91, 191, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1481             :             UNUSED_PROB },
    1482             :           { 34, 237, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1483             :             UNUSED_PROB },
    1484             :           { 184, 118, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1485             :             UNUSED_PROB },
    1486             :           { 252, 124, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1487             :             UNUSED_PROB },
    1488             :       },
    1489             :       {
    1490             :           // 4 colors
    1491             :           { 204, 87, 97, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1492             :           { 74, 144, 129, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1493             :           { 52, 191, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1494             :           { 151, 85, 147, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1495             :           { 248, 60, 115, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1496             :       },
    1497             :       {
    1498             :           // 5 colors
    1499             :           { 218, 69, 62, 106, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1500             :           { 76, 143, 89, 127, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1501             :           { 21, 233, 94, 131, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1502             :           { 172, 72, 89, 112, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1503             :           { 253, 66, 65, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1504             :       },
    1505             :       {
    1506             :           // 6 colors
    1507             :           { 190, 60, 47, 54, 74, UNUSED_PROB, UNUSED_PROB },
    1508             :           { 62, 106, 51, 95, 110, UNUSED_PROB, UNUSED_PROB },
    1509             :           { 52, 180, 69, 72, 107, UNUSED_PROB, UNUSED_PROB },
    1510             :           { 156, 83, 72, 83, 101, UNUSED_PROB, UNUSED_PROB },
    1511             :           { 245, 45, 37, 52, 91, UNUSED_PROB, UNUSED_PROB },
    1512             :       },
    1513             :       {
    1514             :           // 7 colors
    1515             :           { 206, 56, 42, 42, 53, 85, UNUSED_PROB },
    1516             :           { 70, 100, 45, 68, 77, 94, UNUSED_PROB },
    1517             :           { 57, 169, 51, 62, 74, 119, UNUSED_PROB },
    1518             :           { 172, 76, 71, 40, 59, 76, UNUSED_PROB },
    1519             :           { 248, 47, 36, 53, 61, 110, UNUSED_PROB },
    1520             :       },
    1521             :       {
    1522             :           // 8 colors
    1523             :           { 208, 52, 38, 34, 34, 44, 66 },
    1524             :           { 52, 107, 34, 73, 69, 82, 87 },
    1525             :           { 28, 208, 53, 43, 62, 70, 102 },
    1526             :           { 184, 64, 45, 37, 37, 69, 105 },
    1527             :           { 251, 18, 31, 45, 47, 61, 104 },
    1528             :       },
    1529             :     };
    1530             : 
    1531             : const aom_prob av1_default_palette_uv_color_index_prob
    1532             :     [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
    1533             :       {
    1534             :           // 2 colors
    1535             :           { 233, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1536             :             UNUSED_PROB, UNUSED_PROB },
    1537             :           { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1538             :             UNUSED_PROB, UNUSED_PROB },
    1539             :           { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1540             :             UNUSED_PROB },
    1541             :           { 240, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1542             :             UNUSED_PROB, UNUSED_PROB },
    1543             :           { 248, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1544             :             UNUSED_PROB, UNUSED_PROB },
    1545             :       },
    1546             :       {
    1547             :           // 3 colors
    1548             :           { 216, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1549             :             UNUSED_PROB },
    1550             :           { 110, 171, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1551             :             UNUSED_PROB },
    1552             :           { 40, 239, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1553             :             UNUSED_PROB },
    1554             :           { 191, 104, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1555             :             UNUSED_PROB },
    1556             :           { 247, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
    1557             :             UNUSED_PROB },
    1558             :       },
    1559             :       {
    1560             :           // 4 colors
    1561             :           { 202, 89, 132, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1562             :           { 90, 132, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1563             :           { 63, 195, 149, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1564             :           { 152, 84, 152, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1565             :           { 241, 87, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1566             :       },
    1567             :       {
    1568             :           // 5 colors
    1569             :           { 209, 54, 82, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1570             :           { 94, 173, 180, 93, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1571             :           { 10, 251, 127, 84, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1572             :           { 183, 20, 150, 47, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1573             :           { 252, 73, 111, 150, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
    1574             :       },
    1575             :       {
    1576             :           // 6 colors
    1577             :           { 192, 67, 59, 46, 184, UNUSED_PROB, UNUSED_PROB },
    1578             :           { 59, 92, 61, 100, 130, UNUSED_PROB, UNUSED_PROB },
    1579             :           { 49, 162, 68, 91, 150, UNUSED_PROB, UNUSED_PROB },
    1580             :           { 133, 29, 36, 153, 101, UNUSED_PROB, UNUSED_PROB },
    1581             :           { 247, 71, 44, 90, 129, UNUSED_PROB, UNUSED_PROB },
    1582             :       },
    1583             :       {
    1584             :           // 7 colors
    1585             :           { 182, 62, 80, 78, 46, 116, UNUSED_PROB },
    1586             :           { 59, 62, 39, 81, 65, 99, UNUSED_PROB },
    1587             :           { 54, 177, 48, 58, 93, 104, UNUSED_PROB },
    1588             :           { 137, 79, 54, 55, 44, 134, UNUSED_PROB },
    1589             :           { 239, 82, 79, 44, 69, 71, UNUSED_PROB },
    1590             :       },
    1591             :       {
    1592             :           // 8 colors
    1593             :           { 172, 53, 27, 67, 30, 79, 113 },
    1594             :           { 63, 57, 45, 81, 62, 35, 47 },
    1595             :           { 51, 200, 36, 47, 82, 165, 129 },
    1596             :           { 141, 100, 47, 29, 33, 37, 129 },
    1597             :           { 236, 42, 50, 91, 24, 154, 65 },
    1598             :       },
    1599             :     };
    1600             : 
    1601             : #undef UNUSED_PROB
    1602             : 
    1603             : #define MAX_COLOR_CONTEXT_HASH 8
    1604             : // Negative values are invalid
    1605             : static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH +
    1606             :                                                     1] = { -1, -1, 0, -1, -1,
    1607             :                                                            4,  3,  2, 1 };
    1608             : 
    1609             : #endif  // CONFIG_PALETTE
    1610             : 
    1611             : // The transform size is coded as an offset to the smallest transform
    1612             : // block size.
    1613             : const aom_tree_index av1_tx_size_tree[MAX_TX_DEPTH][TREE_SIZE(TX_SIZES)] = {
    1614             :   {
    1615             :       // Max tx_size is 8X8
    1616             :       -0, -1,
    1617             :   },
    1618             :   {
    1619             :       // Max tx_size is 16X16
    1620             :       -0, 2, -1, -2,
    1621             :   },
    1622             :   {
    1623             :       // Max tx_size is 32X32
    1624             :       -0, 2, -1, 4, -2, -3,
    1625             :   },
    1626             : #if CONFIG_TX64X64
    1627             :   {
    1628             :       // Max tx_size is 64X64
    1629             :       -0, 2, -1, 4, -2, 6, -3, -4,
    1630             :   },
    1631             : #endif  // CONFIG_TX64X64
    1632             : };
    1633             : 
    1634             : static const aom_prob default_tx_size_prob[MAX_TX_DEPTH][TX_SIZE_CONTEXTS]
    1635             :                                           [MAX_TX_DEPTH] = {
    1636             :                                             {
    1637             :                                                 // Max tx_size is 8X8
    1638             :                                                 { 100 },
    1639             :                                                 { 66 },
    1640             :                                             },
    1641             :                                             {
    1642             :                                                 // Max tx_size is 16X16
    1643             :                                                 { 20, 152 },
    1644             :                                                 { 15, 101 },
    1645             :                                             },
    1646             :                                             {
    1647             :                                                 // Max tx_size is 32X32
    1648             :                                                 { 3, 136, 37 },
    1649             :                                                 { 5, 52, 13 },
    1650             :                                             },
    1651             : #if CONFIG_TX64X64
    1652             :                                             {
    1653             :                                                 // Max tx_size is 64X64
    1654             :                                                 { 1, 64, 136, 127 },
    1655             :                                                 { 1, 32, 52, 67 },
    1656             :                                             },
    1657             : #endif  // CONFIG_TX64X64
    1658             :                                           };
    1659             : 
    1660             : #if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
    1661             : static const aom_prob default_quarter_tx_size_prob = 192;
    1662             : #endif  // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
    1663             : 
    1664             : #if CONFIG_LOOP_RESTORATION
    1665             : const aom_tree_index
    1666             :     av1_switchable_restore_tree[TREE_SIZE(RESTORE_SWITCHABLE_TYPES)] = {
    1667             :       -RESTORE_NONE, 2, -RESTORE_WIENER, -RESTORE_SGRPROJ,
    1668             :     };
    1669             : 
    1670             : static const aom_prob
    1671             :     default_switchable_restore_prob[RESTORE_SWITCHABLE_TYPES - 1] = {
    1672             :       32, 128,
    1673             :     };
    1674             : #endif  // CONFIG_LOOP_RESTORATION
    1675             : 
    1676             : #if CONFIG_PALETTE
    1677             : #define NUM_PALETTE_NEIGHBORS 3  // left, top-left and top.
    1678           0 : int av1_get_palette_color_index_context(const uint8_t *color_map, int stride,
    1679             :                                         int r, int c, int palette_size,
    1680             :                                         uint8_t *color_order, int *color_idx) {
    1681             :   int i;
    1682             :   // The +10 below should not be needed. But we get a warning "array subscript
    1683             :   // is above array bounds [-Werror=array-bounds]" without it, possibly due to
    1684             :   // this (or similar) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124
    1685             :   int scores[PALETTE_MAX_SIZE + 10];
    1686           0 :   const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 };
    1687           0 :   const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 };
    1688             :   int color_index_ctx_hash;
    1689             :   int color_index_ctx;
    1690             :   int color_neighbors[NUM_PALETTE_NEIGHBORS];
    1691             :   int inverse_color_order[PALETTE_MAX_SIZE];
    1692           0 :   assert(palette_size <= PALETTE_MAX_SIZE);
    1693           0 :   assert(r > 0 || c > 0);
    1694             : 
    1695             :   // Get color indices of neighbors.
    1696           0 :   color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1;
    1697           0 :   color_neighbors[1] =
    1698           0 :       (c - 1 >= 0 && r - 1 >= 0) ? color_map[(r - 1) * stride + c - 1] : -1;
    1699           0 :   color_neighbors[2] = (r - 1 >= 0) ? color_map[(r - 1) * stride + c] : -1;
    1700             : 
    1701           0 :   for (i = 0; i < PALETTE_MAX_SIZE; ++i) {
    1702           0 :     color_order[i] = i;
    1703           0 :     inverse_color_order[i] = i;
    1704             :   }
    1705           0 :   memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0]));
    1706           0 :   for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
    1707           0 :     if (color_neighbors[i] >= 0) {
    1708           0 :       scores[color_neighbors[i]] += weights[i];
    1709             :     }
    1710             :   }
    1711             : 
    1712             :   // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small).
    1713           0 :   for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
    1714           0 :     int max = scores[i];
    1715           0 :     int max_idx = i;
    1716             :     int j;
    1717           0 :     for (j = i + 1; j < palette_size; ++j) {
    1718           0 :       if (scores[j] > max) {
    1719           0 :         max = scores[j];
    1720           0 :         max_idx = j;
    1721             :       }
    1722             :     }
    1723           0 :     if (max_idx != i) {
    1724             :       // Move the score at index 'max_idx' to index 'i', and shift the scores
    1725             :       // from 'i' to 'max_idx - 1' by 1.
    1726           0 :       const int max_score = scores[max_idx];
    1727           0 :       const uint8_t max_color_order = color_order[max_idx];
    1728             :       int k;
    1729           0 :       for (k = max_idx; k > i; --k) {
    1730           0 :         scores[k] = scores[k - 1];
    1731           0 :         color_order[k] = color_order[k - 1];
    1732           0 :         inverse_color_order[color_order[k]] = k;
    1733             :       }
    1734           0 :       scores[i] = max_score;
    1735           0 :       color_order[i] = max_color_order;
    1736           0 :       inverse_color_order[color_order[i]] = i;
    1737             :     }
    1738             :   }
    1739             : 
    1740             :   // Get hash value of context.
    1741           0 :   color_index_ctx_hash = 0;
    1742           0 :   for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
    1743           0 :     color_index_ctx_hash += scores[i] * hash_multipliers[i];
    1744             :   }
    1745           0 :   assert(color_index_ctx_hash > 0);
    1746           0 :   assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH);
    1747             : 
    1748             :   // Lookup context from hash.
    1749           0 :   color_index_ctx = palette_color_index_context_lookup[color_index_ctx_hash];
    1750           0 :   assert(color_index_ctx >= 0);
    1751           0 :   assert(color_index_ctx < PALETTE_COLOR_INDEX_CONTEXTS);
    1752             : 
    1753           0 :   if (color_idx != NULL) {
    1754           0 :     *color_idx = inverse_color_order[color_map[r * stride + c]];
    1755             :   }
    1756           0 :   return color_index_ctx;
    1757             : }
    1758             : #undef NUM_PALETTE_NEIGHBORS
    1759             : #undef MAX_COLOR_CONTEXT_HASH
    1760             : 
    1761             : #endif  // CONFIG_PALETTE
    1762             : 
    1763             : #if CONFIG_VAR_TX
    1764             : static const aom_prob default_txfm_partition_probs[TXFM_PARTITION_CONTEXTS] = {
    1765             :   250, 231, 212, 241, 166, 66, 241, 230, 135, 243, 154, 64, 248, 161, 63, 128,
    1766             : };
    1767             : #endif
    1768             : 
    1769             : static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
    1770             : 
    1771             : #if CONFIG_DUAL_FILTER
    1772             : #if USE_EXTRA_FILTER
    1773             : static const aom_prob default_switchable_interp_prob
    1774             :     [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
    1775             :       { 235, 192, 128 }, { 36, 243, 48 },   { 34, 16, 128 },
    1776             :       { 34, 16, 128 },   { 149, 160, 128 }, { 235, 192, 128 },
    1777             :       { 36, 243, 48 },   { 34, 16, 128 },   { 34, 16, 128 },
    1778             :       { 149, 160, 128 }, { 235, 192, 128 }, { 36, 243, 48 },
    1779             :       { 34, 16, 128 },   { 34, 16, 128 },   { 149, 160, 128 },
    1780             :       { 235, 192, 128 }, { 36, 243, 48 },   { 34, 16, 128 },
    1781             :       { 34, 16, 128 },   { 149, 160, 128 },
    1782             :     };
    1783             : #else   // USE_EXTRA_FILTER
    1784             : static const aom_prob default_switchable_interp_prob
    1785             :     [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
    1786             :       { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
    1787             :       { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
    1788             :       { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
    1789             :       { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
    1790             :     };
    1791             : #endif  // USE_EXTRA_FILTER
    1792             : #else   // CONFIG_DUAL_FILTER
    1793             : static const aom_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS]
    1794             :                                                     [SWITCHABLE_FILTERS - 1] = {
    1795             :                                                       { 235, 162 },
    1796             :                                                       { 36, 255 },
    1797             :                                                       { 34, 3 },
    1798             :                                                       { 149, 144 },
    1799             :                                                     };
    1800             : #endif  // CONFIG_DUAL_FILTER
    1801             : 
    1802             : #if CONFIG_EXT_TX
    1803             : /* clang-format off */
    1804             : const aom_tree_index av1_ext_tx_inter_tree[EXT_TX_SETS_INTER]
    1805             :                                            [TREE_SIZE(TX_TYPES)] = {
    1806             :   { // ToDo(yaowu): remove used entry 0.
    1807             :     0
    1808             :   }, {
    1809             :     -IDTX, 2,
    1810             :     4, 14,
    1811             :     6, 8,
    1812             :     -V_DCT, -H_DCT,
    1813             :     10, 12,
    1814             :     -V_ADST, -H_ADST,
    1815             :     -V_FLIPADST, -H_FLIPADST,
    1816             :     -DCT_DCT, 16,
    1817             :     18, 24,
    1818             :     20, 22,
    1819             :     -ADST_DCT, -DCT_ADST,
    1820             :     -FLIPADST_DCT, -DCT_FLIPADST,
    1821             :     26, 28,
    1822             :     -ADST_ADST, -FLIPADST_FLIPADST,
    1823             :     -ADST_FLIPADST, -FLIPADST_ADST
    1824             :   }, {
    1825             :     -IDTX, 2,
    1826             :     4, 6,
    1827             :     -V_DCT, -H_DCT,
    1828             :     -DCT_DCT, 8,
    1829             :     10, 16,
    1830             :     12, 14,
    1831             :     -ADST_DCT, -DCT_ADST,
    1832             :     -FLIPADST_DCT, -DCT_FLIPADST,
    1833             :     18, 20,
    1834             :     -ADST_ADST, -FLIPADST_FLIPADST,
    1835             :     -ADST_FLIPADST, -FLIPADST_ADST
    1836             :   }, {
    1837             :     -IDTX, -DCT_DCT,
    1838             :   }
    1839             : };
    1840             : 
    1841             : const aom_tree_index av1_ext_tx_intra_tree[EXT_TX_SETS_INTRA]
    1842             :                                            [TREE_SIZE(TX_TYPES)] = {
    1843             :   {  // ToDo(yaowu): remove unused entry 0.
    1844             :     0
    1845             :   }, {
    1846             :     -IDTX, 2,
    1847             :     -DCT_DCT, 4,
    1848             :     6, 8,
    1849             :     -V_DCT, -H_DCT,
    1850             :     -ADST_ADST, 10,
    1851             :     -ADST_DCT, -DCT_ADST,
    1852             :   }, {
    1853             :     -IDTX, 2,
    1854             :     -DCT_DCT, 4,
    1855             :     -ADST_ADST, 6,
    1856             :     -ADST_DCT, -DCT_ADST,
    1857             :   }
    1858             : };
    1859             : /* clang-format on */
    1860             : 
    1861             : static const aom_prob
    1862             :     default_inter_ext_tx_prob[EXT_TX_SETS_INTER][EXT_TX_SIZES][TX_TYPES - 1] = {
    1863             :       {
    1864             : // ToDo(yaowu): remove unused entry 0.
    1865             : #if CONFIG_CHROMA_2X2
    1866             :           { 0 },
    1867             : #endif
    1868             :           { 0 },
    1869             :           { 0 },
    1870             :           { 0 },
    1871             :           { 0 },
    1872             :       },
    1873             :       {
    1874             : #if CONFIG_CHROMA_2X2
    1875             :           { 0 },
    1876             : #endif
    1877             :           { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
    1878             :             128 },
    1879             :           { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
    1880             :             128 },
    1881             :           { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
    1882             :             128 },
    1883             :           { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
    1884             :             128 },
    1885             :       },
    1886             :       {
    1887             : #if CONFIG_CHROMA_2X2
    1888             :           { 0 },
    1889             : #endif
    1890             :           { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
    1891             :           { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
    1892             :           { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
    1893             :           { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
    1894             :       },
    1895             :       {
    1896             : #if CONFIG_CHROMA_2X2
    1897             :           { 0 },
    1898             : #endif
    1899             :           { 12 },
    1900             :           { 12 },
    1901             :           { 12 },
    1902             :           { 12 },
    1903             :       }
    1904             :     };
    1905             : 
    1906             : // TODO(urvang): 3rd context should be tx_type instead of intra mode just like
    1907             : // the baseline.
    1908             : static const aom_prob
    1909             :     default_intra_ext_tx_prob[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES]
    1910             :                              [TX_TYPES - 1] = {
    1911             :                                {
    1912             : // ToDo(yaowu): remove unused entry 0.
    1913             : #if CONFIG_CHROMA_2X2
    1914             :                                    {
    1915             :                                        { 0 },
    1916             :                                    },
    1917             : #endif
    1918             :                                    {
    1919             :                                        { 0 },
    1920             :                                        { 0 },
    1921             :                                        { 0 },
    1922             :                                        { 0 },
    1923             :                                        { 0 },
    1924             :                                        { 0 },
    1925             :                                        { 0 },
    1926             :                                        { 0 },
    1927             :                                        { 0 },
    1928             : #if CONFIG_ALT_INTRA
    1929             :                                        { 0 },
    1930             : #if CONFIG_SMOOTH_HV
    1931             :                                        { 0 },
    1932             :                                        { 0 },
    1933             : #endif  //  CONFIG_SMOOTH_HV
    1934             : #endif  // CONFIG_ALT_INTRA
    1935             :                                        { 0 },
    1936             :                                    },
    1937             :                                    {
    1938             :                                        { 0 },
    1939             :                                        { 0 },
    1940             :                                        { 0 },
    1941             :                                        { 0 },
    1942             :                                        { 0 },
    1943             :                                        { 0 },
    1944             :                                        { 0 },
    1945             :                                        { 0 },
    1946             :                                        { 0 },
    1947             : #if CONFIG_ALT_INTRA
    1948             :                                        { 0 },
    1949             : #if CONFIG_SMOOTH_HV
    1950             :                                        { 0 },
    1951             :                                        { 0 },
    1952             : #endif  //  CONFIG_SMOOTH_HV
    1953             : #endif  // CONFIG_ALT_INTRA
    1954             :                                        { 0 },
    1955             :                                    },
    1956             :                                    {
    1957             :                                        { 0 },
    1958             :                                        { 0 },
    1959             :                                        { 0 },
    1960             :                                        { 0 },
    1961             :                                        { 0 },
    1962             :                                        { 0 },
    1963             :                                        { 0 },
    1964             :                                        { 0 },
    1965             :                                        { 0 },
    1966             : #if CONFIG_ALT_INTRA
    1967             :                                        { 0 },
    1968             : #if CONFIG_SMOOTH_HV
    1969             :                                        { 0 },
    1970             :                                        { 0 },
    1971             : #endif  //  CONFIG_SMOOTH_HV
    1972             : #endif  // CONFIG_ALT_INTRA
    1973             :                                        { 0 },
    1974             :                                    },
    1975             :                                    {
    1976             :                                        { 0 },
    1977             :                                        { 0 },
    1978             :                                        { 0 },
    1979             :                                        { 0 },
    1980             :                                        { 0 },
    1981             :                                        { 0 },
    1982             :                                        { 0 },
    1983             :                                        { 0 },
    1984             :                                        { 0 },
    1985             : #if CONFIG_ALT_INTRA
    1986             :                                        { 0 },
    1987             : #if CONFIG_SMOOTH_HV
    1988             :                                        { 0 },
    1989             :                                        { 0 },
    1990             : #endif  //  CONFIG_SMOOTH_HV
    1991             : #endif  // CONFIG_ALT_INTRA
    1992             :                                        { 0 },
    1993             :                                    },
    1994             :                                },
    1995             :                                {
    1996             : #if CONFIG_CHROMA_2X2
    1997             :                                    {
    1998             :                                        { 0 },
    1999             :                                    },
    2000             : #endif
    2001             :                                    {
    2002             :                                        { 8, 224, 32, 128, 64, 128 },
    2003             :                                        { 10, 32, 32, 128, 16, 192 },
    2004             :                                        { 10, 32, 32, 128, 16, 64 },
    2005             :                                        { 9, 200, 32, 128, 64, 128 },
    2006             :                                        { 8, 8, 32, 128, 224, 128 },
    2007             :                                        { 10, 32, 32, 128, 16, 192 },
    2008             :                                        { 10, 32, 32, 128, 16, 64 },
    2009             :                                        { 10, 23, 32, 128, 80, 176 },
    2010             :                                        { 10, 23, 32, 128, 80, 176 },
    2011             : #if CONFIG_ALT_INTRA
    2012             :                                        { 10, 32, 32, 128, 16, 64 },
    2013             : #if CONFIG_SMOOTH_HV
    2014             :                                        { 10, 32, 32, 128, 16, 64 },
    2015             :                                        { 10, 32, 32, 128, 16, 64 },
    2016             : #endif  //  CONFIG_SMOOTH_HV
    2017             : #endif  // CONFIG_ALT_INTRA
    2018             :                                        { 10, 32, 32, 128, 16, 64 },
    2019             :                                    },
    2020             :                                    {
    2021             :                                        { 8, 224, 32, 128, 64, 128 },
    2022             :                                        { 10, 32, 32, 128, 16, 192 },
    2023             :                                        { 10, 32, 32, 128, 16, 64 },
    2024             :                                        { 9, 200, 32, 128, 64, 128 },
    2025             :                                        { 8, 8, 32, 128, 224, 128 },
    2026             :                                        { 10, 32, 32, 128, 16, 192 },
    2027             :                                        { 10, 32, 32, 128, 16, 64 },
    2028             :                                        { 10, 23, 32, 128, 80, 176 },
    2029             :                                        { 10, 23, 32, 128, 80, 176 },
    2030             : #if CONFIG_ALT_INTRA
    2031             :                                        { 10, 32, 32, 128, 16, 64 },
    2032             : #if CONFIG_SMOOTH_HV
    2033             :                                        { 10, 32, 32, 128, 16, 64 },
    2034             :                                        { 10, 32, 32, 128, 16, 64 },
    2035             : #endif  //  CONFIG_SMOOTH_HV
    2036             : #endif  // CONFIG_ALT_INTRA
    2037             :                                        { 10, 32, 32, 128, 16, 64 },
    2038             :                                    },
    2039             :                                    {
    2040             :                                        { 8, 224, 32, 128, 64, 128 },
    2041             :                                        { 10, 32, 32, 128, 16, 192 },
    2042             :                                        { 10, 32, 32, 128, 16, 64 },
    2043             :                                        { 9, 200, 32, 128, 64, 128 },
    2044             :                                        { 8, 8, 32, 128, 224, 128 },
    2045             :                                        { 10, 32, 32, 128, 16, 192 },
    2046             :                                        { 10, 32, 32, 128, 16, 64 },
    2047             :                                        { 10, 23, 32, 128, 80, 176 },
    2048             :                                        { 10, 23, 32, 128, 80, 176 },
    2049             : #if CONFIG_ALT_INTRA
    2050             :                                        { 10, 32, 32, 128, 16, 64 },
    2051             : #if CONFIG_SMOOTH_HV
    2052             :                                        { 10, 32, 32, 128, 16, 64 },
    2053             :                                        { 10, 32, 32, 128, 16, 64 },
    2054             : #endif  //  CONFIG_SMOOTH_HV
    2055             : #endif  // CONFIG_ALT_INTRA
    2056             :                                        { 10, 32, 32, 128, 16, 64 },
    2057             :                                    },
    2058             :                                    {
    2059             :                                        { 8, 224, 32, 128, 64, 128 },
    2060             :                                        { 10, 32, 32, 128, 16, 192 },
    2061             :                                        { 10, 32, 32, 128, 16, 64 },
    2062             :                                        { 9, 200, 32, 128, 64, 128 },
    2063             :                                        { 8, 8, 32, 128, 224, 128 },
    2064             :                                        { 10, 32, 32, 128, 16, 192 },
    2065             :                                        { 10, 32, 32, 128, 16, 64 },
    2066             :                                        { 10, 23, 32, 128, 80, 176 },
    2067             :                                        { 10, 23, 32, 128, 80, 176 },
    2068             : #if CONFIG_ALT_INTRA
    2069             :                                        { 10, 32, 32, 128, 16, 64 },
    2070             : #if CONFIG_SMOOTH_HV
    2071             :                                        { 10, 32, 32, 128, 16, 64 },
    2072             :                                        { 10, 32, 32, 128, 16, 64 },
    2073             : #endif  //  CONFIG_SMOOTH_HV
    2074             : #endif  // CONFIG_ALT_INTRA
    2075             :                                        { 10, 32, 32, 128, 16, 64 },
    2076             :                                    },
    2077             :                                },
    2078             :                                {
    2079             : #if CONFIG_CHROMA_2X2
    2080             :                                    {
    2081             :                                        { 0 },
    2082             :                                    },
    2083             : #endif
    2084             :                                    {
    2085             :                                        { 8, 224, 64, 128 },
    2086             :                                        { 10, 32, 16, 192 },
    2087             :                                        { 10, 32, 16, 64 },
    2088             :                                        { 9, 200, 64, 128 },
    2089             :                                        { 8, 8, 224, 128 },
    2090             :                                        { 10, 32, 16, 192 },
    2091             :                                        { 10, 32, 16, 64 },
    2092             :                                        { 10, 23, 80, 176 },
    2093             :                                        { 10, 23, 80, 176 },
    2094             : #if CONFIG_ALT_INTRA
    2095             :                                        { 10, 32, 16, 64 },
    2096             : #if CONFIG_SMOOTH_HV
    2097             :                                        { 10, 32, 16, 64 },
    2098             :                                        { 10, 32, 16, 64 },
    2099             : #endif  //  CONFIG_SMOOTH_HV
    2100             : #endif  // CONFIG_ALT_INTRA
    2101             :                                        { 10, 32, 16, 64 },
    2102             :                                    },
    2103             :                                    {
    2104             :                                        { 8, 224, 64, 128 },
    2105             :                                        { 10, 32, 16, 192 },
    2106             :                                        { 10, 32, 16, 64 },
    2107             :                                        { 9, 200, 64, 128 },
    2108             :                                        { 8, 8, 224, 128 },
    2109             :                                        { 10, 32, 16, 192 },
    2110             :                                        { 10, 32, 16, 64 },
    2111             :                                        { 10, 23, 80, 176 },
    2112             :                                        { 10, 23, 80, 176 },
    2113             : #if CONFIG_ALT_INTRA
    2114             :                                        { 10, 32, 16, 64 },
    2115             : #if CONFIG_SMOOTH_HV
    2116             :                                        { 10, 32, 16, 64 },
    2117             :                                        { 10, 32, 16, 64 },
    2118             : #endif  //  CONFIG_SMOOTH_HV
    2119             : #endif  // CONFIG_ALT_INTRA
    2120             :                                        { 10, 32, 16, 64 },
    2121             :                                    },
    2122             :                                    {
    2123             :                                        { 8, 224, 64, 128 },
    2124             :                                        { 10, 32, 16, 192 },
    2125             :                                        { 10, 32, 16, 64 },
    2126             :                                        { 9, 200, 64, 128 },
    2127             :                                        { 8, 8, 224, 128 },
    2128             :                                        { 10, 32, 16, 192 },
    2129             :                                        { 10, 32, 16, 64 },
    2130             :                                        { 10, 23, 80, 176 },
    2131             :                                        { 10, 23, 80, 176 },
    2132             : #if CONFIG_ALT_INTRA
    2133             :                                        { 10, 32, 16, 64 },
    2134             : #if CONFIG_SMOOTH_HV
    2135             :                                        { 10, 32, 16, 64 },
    2136             :                                        { 10, 32, 16, 64 },
    2137             : #endif  //  CONFIG_SMOOTH_HV
    2138             : #endif  // CONFIG_ALT_INTRA
    2139             :                                        { 10, 32, 16, 64 },
    2140             :                                    },
    2141             :                                    {
    2142             :                                        { 8, 224, 64, 128 },
    2143             :                                        { 10, 32, 16, 192 },
    2144             :                                        { 10, 32, 16, 64 },
    2145             :                                        { 9, 200, 64, 128 },
    2146             :                                        { 8, 8, 224, 128 },
    2147             :                                        { 10, 32, 16, 192 },
    2148             :                                        { 10, 32, 16, 64 },
    2149             :                                        { 10, 23, 80, 176 },
    2150             :                                        { 10, 23, 80, 176 },
    2151             : #if CONFIG_ALT_INTRA
    2152             :                                        { 10, 32, 16, 64 },
    2153             : #if CONFIG_SMOOTH_HV
    2154             :                                        { 10, 32, 16, 64 },
    2155             :                                        { 10, 32, 16, 64 },
    2156             : #endif  //  CONFIG_SMOOTH_HV
    2157             : #endif  // CONFIG_ALT_INTRA
    2158             :                                        { 10, 32, 16, 64 },
    2159             :                                    },
    2160             :                                },
    2161             :                              };
    2162             : #else  // !CONFIG_EXT_TX
    2163             : 
    2164             : /* clang-format off */
    2165             : const aom_tree_index av1_ext_tx_tree[TREE_SIZE(TX_TYPES)] = {
    2166             :   -DCT_DCT, 2,
    2167             :   -ADST_ADST, 4,
    2168             :   -ADST_DCT, -DCT_ADST
    2169             : };
    2170             : /* clang-format on */
    2171             : 
    2172             : int av1_ext_tx_ind[TX_TYPES];
    2173             : int av1_ext_tx_inv[TX_TYPES];
    2174             : 
    2175             : static const aom_prob
    2176             :     default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES][TX_TYPES - 1] = {
    2177             : #if CONFIG_CHROMA_2X2
    2178             :       { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
    2179             : #endif
    2180             :       { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
    2181             :       { { 244, 85, 128 }, { 8, 2, 248 }, { 8, 2, 8 }, { 8, 248, 128 } },
    2182             :       { { 248, 85, 128 }, { 16, 4, 248 }, { 16, 4, 8 }, { 16, 248, 128 } },
    2183             :     };
    2184             : 
    2185             : static const aom_prob default_inter_ext_tx_prob[EXT_TX_SIZES][TX_TYPES - 1] = {
    2186             : #if CONFIG_CHROMA_2X2
    2187             :   { 160, 85, 128 },
    2188             : #endif
    2189             :   { 160, 85, 128 },
    2190             :   { 176, 85, 128 },
    2191             :   { 192, 85, 128 },
    2192             : };
    2193             : #endif  // CONFIG_EXT_TX
    2194             : 
    2195             : #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    2196             : static const aom_prob
    2197             :     default_intra_filter_probs[INTRA_FILTERS + 1][INTRA_FILTERS - 1] = {
    2198             :       { 98, 63, 60 }, { 98, 82, 80 }, { 94, 65, 103 },
    2199             :       { 49, 25, 24 }, { 72, 38, 50 },
    2200             :     };
    2201             : const aom_tree_index av1_intra_filter_tree[TREE_SIZE(INTRA_FILTERS)] = {
    2202             :   -INTRA_FILTER_LINEAR,      2, -INTRA_FILTER_8TAP, 4, -INTRA_FILTER_8TAP_SHARP,
    2203             :   -INTRA_FILTER_8TAP_SMOOTH,
    2204             : };
    2205             : int av1_intra_filter_ind[INTRA_FILTERS];
    2206             : int av1_intra_filter_inv[INTRA_FILTERS];
    2207             : #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    2208             : 
    2209             : #if CONFIG_FILTER_INTRA
    2210             : static const aom_prob default_filter_intra_probs[2] = { 230, 230 };
    2211             : #endif  // CONFIG_FILTER_INTRA
    2212             : 
    2213             : #if CONFIG_SUPERTX
    2214             : static const aom_prob
    2215             :     default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
    2216             : #if CONFIG_CHROMA_2X2
    2217             : #if CONFIG_TX64X64
    2218             :       { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
    2219             : #else
    2220             :       { 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
    2221             : #endif  // CONFIG_TX64X64
    2222             : #else
    2223             : #if CONFIG_TX64X64
    2224             :       { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
    2225             : #else
    2226             :       { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
    2227             : #endif  // CONFIG_TX64X64
    2228             : #endif  // CONFIG_CHROMA_2X2
    2229             :     };
    2230             : #endif  // CONFIG_SUPERTX
    2231             : 
    2232             : // FIXME(someone) need real defaults here
    2233             : static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
    2234             :   128, 128, 128, 128, 128, 128, 128
    2235             : };
    2236             : // clang-format off
    2237             : static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
    2238             :   128, 128, 128
    2239             : };
    2240             : // clang-format on
    2241             : 
    2242             : #if CONFIG_DUAL_FILTER
    2243             : #if USE_EXTRA_FILTER
    2244             : static const aom_cdf_prob
    2245             :     default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
    2246             :         SWITCHABLE_FILTERS)] = {
    2247             :       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
    2248             :       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
    2249             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2250             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2251             :       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
    2252             :       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
    2253             :       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
    2254             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2255             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2256             :       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
    2257             :       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
    2258             :       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
    2259             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2260             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2261             :       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
    2262             :       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
    2263             :       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
    2264             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2265             :       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
    2266             :       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 }
    2267             :     };
    2268             : #else   // USE_EXTRA_FILTER
    2269             : static const aom_cdf_prob
    2270             :     default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
    2271             :         SWITCHABLE_FILTERS)] = {
    2272             :       { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
    2273             :       { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
    2274             :       { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
    2275             :       { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
    2276             :       { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
    2277             :       { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
    2278             :       { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
    2279             :       { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
    2280             :       { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
    2281             :       { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
    2282             :       { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
    2283             :       { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
    2284             :       { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
    2285             :       { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
    2286             :       { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
    2287             :       { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
    2288             :     };
    2289             : #endif  // USE_EXTRA_FILTER
    2290             : #else   // CONFIG_DUAL_FILTER
    2291             : static const aom_cdf_prob
    2292             :     default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
    2293             :         SWITCHABLE_FILTERS)] = {
    2294             :       { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
    2295             :       { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
    2296             :       { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
    2297             :       { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
    2298             :     };
    2299             : #endif  // CONFIG_DUAL_FILTER
    2300             : 
    2301             : static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = {
    2302             :   AOM_ICDF(4096),  AOM_ICDF(8192),  AOM_ICDF(12288),
    2303             :   AOM_ICDF(16384), AOM_ICDF(20480), AOM_ICDF(24576),
    2304             :   AOM_ICDF(28672), AOM_ICDF(32768), 0
    2305             : };
    2306             : 
    2307             : static const aom_cdf_prob
    2308             :     default_tx_size_cdf[MAX_TX_DEPTH][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH +
    2309             :                                                                  1)] = {
    2310             :       { { AOM_ICDF(12800), AOM_ICDF(32768), 0 },
    2311             :         { AOM_ICDF(8448), AOM_ICDF(32768), 0 } },
    2312             :       { { AOM_ICDF(2560), AOM_ICDF(20496), AOM_ICDF(32768), 0 },
    2313             :         { AOM_ICDF(1920), AOM_ICDF(14091), AOM_ICDF(32768), 0 } },
    2314             :       { { AOM_ICDF(384), AOM_ICDF(17588), AOM_ICDF(19782), AOM_ICDF(32768), 0 },
    2315             :         { AOM_ICDF(640), AOM_ICDF(7166), AOM_ICDF(8466), AOM_ICDF(32768), 0 } },
    2316             : #if CONFIG_TX64X64
    2317             :       { { AOM_ICDF(128), AOM_ICDF(8288), AOM_ICDF(21293), AOM_ICDF(26986),
    2318             :           AOM_ICDF(32768), 0 },
    2319             :         { AOM_ICDF(128), AOM_ICDF(4208), AOM_ICDF(10009), AOM_ICDF(15965),
    2320             :           AOM_ICDF(32768), 0 } },
    2321             : #endif
    2322             :     };
    2323             : 
    2324             : #if CONFIG_ALT_INTRA
    2325             : #if CONFIG_SMOOTH_HV
    2326             : static const aom_cdf_prob
    2327             :     default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
    2328             :       { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(11980), AOM_ICDF(15213),
    2329             :         AOM_ICDF(18579), AOM_ICDF(21075), AOM_ICDF(24090), AOM_ICDF(25954),
    2330             :         AOM_ICDF(27870), AOM_ICDF(29439), AOM_ICDF(31051), AOM_ICDF(31863),
    2331             :         AOM_ICDF(32768), 0 },
    2332             :       { AOM_ICDF(11776), AOM_ICDF(21616), AOM_ICDF(23663), AOM_ICDF(25147),
    2333             :         AOM_ICDF(26060), AOM_ICDF(26828), AOM_ICDF(27246), AOM_ICDF(28066),
    2334             :         AOM_ICDF(28654), AOM_ICDF(29474), AOM_ICDF(31353), AOM_ICDF(32038),
    2335             :         AOM_ICDF(32768), 0 },
    2336             :       { AOM_ICDF(14720), AOM_ICDF(21911), AOM_ICDF(23650), AOM_ICDF(25282),
    2337             :         AOM_ICDF(25740), AOM_ICDF(26108), AOM_ICDF(26316), AOM_ICDF(26896),
    2338             :         AOM_ICDF(27194), AOM_ICDF(27695), AOM_ICDF(30113), AOM_ICDF(31254),
    2339             :         AOM_ICDF(32768), 0 },
    2340             :       { AOM_ICDF(18944), AOM_ICDF(27422), AOM_ICDF(28403), AOM_ICDF(29386),
    2341             :         AOM_ICDF(29405), AOM_ICDF(29460), AOM_ICDF(29550), AOM_ICDF(29588),
    2342             :         AOM_ICDF(29600), AOM_ICDF(29637), AOM_ICDF(30542), AOM_ICDF(31298),
    2343             :         AOM_ICDF(32768), 0 },
    2344             :     };
    2345             : 
    2346             : static const aom_cdf_prob
    2347             :     default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
    2348             :       { AOM_ICDF(23552), AOM_ICDF(23660), AOM_ICDF(26044), AOM_ICDF(28731),
    2349             :         AOM_ICDF(29093), AOM_ICDF(29590), AOM_ICDF(30000), AOM_ICDF(30465),
    2350             :         AOM_ICDF(30825), AOM_ICDF(31478), AOM_ICDF(32088), AOM_ICDF(32401),
    2351             :         AOM_ICDF(32768), 0 },
    2352             :       { AOM_ICDF(2944), AOM_ICDF(3294), AOM_ICDF(26781), AOM_ICDF(27903),
    2353             :         AOM_ICDF(28179), AOM_ICDF(29237), AOM_ICDF(29430), AOM_ICDF(30317),
    2354             :         AOM_ICDF(30441), AOM_ICDF(30614), AOM_ICDF(31556), AOM_ICDF(31963),
    2355             :         AOM_ICDF(32768), 0 },
    2356             :       { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(5453), AOM_ICDF(28285),
    2357             :         AOM_ICDF(28641), AOM_ICDF(28927), AOM_ICDF(29092), AOM_ICDF(29279),
    2358             :         AOM_ICDF(30083), AOM_ICDF(31384), AOM_ICDF(32027), AOM_ICDF(32406),
    2359             :         AOM_ICDF(32768), 0 },
    2360             :       { AOM_ICDF(17664), AOM_ICDF(17841), AOM_ICDF(20465), AOM_ICDF(22016),
    2361             :         AOM_ICDF(22364), AOM_ICDF(22916), AOM_ICDF(27149), AOM_ICDF(29498),
    2362             :         AOM_ICDF(29766), AOM_ICDF(31091), AOM_ICDF(31871), AOM_ICDF(32260),
    2363             :         AOM_ICDF(32768), 0 },
    2364             :       { AOM_ICDF(16640), AOM_ICDF(16766), AOM_ICDF(18516), AOM_ICDF(20359),
    2365             :         AOM_ICDF(24964), AOM_ICDF(27591), AOM_ICDF(27915), AOM_ICDF(28389),
    2366             :         AOM_ICDF(29997), AOM_ICDF(30495), AOM_ICDF(31623), AOM_ICDF(32151),
    2367             :         AOM_ICDF(32768), 0 },
    2368             :       { AOM_ICDF(13952), AOM_ICDF(14173), AOM_ICDF(18168), AOM_ICDF(19139),
    2369             :         AOM_ICDF(21064), AOM_ICDF(30601), AOM_ICDF(30889), AOM_ICDF(31410),
    2370             :         AOM_ICDF(31803), AOM_ICDF(32059), AOM_ICDF(32358), AOM_ICDF(32563),
    2371             :         AOM_ICDF(32768), 0 },
    2372             :       { AOM_ICDF(15872), AOM_ICDF(15938), AOM_ICDF(17056), AOM_ICDF(21545),
    2373             :         AOM_ICDF(23947), AOM_ICDF(24667), AOM_ICDF(24920), AOM_ICDF(25196),
    2374             :         AOM_ICDF(30638), AOM_ICDF(31229), AOM_ICDF(31968), AOM_ICDF(32284),
    2375             :         AOM_ICDF(32768), 0 },
    2376             :       { AOM_ICDF(16256), AOM_ICDF(16385), AOM_ICDF(17409), AOM_ICDF(23210),
    2377             :         AOM_ICDF(23628), AOM_ICDF(24009), AOM_ICDF(24967), AOM_ICDF(25546),
    2378             :         AOM_ICDF(26054), AOM_ICDF(31037), AOM_ICDF(31875), AOM_ICDF(32335),
    2379             :         AOM_ICDF(32768), 0 },
    2380             :       { AOM_ICDF(14720), AOM_ICDF(14932), AOM_ICDF(19461), AOM_ICDF(20713),
    2381             :         AOM_ICDF(21073), AOM_ICDF(21852), AOM_ICDF(23430), AOM_ICDF(29631),
    2382             :         AOM_ICDF(29876), AOM_ICDF(30520), AOM_ICDF(31591), AOM_ICDF(32078),
    2383             :         AOM_ICDF(32768), 0 },
    2384             :       { AOM_ICDF(16768), AOM_ICDF(17018), AOM_ICDF(20217), AOM_ICDF(22624),
    2385             :         AOM_ICDF(23484), AOM_ICDF(23698), AOM_ICDF(24300), AOM_ICDF(25193),
    2386             :         AOM_ICDF(25785), AOM_ICDF(26903), AOM_ICDF(29835), AOM_ICDF(31187),
    2387             :         AOM_ICDF(32768), 0 },
    2388             :       { AOM_ICDF(16768), AOM_ICDF(17081), AOM_ICDF(21064), AOM_ICDF(23339),
    2389             :         AOM_ICDF(24047), AOM_ICDF(24264), AOM_ICDF(24829), AOM_ICDF(25759),
    2390             :         AOM_ICDF(26224), AOM_ICDF(27119), AOM_ICDF(29833), AOM_ICDF(31599),
    2391             :         AOM_ICDF(32768), 0 },
    2392             :       { AOM_ICDF(17536), AOM_ICDF(17774), AOM_ICDF(20293), AOM_ICDF(23203),
    2393             :         AOM_ICDF(23906), AOM_ICDF(24094), AOM_ICDF(24636), AOM_ICDF(25303),
    2394             :         AOM_ICDF(26003), AOM_ICDF(27271), AOM_ICDF(29912), AOM_ICDF(30927),
    2395             :         AOM_ICDF(32768), 0 },
    2396             :       { AOM_ICDF(17536), AOM_ICDF(18250), AOM_ICDF(23467), AOM_ICDF(27840),
    2397             :         AOM_ICDF(28058), AOM_ICDF(28626), AOM_ICDF(28853), AOM_ICDF(29541),
    2398             :         AOM_ICDF(29907), AOM_ICDF(30600), AOM_ICDF(31515), AOM_ICDF(32049),
    2399             :         AOM_ICDF(32768), 0 },
    2400             :     };
    2401             : #else   // !CONFIG_SMOOTH_HV
    2402             : static const aom_cdf_prob
    2403             :     default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
    2404             :       { AOM_ICDF(11264), AOM_ICDF(12608), AOM_ICDF(16309), AOM_ICDF(21086),
    2405             :         AOM_ICDF(23297), AOM_ICDF(24860), AOM_ICDF(27022), AOM_ICDF(28099),
    2406             :         AOM_ICDF(29631), AOM_ICDF(31126), AOM_ICDF(32768), 0 },
    2407             :       { AOM_ICDF(9600), AOM_ICDF(11953), AOM_ICDF(16100), AOM_ICDF(20922),
    2408             :         AOM_ICDF(22756), AOM_ICDF(23913), AOM_ICDF(25435), AOM_ICDF(26724),
    2409             :         AOM_ICDF(28046), AOM_ICDF(29927), AOM_ICDF(32768), 0 },
    2410             :       { AOM_ICDF(9344), AOM_ICDF(11540), AOM_ICDF(16515), AOM_ICDF(21763),
    2411             :         AOM_ICDF(23078), AOM_ICDF(23816), AOM_ICDF(24725), AOM_ICDF(25856),
    2412             :         AOM_ICDF(26720), AOM_ICDF(28208), AOM_ICDF(32768), 0 },
    2413             :       { AOM_ICDF(12288), AOM_ICDF(14448), AOM_ICDF(18026), AOM_ICDF(23346),
    2414             :         AOM_ICDF(23833), AOM_ICDF(24188), AOM_ICDF(24724), AOM_ICDF(25415),
    2415             :         AOM_ICDF(25817), AOM_ICDF(26876), AOM_ICDF(32768), 0 },
    2416             :     };
    2417             : 
    2418             : static const aom_cdf_prob
    2419             :     default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
    2420             :       { AOM_ICDF(25472), AOM_ICDF(25558), AOM_ICDF(27783), AOM_ICDF(30779),
    2421             :         AOM_ICDF(30988), AOM_ICDF(31269), AOM_ICDF(31492), AOM_ICDF(31741),
    2422             :         AOM_ICDF(32014), AOM_ICDF(32420), AOM_ICDF(32768), 0 },
    2423             :       { AOM_ICDF(2176), AOM_ICDF(2415), AOM_ICDF(28381), AOM_ICDF(29574),
    2424             :         AOM_ICDF(29832), AOM_ICDF(30712), AOM_ICDF(30881), AOM_ICDF(31662),
    2425             :         AOM_ICDF(31761), AOM_ICDF(31922), AOM_ICDF(32768), 0 },
    2426             :       { AOM_ICDF(3328), AOM_ICDF(3443), AOM_ICDF(4016), AOM_ICDF(31099),
    2427             :         AOM_ICDF(31272), AOM_ICDF(31420), AOM_ICDF(31504), AOM_ICDF(31608),
    2428             :         AOM_ICDF(31916), AOM_ICDF(32598), AOM_ICDF(32768), 0 },
    2429             :       { AOM_ICDF(23424), AOM_ICDF(23534), AOM_ICDF(25915), AOM_ICDF(27831),
    2430             :         AOM_ICDF(28058), AOM_ICDF(28431), AOM_ICDF(30142), AOM_ICDF(31209),
    2431             :         AOM_ICDF(31459), AOM_ICDF(32369), AOM_ICDF(32768), 0 },
    2432             :       { AOM_ICDF(22784), AOM_ICDF(22862), AOM_ICDF(24255), AOM_ICDF(26287),
    2433             :         AOM_ICDF(28490), AOM_ICDF(29509), AOM_ICDF(29776), AOM_ICDF(30115),
    2434             :         AOM_ICDF(31203), AOM_ICDF(31674), AOM_ICDF(32768), 0 },
    2435             :       { AOM_ICDF(19712), AOM_ICDF(19865), AOM_ICDF(23141), AOM_ICDF(24428),
    2436             :         AOM_ICDF(25731), AOM_ICDF(31377), AOM_ICDF(31622), AOM_ICDF(32047),
    2437             :         AOM_ICDF(32458), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
    2438             :       { AOM_ICDF(21376), AOM_ICDF(21421), AOM_ICDF(22130), AOM_ICDF(27688),
    2439             :         AOM_ICDF(28485), AOM_ICDF(28779), AOM_ICDF(28935), AOM_ICDF(29085),
    2440             :         AOM_ICDF(31962), AOM_ICDF(32450), AOM_ICDF(32768), 0 },
    2441             :       { AOM_ICDF(19712), AOM_ICDF(19814), AOM_ICDF(20725), AOM_ICDF(28510),
    2442             :         AOM_ICDF(28814), AOM_ICDF(29099), AOM_ICDF(29457), AOM_ICDF(29729),
    2443             :         AOM_ICDF(30133), AOM_ICDF(32408), AOM_ICDF(32768), 0 },
    2444             :       { AOM_ICDF(19584), AOM_ICDF(19790), AOM_ICDF(23643), AOM_ICDF(25501),
    2445             :         AOM_ICDF(25913), AOM_ICDF(26673), AOM_ICDF(27578), AOM_ICDF(30923),
    2446             :         AOM_ICDF(31255), AOM_ICDF(31870), AOM_ICDF(32768), 0 },
    2447             :       { AOM_ICDF(20864), AOM_ICDF(21004), AOM_ICDF(24129), AOM_ICDF(26308),
    2448             :         AOM_ICDF(27062), AOM_ICDF(27065), AOM_ICDF(27488), AOM_ICDF(28045),
    2449             :         AOM_ICDF(28506), AOM_ICDF(29272), AOM_ICDF(32768), 0 },
    2450             :       { AOM_ICDF(23680), AOM_ICDF(23929), AOM_ICDF(27831), AOM_ICDF(30446),
    2451             :         AOM_ICDF(30598), AOM_ICDF(31129), AOM_ICDF(31244), AOM_ICDF(31655),
    2452             :         AOM_ICDF(31868), AOM_ICDF(32234), AOM_ICDF(32768), 0 },
    2453             :     };
    2454             : #endif  // CONFIG_SMOOTH_HV
    2455             : #else   // !CONFIG_ALT_INTRA
    2456             : static const aom_cdf_prob
    2457             :     default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
    2458             :       { AOM_ICDF(8320), AOM_ICDF(11376), AOM_ICDF(12880), AOM_ICDF(19959),
    2459             :         AOM_ICDF(23072), AOM_ICDF(24067), AOM_ICDF(25461), AOM_ICDF(26917),
    2460             :         AOM_ICDF(29157), AOM_ICDF(32768), 0 },
    2461             :       { AOM_ICDF(16896), AOM_ICDF(21112), AOM_ICDF(21932), AOM_ICDF(27852),
    2462             :         AOM_ICDF(28667), AOM_ICDF(28916), AOM_ICDF(29593), AOM_ICDF(30089),
    2463             :         AOM_ICDF(30905), AOM_ICDF(32768), 0 },
    2464             :       { AOM_ICDF(22144), AOM_ICDF(25464), AOM_ICDF(26006), AOM_ICDF(30364),
    2465             :         AOM_ICDF(30583), AOM_ICDF(30655), AOM_ICDF(31183), AOM_ICDF(31400),
    2466             :         AOM_ICDF(31646), AOM_ICDF(32768), 0 },
    2467             :       { AOM_ICDF(28288), AOM_ICDF(30650), AOM_ICDF(30964), AOM_ICDF(32288),
    2468             :         AOM_ICDF(32308), AOM_ICDF(32331), AOM_ICDF(32495), AOM_ICDF(32586),
    2469             :         AOM_ICDF(32607), AOM_ICDF(32768), 0 },
    2470             :     };
    2471             : 
    2472             : static const aom_cdf_prob
    2473             :     default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
    2474             :       { AOM_ICDF(15360), AOM_ICDF(15836), AOM_ICDF(20863), AOM_ICDF(27513),
    2475             :         AOM_ICDF(28269), AOM_ICDF(29048), AOM_ICDF(29455), AOM_ICDF(30154),
    2476             :         AOM_ICDF(31206), AOM_ICDF(32768), 0 },
    2477             :       { AOM_ICDF(6144), AOM_ICDF(7392), AOM_ICDF(22657), AOM_ICDF(25981),
    2478             :         AOM_ICDF(26965), AOM_ICDF(28779), AOM_ICDF(29309), AOM_ICDF(30890),
    2479             :         AOM_ICDF(31763), AOM_ICDF(32768), 0 },
    2480             :       { AOM_ICDF(8576), AOM_ICDF(9143), AOM_ICDF(11450), AOM_ICDF(27575),
    2481             :         AOM_ICDF(28108), AOM_ICDF(28438), AOM_ICDF(28658), AOM_ICDF(28995),
    2482             :         AOM_ICDF(30410), AOM_ICDF(32768), 0 },
    2483             :       { AOM_ICDF(12416), AOM_ICDF(12814), AOM_ICDF(16244), AOM_ICDF(22057),
    2484             :         AOM_ICDF(23492), AOM_ICDF(24700), AOM_ICDF(26213), AOM_ICDF(27954),
    2485             :         AOM_ICDF(29778), AOM_ICDF(32768), 0 },
    2486             :       { AOM_ICDF(10624), AOM_ICDF(11057), AOM_ICDF(14619), AOM_ICDF(19415),
    2487             :         AOM_ICDF(23134), AOM_ICDF(25679), AOM_ICDF(26399), AOM_ICDF(27618),
    2488             :         AOM_ICDF(30676), AOM_ICDF(32768), 0 },
    2489             :       { AOM_ICDF(10240), AOM_ICDF(10680), AOM_ICDF(15684), AOM_ICDF(19118),
    2490             :         AOM_ICDF(21856), AOM_ICDF(27563), AOM_ICDF(28234), AOM_ICDF(29332),
    2491             :         AOM_ICDF(31278), AOM_ICDF(32768), 0 },
    2492             :       { AOM_ICDF(11008), AOM_ICDF(11433), AOM_ICDF(14100), AOM_ICDF(22522),
    2493             :         AOM_ICDF(24365), AOM_ICDF(25330), AOM_ICDF(25737), AOM_ICDF(26341),
    2494             :         AOM_ICDF(30433), AOM_ICDF(32768), 0 },
    2495             :       { AOM_ICDF(10880), AOM_ICDF(11308), AOM_ICDF(13991), AOM_ICDF(23645),
    2496             :         AOM_ICDF(24679), AOM_ICDF(25433), AOM_ICDF(25977), AOM_ICDF(26746),
    2497             :         AOM_ICDF(28463), AOM_ICDF(32768), 0 },
    2498             :       { AOM_ICDF(9856), AOM_ICDF(10483), AOM_ICDF(16054), AOM_ICDF(19959),
    2499             :         AOM_ICDF(21708), AOM_ICDF(23628), AOM_ICDF(24949), AOM_ICDF(28797),
    2500             :         AOM_ICDF(30658), AOM_ICDF(32768), 0 },
    2501             :       { AOM_ICDF(12928), AOM_ICDF(14556), AOM_ICDF(22168), AOM_ICDF(27789),
    2502             :         AOM_ICDF(28543), AOM_ICDF(29663), AOM_ICDF(29893), AOM_ICDF(30645),
    2503             :         AOM_ICDF(31682), AOM_ICDF(32768), 0 },
    2504             :     };
    2505             : #endif  // CONFIG_ALT_INTRA
    2506             : 
    2507             : #if CONFIG_EXT_PARTITION_TYPES
    2508             : static const aom_cdf_prob
    2509             :     default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(EXT_PARTITION_TYPES)] = {
    2510             :       // 8x8 -> 4x4 only supports the four legacy partition types
    2511             :       { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0,
    2512             :         0, 0, 0, 0 },
    2513             :       { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0,
    2514             :         0, 0, 0, 0 },
    2515             :       { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0,
    2516             :         0, 0, 0, 0 },
    2517             :       { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0,
    2518             :         0, 0, 0, 0 },
    2519             :       { AOM_ICDF(22272), AOM_ICDF(23768), AOM_ICDF(25043), AOM_ICDF(29996),
    2520             :         AOM_ICDF(30744), AOM_ICDF(31493), AOM_ICDF(32130), AOM_ICDF(32768), 0 },
    2521             :       { AOM_ICDF(11776), AOM_ICDF(13457), AOM_ICDF(16315), AOM_ICDF(28229),
    2522             :         AOM_ICDF(29069), AOM_ICDF(29910), AOM_ICDF(31339), AOM_ICDF(32768), 0 },
    2523             :       { AOM_ICDF(10496), AOM_ICDF(14802), AOM_ICDF(16136), AOM_ICDF(27127),
    2524             :         AOM_ICDF(29280), AOM_ICDF(31434), AOM_ICDF(32101), AOM_ICDF(32768), 0 },
    2525             :       { AOM_ICDF(6784), AOM_ICDF(8763), AOM_ICDF(10440), AOM_ICDF(29110),
    2526             :         AOM_ICDF(30100), AOM_ICDF(31090), AOM_ICDF(31929), AOM_ICDF(32768), 0 },
    2527             :       { AOM_ICDF(22656), AOM_ICDF(23801), AOM_ICDF(24702), AOM_ICDF(30721),
    2528             :         AOM_ICDF(31294), AOM_ICDF(31867), AOM_ICDF(32317), AOM_ICDF(32768), 0 },
    2529             :       { AOM_ICDF(8704), AOM_ICDF(9926), AOM_ICDF(12586), AOM_ICDF(28885),
    2530             :         AOM_ICDF(29496), AOM_ICDF(30107), AOM_ICDF(31437), AOM_ICDF(32768), 0 },
    2531             :       { AOM_ICDF(6656), AOM_ICDF(10685), AOM_ICDF(11566), AOM_ICDF(27857),
    2532             :         AOM_ICDF(29871), AOM_ICDF(31886), AOM_ICDF(32327), AOM_ICDF(32768), 0 },
    2533             :       { AOM_ICDF(2176), AOM_ICDF(3012), AOM_ICDF(3690), AOM_ICDF(31253),
    2534             :         AOM_ICDF(31671), AOM_ICDF(32090), AOM_ICDF(32429), AOM_ICDF(32768), 0 },
    2535             :       { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
    2536             :         AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0 },
    2537             :       { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
    2538             :         AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0 },
    2539             :       { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
    2540             :         AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0 },
    2541             :       { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
    2542             :         AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0 },
    2543             : #if CONFIG_EXT_PARTITION
    2544             :       { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
    2545             :         AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0 },
    2546             :       { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
    2547             :         AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0 },
    2548             :       { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
    2549             :         AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0 },
    2550             :       { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
    2551             :         AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0 },
    2552             : #endif
    2553             :     };
    2554             : #else
    2555             : static const aom_cdf_prob
    2556             :     default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = {
    2557             :       { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0 },
    2558             :       { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0 },
    2559             :       { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0 },
    2560             :       { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0 },
    2561             :       { AOM_ICDF(22272), AOM_ICDF(25265), AOM_ICDF(27815), AOM_ICDF(32768), 0 },
    2562             :       { AOM_ICDF(11776), AOM_ICDF(15138), AOM_ICDF(20854), AOM_ICDF(32768), 0 },
    2563             :       { AOM_ICDF(10496), AOM_ICDF(19109), AOM_ICDF(21777), AOM_ICDF(32768), 0 },
    2564             :       { AOM_ICDF(6784), AOM_ICDF(10743), AOM_ICDF(14098), AOM_ICDF(32768), 0 },
    2565             :       { AOM_ICDF(22656), AOM_ICDF(24947), AOM_ICDF(26749), AOM_ICDF(32768), 0 },
    2566             :       { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(16469), AOM_ICDF(32768), 0 },
    2567             :       { AOM_ICDF(6656), AOM_ICDF(14714), AOM_ICDF(16477), AOM_ICDF(32768), 0 },
    2568             :       { AOM_ICDF(2176), AOM_ICDF(3849), AOM_ICDF(5205), AOM_ICDF(32768), 0 },
    2569             :       { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
    2570             :       { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
    2571             :       { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
    2572             :       { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
    2573             : #if CONFIG_EXT_PARTITION
    2574             :       { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
    2575             :       { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
    2576             :       { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
    2577             :       { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
    2578             : #endif
    2579             :     };
    2580             : #endif
    2581             : 
    2582             : static const aom_cdf_prob
    2583             :     default_inter_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(INTER_MODES)] = {
    2584             :       { AOM_ICDF(256), AOM_ICDF(22227), AOM_ICDF(23627), AOM_ICDF(32768), 0 },
    2585             :       { AOM_ICDF(896), AOM_ICDF(18948), AOM_ICDF(23537), AOM_ICDF(32768), 0 },
    2586             :       { AOM_ICDF(896), AOM_ICDF(21563), AOM_ICDF(24320), AOM_ICDF(32768), 0 },
    2587             :       { AOM_ICDF(896), AOM_ICDF(12599), AOM_ICDF(17799), AOM_ICDF(32768), 0 },
    2588             :       { AOM_ICDF(1024), AOM_ICDF(8960), AOM_ICDF(13238), AOM_ICDF(32768), 0 },
    2589             :       { AOM_ICDF(2176), AOM_ICDF(11856), AOM_ICDF(14388), AOM_ICDF(32768), 0 },
    2590             :       { AOM_ICDF(3200), AOM_ICDF(6550), AOM_ICDF(9622), AOM_ICDF(32768), 0 },
    2591             :     };
    2592             : 
    2593             : #if CONFIG_EXT_TX
    2594             : static const aom_cdf_prob default_intra_ext_tx_cdf
    2595             :     [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
    2596             :       {
    2597             : // FIXME: unused zero positions, from uncoded trivial transform set
    2598             : #if CONFIG_CHROMA_2X2
    2599             :           {
    2600             :               { 0 },
    2601             :           },
    2602             : #endif
    2603             :           {
    2604             :               { 0 },
    2605             :               { 0 },
    2606             :               { 0 },
    2607             :               { 0 },
    2608             :               { 0 },
    2609             :               { 0 },
    2610             :               { 0 },
    2611             :               { 0 },
    2612             :               { 0 },
    2613             : #if CONFIG_ALT_INTRA
    2614             :               { 0 },
    2615             : #if CONFIG_SMOOTH_HV
    2616             :               { 0 },
    2617             :               { 0 },
    2618             : #endif  // CONFIG_SMOOTH_HV
    2619             : #endif  // CONFIG_ALT_INTRA
    2620             :               { 0 },
    2621             :           },
    2622             :           {
    2623             :               { 0 },
    2624             :               { 0 },
    2625             :               { 0 },
    2626             :               { 0 },
    2627             :               { 0 },
    2628             :               { 0 },
    2629             :               { 0 },
    2630             :               { 0 },
    2631             :               { 0 },
    2632             : #if CONFIG_ALT_INTRA
    2633             :               { 0 },
    2634             : #if CONFIG_SMOOTH_HV
    2635             :               { 0 },
    2636             :               { 0 },
    2637             : #endif  // CONFIG_SMOOTH_HV
    2638             : #endif  // CONFIG_ALT_INTRA
    2639             :               { 0 },
    2640             :           },
    2641             :           {
    2642             :               { 0 },
    2643             :               { 0 },
    2644             :               { 0 },
    2645             :               { 0 },
    2646             :               { 0 },
    2647             :               { 0 },
    2648             :               { 0 },
    2649             :               { 0 },
    2650             :               { 0 },
    2651             : #if CONFIG_ALT_INTRA
    2652             :               { 0 },
    2653             : #if CONFIG_SMOOTH_HV
    2654             :               { 0 },
    2655             :               { 0 },
    2656             : #endif  // CONFIG_SMOOTH_HV
    2657             : #endif  // CONFIG_ALT_INTRA
    2658             :               { 0 },
    2659             :           },
    2660             :           {
    2661             :               { 0 },
    2662             :               { 0 },
    2663             :               { 0 },
    2664             :               { 0 },
    2665             :               { 0 },
    2666             :               { 0 },
    2667             :               { 0 },
    2668             :               { 0 },
    2669             :               { 0 },
    2670             : #if CONFIG_ALT_INTRA
    2671             :               { 0 },
    2672             : #if CONFIG_SMOOTH_HV
    2673             :               { 0 },
    2674             :               { 0 },
    2675             : #endif  // CONFIG_SMOOTH_HV
    2676             : #endif  // CONFIG_ALT_INTRA
    2677             :               { 0 },
    2678             :           },
    2679             :       },
    2680             :       {
    2681             :           {
    2682             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
    2683             :                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
    2684             :                 AOM_ICDF(32768), 0 },
    2685             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2686             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2687             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2688             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2689             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
    2690             :                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
    2691             :                 AOM_ICDF(32768), 0 },
    2692             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
    2693             :                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
    2694             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2695             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2696             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2697             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2698             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2699             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2700             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2701             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2702             : #if CONFIG_ALT_INTRA
    2703             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2704             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2705             : #if CONFIG_SMOOTH_HV
    2706             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2707             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2708             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2709             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2710             : #endif  // CONFIG_SMOOTH_HV
    2711             : #endif  // CONFIG_ALT_INTRA
    2712             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2713             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2714             :           },
    2715             :           {
    2716             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
    2717             :                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
    2718             :                 AOM_ICDF(32768), 0 },
    2719             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2720             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2721             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2722             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2723             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
    2724             :                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
    2725             :                 AOM_ICDF(32768), 0 },
    2726             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
    2727             :                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
    2728             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2729             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2730             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2731             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2732             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2733             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2734             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2735             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2736             : #if CONFIG_ALT_INTRA
    2737             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2738             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2739             : #if CONFIG_SMOOTH_HV
    2740             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2741             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2742             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2743             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2744             : #endif  // CONFIG_SMOOTH_HV
    2745             : #endif  // CONFIG_ALT_INTRA
    2746             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2747             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2748             :           },
    2749             :           {
    2750             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
    2751             :                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
    2752             :                 AOM_ICDF(32768), 0 },
    2753             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2754             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2755             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2756             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2757             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
    2758             :                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
    2759             :                 AOM_ICDF(32768), 0 },
    2760             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
    2761             :                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
    2762             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2763             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2764             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2765             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2766             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2767             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2768             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2769             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2770             : #if CONFIG_ALT_INTRA
    2771             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2772             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2773             : #if CONFIG_SMOOTH_HV
    2774             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2775             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2776             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2777             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2778             : #endif  // CONFIG_SMOOTH_HV
    2779             : #endif  // CONFIG_ALT_INTRA
    2780             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2781             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2782             :           },
    2783             :           {
    2784             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
    2785             :                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
    2786             :                 AOM_ICDF(32768), 0 },
    2787             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2788             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2789             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2790             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2791             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
    2792             :                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
    2793             :                 AOM_ICDF(32768), 0 },
    2794             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
    2795             :                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
    2796             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2797             :                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
    2798             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2799             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2800             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2801             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2802             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
    2803             :                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
    2804             : #if CONFIG_ALT_INTRA
    2805             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2806             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2807             : #if CONFIG_SMOOTH_HV
    2808             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2809             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2810             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2811             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2812             : #endif  // CONFIG_SMOOTH_HV
    2813             : #endif  // CONFIG_ALT_INTRA
    2814             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
    2815             :                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
    2816             :           },
    2817             :       },
    2818             :       {
    2819             :           {
    2820             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
    2821             :                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
    2822             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2823             :                 AOM_ICDF(32768), 0 },
    2824             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2825             :                 AOM_ICDF(32768), 0 },
    2826             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
    2827             :                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
    2828             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
    2829             :                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
    2830             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2831             :                 AOM_ICDF(32768), 0 },
    2832             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2833             :                 AOM_ICDF(32768), 0 },
    2834             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2835             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2836             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2837             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2838             : #if CONFIG_ALT_INTRA
    2839             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2840             :                 AOM_ICDF(32768), 0 },
    2841             : #if CONFIG_SMOOTH_HV
    2842             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2843             :                 AOM_ICDF(32768), 0 },
    2844             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2845             :                 AOM_ICDF(32768), 0 },
    2846             : #endif  // CONFIG_SMOOTH_HV
    2847             : #endif  // CONFIG_ALT_INTRA
    2848             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2849             :                 AOM_ICDF(32768), 0 },
    2850             :           },
    2851             :           {
    2852             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
    2853             :                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
    2854             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2855             :                 AOM_ICDF(32768), 0 },
    2856             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2857             :                 AOM_ICDF(32768), 0 },
    2858             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
    2859             :                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
    2860             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
    2861             :                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
    2862             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2863             :                 AOM_ICDF(32768), 0 },
    2864             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2865             :                 AOM_ICDF(32768), 0 },
    2866             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2867             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2868             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2869             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2870             : #if CONFIG_ALT_INTRA
    2871             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2872             :                 AOM_ICDF(32768), 0 },
    2873             : #if CONFIG_SMOOTH_HV
    2874             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2875             :                 AOM_ICDF(32768), 0 },
    2876             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2877             :                 AOM_ICDF(32768), 0 },
    2878             : #endif  // CONFIG_SMOOTH_HV
    2879             : #endif  // CONFIG_ALT_INTRA
    2880             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2881             :                 AOM_ICDF(32768), 0 },
    2882             :           },
    2883             :           {
    2884             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
    2885             :                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
    2886             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2887             :                 AOM_ICDF(32768), 0 },
    2888             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2889             :                 AOM_ICDF(32768), 0 },
    2890             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
    2891             :                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
    2892             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
    2893             :                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
    2894             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2895             :                 AOM_ICDF(32768), 0 },
    2896             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2897             :                 AOM_ICDF(32768), 0 },
    2898             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2899             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2900             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2901             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2902             : #if CONFIG_ALT_INTRA
    2903             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2904             :                 AOM_ICDF(32768), 0 },
    2905             : #if CONFIG_SMOOTH_HV
    2906             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2907             :                 AOM_ICDF(32768), 0 },
    2908             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2909             :                 AOM_ICDF(32768), 0 },
    2910             : #endif  // CONFIG_SMOOTH_HV
    2911             : #endif  // CONFIG_ALT_INTRA
    2912             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2913             :                 AOM_ICDF(32768), 0 },
    2914             :           },
    2915             :           {
    2916             :               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
    2917             :                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
    2918             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2919             :                 AOM_ICDF(32768), 0 },
    2920             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2921             :                 AOM_ICDF(32768), 0 },
    2922             :               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
    2923             :                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
    2924             :               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
    2925             :                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
    2926             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
    2927             :                 AOM_ICDF(32768), 0 },
    2928             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2929             :                 AOM_ICDF(32768), 0 },
    2930             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2931             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2932             :               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
    2933             :                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
    2934             : #if CONFIG_ALT_INTRA
    2935             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2936             :                 AOM_ICDF(32768), 0 },
    2937             : #if CONFIG_SMOOTH_HV
    2938             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2939             :                 AOM_ICDF(32768), 0 },
    2940             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2941             :                 AOM_ICDF(32768), 0 },
    2942             : #endif  // CONFIG_SMOOTH_HV
    2943             : #endif  // CONFIG_ALT_INTRA
    2944             :               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
    2945             :                 AOM_ICDF(32768), 0 },
    2946             :           },
    2947             :       }
    2948             :     };
    2949             : static const aom_cdf_prob
    2950             :     default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
    2951             :         TX_TYPES)] = {
    2952             :       {
    2953             : #if CONFIG_CHROMA_2X2
    2954             :           { 0 },
    2955             : #endif
    2956             :           { 0 },
    2957             :           { 0 },
    2958             :           { 0 },
    2959             :           { 0 } },
    2960             :       {
    2961             : #if CONFIG_CHROMA_2X2
    2962             :           { 0 },
    2963             : #endif
    2964             :           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
    2965             :             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
    2966             :             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
    2967             :             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
    2968             :             0 },
    2969             :           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
    2970             :             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
    2971             :             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
    2972             :             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
    2973             :             0 },
    2974             :           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
    2975             :             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
    2976             :             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
    2977             :             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
    2978             :             0 },
    2979             :           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
    2980             :             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
    2981             :             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
    2982             :             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
    2983             :             0 } },
    2984             :       {
    2985             : #if CONFIG_CHROMA_2X2
    2986             :           { 0 },
    2987             : #endif
    2988             :           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
    2989             :             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
    2990             :             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
    2991             :             0 },
    2992             :           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
    2993             :             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
    2994             :             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
    2995             :             0 },
    2996             :           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
    2997             :             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
    2998             :             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
    2999             :             0 },
    3000             :           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
    3001             :             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
    3002             :             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
    3003             :             0 } },
    3004             :       {
    3005             : #if CONFIG_CHROMA_2X2
    3006             :           { 0 },
    3007             : #endif
    3008             :           { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
    3009             :           { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
    3010             :           { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
    3011             :           { AOM_ICDF(1536), AOM_ICDF(32768), 0 } }
    3012             :     };
    3013             : #else
    3014             : static const aom_cdf_prob
    3015             :     default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
    3016             : #if CONFIG_CHROMA_2X2
    3017             :       { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
    3018             :           0 },
    3019             :         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
    3020             :         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
    3021             :         { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
    3022             :           0 } },
    3023             : #endif
    3024             :       { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
    3025             :           0 },
    3026             :         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
    3027             :         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
    3028             :         { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
    3029             :           0 } },
    3030             : 
    3031             :       { { AOM_ICDF(31232), AOM_ICDF(31742), AOM_ICDF(32255), AOM_ICDF(32768),
    3032             :           0 },
    3033             :         { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(31784), AOM_ICDF(32768), 0 },
    3034             :         { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(2256), AOM_ICDF(32768), 0 },
    3035             :         { AOM_ICDF(1024), AOM_ICDF(31776), AOM_ICDF(32272), AOM_ICDF(32768),
    3036             :           0 } },
    3037             :       { { AOM_ICDF(31744), AOM_ICDF(32084), AOM_ICDF(32426), AOM_ICDF(32768),
    3038             :           0 },
    3039             :         { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(31823), AOM_ICDF(32768), 0 },
    3040             :         { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(3473), AOM_ICDF(32768), 0 },
    3041             :         { AOM_ICDF(2048), AOM_ICDF(31808), AOM_ICDF(32288), AOM_ICDF(32768),
    3042             :           0 } },
    3043             :     };
    3044             : 
    3045             : static const aom_cdf_prob
    3046             :     default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
    3047             : #if CONFIG_CHROMA_2X2
    3048             :       { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
    3049             : #endif
    3050             :       { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
    3051             :       { AOM_ICDF(22528), AOM_ICDF(25928), AOM_ICDF(29348), AOM_ICDF(32768), 0 },
    3052             :       { AOM_ICDF(24576), AOM_ICDF(27296), AOM_ICDF(30032), AOM_ICDF(32768), 0 },
    3053             :     };
    3054             : #endif  // !CONFIG_EXT_TX
    3055             : 
    3056             : #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    3057             : static const aom_cdf_prob
    3058             :     default_intra_filter_cdf[INTRA_FILTERS + 1][CDF_SIZE(INTRA_FILTERS)] = {
    3059             :       { AOM_ICDF(12544), AOM_ICDF(17521), AOM_ICDF(21095), AOM_ICDF(32768), 0 },
    3060             :       { AOM_ICDF(12544), AOM_ICDF(19022), AOM_ICDF(23318), AOM_ICDF(32768), 0 },
    3061             :       { AOM_ICDF(12032), AOM_ICDF(17297), AOM_ICDF(23522), AOM_ICDF(32768), 0 },
    3062             :       { AOM_ICDF(6272), AOM_ICDF(8860), AOM_ICDF(11101), AOM_ICDF(32768), 0 },
    3063             :       { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(16629), AOM_ICDF(32768), 0 },
    3064             :     };
    3065             : #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    3066             : 
    3067             : #if CONFIG_CFL
    3068             : static const aom_cdf_prob default_cfl_alpha_cdf[CDF_SIZE(CFL_ALPHABET_SIZE)] = {
    3069             :   // decreasing likelihood, after 6 iterations of alpha RDO on subset 3
    3070             :   AOM_ICDF(23928), AOM_ICDF(26267), AOM_ICDF(27319), AOM_ICDF(28330),
    3071             :   AOM_ICDF(29341), AOM_ICDF(30160), AOM_ICDF(30581), AOM_ICDF(30983),
    3072             :   AOM_ICDF(31353), AOM_ICDF(31634), AOM_ICDF(31907), AOM_ICDF(32171),
    3073             :   AOM_ICDF(32407), AOM_ICDF(32558), AOM_ICDF(32669), AOM_ICDF(32768)
    3074             : };
    3075             : #endif
    3076             : 
    3077             : // CDF version of 'av1_kf_y_mode_prob'.
    3078             : const aom_cdf_prob
    3079             :     av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
    3080             : #if CONFIG_ALT_INTRA
    3081             : #if CONFIG_SMOOTH_HV
    3082             :       {
    3083             :           { AOM_ICDF(14208), AOM_ICDF(16238), AOM_ICDF(19079), AOM_ICDF(22512),
    3084             :             AOM_ICDF(23632), AOM_ICDF(24373), AOM_ICDF(25291), AOM_ICDF(26109),
    3085             :             AOM_ICDF(26811), AOM_ICDF(27858), AOM_ICDF(30428), AOM_ICDF(31424),
    3086             :             AOM_ICDF(32768), 0 },
    3087             :           { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(20992), AOM_ICDF(22569),
    3088             :             AOM_ICDF(23557), AOM_ICDF(24442), AOM_ICDF(25515), AOM_ICDF(26478),
    3089             :             AOM_ICDF(26994), AOM_ICDF(27693), AOM_ICDF(30349), AOM_ICDF(31757),
    3090             :             AOM_ICDF(32768), 0 },
    3091             :           { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(9593), AOM_ICDF(22972),
    3092             :             AOM_ICDF(23813), AOM_ICDF(24168), AOM_ICDF(24638), AOM_ICDF(25019),
    3093             :             AOM_ICDF(26048), AOM_ICDF(27413), AOM_ICDF(30090), AOM_ICDF(30812),
    3094             :             AOM_ICDF(32768), 0 },
    3095             :           { AOM_ICDF(12544), AOM_ICDF(14045), AOM_ICDF(16678), AOM_ICDF(19167),
    3096             :             AOM_ICDF(20459), AOM_ICDF(21329), AOM_ICDF(23518), AOM_ICDF(24783),
    3097             :             AOM_ICDF(25563), AOM_ICDF(27280), AOM_ICDF(30217), AOM_ICDF(31273),
    3098             :             AOM_ICDF(32768), 0 },
    3099             :           { AOM_ICDF(7552), AOM_ICDF(8636), AOM_ICDF(10993), AOM_ICDF(12992),
    3100             :             AOM_ICDF(18616), AOM_ICDF(21880), AOM_ICDF(23113), AOM_ICDF(23867),
    3101             :             AOM_ICDF(25710), AOM_ICDF(26758), AOM_ICDF(30115), AOM_ICDF(31328),
    3102             :             AOM_ICDF(32768), 0 },
    3103             :           { AOM_ICDF(11008), AOM_ICDF(12708), AOM_ICDF(16704), AOM_ICDF(18234),
    3104             :             AOM_ICDF(21591), AOM_ICDF(26744), AOM_ICDF(28368), AOM_ICDF(30104),
    3105             :             AOM_ICDF(31270), AOM_ICDF(32171), AOM_ICDF(32539), AOM_ICDF(32669),
    3106             :             AOM_ICDF(32768), 0 },
    3107             :           { AOM_ICDF(6272), AOM_ICDF(7307), AOM_ICDF(8998), AOM_ICDF(12979),
    3108             :             AOM_ICDF(18143), AOM_ICDF(19397), AOM_ICDF(20233), AOM_ICDF(20772),
    3109             :             AOM_ICDF(25645), AOM_ICDF(26869), AOM_ICDF(30049), AOM_ICDF(30984),
    3110             :             AOM_ICDF(32768), 0 },
    3111             :           { AOM_ICDF(8192), AOM_ICDF(9536), AOM_ICDF(11533), AOM_ICDF(15940),
    3112             :             AOM_ICDF(17403), AOM_ICDF(18169), AOM_ICDF(19253), AOM_ICDF(20045),
    3113             :             AOM_ICDF(21337), AOM_ICDF(25847), AOM_ICDF(29551), AOM_ICDF(30682),
    3114             :             AOM_ICDF(32768), 0 },
    3115             :           { AOM_ICDF(10752), AOM_ICDF(12558), AOM_ICDF(15005), AOM_ICDF(16854),
    3116             :             AOM_ICDF(18148), AOM_ICDF(19307), AOM_ICDF(21410), AOM_ICDF(23939),
    3117             :             AOM_ICDF(24698), AOM_ICDF(26117), AOM_ICDF(29832), AOM_ICDF(31323),
    3118             :             AOM_ICDF(32768), 0 },
    3119             :           { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(11885), AOM_ICDF(14829),
    3120             :             AOM_ICDF(16543), AOM_ICDF(16779), AOM_ICDF(17841), AOM_ICDF(19182),
    3121             :             AOM_ICDF(20190), AOM_ICDF(21664), AOM_ICDF(27650), AOM_ICDF(29909),
    3122             :             AOM_ICDF(32768), 0 },
    3123             :           { AOM_ICDF(6528), AOM_ICDF(8476), AOM_ICDF(12841), AOM_ICDF(15721),
    3124             :             AOM_ICDF(17437), AOM_ICDF(17823), AOM_ICDF(18874), AOM_ICDF(20394),
    3125             :             AOM_ICDF(21216), AOM_ICDF(22344), AOM_ICDF(27922), AOM_ICDF(30743),
    3126             :             AOM_ICDF(32768), 0 },
    3127             :           { AOM_ICDF(8704), AOM_ICDF(10114), AOM_ICDF(12415), AOM_ICDF(15730),
    3128             :             AOM_ICDF(17127), AOM_ICDF(17265), AOM_ICDF(18294), AOM_ICDF(19255),
    3129             :             AOM_ICDF(20258), AOM_ICDF(21675), AOM_ICDF(27525), AOM_ICDF(29082),
    3130             :             AOM_ICDF(32768), 0 },
    3131             :           { AOM_ICDF(6272), AOM_ICDF(12586), AOM_ICDF(15818), AOM_ICDF(21751),
    3132             :             AOM_ICDF(22707), AOM_ICDF(23300), AOM_ICDF(24262), AOM_ICDF(25126),
    3133             :             AOM_ICDF(25992), AOM_ICDF(27448), AOM_ICDF(30004), AOM_ICDF(31073),
    3134             :             AOM_ICDF(32768), 0 },
    3135             :       },
    3136             :       {
    3137             :           { AOM_ICDF(3968), AOM_ICDF(6893), AOM_ICDF(20538), AOM_ICDF(22050),
    3138             :             AOM_ICDF(22805), AOM_ICDF(24408), AOM_ICDF(24833), AOM_ICDF(26073),
    3139             :             AOM_ICDF(26439), AOM_ICDF(26884), AOM_ICDF(29895), AOM_ICDF(31938),
    3140             :             AOM_ICDF(32768), 0 },
    3141             :           { AOM_ICDF(3072), AOM_ICDF(6204), AOM_ICDF(24363), AOM_ICDF(24995),
    3142             :             AOM_ICDF(25363), AOM_ICDF(26103), AOM_ICDF(26546), AOM_ICDF(27518),
    3143             :             AOM_ICDF(27621), AOM_ICDF(27902), AOM_ICDF(30164), AOM_ICDF(32148),
    3144             :             AOM_ICDF(32768), 0 },
    3145             :           { AOM_ICDF(2560), AOM_ICDF(6572), AOM_ICDF(13837), AOM_ICDF(19693),
    3146             :             AOM_ICDF(20377), AOM_ICDF(21010), AOM_ICDF(21699), AOM_ICDF(22737),
    3147             :             AOM_ICDF(23286), AOM_ICDF(24323), AOM_ICDF(28875), AOM_ICDF(30837),
    3148             :             AOM_ICDF(32768), 0 },
    3149             :           { AOM_ICDF(6912), AOM_ICDF(8831), AOM_ICDF(17059), AOM_ICDF(18404),
    3150             :             AOM_ICDF(19221), AOM_ICDF(20434), AOM_ICDF(22313), AOM_ICDF(24151),
    3151             :             AOM_ICDF(24420), AOM_ICDF(25855), AOM_ICDF(29474), AOM_ICDF(31623),
    3152             :             AOM_ICDF(32768), 0 },
    3153             :           { AOM_ICDF(2944), AOM_ICDF(4808), AOM_ICDF(14965), AOM_ICDF(15870),
    3154             :             AOM_ICDF(18714), AOM_ICDF(21989), AOM_ICDF(22957), AOM_ICDF(24528),
    3155             :             AOM_ICDF(25365), AOM_ICDF(26001), AOM_ICDF(29596), AOM_ICDF(31678),
    3156             :             AOM_ICDF(32768), 0 },
    3157             :           { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(19711), AOM_ICDF(20602),
    3158             :             AOM_ICDF(22489), AOM_ICDF(27311), AOM_ICDF(28228), AOM_ICDF(30516),
    3159             :             AOM_ICDF(31097), AOM_ICDF(31750), AOM_ICDF(32319), AOM_ICDF(32656),
    3160             :             AOM_ICDF(32768), 0 },
    3161             :           { AOM_ICDF(2944), AOM_ICDF(4925), AOM_ICDF(13952), AOM_ICDF(15490),
    3162             :             AOM_ICDF(18397), AOM_ICDF(20200), AOM_ICDF(20986), AOM_ICDF(22367),
    3163             :             AOM_ICDF(24967), AOM_ICDF(25820), AOM_ICDF(29755), AOM_ICDF(31473),
    3164             :             AOM_ICDF(32768), 0 },
    3165             :           { AOM_ICDF(4224), AOM_ICDF(6120), AOM_ICDF(14968), AOM_ICDF(17184),
    3166             :             AOM_ICDF(18063), AOM_ICDF(19140), AOM_ICDF(20258), AOM_ICDF(21822),
    3167             :             AOM_ICDF(22463), AOM_ICDF(24838), AOM_ICDF(28989), AOM_ICDF(31277),
    3168             :             AOM_ICDF(32768), 0 },
    3169             :           { AOM_ICDF(5120), AOM_ICDF(7280), AOM_ICDF(17535), AOM_ICDF(18348),
    3170             :             AOM_ICDF(19116), AOM_ICDF(20689), AOM_ICDF(21916), AOM_ICDF(24968),
    3171             :             AOM_ICDF(25242), AOM_ICDF(26095), AOM_ICDF(29588), AOM_ICDF(31787),
    3172             :             AOM_ICDF(32768), 0 },
    3173             :           { AOM_ICDF(2816), AOM_ICDF(4922), AOM_ICDF(17105), AOM_ICDF(18458),
    3174             :             AOM_ICDF(19325), AOM_ICDF(19614), AOM_ICDF(20231), AOM_ICDF(21700),
    3175             :             AOM_ICDF(22089), AOM_ICDF(22756), AOM_ICDF(27879), AOM_ICDF(31278),
    3176             :             AOM_ICDF(32768), 0 },
    3177             :           { AOM_ICDF(2560), AOM_ICDF(4920), AOM_ICDF(18518), AOM_ICDF(19680),
    3178             :             AOM_ICDF(20386), AOM_ICDF(20689), AOM_ICDF(21208), AOM_ICDF(22472),
    3179             :             AOM_ICDF(22754), AOM_ICDF(23223), AOM_ICDF(27809), AOM_ICDF(31664),
    3180             :             AOM_ICDF(32768), 0 },
    3181             :           { AOM_ICDF(3328), AOM_ICDF(5513), AOM_ICDF(17331), AOM_ICDF(19065),
    3182             :             AOM_ICDF(19882), AOM_ICDF(20105), AOM_ICDF(20748), AOM_ICDF(22110),
    3183             :             AOM_ICDF(22443), AOM_ICDF(23129), AOM_ICDF(28099), AOM_ICDF(30944),
    3184             :             AOM_ICDF(32768), 0 },
    3185             :           { AOM_ICDF(2560), AOM_ICDF(6690), AOM_ICDF(20748), AOM_ICDF(22590),
    3186             :             AOM_ICDF(23037), AOM_ICDF(23659), AOM_ICDF(24406), AOM_ICDF(25582),
    3187             :             AOM_ICDF(25835), AOM_ICDF(26485), AOM_ICDF(29553), AOM_ICDF(31826),
    3188             :             AOM_ICDF(32768), 0 },
    3189             :       },
    3190             :       {
    3191             :           { AOM_ICDF(11392), AOM_ICDF(13647), AOM_ICDF(15216), AOM_ICDF(23156),
    3192             :             AOM_ICDF(24102), AOM_ICDF(24540), AOM_ICDF(25183), AOM_ICDF(25746),
    3193             :             AOM_ICDF(26706), AOM_ICDF(28032), AOM_ICDF(30511), AOM_ICDF(31357),
    3194             :             AOM_ICDF(32768), 0 },
    3195             :           { AOM_ICDF(8064), AOM_ICDF(11635), AOM_ICDF(17166), AOM_ICDF(22459),
    3196             :             AOM_ICDF(23608), AOM_ICDF(24297), AOM_ICDF(25025), AOM_ICDF(25902),
    3197             :             AOM_ICDF(26438), AOM_ICDF(27551), AOM_ICDF(30343), AOM_ICDF(31641),
    3198             :             AOM_ICDF(32768), 0 },
    3199             :           { AOM_ICDF(4352), AOM_ICDF(6905), AOM_ICDF(7612), AOM_ICDF(24258),
    3200             :             AOM_ICDF(24862), AOM_ICDF(25005), AOM_ICDF(25399), AOM_ICDF(25658),
    3201             :             AOM_ICDF(26491), AOM_ICDF(28281), AOM_ICDF(30472), AOM_ICDF(31037),
    3202             :             AOM_ICDF(32768), 0 },
    3203             :           { AOM_ICDF(10752), AOM_ICDF(13246), AOM_ICDF(14771), AOM_ICDF(18965),
    3204             :             AOM_ICDF(20132), AOM_ICDF(20606), AOM_ICDF(22411), AOM_ICDF(23422),
    3205             :             AOM_ICDF(24663), AOM_ICDF(27386), AOM_ICDF(30203), AOM_ICDF(31265),
    3206             :             AOM_ICDF(32768), 0 },
    3207             :           { AOM_ICDF(8320), AOM_ICDF(10135), AOM_ICDF(11815), AOM_ICDF(15962),
    3208             :             AOM_ICDF(19829), AOM_ICDF(21555), AOM_ICDF(22738), AOM_ICDF(23482),
    3209             :             AOM_ICDF(25513), AOM_ICDF(27100), AOM_ICDF(30222), AOM_ICDF(31246),
    3210             :             AOM_ICDF(32768), 0 },
    3211             :           { AOM_ICDF(11264), AOM_ICDF(13364), AOM_ICDF(16851), AOM_ICDF(20617),
    3212             :             AOM_ICDF(23504), AOM_ICDF(26302), AOM_ICDF(28070), AOM_ICDF(29189),
    3213             :             AOM_ICDF(30531), AOM_ICDF(31903), AOM_ICDF(32342), AOM_ICDF(32512),
    3214             :             AOM_ICDF(32768), 0 },
    3215             :           { AOM_ICDF(6528), AOM_ICDF(7656), AOM_ICDF(8637), AOM_ICDF(15318),
    3216             :             AOM_ICDF(18270), AOM_ICDF(18817), AOM_ICDF(19580), AOM_ICDF(20044),
    3217             :             AOM_ICDF(24666), AOM_ICDF(26502), AOM_ICDF(29733), AOM_ICDF(30670),
    3218             :             AOM_ICDF(32768), 0 },
    3219             :           { AOM_ICDF(6784), AOM_ICDF(8307), AOM_ICDF(9167), AOM_ICDF(17476),
    3220             :             AOM_ICDF(18366), AOM_ICDF(18663), AOM_ICDF(19765), AOM_ICDF(20425),
    3221             :             AOM_ICDF(21534), AOM_ICDF(26888), AOM_ICDF(29989), AOM_ICDF(30857),
    3222             :             AOM_ICDF(32768), 0 },
    3223             :           { AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12682), AOM_ICDF(17399),
    3224             :             AOM_ICDF(19010), AOM_ICDF(19743), AOM_ICDF(20964), AOM_ICDF(22993),
    3225             :             AOM_ICDF(23871), AOM_ICDF(25817), AOM_ICDF(29727), AOM_ICDF(31164),
    3226             :             AOM_ICDF(32768), 0 },
    3227             :           { AOM_ICDF(5888), AOM_ICDF(7988), AOM_ICDF(9634), AOM_ICDF(16735),
    3228             :             AOM_ICDF(18009), AOM_ICDF(18129), AOM_ICDF(18930), AOM_ICDF(19741),
    3229             :             AOM_ICDF(20911), AOM_ICDF(22671), AOM_ICDF(27877), AOM_ICDF(29749),
    3230             :             AOM_ICDF(32768), 0 },
    3231             :           { AOM_ICDF(5248), AOM_ICDF(8151), AOM_ICDF(10267), AOM_ICDF(17761),
    3232             :             AOM_ICDF(19077), AOM_ICDF(19232), AOM_ICDF(19919), AOM_ICDF(20772),
    3233             :             AOM_ICDF(21615), AOM_ICDF(23140), AOM_ICDF(28142), AOM_ICDF(30618),
    3234             :             AOM_ICDF(32768), 0 },
    3235             :           { AOM_ICDF(6656), AOM_ICDF(8390), AOM_ICDF(9723), AOM_ICDF(17206),
    3236             :             AOM_ICDF(18212), AOM_ICDF(18275), AOM_ICDF(19068), AOM_ICDF(19657),
    3237             :             AOM_ICDF(20886), AOM_ICDF(22650), AOM_ICDF(27907), AOM_ICDF(29084),
    3238             :             AOM_ICDF(32768), 0 },
    3239             :           { AOM_ICDF(4480), AOM_ICDF(9232), AOM_ICDF(11163), AOM_ICDF(22580),
    3240             :             AOM_ICDF(23368), AOM_ICDF(23653), AOM_ICDF(24436), AOM_ICDF(24989),
    3241             :             AOM_ICDF(25809), AOM_ICDF(27087), AOM_ICDF(30038), AOM_ICDF(31104),
    3242             :             AOM_ICDF(32768), 0 },
    3243             :       },
    3244             :       {
    3245             :           { AOM_ICDF(10240), AOM_ICDF(11472), AOM_ICDF(14051), AOM_ICDF(16777),
    3246             :             AOM_ICDF(18308), AOM_ICDF(19461), AOM_ICDF(22164), AOM_ICDF(24235),
    3247             :             AOM_ICDF(25202), AOM_ICDF(26680), AOM_ICDF(29962), AOM_ICDF(31168),
    3248             :             AOM_ICDF(32768), 0 },
    3249             :           { AOM_ICDF(7552), AOM_ICDF(9128), AOM_ICDF(16885), AOM_ICDF(18221),
    3250             :             AOM_ICDF(19114), AOM_ICDF(20111), AOM_ICDF(23226), AOM_ICDF(25462),
    3251             :             AOM_ICDF(26033), AOM_ICDF(27085), AOM_ICDF(30259), AOM_ICDF(31729),
    3252             :             AOM_ICDF(32768), 0 },
    3253             :           { AOM_ICDF(5248), AOM_ICDF(7291), AOM_ICDF(8883), AOM_ICDF(18172),
    3254             :             AOM_ICDF(19301), AOM_ICDF(19892), AOM_ICDF(21703), AOM_ICDF(22870),
    3255             :             AOM_ICDF(23798), AOM_ICDF(25970), AOM_ICDF(29581), AOM_ICDF(30440),
    3256             :             AOM_ICDF(32768), 0 },
    3257             :           { AOM_ICDF(11008), AOM_ICDF(11943), AOM_ICDF(12838), AOM_ICDF(14729),
    3258             :             AOM_ICDF(15340), AOM_ICDF(15719), AOM_ICDF(23245), AOM_ICDF(25217),
    3259             :             AOM_ICDF(25453), AOM_ICDF(28282), AOM_ICDF(30735), AOM_ICDF(31696),
    3260             :             AOM_ICDF(32768), 0 },
    3261             :           { AOM_ICDF(6272), AOM_ICDF(7100), AOM_ICDF(9506), AOM_ICDF(11141),
    3262             :             AOM_ICDF(14891), AOM_ICDF(18048), AOM_ICDF(20808), AOM_ICDF(22910),
    3263             :             AOM_ICDF(24450), AOM_ICDF(26172), AOM_ICDF(29625), AOM_ICDF(31233),
    3264             :             AOM_ICDF(32768), 0 },
    3265             :           { AOM_ICDF(7424), AOM_ICDF(8513), AOM_ICDF(11924), AOM_ICDF(13742),
    3266             :             AOM_ICDF(16971), AOM_ICDF(22265), AOM_ICDF(25957), AOM_ICDF(29762),
    3267             :             AOM_ICDF(30831), AOM_ICDF(32193), AOM_ICDF(32537), AOM_ICDF(32669),
    3268             :             AOM_ICDF(32768), 0 },
    3269             :           { AOM_ICDF(4992), AOM_ICDF(5969), AOM_ICDF(7435), AOM_ICDF(10922),
    3270             :             AOM_ICDF(15097), AOM_ICDF(16638), AOM_ICDF(18654), AOM_ICDF(20087),
    3271             :             AOM_ICDF(23356), AOM_ICDF(25452), AOM_ICDF(29281), AOM_ICDF(30725),
    3272             :             AOM_ICDF(32768), 0 },
    3273             :           { AOM_ICDF(9600), AOM_ICDF(10324), AOM_ICDF(12603), AOM_ICDF(15427),
    3274             :             AOM_ICDF(16950), AOM_ICDF(17959), AOM_ICDF(20909), AOM_ICDF(22299),
    3275             :             AOM_ICDF(22994), AOM_ICDF(27308), AOM_ICDF(30379), AOM_ICDF(31154),
    3276             :             AOM_ICDF(32768), 0 },
    3277             :           { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(12549), AOM_ICDF(14621),
    3278             :             AOM_ICDF(15493), AOM_ICDF(16182), AOM_ICDF(21430), AOM_ICDF(25947),
    3279             :             AOM_ICDF(26427), AOM_ICDF(27888), AOM_ICDF(30595), AOM_ICDF(31809),
    3280             :             AOM_ICDF(32768), 0 },
    3281             :           { AOM_ICDF(6272), AOM_ICDF(7618), AOM_ICDF(10664), AOM_ICDF(12915),
    3282             :             AOM_ICDF(14454), AOM_ICDF(14722), AOM_ICDF(17965), AOM_ICDF(20394),
    3283             :             AOM_ICDF(21312), AOM_ICDF(23371), AOM_ICDF(28730), AOM_ICDF(30623),
    3284             :             AOM_ICDF(32768), 0 },
    3285             :           { AOM_ICDF(5888), AOM_ICDF(7463), AOM_ICDF(10923), AOM_ICDF(12991),
    3286             :             AOM_ICDF(14555), AOM_ICDF(14934), AOM_ICDF(18208), AOM_ICDF(21052),
    3287             :             AOM_ICDF(21876), AOM_ICDF(23450), AOM_ICDF(28655), AOM_ICDF(31017),
    3288             :             AOM_ICDF(32768), 0 },
    3289             :           { AOM_ICDF(6912), AOM_ICDF(8023), AOM_ICDF(10440), AOM_ICDF(13329),
    3290             :             AOM_ICDF(14958), AOM_ICDF(15150), AOM_ICDF(18109), AOM_ICDF(20056),
    3291             :             AOM_ICDF(21049), AOM_ICDF(23063), AOM_ICDF(28219), AOM_ICDF(29978),
    3292             :             AOM_ICDF(32768), 0 },
    3293             :           { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11906), AOM_ICDF(15940),
    3294             :             AOM_ICDF(16978), AOM_ICDF(17773), AOM_ICDF(22342), AOM_ICDF(24419),
    3295             :             AOM_ICDF(25300), AOM_ICDF(27021), AOM_ICDF(30007), AOM_ICDF(31312),
    3296             :             AOM_ICDF(32768), 0 },
    3297             :       },
    3298             :       {
    3299             :           { AOM_ICDF(7296), AOM_ICDF(8291), AOM_ICDF(10299), AOM_ICDF(12767),
    3300             :             AOM_ICDF(18252), AOM_ICDF(20656), AOM_ICDF(21413), AOM_ICDF(22300),
    3301             :             AOM_ICDF(24958), AOM_ICDF(26544), AOM_ICDF(30069), AOM_ICDF(31387),
    3302             :             AOM_ICDF(32768), 0 },
    3303             :           { AOM_ICDF(7168), AOM_ICDF(8668), AOM_ICDF(13187), AOM_ICDF(15041),
    3304             :             AOM_ICDF(18824), AOM_ICDF(21371), AOM_ICDF(22261), AOM_ICDF(23574),
    3305             :             AOM_ICDF(25082), AOM_ICDF(26133), AOM_ICDF(29839), AOM_ICDF(31693),
    3306             :             AOM_ICDF(32768), 0 },
    3307             :           { AOM_ICDF(3584), AOM_ICDF(5750), AOM_ICDF(6594), AOM_ICDF(15662),
    3308             :             AOM_ICDF(18845), AOM_ICDF(20090), AOM_ICDF(20783), AOM_ICDF(21438),
    3309             :             AOM_ICDF(23430), AOM_ICDF(25436), AOM_ICDF(29446), AOM_ICDF(30471),
    3310             :             AOM_ICDF(32768), 0 },
    3311             :           { AOM_ICDF(7424), AOM_ICDF(8711), AOM_ICDF(10121), AOM_ICDF(11786),
    3312             :             AOM_ICDF(15100), AOM_ICDF(16579), AOM_ICDF(20437), AOM_ICDF(21593),
    3313             :             AOM_ICDF(22903), AOM_ICDF(25678), AOM_ICDF(29638), AOM_ICDF(31130),
    3314             :             AOM_ICDF(32768), 0 },
    3315             :           { AOM_ICDF(4480), AOM_ICDF(5033), AOM_ICDF(6441), AOM_ICDF(7646),
    3316             :             AOM_ICDF(18034), AOM_ICDF(21867), AOM_ICDF(22676), AOM_ICDF(23504),
    3317             :             AOM_ICDF(25892), AOM_ICDF(26913), AOM_ICDF(30206), AOM_ICDF(31507),
    3318             :             AOM_ICDF(32768), 0 },
    3319             :           { AOM_ICDF(7296), AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12676),
    3320             :             AOM_ICDF(19460), AOM_ICDF(25734), AOM_ICDF(26778), AOM_ICDF(28439),
    3321             :             AOM_ICDF(31077), AOM_ICDF(32002), AOM_ICDF(32469), AOM_ICDF(32671),
    3322             :             AOM_ICDF(32768), 0 },
    3323             :           { AOM_ICDF(3840), AOM_ICDF(4518), AOM_ICDF(5511), AOM_ICDF(8229),
    3324             :             AOM_ICDF(16448), AOM_ICDF(18394), AOM_ICDF(19292), AOM_ICDF(20345),
    3325             :             AOM_ICDF(25683), AOM_ICDF(27399), AOM_ICDF(30566), AOM_ICDF(31375),
    3326             :             AOM_ICDF(32768), 0 },
    3327             :           { AOM_ICDF(6528), AOM_ICDF(7451), AOM_ICDF(8934), AOM_ICDF(12006),
    3328             :             AOM_ICDF(15767), AOM_ICDF(17127), AOM_ICDF(18471), AOM_ICDF(19476),
    3329             :             AOM_ICDF(21553), AOM_ICDF(25715), AOM_ICDF(29572), AOM_ICDF(30795),
    3330             :             AOM_ICDF(32768), 0 },
    3331             :           { AOM_ICDF(7168), AOM_ICDF(8368), AOM_ICDF(10370), AOM_ICDF(11855),
    3332             :             AOM_ICDF(14966), AOM_ICDF(17544), AOM_ICDF(19328), AOM_ICDF(21271),
    3333             :             AOM_ICDF(22708), AOM_ICDF(24555), AOM_ICDF(29207), AOM_ICDF(31280),
    3334             :             AOM_ICDF(32768), 0 },
    3335             :           { AOM_ICDF(5504), AOM_ICDF(6782), AOM_ICDF(8914), AOM_ICDF(11452),
    3336             :             AOM_ICDF(15958), AOM_ICDF(16648), AOM_ICDF(17530), AOM_ICDF(18899),
    3337             :             AOM_ICDF(20578), AOM_ICDF(22245), AOM_ICDF(28123), AOM_ICDF(30427),
    3338             :             AOM_ICDF(32768), 0 },
    3339             :           { AOM_ICDF(5248), AOM_ICDF(6538), AOM_ICDF(9100), AOM_ICDF(11294),
    3340             :             AOM_ICDF(15638), AOM_ICDF(16589), AOM_ICDF(17600), AOM_ICDF(19318),
    3341             :             AOM_ICDF(20842), AOM_ICDF(22193), AOM_ICDF(28018), AOM_ICDF(30875),
    3342             :             AOM_ICDF(32768), 0 },
    3343             :           { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8499), AOM_ICDF(11769),
    3344             :             AOM_ICDF(15661), AOM_ICDF(16178), AOM_ICDF(17280), AOM_ICDF(18490),
    3345             :             AOM_ICDF(20386), AOM_ICDF(22127), AOM_ICDF(28071), AOM_ICDF(30089),
    3346             :             AOM_ICDF(32768), 0 },
    3347             :           { AOM_ICDF(4608), AOM_ICDF(7468), AOM_ICDF(10136), AOM_ICDF(15013),
    3348             :             AOM_ICDF(17716), AOM_ICDF(19595), AOM_ICDF(20830), AOM_ICDF(22136),
    3349             :             AOM_ICDF(23714), AOM_ICDF(25341), AOM_ICDF(29403), AOM_ICDF(31072),
    3350             :             AOM_ICDF(32768), 0 },
    3351             :       },
    3352             :       {
    3353             :           { AOM_ICDF(6656), AOM_ICDF(8186), AOM_ICDF(13755), AOM_ICDF(15971),
    3354             :             AOM_ICDF(20413), AOM_ICDF(27940), AOM_ICDF(28657), AOM_ICDF(29910),
    3355             :             AOM_ICDF(31004), AOM_ICDF(31969), AOM_ICDF(32443), AOM_ICDF(32665),
    3356             :             AOM_ICDF(32768), 0 },
    3357             :           { AOM_ICDF(6400), AOM_ICDF(8048), AOM_ICDF(16256), AOM_ICDF(17568),
    3358             :             AOM_ICDF(21074), AOM_ICDF(28253), AOM_ICDF(28976), AOM_ICDF(30531),
    3359             :             AOM_ICDF(31099), AOM_ICDF(31875), AOM_ICDF(32426), AOM_ICDF(32701),
    3360             :             AOM_ICDF(32768), 0 },
    3361             :           { AOM_ICDF(3840), AOM_ICDF(6439), AOM_ICDF(9524), AOM_ICDF(17270),
    3362             :             AOM_ICDF(21391), AOM_ICDF(25777), AOM_ICDF(26815), AOM_ICDF(27908),
    3363             :             AOM_ICDF(29199), AOM_ICDF(31151), AOM_ICDF(32168), AOM_ICDF(32407),
    3364             :             AOM_ICDF(32768), 0 },
    3365             :           { AOM_ICDF(9600), AOM_ICDF(10958), AOM_ICDF(14962), AOM_ICDF(16560),
    3366             :             AOM_ICDF(19908), AOM_ICDF(23309), AOM_ICDF(25637), AOM_ICDF(28033),
    3367             :             AOM_ICDF(29032), AOM_ICDF(32009), AOM_ICDF(32528), AOM_ICDF(32701),
    3368             :             AOM_ICDF(32768), 0 },
    3369             :           { AOM_ICDF(4608), AOM_ICDF(5598), AOM_ICDF(9525), AOM_ICDF(10578),
    3370             :             AOM_ICDF(18511), AOM_ICDF(27502), AOM_ICDF(28654), AOM_ICDF(29907),
    3371             :             AOM_ICDF(31069), AOM_ICDF(32071), AOM_ICDF(32493), AOM_ICDF(32670),
    3372             :             AOM_ICDF(32768), 0 },
    3373             :           { AOM_ICDF(4864), AOM_ICDF(5845), AOM_ICDF(11524), AOM_ICDF(12294),
    3374             :             AOM_ICDF(16882), AOM_ICDF(27955), AOM_ICDF(28839), AOM_ICDF(30251),
    3375             :             AOM_ICDF(30949), AOM_ICDF(31873), AOM_ICDF(32467), AOM_ICDF(32703),
    3376             :             AOM_ICDF(32768), 0 },
    3377             :           { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(8955), AOM_ICDF(11746),
    3378             :             AOM_ICDF(18914), AOM_ICDF(24489), AOM_ICDF(25524), AOM_ICDF(27194),
    3379             :             AOM_ICDF(29894), AOM_ICDF(31589), AOM_ICDF(32335), AOM_ICDF(32551),
    3380             :             AOM_ICDF(32768), 0 },
    3381             :           { AOM_ICDF(6016), AOM_ICDF(7584), AOM_ICDF(11814), AOM_ICDF(14567),
    3382             :             AOM_ICDF(18253), AOM_ICDF(21882), AOM_ICDF(23966), AOM_ICDF(26442),
    3383             :             AOM_ICDF(27628), AOM_ICDF(31142), AOM_ICDF(32177), AOM_ICDF(32466),
    3384             :             AOM_ICDF(32768), 0 },
    3385             :           { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(15257), AOM_ICDF(16576),
    3386             :             AOM_ICDF(20349), AOM_ICDF(24902), AOM_ICDF(26592), AOM_ICDF(29415),
    3387             :             AOM_ICDF(30083), AOM_ICDF(31782), AOM_ICDF(32360), AOM_ICDF(32680),
    3388             :             AOM_ICDF(32768), 0 },
    3389             :           { AOM_ICDF(2816), AOM_ICDF(4805), AOM_ICDF(8519), AOM_ICDF(10112),
    3390             :             AOM_ICDF(13408), AOM_ICDF(18465), AOM_ICDF(19582), AOM_ICDF(21333),
    3391             :             AOM_ICDF(22494), AOM_ICDF(24059), AOM_ICDF(29026), AOM_ICDF(31321),
    3392             :             AOM_ICDF(32768), 0 },
    3393             :           { AOM_ICDF(2432), AOM_ICDF(4091), AOM_ICDF(8236), AOM_ICDF(9669),
    3394             :             AOM_ICDF(13111), AOM_ICDF(19352), AOM_ICDF(20557), AOM_ICDF(22370),
    3395             :             AOM_ICDF(23060), AOM_ICDF(24425), AOM_ICDF(28890), AOM_ICDF(31586),
    3396             :             AOM_ICDF(32768), 0 },
    3397             :           { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(8938), AOM_ICDF(11126),
    3398             :             AOM_ICDF(14494), AOM_ICDF(18433), AOM_ICDF(19721), AOM_ICDF(21148),
    3399             :             AOM_ICDF(22510), AOM_ICDF(24233), AOM_ICDF(29134), AOM_ICDF(31235),
    3400             :             AOM_ICDF(32768), 0 },
    3401             :           { AOM_ICDF(4480), AOM_ICDF(7132), AOM_ICDF(13341), AOM_ICDF(17959),
    3402             :             AOM_ICDF(21108), AOM_ICDF(25786), AOM_ICDF(27068), AOM_ICDF(29161),
    3403             :             AOM_ICDF(30077), AOM_ICDF(31286), AOM_ICDF(32363), AOM_ICDF(32565),
    3404             :             AOM_ICDF(32768), 0 },
    3405             :       },
    3406             :       {
    3407             :           { AOM_ICDF(9600), AOM_ICDF(10686), AOM_ICDF(12152), AOM_ICDF(16918),
    3408             :             AOM_ICDF(19247), AOM_ICDF(20286), AOM_ICDF(20969), AOM_ICDF(21568),
    3409             :             AOM_ICDF(25987), AOM_ICDF(27444), AOM_ICDF(30376), AOM_ICDF(31348),
    3410             :             AOM_ICDF(32768), 0 },
    3411             :           { AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(14591), AOM_ICDF(17948),
    3412             :             AOM_ICDF(19973), AOM_ICDF(21052), AOM_ICDF(21922), AOM_ICDF(22854),
    3413             :             AOM_ICDF(25642), AOM_ICDF(26783), AOM_ICDF(29892), AOM_ICDF(31499),
    3414             :             AOM_ICDF(32768), 0 },
    3415             :           { AOM_ICDF(3840), AOM_ICDF(5196), AOM_ICDF(5842), AOM_ICDF(17177),
    3416             :             AOM_ICDF(19308), AOM_ICDF(19726), AOM_ICDF(20235), AOM_ICDF(20627),
    3417             :             AOM_ICDF(24184), AOM_ICDF(26799), AOM_ICDF(29993), AOM_ICDF(30752),
    3418             :             AOM_ICDF(32768), 0 },
    3419             :           { AOM_ICDF(9856), AOM_ICDF(11288), AOM_ICDF(12295), AOM_ICDF(15482),
    3420             :             AOM_ICDF(18345), AOM_ICDF(19093), AOM_ICDF(20963), AOM_ICDF(21747),
    3421             :             AOM_ICDF(24718), AOM_ICDF(26793), AOM_ICDF(29991), AOM_ICDF(31032),
    3422             :             AOM_ICDF(32768), 0 },
    3423             :           { AOM_ICDF(6528), AOM_ICDF(7348), AOM_ICDF(8440), AOM_ICDF(11002),
    3424             :             AOM_ICDF(17084), AOM_ICDF(19749), AOM_ICDF(20766), AOM_ICDF(21563),
    3425             :             AOM_ICDF(25502), AOM_ICDF(26950), AOM_ICDF(30245), AOM_ICDF(31152),
    3426             :             AOM_ICDF(32768), 0 },
    3427             :           { AOM_ICDF(9728), AOM_ICDF(10448), AOM_ICDF(12541), AOM_ICDF(14674),
    3428             :             AOM_ICDF(19296), AOM_ICDF(23919), AOM_ICDF(25198), AOM_ICDF(26558),
    3429             :             AOM_ICDF(30755), AOM_ICDF(31958), AOM_ICDF(32461), AOM_ICDF(32594),
    3430             :             AOM_ICDF(32768), 0 },
    3431             :           { AOM_ICDF(5120), AOM_ICDF(5768), AOM_ICDF(6401), AOM_ICDF(10321),
    3432             :             AOM_ICDF(14515), AOM_ICDF(15362), AOM_ICDF(15838), AOM_ICDF(16301),
    3433             :             AOM_ICDF(26078), AOM_ICDF(27489), AOM_ICDF(30397), AOM_ICDF(31175),
    3434             :             AOM_ICDF(32768), 0 },
    3435             :           { AOM_ICDF(5888), AOM_ICDF(6518), AOM_ICDF(7236), AOM_ICDF(12128),
    3436             :             AOM_ICDF(14327), AOM_ICDF(15015), AOM_ICDF(16055), AOM_ICDF(16773),
    3437             :             AOM_ICDF(20897), AOM_ICDF(25395), AOM_ICDF(29341), AOM_ICDF(30452),
    3438             :             AOM_ICDF(32768), 0 },
    3439             :           { AOM_ICDF(10368), AOM_ICDF(11856), AOM_ICDF(13245), AOM_ICDF(15614),
    3440             :             AOM_ICDF(18451), AOM_ICDF(19498), AOM_ICDF(20846), AOM_ICDF(22429),
    3441             :             AOM_ICDF(24610), AOM_ICDF(26522), AOM_ICDF(30279), AOM_ICDF(31523),
    3442             :             AOM_ICDF(32768), 0 },
    3443             :           { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(8668), AOM_ICDF(12423),
    3444             :             AOM_ICDF(15346), AOM_ICDF(15634), AOM_ICDF(16504), AOM_ICDF(17584),
    3445             :             AOM_ICDF(21083), AOM_ICDF(23000), AOM_ICDF(28456), AOM_ICDF(30241),
    3446             :             AOM_ICDF(32768), 0 },
    3447             :           { AOM_ICDF(5760), AOM_ICDF(7026), AOM_ICDF(8735), AOM_ICDF(12665),
    3448             :             AOM_ICDF(15507), AOM_ICDF(15870), AOM_ICDF(16794), AOM_ICDF(17792),
    3449             :             AOM_ICDF(21068), AOM_ICDF(23033), AOM_ICDF(28395), AOM_ICDF(30701),
    3450             :             AOM_ICDF(32768), 0 },
    3451             :           { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(9300), AOM_ICDF(13303),
    3452             :             AOM_ICDF(15462), AOM_ICDF(15625), AOM_ICDF(16362), AOM_ICDF(17067),
    3453             :             AOM_ICDF(20686), AOM_ICDF(22810), AOM_ICDF(27983), AOM_ICDF(29347),
    3454             :             AOM_ICDF(32768), 0 },
    3455             :           { AOM_ICDF(5632), AOM_ICDF(8070), AOM_ICDF(9903), AOM_ICDF(16658),
    3456             :             AOM_ICDF(18637), AOM_ICDF(19728), AOM_ICDF(20543), AOM_ICDF(21450),
    3457             :             AOM_ICDF(24456), AOM_ICDF(26372), AOM_ICDF(29645), AOM_ICDF(30731),
    3458             :             AOM_ICDF(32768), 0 },
    3459             :       },
    3460             :       {
    3461             :           { AOM_ICDF(11008), AOM_ICDF(12283), AOM_ICDF(14364), AOM_ICDF(18419),
    3462             :             AOM_ICDF(19948), AOM_ICDF(20618), AOM_ICDF(21899), AOM_ICDF(22960),
    3463             :             AOM_ICDF(23994), AOM_ICDF(26565), AOM_ICDF(30078), AOM_ICDF(31213),
    3464             :             AOM_ICDF(32768), 0 },
    3465             :           { AOM_ICDF(9088), AOM_ICDF(11586), AOM_ICDF(16716), AOM_ICDF(18876),
    3466             :             AOM_ICDF(20112), AOM_ICDF(21105), AOM_ICDF(22426), AOM_ICDF(23800),
    3467             :             AOM_ICDF(24396), AOM_ICDF(26653), AOM_ICDF(30021), AOM_ICDF(31566),
    3468             :             AOM_ICDF(32768), 0 },
    3469             :           { AOM_ICDF(6144), AOM_ICDF(8328), AOM_ICDF(9378), AOM_ICDF(20096),
    3470             :             AOM_ICDF(20984), AOM_ICDF(21256), AOM_ICDF(22335), AOM_ICDF(23109),
    3471             :             AOM_ICDF(24128), AOM_ICDF(26896), AOM_ICDF(29947), AOM_ICDF(30740),
    3472             :             AOM_ICDF(32768), 0 },
    3473             :           { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(13441), AOM_ICDF(15479),
    3474             :             AOM_ICDF(16976), AOM_ICDF(17518), AOM_ICDF(20794), AOM_ICDF(22571),
    3475             :             AOM_ICDF(23328), AOM_ICDF(27421), AOM_ICDF(30512), AOM_ICDF(31561),
    3476             :             AOM_ICDF(32768), 0 },
    3477             :           { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(10010), AOM_ICDF(12258),
    3478             :             AOM_ICDF(15388), AOM_ICDF(16944), AOM_ICDF(19602), AOM_ICDF(21196),
    3479             :             AOM_ICDF(22869), AOM_ICDF(25112), AOM_ICDF(29389), AOM_ICDF(30709),
    3480             :             AOM_ICDF(32768), 0 },
    3481             :           { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(14881), AOM_ICDF(17298),
    3482             :             AOM_ICDF(20151), AOM_ICDF(22916), AOM_ICDF(25918), AOM_ICDF(28032),
    3483             :             AOM_ICDF(29549), AOM_ICDF(31787), AOM_ICDF(32293), AOM_ICDF(32521),
    3484             :             AOM_ICDF(32768), 0 },
    3485             :           { AOM_ICDF(6400), AOM_ICDF(7636), AOM_ICDF(8716), AOM_ICDF(12718),
    3486             :             AOM_ICDF(15711), AOM_ICDF(16420), AOM_ICDF(18144), AOM_ICDF(19287),
    3487             :             AOM_ICDF(22815), AOM_ICDF(25886), AOM_ICDF(29596), AOM_ICDF(30674),
    3488             :             AOM_ICDF(32768), 0 },
    3489             :           { AOM_ICDF(9856), AOM_ICDF(10662), AOM_ICDF(11785), AOM_ICDF(14236),
    3490             :             AOM_ICDF(14998), AOM_ICDF(15391), AOM_ICDF(17156), AOM_ICDF(17949),
    3491             :             AOM_ICDF(18470), AOM_ICDF(27797), AOM_ICDF(30418), AOM_ICDF(31244),
    3492             :             AOM_ICDF(32768), 0 },
    3493             :           { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12017), AOM_ICDF(14128),
    3494             :             AOM_ICDF(15765), AOM_ICDF(16637), AOM_ICDF(19347), AOM_ICDF(21759),
    3495             :             AOM_ICDF(22490), AOM_ICDF(25300), AOM_ICDF(29676), AOM_ICDF(31077),
    3496             :             AOM_ICDF(32768), 0 },
    3497             :           { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(10177), AOM_ICDF(13693),
    3498             :             AOM_ICDF(15333), AOM_ICDF(15472), AOM_ICDF(17094), AOM_ICDF(18257),
    3499             :             AOM_ICDF(19277), AOM_ICDF(22386), AOM_ICDF(28023), AOM_ICDF(29969),
    3500             :             AOM_ICDF(32768), 0 },
    3501             :           { AOM_ICDF(6400), AOM_ICDF(8151), AOM_ICDF(10651), AOM_ICDF(13992),
    3502             :             AOM_ICDF(15677), AOM_ICDF(15835), AOM_ICDF(17422), AOM_ICDF(18621),
    3503             :             AOM_ICDF(19450), AOM_ICDF(22207), AOM_ICDF(27735), AOM_ICDF(30409),
    3504             :             AOM_ICDF(32768), 0 },
    3505             :           { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(9915), AOM_ICDF(13980),
    3506             :             AOM_ICDF(15352), AOM_ICDF(15450), AOM_ICDF(17006), AOM_ICDF(17930),
    3507             :             AOM_ICDF(18973), AOM_ICDF(22045), AOM_ICDF(27658), AOM_ICDF(29235),
    3508             :             AOM_ICDF(32768), 0 },
    3509             :           { AOM_ICDF(6272), AOM_ICDF(9481), AOM_ICDF(11664), AOM_ICDF(16537),
    3510             :             AOM_ICDF(17656), AOM_ICDF(18094), AOM_ICDF(20673), AOM_ICDF(21949),
    3511             :             AOM_ICDF(22752), AOM_ICDF(25921), AOM_ICDF(29612), AOM_ICDF(30869),
    3512             :             AOM_ICDF(32768), 0 },
    3513             :       },
    3514             :       {
    3515             :           { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(12536), AOM_ICDF(14589),
    3516             :             AOM_ICDF(15843), AOM_ICDF(17357), AOM_ICDF(19765), AOM_ICDF(23981),
    3517             :             AOM_ICDF(24633), AOM_ICDF(25618), AOM_ICDF(29556), AOM_ICDF(31438),
    3518             :             AOM_ICDF(32768), 0 },
    3519             :           { AOM_ICDF(5760), AOM_ICDF(7237), AOM_ICDF(14717), AOM_ICDF(15587),
    3520             :             AOM_ICDF(16364), AOM_ICDF(17537), AOM_ICDF(20393), AOM_ICDF(26097),
    3521             :             AOM_ICDF(26462), AOM_ICDF(27029), AOM_ICDF(30123), AOM_ICDF(31921),
    3522             :             AOM_ICDF(32768), 0 },
    3523             :           { AOM_ICDF(4352), AOM_ICDF(5906), AOM_ICDF(8424), AOM_ICDF(16214),
    3524             :             AOM_ICDF(16978), AOM_ICDF(17743), AOM_ICDF(19680), AOM_ICDF(22441),
    3525             :             AOM_ICDF(23167), AOM_ICDF(25080), AOM_ICDF(29224), AOM_ICDF(30650),
    3526             :             AOM_ICDF(32768), 0 },
    3527             :           { AOM_ICDF(9472), AOM_ICDF(10473), AOM_ICDF(12737), AOM_ICDF(14173),
    3528             :             AOM_ICDF(15051), AOM_ICDF(15632), AOM_ICDF(20652), AOM_ICDF(24864),
    3529             :             AOM_ICDF(25204), AOM_ICDF(27006), AOM_ICDF(30292), AOM_ICDF(31501),
    3530             :             AOM_ICDF(32768), 0 },
    3531             :           { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(8247), AOM_ICDF(9646),
    3532             :             AOM_ICDF(12203), AOM_ICDF(14760), AOM_ICDF(18488), AOM_ICDF(22616),
    3533             :             AOM_ICDF(23449), AOM_ICDF(24650), AOM_ICDF(29026), AOM_ICDF(30955),
    3534             :             AOM_ICDF(32768), 0 },
    3535             :           { AOM_ICDF(6016), AOM_ICDF(6957), AOM_ICDF(12502), AOM_ICDF(13805),
    3536             :             AOM_ICDF(16777), AOM_ICDF(21052), AOM_ICDF(23981), AOM_ICDF(30606),
    3537             :             AOM_ICDF(31206), AOM_ICDF(31981), AOM_ICDF(32414), AOM_ICDF(32681),
    3538             :             AOM_ICDF(32768), 0 },
    3539             :           { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(7820), AOM_ICDF(9805),
    3540             :             AOM_ICDF(12793), AOM_ICDF(14252), AOM_ICDF(16711), AOM_ICDF(20725),
    3541             :             AOM_ICDF(23406), AOM_ICDF(25015), AOM_ICDF(29225), AOM_ICDF(30775),
    3542             :             AOM_ICDF(32768), 0 },
    3543             :           { AOM_ICDF(6912), AOM_ICDF(7619), AOM_ICDF(10173), AOM_ICDF(12424),
    3544             :             AOM_ICDF(13502), AOM_ICDF(14410), AOM_ICDF(17852), AOM_ICDF(21348),
    3545             :             AOM_ICDF(22017), AOM_ICDF(25461), AOM_ICDF(29571), AOM_ICDF(31020),
    3546             :             AOM_ICDF(32768), 0 },
    3547             :           { AOM_ICDF(7680), AOM_ICDF(8562), AOM_ICDF(11399), AOM_ICDF(12263),
    3548             :             AOM_ICDF(12870), AOM_ICDF(13486), AOM_ICDF(18307), AOM_ICDF(26385),
    3549             :             AOM_ICDF(26734), AOM_ICDF(27724), AOM_ICDF(30482), AOM_ICDF(31955),
    3550             :             AOM_ICDF(32768), 0 },
    3551             :           { AOM_ICDF(4992), AOM_ICDF(6186), AOM_ICDF(9820), AOM_ICDF(11725),
    3552             :             AOM_ICDF(13117), AOM_ICDF(13406), AOM_ICDF(15978), AOM_ICDF(20372),
    3553             :             AOM_ICDF(20953), AOM_ICDF(22245), AOM_ICDF(28205), AOM_ICDF(30879),
    3554             :             AOM_ICDF(32768), 0 },
    3555             :           { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(10747), AOM_ICDF(12295),
    3556             :             AOM_ICDF(13445), AOM_ICDF(13844), AOM_ICDF(16357), AOM_ICDF(21485),
    3557             :             AOM_ICDF(21838), AOM_ICDF(22820), AOM_ICDF(28183), AOM_ICDF(31138),
    3558             :             AOM_ICDF(32768), 0 },
    3559             :           { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10476), AOM_ICDF(12855),
    3560             :             AOM_ICDF(14101), AOM_ICDF(14482), AOM_ICDF(17053), AOM_ICDF(20613),
    3561             :             AOM_ICDF(21278), AOM_ICDF(22580), AOM_ICDF(28351), AOM_ICDF(30542),
    3562             :             AOM_ICDF(32768), 0 },
    3563             :           { AOM_ICDF(4480), AOM_ICDF(6359), AOM_ICDF(11826), AOM_ICDF(14265),
    3564             :             AOM_ICDF(14852), AOM_ICDF(15753), AOM_ICDF(19276), AOM_ICDF(24757),
    3565             :             AOM_ICDF(25226), AOM_ICDF(26287), AOM_ICDF(29629), AOM_ICDF(31493),
    3566             :             AOM_ICDF(32768), 0 },
    3567             :       },
    3568             :       {
    3569             :           { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(11726), AOM_ICDF(15286),
    3570             :             AOM_ICDF(16881), AOM_ICDF(17151), AOM_ICDF(17944), AOM_ICDF(19160),
    3571             :             AOM_ICDF(20011), AOM_ICDF(21356), AOM_ICDF(27463), AOM_ICDF(29805),
    3572             :             AOM_ICDF(32768), 0 },
    3573             :           { AOM_ICDF(5376), AOM_ICDF(7516), AOM_ICDF(15210), AOM_ICDF(17109),
    3574             :             AOM_ICDF(18458), AOM_ICDF(18708), AOM_ICDF(19587), AOM_ICDF(20977),
    3575             :             AOM_ICDF(21484), AOM_ICDF(22277), AOM_ICDF(27768), AOM_ICDF(30893),
    3576             :             AOM_ICDF(32768), 0 },
    3577             :           { AOM_ICDF(3584), AOM_ICDF(5522), AOM_ICDF(7225), AOM_ICDF(18079),
    3578             :             AOM_ICDF(18909), AOM_ICDF(18999), AOM_ICDF(19698), AOM_ICDF(20413),
    3579             :             AOM_ICDF(21185), AOM_ICDF(23040), AOM_ICDF(28056), AOM_ICDF(29473),
    3580             :             AOM_ICDF(32768), 0 },
    3581             :           { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(10782), AOM_ICDF(12958),
    3582             :             AOM_ICDF(14687), AOM_ICDF(14818), AOM_ICDF(17553), AOM_ICDF(19395),
    3583             :             AOM_ICDF(20231), AOM_ICDF(23316), AOM_ICDF(28559), AOM_ICDF(30614),
    3584             :             AOM_ICDF(32768), 0 },
    3585             :           { AOM_ICDF(5632), AOM_ICDF(6586), AOM_ICDF(9347), AOM_ICDF(11520),
    3586             :             AOM_ICDF(15628), AOM_ICDF(16300), AOM_ICDF(17651), AOM_ICDF(19245),
    3587             :             AOM_ICDF(20671), AOM_ICDF(22089), AOM_ICDF(28013), AOM_ICDF(30279),
    3588             :             AOM_ICDF(32768), 0 },
    3589             :           { AOM_ICDF(3840), AOM_ICDF(5309), AOM_ICDF(9385), AOM_ICDF(10995),
    3590             :             AOM_ICDF(14099), AOM_ICDF(18154), AOM_ICDF(19638), AOM_ICDF(21690),
    3591             :             AOM_ICDF(23031), AOM_ICDF(24552), AOM_ICDF(29238), AOM_ICDF(31251),
    3592             :             AOM_ICDF(32768), 0 },
    3593             :           { AOM_ICDF(5376), AOM_ICDF(6339), AOM_ICDF(8301), AOM_ICDF(11620),
    3594             :             AOM_ICDF(14701), AOM_ICDF(14991), AOM_ICDF(16033), AOM_ICDF(17210),
    3595             :             AOM_ICDF(20431), AOM_ICDF(22310), AOM_ICDF(27948), AOM_ICDF(29774),
    3596             :             AOM_ICDF(32768), 0 },
    3597             :           { AOM_ICDF(5632), AOM_ICDF(6692), AOM_ICDF(8729), AOM_ICDF(12618),
    3598             :             AOM_ICDF(13927), AOM_ICDF(14081), AOM_ICDF(15176), AOM_ICDF(16413),
    3599             :             AOM_ICDF(17371), AOM_ICDF(22183), AOM_ICDF(28013), AOM_ICDF(29815),
    3600             :             AOM_ICDF(32768), 0 },
    3601             :           { AOM_ICDF(6528), AOM_ICDF(7861), AOM_ICDF(11072), AOM_ICDF(12945),
    3602             :             AOM_ICDF(14726), AOM_ICDF(14971), AOM_ICDF(16570), AOM_ICDF(19481),
    3603             :             AOM_ICDF(20260), AOM_ICDF(21921), AOM_ICDF(27980), AOM_ICDF(30449),
    3604             :             AOM_ICDF(32768), 0 },
    3605             :           { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(9523), AOM_ICDF(12199),
    3606             :             AOM_ICDF(13764), AOM_ICDF(13972), AOM_ICDF(14926), AOM_ICDF(16320),
    3607             :             AOM_ICDF(17091), AOM_ICDF(18744), AOM_ICDF(26359), AOM_ICDF(29288),
    3608             :             AOM_ICDF(32768), 0 },
    3609             :           { AOM_ICDF(4736), AOM_ICDF(6160), AOM_ICDF(10318), AOM_ICDF(12718),
    3610             :             AOM_ICDF(14251), AOM_ICDF(14527), AOM_ICDF(15453), AOM_ICDF(17009),
    3611             :             AOM_ICDF(17625), AOM_ICDF(19045), AOM_ICDF(26335), AOM_ICDF(30079),
    3612             :             AOM_ICDF(32768), 0 },
    3613             :           { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(9248), AOM_ICDF(12722),
    3614             :             AOM_ICDF(14141), AOM_ICDF(14301), AOM_ICDF(15095), AOM_ICDF(16200),
    3615             :             AOM_ICDF(17106), AOM_ICDF(18697), AOM_ICDF(26172), AOM_ICDF(28388),
    3616             :             AOM_ICDF(32768), 0 },
    3617             :           { AOM_ICDF(4096), AOM_ICDF(6672), AOM_ICDF(11055), AOM_ICDF(16327),
    3618             :             AOM_ICDF(17508), AOM_ICDF(17671), AOM_ICDF(18733), AOM_ICDF(19994),
    3619             :             AOM_ICDF(20742), AOM_ICDF(22151), AOM_ICDF(27708), AOM_ICDF(30021),
    3620             :             AOM_ICDF(32768), 0 },
    3621             :       },
    3622             :       {
    3623             :           { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(13524), AOM_ICDF(16819),
    3624             :             AOM_ICDF(18267), AOM_ICDF(18636), AOM_ICDF(19409), AOM_ICDF(20661),
    3625             :             AOM_ICDF(21323), AOM_ICDF(22307), AOM_ICDF(27905), AOM_ICDF(30678),
    3626             :             AOM_ICDF(32768), 0 },
    3627             :           { AOM_ICDF(5376), AOM_ICDF(7302), AOM_ICDF(16951), AOM_ICDF(18383),
    3628             :             AOM_ICDF(19388), AOM_ICDF(19608), AOM_ICDF(20225), AOM_ICDF(21597),
    3629             :             AOM_ICDF(21946), AOM_ICDF(22538), AOM_ICDF(27613), AOM_ICDF(31318),
    3630             :             AOM_ICDF(32768), 0 },
    3631             :           { AOM_ICDF(3840), AOM_ICDF(5987), AOM_ICDF(8184), AOM_ICDF(19612),
    3632             :             AOM_ICDF(20392), AOM_ICDF(20476), AOM_ICDF(21100), AOM_ICDF(21693),
    3633             :             AOM_ICDF(22428), AOM_ICDF(23963), AOM_ICDF(28709), AOM_ICDF(30342),
    3634             :             AOM_ICDF(32768), 0 },
    3635             :           { AOM_ICDF(8448), AOM_ICDF(9588), AOM_ICDF(12395), AOM_ICDF(14447),
    3636             :             AOM_ICDF(16163), AOM_ICDF(16374), AOM_ICDF(18743), AOM_ICDF(20606),
    3637             :             AOM_ICDF(21271), AOM_ICDF(23786), AOM_ICDF(28768), AOM_ICDF(30877),
    3638             :             AOM_ICDF(32768), 0 },
    3639             :           { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10069), AOM_ICDF(11965),
    3640             :             AOM_ICDF(15976), AOM_ICDF(16719), AOM_ICDF(17973), AOM_ICDF(19880),
    3641             :             AOM_ICDF(21139), AOM_ICDF(22275), AOM_ICDF(28259), AOM_ICDF(30954),
    3642             :             AOM_ICDF(32768), 0 },
    3643             :           { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(10557), AOM_ICDF(12069),
    3644             :             AOM_ICDF(14280), AOM_ICDF(18973), AOM_ICDF(20374), AOM_ICDF(23037),
    3645             :             AOM_ICDF(24215), AOM_ICDF(25050), AOM_ICDF(29271), AOM_ICDF(31716),
    3646             :             AOM_ICDF(32768), 0 },
    3647             :           { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(9672), AOM_ICDF(12246),
    3648             :             AOM_ICDF(15351), AOM_ICDF(15717), AOM_ICDF(16716), AOM_ICDF(18158),
    3649             :             AOM_ICDF(21126), AOM_ICDF(22672), AOM_ICDF(28035), AOM_ICDF(30494),
    3650             :             AOM_ICDF(32768), 0 },
    3651             :           { AOM_ICDF(6272), AOM_ICDF(7204), AOM_ICDF(9700), AOM_ICDF(13252),
    3652             :             AOM_ICDF(14599), AOM_ICDF(14926), AOM_ICDF(15902), AOM_ICDF(17220),
    3653             :             AOM_ICDF(18010), AOM_ICDF(22795), AOM_ICDF(28405), AOM_ICDF(30467),
    3654             :             AOM_ICDF(32768), 0 },
    3655             :           { AOM_ICDF(6912), AOM_ICDF(8427), AOM_ICDF(12420), AOM_ICDF(14171),
    3656             :             AOM_ICDF(15792), AOM_ICDF(16156), AOM_ICDF(17584), AOM_ICDF(20846),
    3657             :             AOM_ICDF(21451), AOM_ICDF(22556), AOM_ICDF(28101), AOM_ICDF(31054),
    3658             :             AOM_ICDF(32768), 0 },
    3659             :           { AOM_ICDF(5248), AOM_ICDF(6431), AOM_ICDF(10855), AOM_ICDF(13296),
    3660             :             AOM_ICDF(14848), AOM_ICDF(15135), AOM_ICDF(15893), AOM_ICDF(17277),
    3661             :             AOM_ICDF(17943), AOM_ICDF(19275), AOM_ICDF(26443), AOM_ICDF(30174),
    3662             :             AOM_ICDF(32768), 0 },
    3663             :           { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(12103), AOM_ICDF(14343),
    3664             :             AOM_ICDF(15633), AOM_ICDF(15978), AOM_ICDF(16699), AOM_ICDF(18205),
    3665             :             AOM_ICDF(18660), AOM_ICDF(19707), AOM_ICDF(26544), AOM_ICDF(30872),
    3666             :             AOM_ICDF(32768), 0 },
    3667             :           { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(11066), AOM_ICDF(14088),
    3668             :             AOM_ICDF(15377), AOM_ICDF(15644), AOM_ICDF(16447), AOM_ICDF(17786),
    3669             :             AOM_ICDF(18605), AOM_ICDF(19822), AOM_ICDF(27104), AOM_ICDF(29648),
    3670             :             AOM_ICDF(32768), 0 },
    3671             :           { AOM_ICDF(4608), AOM_ICDF(7358), AOM_ICDF(13016), AOM_ICDF(18200),
    3672             :             AOM_ICDF(19015), AOM_ICDF(19189), AOM_ICDF(20038), AOM_ICDF(21430),
    3673             :             AOM_ICDF(21917), AOM_ICDF(22977), AOM_ICDF(27949), AOM_ICDF(30848),
    3674             :             AOM_ICDF(32768), 0 },
    3675             :       },
    3676             :       {
    3677             :           { AOM_ICDF(7296), AOM_ICDF(8490), AOM_ICDF(11145), AOM_ICDF(15318),
    3678             :             AOM_ICDF(16693), AOM_ICDF(16889), AOM_ICDF(17571), AOM_ICDF(18580),
    3679             :             AOM_ICDF(19688), AOM_ICDF(21272), AOM_ICDF(27245), AOM_ICDF(28971),
    3680             :             AOM_ICDF(32768), 0 },
    3681             :           { AOM_ICDF(5376), AOM_ICDF(7623), AOM_ICDF(16070), AOM_ICDF(18136),
    3682             :             AOM_ICDF(19225), AOM_ICDF(19397), AOM_ICDF(20128), AOM_ICDF(21362),
    3683             :             AOM_ICDF(21808), AOM_ICDF(22621), AOM_ICDF(27932), AOM_ICDF(30407),
    3684             :             AOM_ICDF(32768), 0 },
    3685             :           { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(6566), AOM_ICDF(18368),
    3686             :             AOM_ICDF(19106), AOM_ICDF(19155), AOM_ICDF(19793), AOM_ICDF(20300),
    3687             :             AOM_ICDF(21177), AOM_ICDF(23079), AOM_ICDF(27848), AOM_ICDF(28924),
    3688             :             AOM_ICDF(32768), 0 },
    3689             :           { AOM_ICDF(7040), AOM_ICDF(8146), AOM_ICDF(10550), AOM_ICDF(12876),
    3690             :             AOM_ICDF(14506), AOM_ICDF(14629), AOM_ICDF(17180), AOM_ICDF(19129),
    3691             :             AOM_ICDF(20088), AOM_ICDF(23407), AOM_ICDF(28673), AOM_ICDF(30257),
    3692             :             AOM_ICDF(32768), 0 },
    3693             :           { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(9466), AOM_ICDF(11999),
    3694             :             AOM_ICDF(15723), AOM_ICDF(16293), AOM_ICDF(17580), AOM_ICDF(19004),
    3695             :             AOM_ICDF(20509), AOM_ICDF(22233), AOM_ICDF(28118), AOM_ICDF(29989),
    3696             :             AOM_ICDF(32768), 0 },
    3697             :           { AOM_ICDF(3840), AOM_ICDF(5422), AOM_ICDF(9054), AOM_ICDF(11018),
    3698             :             AOM_ICDF(13605), AOM_ICDF(17576), AOM_ICDF(19178), AOM_ICDF(21514),
    3699             :             AOM_ICDF(22877), AOM_ICDF(24461), AOM_ICDF(29069), AOM_ICDF(30933),
    3700             :             AOM_ICDF(32768), 0 },
    3701             :           { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8294), AOM_ICDF(12601),
    3702             :             AOM_ICDF(15043), AOM_ICDF(15273), AOM_ICDF(16230), AOM_ICDF(17134),
    3703             :             AOM_ICDF(20737), AOM_ICDF(22899), AOM_ICDF(28219), AOM_ICDF(29410),
    3704             :             AOM_ICDF(32768), 0 },
    3705             :           { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(8336), AOM_ICDF(12965),
    3706             :             AOM_ICDF(14282), AOM_ICDF(14444), AOM_ICDF(15446), AOM_ICDF(16461),
    3707             :             AOM_ICDF(17544), AOM_ICDF(22183), AOM_ICDF(27682), AOM_ICDF(29132),
    3708             :             AOM_ICDF(32768), 0 },
    3709             :           { AOM_ICDF(6656), AOM_ICDF(8084), AOM_ICDF(10880), AOM_ICDF(12954),
    3710             :             AOM_ICDF(14527), AOM_ICDF(14728), AOM_ICDF(16490), AOM_ICDF(19224),
    3711             :             AOM_ICDF(20071), AOM_ICDF(21857), AOM_ICDF(27653), AOM_ICDF(30031),
    3712             :             AOM_ICDF(32768), 0 },
    3713             :           { AOM_ICDF(5376), AOM_ICDF(6660), AOM_ICDF(9006), AOM_ICDF(12205),
    3714             :             AOM_ICDF(13614), AOM_ICDF(13740), AOM_ICDF(14632), AOM_ICDF(15766),
    3715             :             AOM_ICDF(16629), AOM_ICDF(18394), AOM_ICDF(25918), AOM_ICDF(28460),
    3716             :             AOM_ICDF(32768), 0 },
    3717             :           { AOM_ICDF(4736), AOM_ICDF(6488), AOM_ICDF(9978), AOM_ICDF(12889),
    3718             :             AOM_ICDF(14419), AOM_ICDF(14607), AOM_ICDF(15458), AOM_ICDF(16743),
    3719             :             AOM_ICDF(17369), AOM_ICDF(19053), AOM_ICDF(26393), AOM_ICDF(29456),
    3720             :             AOM_ICDF(32768), 0 },
    3721             :           { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(8542), AOM_ICDF(12830),
    3722             :             AOM_ICDF(13956), AOM_ICDF(14031), AOM_ICDF(14763), AOM_ICDF(15677),
    3723             :             AOM_ICDF(16545), AOM_ICDF(18256), AOM_ICDF(25569), AOM_ICDF(27284),
    3724             :             AOM_ICDF(32768), 0 },
    3725             :           { AOM_ICDF(4096), AOM_ICDF(7008), AOM_ICDF(11436), AOM_ICDF(17228),
    3726             :             AOM_ICDF(18131), AOM_ICDF(18269), AOM_ICDF(19345), AOM_ICDF(20551),
    3727             :             AOM_ICDF(21315), AOM_ICDF(22836), AOM_ICDF(28035), AOM_ICDF(29865),
    3728             :             AOM_ICDF(32768), 0 },
    3729             :       },
    3730             :       {
    3731             :           { AOM_ICDF(6528), AOM_ICDF(10833), AOM_ICDF(17688), AOM_ICDF(21947),
    3732             :             AOM_ICDF(22829), AOM_ICDF(23814), AOM_ICDF(24514), AOM_ICDF(25707),
    3733             :             AOM_ICDF(26397), AOM_ICDF(27442), AOM_ICDF(30271), AOM_ICDF(31734),
    3734             :             AOM_ICDF(32768), 0 },
    3735             :           { AOM_ICDF(4480), AOM_ICDF(8679), AOM_ICDF(21100), AOM_ICDF(23075),
    3736             :             AOM_ICDF(23772), AOM_ICDF(24427), AOM_ICDF(25111), AOM_ICDF(26188),
    3737             :             AOM_ICDF(26445), AOM_ICDF(27235), AOM_ICDF(29980), AOM_ICDF(31875),
    3738             :             AOM_ICDF(32768), 0 },
    3739             :           { AOM_ICDF(2688), AOM_ICDF(6683), AOM_ICDF(9332), AOM_ICDF(22173),
    3740             :             AOM_ICDF(22688), AOM_ICDF(22972), AOM_ICDF(23623), AOM_ICDF(24159),
    3741             :             AOM_ICDF(24798), AOM_ICDF(26666), AOM_ICDF(29812), AOM_ICDF(30909),
    3742             :             AOM_ICDF(32768), 0 },
    3743             :           { AOM_ICDF(8192), AOM_ICDF(10112), AOM_ICDF(13298), AOM_ICDF(16662),
    3744             :             AOM_ICDF(17623), AOM_ICDF(18394), AOM_ICDF(20921), AOM_ICDF(22309),
    3745             :             AOM_ICDF(22963), AOM_ICDF(26257), AOM_ICDF(29945), AOM_ICDF(31423),
    3746             :             AOM_ICDF(32768), 0 },
    3747             :           { AOM_ICDF(5120), AOM_ICDF(7604), AOM_ICDF(12617), AOM_ICDF(15628),
    3748             :             AOM_ICDF(18274), AOM_ICDF(20174), AOM_ICDF(21404), AOM_ICDF(22869),
    3749             :             AOM_ICDF(24184), AOM_ICDF(25626), AOM_ICDF(29615), AOM_ICDF(31155),
    3750             :             AOM_ICDF(32768), 0 },
    3751             :           { AOM_ICDF(7424), AOM_ICDF(10295), AOM_ICDF(18459), AOM_ICDF(21302),
    3752             :             AOM_ICDF(23034), AOM_ICDF(26284), AOM_ICDF(27576), AOM_ICDF(29746),
    3753             :             AOM_ICDF(30502), AOM_ICDF(31794), AOM_ICDF(32346), AOM_ICDF(32600),
    3754             :             AOM_ICDF(32768), 0 },
    3755             :           { AOM_ICDF(4224), AOM_ICDF(6789), AOM_ICDF(11254), AOM_ICDF(15589),
    3756             :             AOM_ICDF(18568), AOM_ICDF(19238), AOM_ICDF(19872), AOM_ICDF(20880),
    3757             :             AOM_ICDF(24409), AOM_ICDF(26238), AOM_ICDF(29580), AOM_ICDF(30875),
    3758             :             AOM_ICDF(32768), 0 },
    3759             :           { AOM_ICDF(5120), AOM_ICDF(7388), AOM_ICDF(10164), AOM_ICDF(15886),
    3760             :             AOM_ICDF(16694), AOM_ICDF(17139), AOM_ICDF(18421), AOM_ICDF(19262),
    3761             :             AOM_ICDF(20106), AOM_ICDF(26734), AOM_ICDF(29987), AOM_ICDF(31160),
    3762             :             AOM_ICDF(32768), 0 },
    3763             :           { AOM_ICDF(5760), AOM_ICDF(8292), AOM_ICDF(13837), AOM_ICDF(16201),
    3764             :             AOM_ICDF(17303), AOM_ICDF(18422), AOM_ICDF(20215), AOM_ICDF(23059),
    3765             :             AOM_ICDF(23628), AOM_ICDF(25449), AOM_ICDF(29537), AOM_ICDF(31455),
    3766             :             AOM_ICDF(32768), 0 },
    3767             :           { AOM_ICDF(4224), AOM_ICDF(7235), AOM_ICDF(12521), AOM_ICDF(16798),
    3768             :             AOM_ICDF(17964), AOM_ICDF(18136), AOM_ICDF(18936), AOM_ICDF(20233),
    3769             :             AOM_ICDF(20821), AOM_ICDF(22501), AOM_ICDF(27955), AOM_ICDF(30493),
    3770             :             AOM_ICDF(32768), 0 },
    3771             :           { AOM_ICDF(3840), AOM_ICDF(7117), AOM_ICDF(13329), AOM_ICDF(17383),
    3772             :             AOM_ICDF(18323), AOM_ICDF(18492), AOM_ICDF(19273), AOM_ICDF(20538),
    3773             :             AOM_ICDF(21064), AOM_ICDF(22481), AOM_ICDF(27785), AOM_ICDF(30938),
    3774             :             AOM_ICDF(32768), 0 },
    3775             :           { AOM_ICDF(4736), AOM_ICDF(7474), AOM_ICDF(12414), AOM_ICDF(17230),
    3776             :             AOM_ICDF(18246), AOM_ICDF(18457), AOM_ICDF(19128), AOM_ICDF(20087),
    3777             :             AOM_ICDF(20830), AOM_ICDF(22602), AOM_ICDF(27923), AOM_ICDF(29929),
    3778             :             AOM_ICDF(32768), 0 },
    3779             :           { AOM_ICDF(3584), AOM_ICDF(9626), AOM_ICDF(15412), AOM_ICDF(20788),
    3780             :             AOM_ICDF(21676), AOM_ICDF(22192), AOM_ICDF(23266), AOM_ICDF(24342),
    3781             :             AOM_ICDF(24836), AOM_ICDF(26447), AOM_ICDF(29583), AOM_ICDF(31300),
    3782             :             AOM_ICDF(32768), 0 },
    3783             :       },
    3784             : #else
    3785             :       {
    3786             :           { AOM_ICDF(15488), AOM_ICDF(17513), AOM_ICDF(20731), AOM_ICDF(24586),
    3787             :             AOM_ICDF(25921), AOM_ICDF(26749), AOM_ICDF(27807), AOM_ICDF(28602),
    3788             :             AOM_ICDF(29530), AOM_ICDF(30681), AOM_ICDF(32768), 0 },
    3789             :           { AOM_ICDF(11648), AOM_ICDF(14783), AOM_ICDF(21879), AOM_ICDF(23981),
    3790             :             AOM_ICDF(25213), AOM_ICDF(26218), AOM_ICDF(27472), AOM_ICDF(28465),
    3791             :             AOM_ICDF(29221), AOM_ICDF(30232), AOM_ICDF(32768), 0 },
    3792             :           { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(13392), AOM_ICDF(25167),
    3793             :             AOM_ICDF(26295), AOM_ICDF(26789), AOM_ICDF(27536), AOM_ICDF(28088),
    3794             :             AOM_ICDF(29039), AOM_ICDF(30700), AOM_ICDF(32768), 0 },
    3795             :           { AOM_ICDF(13568), AOM_ICDF(15293), AOM_ICDF(18706), AOM_ICDF(21610),
    3796             :             AOM_ICDF(23139), AOM_ICDF(24254), AOM_ICDF(26383), AOM_ICDF(27630),
    3797             :             AOM_ICDF(28613), AOM_ICDF(30350), AOM_ICDF(32768), 0 },
    3798             :           { AOM_ICDF(9600), AOM_ICDF(11772), AOM_ICDF(14397), AOM_ICDF(16580),
    3799             :             AOM_ICDF(20091), AOM_ICDF(22865), AOM_ICDF(24490), AOM_ICDF(25395),
    3800             :             AOM_ICDF(27037), AOM_ICDF(28694), AOM_ICDF(32768), 0 },
    3801             :           { AOM_ICDF(12160), AOM_ICDF(14092), AOM_ICDF(17010), AOM_ICDF(18922),
    3802             :             AOM_ICDF(22683), AOM_ICDF(25751), AOM_ICDF(27725), AOM_ICDF(30109),
    3803             :             AOM_ICDF(31449), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
    3804             :           { AOM_ICDF(9088), AOM_ICDF(10383), AOM_ICDF(12569), AOM_ICDF(17113),
    3805             :             AOM_ICDF(21351), AOM_ICDF(22511), AOM_ICDF(23633), AOM_ICDF(24382),
    3806             :             AOM_ICDF(28215), AOM_ICDF(29798), AOM_ICDF(32768), 0 },
    3807             :           { AOM_ICDF(10880), AOM_ICDF(12248), AOM_ICDF(15214), AOM_ICDF(20017),
    3808             :             AOM_ICDF(21922), AOM_ICDF(22757), AOM_ICDF(24360), AOM_ICDF(25280),
    3809             :             AOM_ICDF(26684), AOM_ICDF(29869), AOM_ICDF(32768), 0 },
    3810             :           { AOM_ICDF(11008), AOM_ICDF(13133), AOM_ICDF(15587), AOM_ICDF(17872),
    3811             :             AOM_ICDF(19579), AOM_ICDF(21157), AOM_ICDF(23788), AOM_ICDF(26629),
    3812             :             AOM_ICDF(27732), AOM_ICDF(29601), AOM_ICDF(32768), 0 },
    3813             :           { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15360), AOM_ICDF(18348),
    3814             :             AOM_ICDF(20452), AOM_ICDF(20460), AOM_ICDF(21902), AOM_ICDF(23982),
    3815             :             AOM_ICDF(25149), AOM_ICDF(26667), AOM_ICDF(32768), 0 },
    3816             :           { AOM_ICDF(8704), AOM_ICDF(14250), AOM_ICDF(17722), AOM_ICDF(23128),
    3817             :             AOM_ICDF(24217), AOM_ICDF(24892), AOM_ICDF(26215), AOM_ICDF(27392),
    3818             :             AOM_ICDF(28358), AOM_ICDF(30287), AOM_ICDF(32768), 0 },
    3819             :       },
    3820             :       {
    3821             :           { AOM_ICDF(8448), AOM_ICDF(10443), AOM_ICDF(20733), AOM_ICDF(23689),
    3822             :             AOM_ICDF(24634), AOM_ICDF(25951), AOM_ICDF(26670), AOM_ICDF(27861),
    3823             :             AOM_ICDF(28379), AOM_ICDF(29305), AOM_ICDF(32768), 0 },
    3824             :           { AOM_ICDF(6656), AOM_ICDF(9206), AOM_ICDF(24577), AOM_ICDF(25792),
    3825             :             AOM_ICDF(26335), AOM_ICDF(27169), AOM_ICDF(27913), AOM_ICDF(28956),
    3826             :             AOM_ICDF(29239), AOM_ICDF(29680), AOM_ICDF(32768), 0 },
    3827             :           { AOM_ICDF(7168), AOM_ICDF(8968), AOM_ICDF(15662), AOM_ICDF(22937),
    3828             :             AOM_ICDF(23849), AOM_ICDF(24616), AOM_ICDF(25603), AOM_ICDF(26555),
    3829             :             AOM_ICDF(27210), AOM_ICDF(29142), AOM_ICDF(32768), 0 },
    3830             :           { AOM_ICDF(9600), AOM_ICDF(11501), AOM_ICDF(19310), AOM_ICDF(21731),
    3831             :             AOM_ICDF(22790), AOM_ICDF(23936), AOM_ICDF(25627), AOM_ICDF(27217),
    3832             :             AOM_ICDF(27868), AOM_ICDF(29170), AOM_ICDF(32768), 0 },
    3833             :           { AOM_ICDF(6912), AOM_ICDF(8730), AOM_ICDF(17650), AOM_ICDF(19377),
    3834             :             AOM_ICDF(21025), AOM_ICDF(23319), AOM_ICDF(24537), AOM_ICDF(26112),
    3835             :             AOM_ICDF(26840), AOM_ICDF(28345), AOM_ICDF(32768), 0 },
    3836             :           { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(20583), AOM_ICDF(21996),
    3837             :             AOM_ICDF(23898), AOM_ICDF(26818), AOM_ICDF(28120), AOM_ICDF(30716),
    3838             :             AOM_ICDF(31678), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
    3839             :           { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(15619), AOM_ICDF(18584),
    3840             :             AOM_ICDF(20844), AOM_ICDF(22519), AOM_ICDF(23760), AOM_ICDF(25203),
    3841             :             AOM_ICDF(27094), AOM_ICDF(28801), AOM_ICDF(32768), 0 },
    3842             :           { AOM_ICDF(8832), AOM_ICDF(10141), AOM_ICDF(17035), AOM_ICDF(20764),
    3843             :             AOM_ICDF(21703), AOM_ICDF(22751), AOM_ICDF(23964), AOM_ICDF(25305),
    3844             :             AOM_ICDF(26034), AOM_ICDF(29006), AOM_ICDF(32768), 0 },
    3845             :           { AOM_ICDF(8192), AOM_ICDF(9920), AOM_ICDF(19113), AOM_ICDF(20594),
    3846             :             AOM_ICDF(21747), AOM_ICDF(23327), AOM_ICDF(24581), AOM_ICDF(26916),
    3847             :             AOM_ICDF(27533), AOM_ICDF(28944), AOM_ICDF(32768), 0 },
    3848             :           { AOM_ICDF(6656), AOM_ICDF(8696), AOM_ICDF(18381), AOM_ICDF(20537),
    3849             :             AOM_ICDF(21804), AOM_ICDF(21809), AOM_ICDF(22751), AOM_ICDF(24394),
    3850             :             AOM_ICDF(24917), AOM_ICDF(25990), AOM_ICDF(32768), 0 },
    3851             :           { AOM_ICDF(6400), AOM_ICDF(9593), AOM_ICDF(20818), AOM_ICDF(23519),
    3852             :             AOM_ICDF(24266), AOM_ICDF(25113), AOM_ICDF(26608), AOM_ICDF(27883),
    3853             :             AOM_ICDF(28322), AOM_ICDF(29364), AOM_ICDF(32768), 0 },
    3854             :       },
    3855             :       {
    3856             :           { AOM_ICDF(12032), AOM_ICDF(14381), AOM_ICDF(16608), AOM_ICDF(24946),
    3857             :             AOM_ICDF(26084), AOM_ICDF(26582), AOM_ICDF(27428), AOM_ICDF(28075),
    3858             :             AOM_ICDF(29395), AOM_ICDF(30858), AOM_ICDF(32768), 0 },
    3859             :           { AOM_ICDF(9216), AOM_ICDF(12620), AOM_ICDF(18287), AOM_ICDF(24345),
    3860             :             AOM_ICDF(25984), AOM_ICDF(26715), AOM_ICDF(27732), AOM_ICDF(28519),
    3861             :             AOM_ICDF(29399), AOM_ICDF(30781), AOM_ICDF(32768), 0 },
    3862             :           { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(10220), AOM_ICDF(26539),
    3863             :             AOM_ICDF(27310), AOM_ICDF(27483), AOM_ICDF(28082), AOM_ICDF(28430),
    3864             :             AOM_ICDF(29362), AOM_ICDF(31291), AOM_ICDF(32768), 0 },
    3865             :           { AOM_ICDF(11904), AOM_ICDF(14838), AOM_ICDF(17359), AOM_ICDF(21663),
    3866             :             AOM_ICDF(22931), AOM_ICDF(23619), AOM_ICDF(25620), AOM_ICDF(26653),
    3867             :             AOM_ICDF(27823), AOM_ICDF(30547), AOM_ICDF(32768), 0 },
    3868             :           { AOM_ICDF(10752), AOM_ICDF(13504), AOM_ICDF(15536), AOM_ICDF(19057),
    3869             :             AOM_ICDF(21753), AOM_ICDF(23883), AOM_ICDF(25202), AOM_ICDF(26266),
    3870             :             AOM_ICDF(28196), AOM_ICDF(30589), AOM_ICDF(32768), 0 },
    3871             :           { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(16787), AOM_ICDF(21011),
    3872             :             AOM_ICDF(23929), AOM_ICDF(25651), AOM_ICDF(27958), AOM_ICDF(29330),
    3873             :             AOM_ICDF(31022), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
    3874             :           { AOM_ICDF(8448), AOM_ICDF(9968), AOM_ICDF(11749), AOM_ICDF(18062),
    3875             :             AOM_ICDF(21841), AOM_ICDF(22669), AOM_ICDF(23852), AOM_ICDF(24444),
    3876             :             AOM_ICDF(28118), AOM_ICDF(30007), AOM_ICDF(32768), 0 },
    3877             :           { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(12602), AOM_ICDF(20819),
    3878             :             AOM_ICDF(22194), AOM_ICDF(22764), AOM_ICDF(24366), AOM_ICDF(25022),
    3879             :             AOM_ICDF(26414), AOM_ICDF(30460), AOM_ICDF(32768), 0 },
    3880             :           { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(14357), AOM_ICDF(18346),
    3881             :             AOM_ICDF(20486), AOM_ICDF(21549), AOM_ICDF(23170), AOM_ICDF(25794),
    3882             :             AOM_ICDF(27129), AOM_ICDF(29574), AOM_ICDF(32768), 0 },
    3883             :           { AOM_ICDF(7808), AOM_ICDF(10733), AOM_ICDF(13057), AOM_ICDF(20252),
    3884             :             AOM_ICDF(21906), AOM_ICDF(21912), AOM_ICDF(23057), AOM_ICDF(24233),
    3885             :             AOM_ICDF(25700), AOM_ICDF(27439), AOM_ICDF(32768), 0 },
    3886             :           { AOM_ICDF(6784), AOM_ICDF(11352), AOM_ICDF(13778), AOM_ICDF(23877),
    3887             :             AOM_ICDF(24995), AOM_ICDF(25424), AOM_ICDF(26830), AOM_ICDF(27688),
    3888             :             AOM_ICDF(28779), AOM_ICDF(30368), AOM_ICDF(32768), 0 },
    3889             :       },
    3890             :       {
    3891             :           { AOM_ICDF(12288), AOM_ICDF(13728), AOM_ICDF(16480), AOM_ICDF(19841),
    3892             :             AOM_ICDF(21570), AOM_ICDF(22715), AOM_ICDF(25385), AOM_ICDF(27000),
    3893             :             AOM_ICDF(28329), AOM_ICDF(29994), AOM_ICDF(32768), 0 },
    3894             :           { AOM_ICDF(9344), AOM_ICDF(10991), AOM_ICDF(18817), AOM_ICDF(20972),
    3895             :             AOM_ICDF(22137), AOM_ICDF(23231), AOM_ICDF(26025), AOM_ICDF(27711),
    3896             :             AOM_ICDF(28244), AOM_ICDF(29428), AOM_ICDF(32768), 0 },
    3897             :           { AOM_ICDF(9344), AOM_ICDF(10900), AOM_ICDF(13206), AOM_ICDF(21344),
    3898             :             AOM_ICDF(22332), AOM_ICDF(22987), AOM_ICDF(25127), AOM_ICDF(26440),
    3899             :             AOM_ICDF(27231), AOM_ICDF(29502), AOM_ICDF(32768), 0 },
    3900             :           { AOM_ICDF(12928), AOM_ICDF(14478), AOM_ICDF(15978), AOM_ICDF(18630),
    3901             :             AOM_ICDF(19852), AOM_ICDF(20897), AOM_ICDF(24699), AOM_ICDF(26464),
    3902             :             AOM_ICDF(27030), AOM_ICDF(30482), AOM_ICDF(32768), 0 },
    3903             :           { AOM_ICDF(9088), AOM_ICDF(10476), AOM_ICDF(13350), AOM_ICDF(15237),
    3904             :             AOM_ICDF(18175), AOM_ICDF(20252), AOM_ICDF(23283), AOM_ICDF(25321),
    3905             :             AOM_ICDF(26426), AOM_ICDF(29349), AOM_ICDF(32768), 0 },
    3906             :           { AOM_ICDF(10240), AOM_ICDF(11912), AOM_ICDF(15008), AOM_ICDF(17177),
    3907             :             AOM_ICDF(19979), AOM_ICDF(23056), AOM_ICDF(26395), AOM_ICDF(29681),
    3908             :             AOM_ICDF(30790), AOM_ICDF(32760), AOM_ICDF(32768), 0 },
    3909             :           { AOM_ICDF(8704), AOM_ICDF(9738), AOM_ICDF(11717), AOM_ICDF(15480),
    3910             :             AOM_ICDF(18656), AOM_ICDF(20022), AOM_ICDF(22611), AOM_ICDF(24357),
    3911             :             AOM_ICDF(27150), AOM_ICDF(29257), AOM_ICDF(32768), 0 },
    3912             :           { AOM_ICDF(12928), AOM_ICDF(13548), AOM_ICDF(17978), AOM_ICDF(20602),
    3913             :             AOM_ICDF(21814), AOM_ICDF(22427), AOM_ICDF(24568), AOM_ICDF(25881),
    3914             :             AOM_ICDF(26823), AOM_ICDF(30817), AOM_ICDF(32768), 0 },
    3915             :           { AOM_ICDF(10496), AOM_ICDF(12149), AOM_ICDF(14082), AOM_ICDF(18054),
    3916             :             AOM_ICDF(19032), AOM_ICDF(19994), AOM_ICDF(24086), AOM_ICDF(28427),
    3917             :             AOM_ICDF(29156), AOM_ICDF(30680), AOM_ICDF(32768), 0 },
    3918             :           { AOM_ICDF(8448), AOM_ICDF(10158), AOM_ICDF(13867), AOM_ICDF(16506),
    3919             :             AOM_ICDF(18584), AOM_ICDF(18592), AOM_ICDF(21472), AOM_ICDF(23767),
    3920             :             AOM_ICDF(24646), AOM_ICDF(27279), AOM_ICDF(32768), 0 },
    3921             :           { AOM_ICDF(7296), AOM_ICDF(9684), AOM_ICDF(13471), AOM_ICDF(17701),
    3922             :             AOM_ICDF(18934), AOM_ICDF(19878), AOM_ICDF(25115), AOM_ICDF(27238),
    3923             :             AOM_ICDF(27972), AOM_ICDF(29583), AOM_ICDF(32768), 0 },
    3924             :       },
    3925             :       {
    3926             :           { AOM_ICDF(10880), AOM_ICDF(12163), AOM_ICDF(14497), AOM_ICDF(17112),
    3927             :             AOM_ICDF(20859), AOM_ICDF(22562), AOM_ICDF(23599), AOM_ICDF(24638),
    3928             :             AOM_ICDF(26861), AOM_ICDF(29399), AOM_ICDF(32768), 0 },
    3929             :           { AOM_ICDF(9984), AOM_ICDF(12476), AOM_ICDF(16360), AOM_ICDF(18889),
    3930             :             AOM_ICDF(21414), AOM_ICDF(23474), AOM_ICDF(24563), AOM_ICDF(25909),
    3931             :             AOM_ICDF(27195), AOM_ICDF(28828), AOM_ICDF(32768), 0 },
    3932             :           { AOM_ICDF(7168), AOM_ICDF(9268), AOM_ICDF(10737), AOM_ICDF(20063),
    3933             :             AOM_ICDF(22315), AOM_ICDF(23302), AOM_ICDF(24152), AOM_ICDF(25195),
    3934             :             AOM_ICDF(26645), AOM_ICDF(28845), AOM_ICDF(32768), 0 },
    3935             :           { AOM_ICDF(8960), AOM_ICDF(10727), AOM_ICDF(12449), AOM_ICDF(14263),
    3936             :             AOM_ICDF(16523), AOM_ICDF(17608), AOM_ICDF(23352), AOM_ICDF(24676),
    3937             :             AOM_ICDF(26478), AOM_ICDF(28886), AOM_ICDF(32768), 0 },
    3938             :           { AOM_ICDF(9856), AOM_ICDF(11109), AOM_ICDF(13309), AOM_ICDF(14975),
    3939             :             AOM_ICDF(19055), AOM_ICDF(21670), AOM_ICDF(23144), AOM_ICDF(24460),
    3940             :             AOM_ICDF(26212), AOM_ICDF(28107), AOM_ICDF(32768), 0 },
    3941             :           { AOM_ICDF(9984), AOM_ICDF(11586), AOM_ICDF(14565), AOM_ICDF(16562),
    3942             :             AOM_ICDF(21107), AOM_ICDF(25444), AOM_ICDF(27218), AOM_ICDF(29429),
    3943             :             AOM_ICDF(31451), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
    3944             :           { AOM_ICDF(7168), AOM_ICDF(8268), AOM_ICDF(9704), AOM_ICDF(13144),
    3945             :             AOM_ICDF(18443), AOM_ICDF(20065), AOM_ICDF(21653), AOM_ICDF(23607),
    3946             :             AOM_ICDF(26506), AOM_ICDF(28854), AOM_ICDF(32768), 0 },
    3947             :           { AOM_ICDF(11520), AOM_ICDF(13014), AOM_ICDF(14866), AOM_ICDF(18136),
    3948             :             AOM_ICDF(20231), AOM_ICDF(21509), AOM_ICDF(23004), AOM_ICDF(24186),
    3949             :             AOM_ICDF(25728), AOM_ICDF(29468), AOM_ICDF(32768), 0 },
    3950             :           { AOM_ICDF(10240), AOM_ICDF(12264), AOM_ICDF(14507), AOM_ICDF(16388),
    3951             :             AOM_ICDF(18888), AOM_ICDF(20927), AOM_ICDF(22731), AOM_ICDF(24691),
    3952             :             AOM_ICDF(26142), AOM_ICDF(28394), AOM_ICDF(32768), 0 },
    3953             :           { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(12921), AOM_ICDF(15952),
    3954             :             AOM_ICDF(19960), AOM_ICDF(19976), AOM_ICDF(21275), AOM_ICDF(23205),
    3955             :             AOM_ICDF(25110), AOM_ICDF(26636), AOM_ICDF(32768), 0 },
    3956             :           { AOM_ICDF(8448), AOM_ICDF(11488), AOM_ICDF(14065), AOM_ICDF(19113),
    3957             :             AOM_ICDF(21604), AOM_ICDF(22978), AOM_ICDF(24508), AOM_ICDF(25895),
    3958             :             AOM_ICDF(27398), AOM_ICDF(29055), AOM_ICDF(32768), 0 },
    3959             :       },
    3960             :       {
    3961             :           { AOM_ICDF(10368), AOM_ICDF(11768), AOM_ICDF(16772), AOM_ICDF(19842),
    3962             :             AOM_ICDF(22940), AOM_ICDF(27394), AOM_ICDF(28528), AOM_ICDF(30267),
    3963             :             AOM_ICDF(31371), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
    3964             :           { AOM_ICDF(9472), AOM_ICDF(11292), AOM_ICDF(18507), AOM_ICDF(20777),
    3965             :             AOM_ICDF(23357), AOM_ICDF(27587), AOM_ICDF(28902), AOM_ICDF(30850),
    3966             :             AOM_ICDF(31607), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
    3967             :           { AOM_ICDF(8064), AOM_ICDF(9512), AOM_ICDF(13782), AOM_ICDF(20645),
    3968             :             AOM_ICDF(24493), AOM_ICDF(26242), AOM_ICDF(28001), AOM_ICDF(29435),
    3969             :             AOM_ICDF(30438), AOM_ICDF(32759), AOM_ICDF(32768), 0 },
    3970             :           { AOM_ICDF(8960), AOM_ICDF(10541), AOM_ICDF(15664), AOM_ICDF(17639),
    3971             :             AOM_ICDF(19646), AOM_ICDF(22145), AOM_ICDF(25216), AOM_ICDF(28815),
    3972             :             AOM_ICDF(30050), AOM_ICDF(32757), AOM_ICDF(32768), 0 },
    3973             :           { AOM_ICDF(9984), AOM_ICDF(11141), AOM_ICDF(15365), AOM_ICDF(16746),
    3974             :             AOM_ICDF(21186), AOM_ICDF(25766), AOM_ICDF(27817), AOM_ICDF(30022),
    3975             :             AOM_ICDF(31309), AOM_ICDF(32762), AOM_ICDF(32768), 0 },
    3976             :           { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(16639), AOM_ICDF(17735),
    3977             :             AOM_ICDF(21499), AOM_ICDF(26657), AOM_ICDF(28161), AOM_ICDF(30572),
    3978             :             AOM_ICDF(31490), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
    3979             :           { AOM_ICDF(8448), AOM_ICDF(9303), AOM_ICDF(13611), AOM_ICDF(16636),
    3980             :             AOM_ICDF(20555), AOM_ICDF(23414), AOM_ICDF(24912), AOM_ICDF(27613),
    3981             :             AOM_ICDF(29727), AOM_ICDF(32756), AOM_ICDF(32768), 0 },
    3982             :           { AOM_ICDF(9984), AOM_ICDF(11052), AOM_ICDF(16142), AOM_ICDF(19312),
    3983             :             AOM_ICDF(21680), AOM_ICDF(23870), AOM_ICDF(25504), AOM_ICDF(28200),
    3984             :             AOM_ICDF(29324), AOM_ICDF(32755), AOM_ICDF(32768), 0 },
    3985             :           { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(16955), AOM_ICDF(18839),
    3986             :             AOM_ICDF(21144), AOM_ICDF(24861), AOM_ICDF(26838), AOM_ICDF(29988),
    3987             :             AOM_ICDF(30976), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
    3988             :           { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
    3989             :             AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
    3990             :             AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
    3991             :           { AOM_ICDF(7424), AOM_ICDF(10097), AOM_ICDF(15588), AOM_ICDF(20217),
    3992             :             AOM_ICDF(23899), AOM_ICDF(26460), AOM_ICDF(28308), AOM_ICDF(30155),
    3993             :             AOM_ICDF(30951), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
    3994             :       },
    3995             :       {
    3996             :           { AOM_ICDF(11648), AOM_ICDF(13133), AOM_ICDF(15050), AOM_ICDF(20481),
    3997             :             AOM_ICDF(22470), AOM_ICDF(23425), AOM_ICDF(24337), AOM_ICDF(25160),
    3998             :             AOM_ICDF(28964), AOM_ICDF(30480), AOM_ICDF(32768), 0 },
    3999             :           { AOM_ICDF(10240), AOM_ICDF(12616), AOM_ICDF(16631), AOM_ICDF(20485),
    4000             :             AOM_ICDF(22290), AOM_ICDF(23628), AOM_ICDF(25235), AOM_ICDF(26353),
    4001             :             AOM_ICDF(28107), AOM_ICDF(29655), AOM_ICDF(32768), 0 },
    4002             :           { AOM_ICDF(6784), AOM_ICDF(8002), AOM_ICDF(9066), AOM_ICDF(20038),
    4003             :             AOM_ICDF(22926), AOM_ICDF(23324), AOM_ICDF(23951), AOM_ICDF(24537),
    4004             :             AOM_ICDF(26916), AOM_ICDF(30231), AOM_ICDF(32768), 0 },
    4005             :           { AOM_ICDF(11904), AOM_ICDF(14105), AOM_ICDF(15782), AOM_ICDF(19896),
    4006             :             AOM_ICDF(22283), AOM_ICDF(23147), AOM_ICDF(24763), AOM_ICDF(25983),
    4007             :             AOM_ICDF(27812), AOM_ICDF(29980), AOM_ICDF(32768), 0 },
    4008             :           { AOM_ICDF(10624), AOM_ICDF(11922), AOM_ICDF(13632), AOM_ICDF(15941),
    4009             :             AOM_ICDF(20469), AOM_ICDF(22453), AOM_ICDF(24065), AOM_ICDF(25187),
    4010             :             AOM_ICDF(27349), AOM_ICDF(29296), AOM_ICDF(32768), 0 },
    4011             :           { AOM_ICDF(12032), AOM_ICDF(13085), AOM_ICDF(15468), AOM_ICDF(17768),
    4012             :             AOM_ICDF(20613), AOM_ICDF(24388), AOM_ICDF(26385), AOM_ICDF(28430),
    4013             :             AOM_ICDF(30938), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
    4014             :           { AOM_ICDF(9728), AOM_ICDF(10538), AOM_ICDF(11493), AOM_ICDF(14765),
    4015             :             AOM_ICDF(18460), AOM_ICDF(19471), AOM_ICDF(20302), AOM_ICDF(20935),
    4016             :             AOM_ICDF(28192), AOM_ICDF(29926), AOM_ICDF(32768), 0 },
    4017             :           { AOM_ICDF(8960), AOM_ICDF(9890), AOM_ICDF(10962), AOM_ICDF(16685),
    4018             :             AOM_ICDF(18880), AOM_ICDF(19480), AOM_ICDF(20674), AOM_ICDF(21477),
    4019             :             AOM_ICDF(23815), AOM_ICDF(29341), AOM_ICDF(32768), 0 },
    4020             :           { AOM_ICDF(14592), AOM_ICDF(16367), AOM_ICDF(17712), AOM_ICDF(20293),
    4021             :             AOM_ICDF(22544), AOM_ICDF(23829), AOM_ICDF(24877), AOM_ICDF(26326),
    4022             :             AOM_ICDF(27660), AOM_ICDF(29875), AOM_ICDF(32768), 0 },
    4023             :           { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12279), AOM_ICDF(16206),
    4024             :             AOM_ICDF(18672), AOM_ICDF(18682), AOM_ICDF(20058), AOM_ICDF(21547),
    4025             :             AOM_ICDF(25097), AOM_ICDF(27165), AOM_ICDF(32768), 0 },
    4026             :           { AOM_ICDF(11136), AOM_ICDF(13840), AOM_ICDF(15762), AOM_ICDF(21710),
    4027             :             AOM_ICDF(23038), AOM_ICDF(23734), AOM_ICDF(24863), AOM_ICDF(25882),
    4028             :             AOM_ICDF(27765), AOM_ICDF(30071), AOM_ICDF(32768), 0 },
    4029             :       },
    4030             :       {
    4031             :           { AOM_ICDF(12544), AOM_ICDF(14124), AOM_ICDF(16964), AOM_ICDF(21907),
    4032             :             AOM_ICDF(23808), AOM_ICDF(24496), AOM_ICDF(25724), AOM_ICDF(26715),
    4033             :             AOM_ICDF(27992), AOM_ICDF(30455), AOM_ICDF(32768), 0 },
    4034             :           { AOM_ICDF(10368), AOM_ICDF(13606), AOM_ICDF(18247), AOM_ICDF(20869),
    4035             :             AOM_ICDF(22590), AOM_ICDF(23749), AOM_ICDF(25088), AOM_ICDF(26378),
    4036             :             AOM_ICDF(27277), AOM_ICDF(29808), AOM_ICDF(32768), 0 },
    4037             :           { AOM_ICDF(9088), AOM_ICDF(11031), AOM_ICDF(12899), AOM_ICDF(23497),
    4038             :             AOM_ICDF(24465), AOM_ICDF(24851), AOM_ICDF(25995), AOM_ICDF(26815),
    4039             :             AOM_ICDF(27885), AOM_ICDF(30555), AOM_ICDF(32768), 0 },
    4040             :           { AOM_ICDF(11520), AOM_ICDF(14342), AOM_ICDF(15710), AOM_ICDF(19196),
    4041             :             AOM_ICDF(21250), AOM_ICDF(21907), AOM_ICDF(24665), AOM_ICDF(26153),
    4042             :             AOM_ICDF(27212), AOM_ICDF(30750), AOM_ICDF(32768), 0 },
    4043             :           { AOM_ICDF(9984), AOM_ICDF(11764), AOM_ICDF(13979), AOM_ICDF(16405),
    4044             :             AOM_ICDF(19279), AOM_ICDF(20658), AOM_ICDF(23354), AOM_ICDF(25266),
    4045             :             AOM_ICDF(26702), AOM_ICDF(29380), AOM_ICDF(32768), 0 },
    4046             :           { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15918), AOM_ICDF(19060),
    4047             :             AOM_ICDF(21829), AOM_ICDF(23882), AOM_ICDF(26277), AOM_ICDF(27697),
    4048             :             AOM_ICDF(30114), AOM_ICDF(32758), AOM_ICDF(32768), 0 },
    4049             :           { AOM_ICDF(9344), AOM_ICDF(10534), AOM_ICDF(12184), AOM_ICDF(16208),
    4050             :             AOM_ICDF(19764), AOM_ICDF(20627), AOM_ICDF(22524), AOM_ICDF(23644),
    4051             :             AOM_ICDF(26887), AOM_ICDF(29782), AOM_ICDF(32768), 0 },
    4052             :           { AOM_ICDF(12928), AOM_ICDF(14013), AOM_ICDF(15625), AOM_ICDF(19107),
    4053             :             AOM_ICDF(20654), AOM_ICDF(21451), AOM_ICDF(22910), AOM_ICDF(23873),
    4054             :             AOM_ICDF(24776), AOM_ICDF(30239), AOM_ICDF(32768), 0 },
    4055             :           { AOM_ICDF(10368), AOM_ICDF(12818), AOM_ICDF(14610), AOM_ICDF(17350),
    4056             :             AOM_ICDF(19568), AOM_ICDF(20710), AOM_ICDF(22971), AOM_ICDF(25114),
    4057             :             AOM_ICDF(26340), AOM_ICDF(29127), AOM_ICDF(32768), 0 },
    4058             :           { AOM_ICDF(8960), AOM_ICDF(11192), AOM_ICDF(13720), AOM_ICDF(18429),
    4059             :             AOM_ICDF(20409), AOM_ICDF(20417), AOM_ICDF(22250), AOM_ICDF(23318),
    4060             :             AOM_ICDF(24647), AOM_ICDF(27248), AOM_ICDF(32768), 0 },
    4061             :           { AOM_ICDF(7808), AOM_ICDF(11416), AOM_ICDF(13918), AOM_ICDF(19028),
    4062             :             AOM_ICDF(20181), AOM_ICDF(20839), AOM_ICDF(24380), AOM_ICDF(26018),
    4063             :             AOM_ICDF(26967), AOM_ICDF(29845), AOM_ICDF(32768), 0 },
    4064             :       },
    4065             :       {
    4066             :           { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(14928), AOM_ICDF(18159),
    4067             :             AOM_ICDF(19421), AOM_ICDF(20921), AOM_ICDF(23466), AOM_ICDF(26664),
    4068             :             AOM_ICDF(27475), AOM_ICDF(28881), AOM_ICDF(32768), 0 },
    4069             :           { AOM_ICDF(8704), AOM_ICDF(10302), AOM_ICDF(17323), AOM_ICDF(18907),
    4070             :             AOM_ICDF(19868), AOM_ICDF(21184), AOM_ICDF(24171), AOM_ICDF(28033),
    4071             :             AOM_ICDF(28625), AOM_ICDF(29353), AOM_ICDF(32768), 0 },
    4072             :           { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(12604), AOM_ICDF(20616),
    4073             :             AOM_ICDF(21514), AOM_ICDF(22371), AOM_ICDF(24239), AOM_ICDF(26138),
    4074             :             AOM_ICDF(26863), AOM_ICDF(29239), AOM_ICDF(32768), 0 },
    4075             :           { AOM_ICDF(11264), AOM_ICDF(12524), AOM_ICDF(16083), AOM_ICDF(18574),
    4076             :             AOM_ICDF(19858), AOM_ICDF(20841), AOM_ICDF(24242), AOM_ICDF(27606),
    4077             :             AOM_ICDF(28352), AOM_ICDF(29853), AOM_ICDF(32768), 0 },
    4078             :           { AOM_ICDF(8704), AOM_ICDF(10208), AOM_ICDF(13292), AOM_ICDF(15170),
    4079             :             AOM_ICDF(17277), AOM_ICDF(19226), AOM_ICDF(22083), AOM_ICDF(25046),
    4080             :             AOM_ICDF(26041), AOM_ICDF(27802), AOM_ICDF(32768), 0 },
    4081             :           { AOM_ICDF(9088), AOM_ICDF(10568), AOM_ICDF(15511), AOM_ICDF(17246),
    4082             :             AOM_ICDF(20170), AOM_ICDF(22791), AOM_ICDF(25558), AOM_ICDF(30740),
    4083             :             AOM_ICDF(31635), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
    4084             :           { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(10653), AOM_ICDF(13145),
    4085             :             AOM_ICDF(15286), AOM_ICDF(16614), AOM_ICDF(19075), AOM_ICDF(23140),
    4086             :             AOM_ICDF(26224), AOM_ICDF(28652), AOM_ICDF(32768), 0 },
    4087             :           { AOM_ICDF(10240), AOM_ICDF(11032), AOM_ICDF(14258), AOM_ICDF(17629),
    4088             :             AOM_ICDF(18914), AOM_ICDF(19898), AOM_ICDF(22412), AOM_ICDF(24961),
    4089             :             AOM_ICDF(25815), AOM_ICDF(29156), AOM_ICDF(32768), 0 },
    4090             :           { AOM_ICDF(11008), AOM_ICDF(12028), AOM_ICDF(14702), AOM_ICDF(16147),
    4091             :             AOM_ICDF(17209), AOM_ICDF(18160), AOM_ICDF(21812), AOM_ICDF(27547),
    4092             :             AOM_ICDF(28709), AOM_ICDF(30120), AOM_ICDF(32768), 0 },
    4093             :           { AOM_ICDF(7168), AOM_ICDF(9068), AOM_ICDF(14160), AOM_ICDF(16937),
    4094             :             AOM_ICDF(18515), AOM_ICDF(18521), AOM_ICDF(20636), AOM_ICDF(24617),
    4095             :             AOM_ICDF(25317), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
    4096             :           { AOM_ICDF(6784), AOM_ICDF(8510), AOM_ICDF(14195), AOM_ICDF(17148),
    4097             :             AOM_ICDF(18158), AOM_ICDF(19201), AOM_ICDF(23070), AOM_ICDF(27351),
    4098             :             AOM_ICDF(27901), AOM_ICDF(29422), AOM_ICDF(32768), 0 },
    4099             :       },
    4100             :       {
    4101             :           { AOM_ICDF(10112), AOM_ICDF(11528), AOM_ICDF(15345), AOM_ICDF(19296),
    4102             :             AOM_ICDF(21394), AOM_ICDF(21402), AOM_ICDF(22379), AOM_ICDF(23840),
    4103             :             AOM_ICDF(24851), AOM_ICDF(26150), AOM_ICDF(32768), 0 },
    4104             :           { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(17949), AOM_ICDF(20052),
    4105             :             AOM_ICDF(22051), AOM_ICDF(22059), AOM_ICDF(23147), AOM_ICDF(24688),
    4106             :             AOM_ICDF(25351), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
    4107             :           { AOM_ICDF(6528), AOM_ICDF(8373), AOM_ICDF(11041), AOM_ICDF(21963),
    4108             :             AOM_ICDF(23089), AOM_ICDF(23093), AOM_ICDF(24076), AOM_ICDF(24925),
    4109             :             AOM_ICDF(25691), AOM_ICDF(27764), AOM_ICDF(32768), 0 },
    4110             :           { AOM_ICDF(9600), AOM_ICDF(11229), AOM_ICDF(14847), AOM_ICDF(17527),
    4111             :             AOM_ICDF(19738), AOM_ICDF(19747), AOM_ICDF(21629), AOM_ICDF(23761),
    4112             :             AOM_ICDF(24957), AOM_ICDF(27673), AOM_ICDF(32768), 0 },
    4113             :           { AOM_ICDF(8960), AOM_ICDF(10262), AOM_ICDF(13339), AOM_ICDF(15480),
    4114             :             AOM_ICDF(19925), AOM_ICDF(19942), AOM_ICDF(21445), AOM_ICDF(23037),
    4115             :             AOM_ICDF(24329), AOM_ICDF(25977), AOM_ICDF(32768), 0 },
    4116             :           { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
    4117             :             AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
    4118             :             AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
    4119             :           { AOM_ICDF(9472), AOM_ICDF(10564), AOM_ICDF(13426), AOM_ICDF(16561),
    4120             :             AOM_ICDF(19685), AOM_ICDF(19697), AOM_ICDF(21076), AOM_ICDF(22583),
    4121             :             AOM_ICDF(24891), AOM_ICDF(26983), AOM_ICDF(32768), 0 },
    4122             :           { AOM_ICDF(8448), AOM_ICDF(9493), AOM_ICDF(12221), AOM_ICDF(16542),
    4123             :             AOM_ICDF(18394), AOM_ICDF(18401), AOM_ICDF(19580), AOM_ICDF(20971),
    4124             :             AOM_ICDF(22031), AOM_ICDF(26770), AOM_ICDF(32768), 0 },
    4125             :           { AOM_ICDF(8704), AOM_ICDF(10772), AOM_ICDF(14209), AOM_ICDF(16381),
    4126             :             AOM_ICDF(18911), AOM_ICDF(18921), AOM_ICDF(20436), AOM_ICDF(23374),
    4127             :             AOM_ICDF(24475), AOM_ICDF(26095), AOM_ICDF(32768), 0 },
    4128             :           { AOM_ICDF(7680), AOM_ICDF(9444), AOM_ICDF(13453), AOM_ICDF(16320),
    4129             :             AOM_ICDF(18650), AOM_ICDF(18659), AOM_ICDF(19651), AOM_ICDF(21291),
    4130             :             AOM_ICDF(22277), AOM_ICDF(23916), AOM_ICDF(32768), 0 },
    4131             :           { AOM_ICDF(6656), AOM_ICDF(9920), AOM_ICDF(14740), AOM_ICDF(19864),
    4132             :             AOM_ICDF(21495), AOM_ICDF(21501), AOM_ICDF(22953), AOM_ICDF(24372),
    4133             :             AOM_ICDF(25192), AOM_ICDF(26760), AOM_ICDF(32768), 0 },
    4134             :       },
    4135             :       {
    4136             :           { AOM_ICDF(9728), AOM_ICDF(13958), AOM_ICDF(18881), AOM_ICDF(23624),
    4137             :             AOM_ICDF(24754), AOM_ICDF(25553), AOM_ICDF(26709), AOM_ICDF(27940),
    4138             :             AOM_ICDF(28977), AOM_ICDF(30413), AOM_ICDF(32768), 0 },
    4139             :           { AOM_ICDF(8832), AOM_ICDF(12572), AOM_ICDF(22433), AOM_ICDF(24653),
    4140             :             AOM_ICDF(25676), AOM_ICDF(26551), AOM_ICDF(27571), AOM_ICDF(28688),
    4141             :             AOM_ICDF(29198), AOM_ICDF(30174), AOM_ICDF(32768), 0 },
    4142             :           { AOM_ICDF(5888), AOM_ICDF(8828), AOM_ICDF(11353), AOM_ICDF(23482),
    4143             :             AOM_ICDF(24310), AOM_ICDF(24737), AOM_ICDF(25804), AOM_ICDF(26375),
    4144             :             AOM_ICDF(27174), AOM_ICDF(29840), AOM_ICDF(32768), 0 },
    4145             :           { AOM_ICDF(9984), AOM_ICDF(13099), AOM_ICDF(16249), AOM_ICDF(19443),
    4146             :             AOM_ICDF(20990), AOM_ICDF(22637), AOM_ICDF(24576), AOM_ICDF(25952),
    4147             :             AOM_ICDF(26884), AOM_ICDF(29435), AOM_ICDF(32768), 0 },
    4148             :           { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(15085), AOM_ICDF(18134),
    4149             :             AOM_ICDF(20319), AOM_ICDF(21992), AOM_ICDF(23549), AOM_ICDF(24989),
    4150             :             AOM_ICDF(27177), AOM_ICDF(29208), AOM_ICDF(32768), 0 },
    4151             :           { AOM_ICDF(9856), AOM_ICDF(13168), AOM_ICDF(18987), AOM_ICDF(22481),
    4152             :             AOM_ICDF(24282), AOM_ICDF(26200), AOM_ICDF(27868), AOM_ICDF(30203),
    4153             :             AOM_ICDF(31085), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
    4154             :           { AOM_ICDF(6784), AOM_ICDF(9119), AOM_ICDF(12629), AOM_ICDF(16877),
    4155             :             AOM_ICDF(20262), AOM_ICDF(21125), AOM_ICDF(22307), AOM_ICDF(23615),
    4156             :             AOM_ICDF(27727), AOM_ICDF(29972), AOM_ICDF(32768), 0 },
    4157             :           { AOM_ICDF(8320), AOM_ICDF(10230), AOM_ICDF(12783), AOM_ICDF(19005),
    4158             :             AOM_ICDF(20213), AOM_ICDF(20668), AOM_ICDF(22039), AOM_ICDF(23045),
    4159             :             AOM_ICDF(24146), AOM_ICDF(30478), AOM_ICDF(32768), 0 },
    4160             :           { AOM_ICDF(9088), AOM_ICDF(11308), AOM_ICDF(15416), AOM_ICDF(18118),
    4161             :             AOM_ICDF(19762), AOM_ICDF(20906), AOM_ICDF(22574), AOM_ICDF(25162),
    4162             :             AOM_ICDF(25994), AOM_ICDF(28455), AOM_ICDF(32768), 0 },
    4163             :           { AOM_ICDF(6912), AOM_ICDF(10548), AOM_ICDF(15148), AOM_ICDF(20026),
    4164             :             AOM_ICDF(21612), AOM_ICDF(21618), AOM_ICDF(22707), AOM_ICDF(24200),
    4165             :             AOM_ICDF(24869), AOM_ICDF(26844), AOM_ICDF(32768), 0 },
    4166             :           { AOM_ICDF(6656), AOM_ICDF(12164), AOM_ICDF(16993), AOM_ICDF(21568),
    4167             :             AOM_ICDF(22933), AOM_ICDF(23648), AOM_ICDF(25322), AOM_ICDF(26602),
    4168             :             AOM_ICDF(27806), AOM_ICDF(29841), AOM_ICDF(32768), 0 },
    4169             :       },
    4170             : #endif  // CONFIG_SMOOTH_HV
    4171             : #else   // CONFIG_ALT_INTRA
    4172             :       { { AOM_ICDF(17536), AOM_ICDF(19321), AOM_ICDF(21527), AOM_ICDF(25360),
    4173             :           AOM_ICDF(27516), AOM_ICDF(28026), AOM_ICDF(29323), AOM_ICDF(30023),
    4174             :           AOM_ICDF(30999), AOM_ICDF(32768), 0 },
    4175             :         { AOM_ICDF(11776), AOM_ICDF(15466), AOM_ICDF(22360), AOM_ICDF(24865),
    4176             :           AOM_ICDF(26991), AOM_ICDF(27889), AOM_ICDF(29299), AOM_ICDF(30519),
    4177             :           AOM_ICDF(31398), AOM_ICDF(32768), 0 },
    4178             :         { AOM_ICDF(9344), AOM_ICDF(12272), AOM_ICDF(13793), AOM_ICDF(25813),
    4179             :           AOM_ICDF(27359), AOM_ICDF(27654), AOM_ICDF(28573), AOM_ICDF(29130),
    4180             :           AOM_ICDF(30551), AOM_ICDF(32768), 0 },
    4181             :         { AOM_ICDF(11648), AOM_ICDF(14123), AOM_ICDF(16454), AOM_ICDF(19948),
    4182             :           AOM_ICDF(22780), AOM_ICDF(23846), AOM_ICDF(27087), AOM_ICDF(28995),
    4183             :           AOM_ICDF(30380), AOM_ICDF(32768), 0 },
    4184             :         { AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(15295), AOM_ICDF(17996),
    4185             :           AOM_ICDF(24006), AOM_ICDF(25465), AOM_ICDF(27405), AOM_ICDF(28725),
    4186             :           AOM_ICDF(30383), AOM_ICDF(32768), 0 },
    4187             :         { AOM_ICDF(9344), AOM_ICDF(12181), AOM_ICDF(14433), AOM_ICDF(16634),
    4188             :           AOM_ICDF(20355), AOM_ICDF(24317), AOM_ICDF(26133), AOM_ICDF(29295),
    4189             :           AOM_ICDF(31344), AOM_ICDF(32768), 0 },
    4190             :         { AOM_ICDF(8576), AOM_ICDF(10750), AOM_ICDF(12556), AOM_ICDF(17996),
    4191             :           AOM_ICDF(22315), AOM_ICDF(23609), AOM_ICDF(25040), AOM_ICDF(26157),
    4192             :           AOM_ICDF(30573), AOM_ICDF(32768), 0 },
    4193             :         { AOM_ICDF(11008), AOM_ICDF(13303), AOM_ICDF(15432), AOM_ICDF(20646),
    4194             :           AOM_ICDF(23506), AOM_ICDF(24100), AOM_ICDF(25624), AOM_ICDF(26824),
    4195             :           AOM_ICDF(28055), AOM_ICDF(32768), 0 },
    4196             :         { AOM_ICDF(9472), AOM_ICDF(12384), AOM_ICDF(14534), AOM_ICDF(17094),
    4197             :           AOM_ICDF(20257), AOM_ICDF(22155), AOM_ICDF(24767), AOM_ICDF(28955),
    4198             :           AOM_ICDF(30474), AOM_ICDF(32768), 0 },
    4199             :         { AOM_ICDF(7552), AOM_ICDF(14152), AOM_ICDF(17352), AOM_ICDF(22654),
    4200             :           AOM_ICDF(25123), AOM_ICDF(25783), AOM_ICDF(27911), AOM_ICDF(29182),
    4201             :           AOM_ICDF(30849), AOM_ICDF(32768), 0 } },
    4202             :       { { AOM_ICDF(8064), AOM_ICDF(11538), AOM_ICDF(21987), AOM_ICDF(24941),
    4203             :           AOM_ICDF(26913), AOM_ICDF(28136), AOM_ICDF(29222), AOM_ICDF(30469),
    4204             :           AOM_ICDF(31331), AOM_ICDF(32768), 0 },
    4205             :         { AOM_ICDF(5504), AOM_ICDF(10403), AOM_ICDF(25080), AOM_ICDF(26762),
    4206             :           AOM_ICDF(27933), AOM_ICDF(29104), AOM_ICDF(30092), AOM_ICDF(31576),
    4207             :           AOM_ICDF(32004), AOM_ICDF(32768), 0 },
    4208             :         { AOM_ICDF(5632), AOM_ICDF(8706), AOM_ICDF(15097), AOM_ICDF(23714),
    4209             :           AOM_ICDF(25344), AOM_ICDF(26072), AOM_ICDF(27380), AOM_ICDF(28580),
    4210             :           AOM_ICDF(29840), AOM_ICDF(32768), 0 },
    4211             :         { AOM_ICDF(7424), AOM_ICDF(11186), AOM_ICDF(17593), AOM_ICDF(20154),
    4212             :           AOM_ICDF(22974), AOM_ICDF(24351), AOM_ICDF(26916), AOM_ICDF(29956),
    4213             :           AOM_ICDF(30967), AOM_ICDF(32768), 0 },
    4214             :         { AOM_ICDF(5888), AOM_ICDF(10193), AOM_ICDF(16895), AOM_ICDF(19031),
    4215             :           AOM_ICDF(23735), AOM_ICDF(25576), AOM_ICDF(27514), AOM_ICDF(29813),
    4216             :           AOM_ICDF(30471), AOM_ICDF(32768), 0 },
    4217             :         { AOM_ICDF(4864), AOM_ICDF(8352), AOM_ICDF(16459), AOM_ICDF(18062),
    4218             :           AOM_ICDF(21263), AOM_ICDF(25378), AOM_ICDF(26937), AOM_ICDF(30376),
    4219             :           AOM_ICDF(31619), AOM_ICDF(32768), 0 },
    4220             :         { AOM_ICDF(4992), AOM_ICDF(7922), AOM_ICDF(13842), AOM_ICDF(18004),
    4221             :           AOM_ICDF(21779), AOM_ICDF(23527), AOM_ICDF(25115), AOM_ICDF(27357),
    4222             :           AOM_ICDF(30232), AOM_ICDF(32768), 0 },
    4223             :         { AOM_ICDF(6656), AOM_ICDF(9716), AOM_ICDF(16379), AOM_ICDF(20053),
    4224             :           AOM_ICDF(22487), AOM_ICDF(23613), AOM_ICDF(25437), AOM_ICDF(27270),
    4225             :           AOM_ICDF(28516), AOM_ICDF(32768), 0 },
    4226             :         { AOM_ICDF(6016), AOM_ICDF(9674), AOM_ICDF(16891), AOM_ICDF(18684),
    4227             :           AOM_ICDF(21147), AOM_ICDF(23093), AOM_ICDF(25512), AOM_ICDF(30132),
    4228             :           AOM_ICDF(30894), AOM_ICDF(32768), 0 },
    4229             :         { AOM_ICDF(4608), AOM_ICDF(11318), AOM_ICDF(21038), AOM_ICDF(23650),
    4230             :           AOM_ICDF(25303), AOM_ICDF(26262), AOM_ICDF(28295), AOM_ICDF(30479),
    4231             :           AOM_ICDF(31212), AOM_ICDF(32768), 0 } },
    4232             :       { { AOM_ICDF(10496), AOM_ICDF(12758), AOM_ICDF(14790), AOM_ICDF(24547),
    4233             :           AOM_ICDF(26342), AOM_ICDF(26799), AOM_ICDF(27825), AOM_ICDF(28443),
    4234             :           AOM_ICDF(30217), AOM_ICDF(32768), 0 },
    4235             :         { AOM_ICDF(7040), AOM_ICDF(11462), AOM_ICDF(17121), AOM_ICDF(24215),
    4236             :           AOM_ICDF(26504), AOM_ICDF(27267), AOM_ICDF(28492), AOM_ICDF(29444),
    4237             :           AOM_ICDF(30846), AOM_ICDF(32768), 0 },
    4238             :         { AOM_ICDF(5376), AOM_ICDF(8158), AOM_ICDF(9215), AOM_ICDF(26451),
    4239             :           AOM_ICDF(27407), AOM_ICDF(27524), AOM_ICDF(27995), AOM_ICDF(28275),
    4240             :           AOM_ICDF(29767), AOM_ICDF(32768), 0 },
    4241             :         { AOM_ICDF(8704), AOM_ICDF(12652), AOM_ICDF(14145), AOM_ICDF(20101),
    4242             :           AOM_ICDF(22879), AOM_ICDF(23675), AOM_ICDF(25629), AOM_ICDF(27079),
    4243             :           AOM_ICDF(28923), AOM_ICDF(32768), 0 },
    4244             :         { AOM_ICDF(7424), AOM_ICDF(12374), AOM_ICDF(14366), AOM_ICDF(18855),
    4245             :           AOM_ICDF(23842), AOM_ICDF(24358), AOM_ICDF(25639), AOM_ICDF(27087),
    4246             :           AOM_ICDF(29706), AOM_ICDF(32768), 0 },
    4247             :         { AOM_ICDF(6400), AOM_ICDF(10005), AOM_ICDF(12939), AOM_ICDF(17753),
    4248             :           AOM_ICDF(22206), AOM_ICDF(24790), AOM_ICDF(26785), AOM_ICDF(28164),
    4249             :           AOM_ICDF(30520), AOM_ICDF(32768), 0 },
    4250             :         { AOM_ICDF(5632), AOM_ICDF(8176), AOM_ICDF(9713), AOM_ICDF(19053),
    4251             :           AOM_ICDF(22343), AOM_ICDF(23222), AOM_ICDF(24453), AOM_ICDF(25070),
    4252             :           AOM_ICDF(29761), AOM_ICDF(32768), 0 },
    4253             :         { AOM_ICDF(7040), AOM_ICDF(9754), AOM_ICDF(10833), AOM_ICDF(21229),
    4254             :           AOM_ICDF(23540), AOM_ICDF(23943), AOM_ICDF(24839), AOM_ICDF(25675),
    4255             :           AOM_ICDF(27033), AOM_ICDF(32768), 0 },
    4256             :         { AOM_ICDF(6784), AOM_ICDF(11758), AOM_ICDF(13481), AOM_ICDF(17236),
    4257             :           AOM_ICDF(20210), AOM_ICDF(21768), AOM_ICDF(24303), AOM_ICDF(26948),
    4258             :           AOM_ICDF(28676), AOM_ICDF(32768), 0 },
    4259             :         { AOM_ICDF(4864), AOM_ICDF(12712), AOM_ICDF(14201), AOM_ICDF(23863),
    4260             :           AOM_ICDF(25952), AOM_ICDF(26386), AOM_ICDF(27632), AOM_ICDF(28635),
    4261             :           AOM_ICDF(30362), AOM_ICDF(32768), 0 } },
    4262             :       { { AOM_ICDF(13184), AOM_ICDF(15173), AOM_ICDF(17647), AOM_ICDF(21576),
    4263             :           AOM_ICDF(24474), AOM_ICDF(25267), AOM_ICDF(27699), AOM_ICDF(29283),
    4264             :           AOM_ICDF(30549), AOM_ICDF(32768), 0 },
    4265             :         { AOM_ICDF(7552), AOM_ICDF(11295), AOM_ICDF(18257), AOM_ICDF(20811),
    4266             :           AOM_ICDF(23213), AOM_ICDF(24606), AOM_ICDF(27731), AOM_ICDF(30407),
    4267             :           AOM_ICDF(31237), AOM_ICDF(32768), 0 },
    4268             :         { AOM_ICDF(7936), AOM_ICDF(10846), AOM_ICDF(12816), AOM_ICDF(22436),
    4269             :           AOM_ICDF(24614), AOM_ICDF(25130), AOM_ICDF(26890), AOM_ICDF(28199),
    4270             :           AOM_ICDF(29091), AOM_ICDF(32768), 0 },
    4271             :         { AOM_ICDF(8576), AOM_ICDF(11411), AOM_ICDF(13830), AOM_ICDF(15918),
    4272             :           AOM_ICDF(18996), AOM_ICDF(20044), AOM_ICDF(25114), AOM_ICDF(27835),
    4273             :           AOM_ICDF(28972), AOM_ICDF(32768), 0 },
    4274             :         { AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13646), AOM_ICDF(15966),
    4275             :           AOM_ICDF(21162), AOM_ICDF(22012), AOM_ICDF(24701), AOM_ICDF(27506),
    4276             :           AOM_ICDF(29644), AOM_ICDF(32768), 0 },
    4277             :         { AOM_ICDF(6784), AOM_ICDF(9423), AOM_ICDF(12524), AOM_ICDF(14773),
    4278             :           AOM_ICDF(19447), AOM_ICDF(22804), AOM_ICDF(26073), AOM_ICDF(29211),
    4279             :           AOM_ICDF(30642), AOM_ICDF(32768), 0 },
    4280             :         { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(11059), AOM_ICDF(15861),
    4281             :           AOM_ICDF(21174), AOM_ICDF(22338), AOM_ICDF(24620), AOM_ICDF(27071),
    4282             :           AOM_ICDF(30899), AOM_ICDF(32768), 0 },
    4283             :         { AOM_ICDF(9856), AOM_ICDF(11557), AOM_ICDF(13960), AOM_ICDF(18525),
    4284             :           AOM_ICDF(21788), AOM_ICDF(22189), AOM_ICDF(24462), AOM_ICDF(26603),
    4285             :           AOM_ICDF(27470), AOM_ICDF(32768), 0 },
    4286             :         { AOM_ICDF(7808), AOM_ICDF(10636), AOM_ICDF(13143), AOM_ICDF(15844),
    4287             :           AOM_ICDF(18698), AOM_ICDF(20272), AOM_ICDF(24323), AOM_ICDF(30096),
    4288             :           AOM_ICDF(31787), AOM_ICDF(32768), 0 },
    4289             :         { AOM_ICDF(6016), AOM_ICDF(10928), AOM_ICDF(14596), AOM_ICDF(18926),
    4290             :           AOM_ICDF(21586), AOM_ICDF(22688), AOM_ICDF(26626), AOM_ICDF(29001),
    4291             :           AOM_ICDF(30399), AOM_ICDF(32768), 0 } },
    4292             :       { { AOM_ICDF(8832), AOM_ICDF(10983), AOM_ICDF(13451), AOM_ICDF(16582),
    4293             :           AOM_ICDF(21656), AOM_ICDF(23109), AOM_ICDF(24845), AOM_ICDF(26207),
    4294             :           AOM_ICDF(28796), AOM_ICDF(32768), 0 },
    4295             :         { AOM_ICDF(6784), AOM_ICDF(10844), AOM_ICDF(15554), AOM_ICDF(18073),
    4296             :           AOM_ICDF(22954), AOM_ICDF(24901), AOM_ICDF(26776), AOM_ICDF(28649),
    4297             :           AOM_ICDF(30419), AOM_ICDF(32768), 0 },
    4298             :         { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(10072), AOM_ICDF(20108),
    4299             :           AOM_ICDF(23535), AOM_ICDF(24346), AOM_ICDF(25761), AOM_ICDF(26418),
    4300             :           AOM_ICDF(28675), AOM_ICDF(32768), 0 },
    4301             :         { AOM_ICDF(7680), AOM_ICDF(11012), AOM_ICDF(12627), AOM_ICDF(14595),
    4302             :           AOM_ICDF(19462), AOM_ICDF(20888), AOM_ICDF(23348), AOM_ICDF(25703),
    4303             :           AOM_ICDF(28159), AOM_ICDF(32768), 0 },
    4304             :         { AOM_ICDF(6656), AOM_ICDF(9818), AOM_ICDF(11790), AOM_ICDF(13813),
    4305             :           AOM_ICDF(22731), AOM_ICDF(24737), AOM_ICDF(26557), AOM_ICDF(28061),
    4306             :           AOM_ICDF(29697), AOM_ICDF(32768), 0 },
    4307             :         { AOM_ICDF(5632), AOM_ICDF(8918), AOM_ICDF(11620), AOM_ICDF(13802),
    4308             :           AOM_ICDF(19950), AOM_ICDF(23764), AOM_ICDF(25734), AOM_ICDF(28537),
    4309             :           AOM_ICDF(31809), AOM_ICDF(32768), 0 },
    4310             :         { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(7808), AOM_ICDF(12281),
    4311             :           AOM_ICDF(19375), AOM_ICDF(20970), AOM_ICDF(22860), AOM_ICDF(24602),
    4312             :           AOM_ICDF(29929), AOM_ICDF(32768), 0 },
    4313             :         { AOM_ICDF(7040), AOM_ICDF(9553), AOM_ICDF(11457), AOM_ICDF(15102),
    4314             :           AOM_ICDF(20291), AOM_ICDF(21280), AOM_ICDF(22985), AOM_ICDF(24475),
    4315             :           AOM_ICDF(26613), AOM_ICDF(32768), 0 },
    4316             :         { AOM_ICDF(6528), AOM_ICDF(10423), AOM_ICDF(12605), AOM_ICDF(14621),
    4317             :           AOM_ICDF(19031), AOM_ICDF(21505), AOM_ICDF(24585), AOM_ICDF(27558),
    4318             :           AOM_ICDF(29532), AOM_ICDF(32768), 0 },
    4319             :         { AOM_ICDF(6016), AOM_ICDF(11659), AOM_ICDF(14463), AOM_ICDF(18867),
    4320             :           AOM_ICDF(23653), AOM_ICDF(24903), AOM_ICDF(27115), AOM_ICDF(29389),
    4321             :           AOM_ICDF(31382), AOM_ICDF(32768), 0 } },
    4322             :       { { AOM_ICDF(8192), AOM_ICDF(10016), AOM_ICDF(13304), AOM_ICDF(16362),
    4323             :           AOM_ICDF(21107), AOM_ICDF(25165), AOM_ICDF(26620), AOM_ICDF(28901),
    4324             :           AOM_ICDF(30910), AOM_ICDF(32768), 0 },
    4325             :         { AOM_ICDF(5888), AOM_ICDF(8723), AOM_ICDF(16237), AOM_ICDF(18318),
    4326             :           AOM_ICDF(22002), AOM_ICDF(25923), AOM_ICDF(27394), AOM_ICDF(29934),
    4327             :           AOM_ICDF(31428), AOM_ICDF(32768), 0 },
    4328             :         { AOM_ICDF(4608), AOM_ICDF(7138), AOM_ICDF(9841), AOM_ICDF(18442),
    4329             :           AOM_ICDF(22447), AOM_ICDF(24618), AOM_ICDF(26337), AOM_ICDF(27945),
    4330             :           AOM_ICDF(30168), AOM_ICDF(32768), 0 },
    4331             :         { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(12270), AOM_ICDF(14851),
    4332             :           AOM_ICDF(19886), AOM_ICDF(22759), AOM_ICDF(25105), AOM_ICDF(28368),
    4333             :           AOM_ICDF(29760), AOM_ICDF(32768), 0 },
    4334             :         { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11324), AOM_ICDF(13340),
    4335             :           AOM_ICDF(21205), AOM_ICDF(24224), AOM_ICDF(25926), AOM_ICDF(28518),
    4336             :           AOM_ICDF(30560), AOM_ICDF(32768), 0 },
    4337             :         { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(10058), AOM_ICDF(11237),
    4338             :           AOM_ICDF(16807), AOM_ICDF(25937), AOM_ICDF(27218), AOM_ICDF(30015),
    4339             :           AOM_ICDF(31348), AOM_ICDF(32768), 0 },
    4340             :         { AOM_ICDF(4608), AOM_ICDF(6808), AOM_ICDF(9445), AOM_ICDF(12446),
    4341             :           AOM_ICDF(18461), AOM_ICDF(21835), AOM_ICDF(23244), AOM_ICDF(26109),
    4342             :           AOM_ICDF(30115), AOM_ICDF(32768), 0 },
    4343             :         { AOM_ICDF(5760), AOM_ICDF(7659), AOM_ICDF(10798), AOM_ICDF(14720),
    4344             :           AOM_ICDF(19157), AOM_ICDF(21955), AOM_ICDF(23645), AOM_ICDF(26460),
    4345             :           AOM_ICDF(28702), AOM_ICDF(32768), 0 },
    4346             :         { AOM_ICDF(5760), AOM_ICDF(8503), AOM_ICDF(11157), AOM_ICDF(13071),
    4347             :           AOM_ICDF(17594), AOM_ICDF(22047), AOM_ICDF(24099), AOM_ICDF(29077),
    4348             :           AOM_ICDF(30850), AOM_ICDF(32768), 0 },
    4349             :         { AOM_ICDF(4864), AOM_ICDF(9660), AOM_ICDF(14264), AOM_ICDF(17105),
    4350             :           AOM_ICDF(21528), AOM_ICDF(24094), AOM_ICDF(26025), AOM_ICDF(28580),
    4351             :           AOM_ICDF(30559), AOM_ICDF(32768), 0 } },
    4352             :       { { AOM_ICDF(9600), AOM_ICDF(11139), AOM_ICDF(12998), AOM_ICDF(18660),
    4353             :           AOM_ICDF(22158), AOM_ICDF(23501), AOM_ICDF(24659), AOM_ICDF(25736),
    4354             :           AOM_ICDF(30296), AOM_ICDF(32768), 0 },
    4355             :         { AOM_ICDF(7168), AOM_ICDF(11068), AOM_ICDF(15984), AOM_ICDF(19969),
    4356             :           AOM_ICDF(23169), AOM_ICDF(24704), AOM_ICDF(26216), AOM_ICDF(27572),
    4357             :           AOM_ICDF(31368), AOM_ICDF(32768), 0 },
    4358             :         { AOM_ICDF(4480), AOM_ICDF(6801), AOM_ICDF(8018), AOM_ICDF(20908),
    4359             :           AOM_ICDF(23071), AOM_ICDF(23583), AOM_ICDF(24301), AOM_ICDF(25062),
    4360             :           AOM_ICDF(29427), AOM_ICDF(32768), 0 },
    4361             :         { AOM_ICDF(7168), AOM_ICDF(10068), AOM_ICDF(11753), AOM_ICDF(15843),
    4362             :           AOM_ICDF(19742), AOM_ICDF(21358), AOM_ICDF(23809), AOM_ICDF(26189),
    4363             :           AOM_ICDF(29067), AOM_ICDF(32768), 0 },
    4364             :         { AOM_ICDF(6016), AOM_ICDF(9047), AOM_ICDF(10622), AOM_ICDF(13931),
    4365             :           AOM_ICDF(22462), AOM_ICDF(23858), AOM_ICDF(25911), AOM_ICDF(27277),
    4366             :           AOM_ICDF(29722), AOM_ICDF(32768), 0 },
    4367             :         { AOM_ICDF(5888), AOM_ICDF(7568), AOM_ICDF(9931), AOM_ICDF(13533),
    4368             :           AOM_ICDF(18431), AOM_ICDF(22063), AOM_ICDF(23777), AOM_ICDF(26025),
    4369             :           AOM_ICDF(30555), AOM_ICDF(32768), 0 },
    4370             :         { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(7379), AOM_ICDF(13739),
    4371             :           AOM_ICDF(16917), AOM_ICDF(18090), AOM_ICDF(18835), AOM_ICDF(19651),
    4372             :           AOM_ICDF(30360), AOM_ICDF(32768), 0 },
    4373             :         { AOM_ICDF(6528), AOM_ICDF(8988), AOM_ICDF(10288), AOM_ICDF(15534),
    4374             :           AOM_ICDF(19495), AOM_ICDF(20386), AOM_ICDF(21934), AOM_ICDF(23034),
    4375             :           AOM_ICDF(26988), AOM_ICDF(32768), 0 },
    4376             :         { AOM_ICDF(7040), AOM_ICDF(10055), AOM_ICDF(11652), AOM_ICDF(14757),
    4377             :           AOM_ICDF(19622), AOM_ICDF(21715), AOM_ICDF(23615), AOM_ICDF(26761),
    4378             :           AOM_ICDF(29483), AOM_ICDF(32768), 0 },
    4379             :         { AOM_ICDF(4736), AOM_ICDF(10102), AOM_ICDF(12315), AOM_ICDF(19078),
    4380             :           AOM_ICDF(21348), AOM_ICDF(22621), AOM_ICDF(24246), AOM_ICDF(26044),
    4381             :           AOM_ICDF(29931), AOM_ICDF(32768), 0 } },
    4382             :       { { AOM_ICDF(10496), AOM_ICDF(12410), AOM_ICDF(14955), AOM_ICDF(19891),
    4383             :           AOM_ICDF(23137), AOM_ICDF(23792), AOM_ICDF(25159), AOM_ICDF(26378),
    4384             :           AOM_ICDF(28125), AOM_ICDF(32768), 0 },
    4385             :         { AOM_ICDF(7936), AOM_ICDF(12204), AOM_ICDF(17104), AOM_ICDF(20191),
    4386             :           AOM_ICDF(23468), AOM_ICDF(24630), AOM_ICDF(26156), AOM_ICDF(27628),
    4387             :           AOM_ICDF(28913), AOM_ICDF(32768), 0 },
    4388             :         { AOM_ICDF(6016), AOM_ICDF(8629), AOM_ICDF(10232), AOM_ICDF(23591),
    4389             :           AOM_ICDF(25349), AOM_ICDF(25637), AOM_ICDF(26306), AOM_ICDF(27063),
    4390             :           AOM_ICDF(28980), AOM_ICDF(32768), 0 },
    4391             :         { AOM_ICDF(8704), AOM_ICDF(12088), AOM_ICDF(13461), AOM_ICDF(16646),
    4392             :           AOM_ICDF(20516), AOM_ICDF(21455), AOM_ICDF(24062), AOM_ICDF(26579),
    4393             :           AOM_ICDF(28368), AOM_ICDF(32768), 0 },
    4394             :         { AOM_ICDF(7296), AOM_ICDF(11177), AOM_ICDF(13117), AOM_ICDF(16196),
    4395             :           AOM_ICDF(23378), AOM_ICDF(24708), AOM_ICDF(26440), AOM_ICDF(27997),
    4396             :           AOM_ICDF(29078), AOM_ICDF(32768), 0 },
    4397             :         { AOM_ICDF(6272), AOM_ICDF(9377), AOM_ICDF(12575), AOM_ICDF(15616),
    4398             :           AOM_ICDF(20919), AOM_ICDF(23697), AOM_ICDF(26603), AOM_ICDF(27566),
    4399             :           AOM_ICDF(29903), AOM_ICDF(32768), 0 },
    4400             :         { AOM_ICDF(6528), AOM_ICDF(9091), AOM_ICDF(10478), AOM_ICDF(16445),
    4401             :           AOM_ICDF(21081), AOM_ICDF(22320), AOM_ICDF(23871), AOM_ICDF(25087),
    4402             :           AOM_ICDF(29258), AOM_ICDF(32768), 0 },
    4403             :         { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(12499), AOM_ICDF(17340),
    4404             :           AOM_ICDF(20656), AOM_ICDF(21288), AOM_ICDF(22588), AOM_ICDF(23701),
    4405             :           AOM_ICDF(24693), AOM_ICDF(32768), 0 },
    4406             :         { AOM_ICDF(7552), AOM_ICDF(11394), AOM_ICDF(12980), AOM_ICDF(15562),
    4407             :           AOM_ICDF(19942), AOM_ICDF(21792), AOM_ICDF(25093), AOM_ICDF(28211),
    4408             :           AOM_ICDF(28959), AOM_ICDF(32768), 0 },
    4409             :         { AOM_ICDF(5120), AOM_ICDF(11708), AOM_ICDF(13847), AOM_ICDF(19377),
    4410             :           AOM_ICDF(22421), AOM_ICDF(23160), AOM_ICDF(25449), AOM_ICDF(27136),
    4411             :           AOM_ICDF(29182), AOM_ICDF(32768), 0 } },
    4412             :       { { AOM_ICDF(9984), AOM_ICDF(12031), AOM_ICDF(15190), AOM_ICDF(18673),
    4413             :           AOM_ICDF(21422), AOM_ICDF(22812), AOM_ICDF(25690), AOM_ICDF(29118),
    4414             :           AOM_ICDF(30458), AOM_ICDF(32768), 0 },
    4415             :         { AOM_ICDF(6144), AOM_ICDF(9680), AOM_ICDF(17436), AOM_ICDF(19610),
    4416             :           AOM_ICDF(21820), AOM_ICDF(23485), AOM_ICDF(26313), AOM_ICDF(30826),
    4417             :           AOM_ICDF(31843), AOM_ICDF(32768), 0 },
    4418             :         { AOM_ICDF(6016), AOM_ICDF(8315), AOM_ICDF(10607), AOM_ICDF(19333),
    4419             :           AOM_ICDF(21572), AOM_ICDF(22553), AOM_ICDF(25266), AOM_ICDF(27288),
    4420             :           AOM_ICDF(28551), AOM_ICDF(32768), 0 },
    4421             :         { AOM_ICDF(7168), AOM_ICDF(9668), AOM_ICDF(12646), AOM_ICDF(16257),
    4422             :           AOM_ICDF(19648), AOM_ICDF(20899), AOM_ICDF(25304), AOM_ICDF(30465),
    4423             :           AOM_ICDF(31625), AOM_ICDF(32768), 0 },
    4424             :         { AOM_ICDF(6144), AOM_ICDF(9368), AOM_ICDF(11836), AOM_ICDF(14130),
    4425             :           AOM_ICDF(19153), AOM_ICDF(21157), AOM_ICDF(24876), AOM_ICDF(28452),
    4426             :           AOM_ICDF(29396), AOM_ICDF(32768), 0 },
    4427             :         { AOM_ICDF(5504), AOM_ICDF(8486), AOM_ICDF(11996), AOM_ICDF(14412),
    4428             :           AOM_ICDF(17968), AOM_ICDF(21814), AOM_ICDF(24424), AOM_ICDF(30682),
    4429             :           AOM_ICDF(32059), AOM_ICDF(32768), 0 },
    4430             :         { AOM_ICDF(5376), AOM_ICDF(7195), AOM_ICDF(9592), AOM_ICDF(13331),
    4431             :           AOM_ICDF(17569), AOM_ICDF(19460), AOM_ICDF(22371), AOM_ICDF(25458),
    4432             :           AOM_ICDF(28942), AOM_ICDF(32768), 0 },
    4433             :         { AOM_ICDF(7424), AOM_ICDF(9206), AOM_ICDF(11783), AOM_ICDF(16456),
    4434             :           AOM_ICDF(19253), AOM_ICDF(20390), AOM_ICDF(23775), AOM_ICDF(27007),
    4435             :           AOM_ICDF(28425), AOM_ICDF(32768), 0 },
    4436             :         { AOM_ICDF(5888), AOM_ICDF(8303), AOM_ICDF(11361), AOM_ICDF(13440),
    4437             :           AOM_ICDF(15848), AOM_ICDF(17549), AOM_ICDF(21532), AOM_ICDF(29564),
    4438             :           AOM_ICDF(30665), AOM_ICDF(32768), 0 },
    4439             :         { AOM_ICDF(4608), AOM_ICDF(8788), AOM_ICDF(13284), AOM_ICDF(16621),
    4440             :           AOM_ICDF(18983), AOM_ICDF(20286), AOM_ICDF(24577), AOM_ICDF(28960),
    4441             :           AOM_ICDF(30314), AOM_ICDF(32768), 0 } },
    4442             :       { { AOM_ICDF(8320), AOM_ICDF(15005), AOM_ICDF(19168), AOM_ICDF(24282),
    4443             :           AOM_ICDF(26707), AOM_ICDF(27402), AOM_ICDF(28681), AOM_ICDF(29639),
    4444             :           AOM_ICDF(30629), AOM_ICDF(32768), 0 },
    4445             :         { AOM_ICDF(5632), AOM_ICDF(13900), AOM_ICDF(22376), AOM_ICDF(24867),
    4446             :           AOM_ICDF(26804), AOM_ICDF(27734), AOM_ICDF(29130), AOM_ICDF(30722),
    4447             :           AOM_ICDF(31465), AOM_ICDF(32768), 0 },
    4448             :         { AOM_ICDF(4992), AOM_ICDF(9115), AOM_ICDF(11055), AOM_ICDF(24893),
    4449             :           AOM_ICDF(26316), AOM_ICDF(26661), AOM_ICDF(27663), AOM_ICDF(28301),
    4450             :           AOM_ICDF(29418), AOM_ICDF(32768), 0 },
    4451             :         { AOM_ICDF(7424), AOM_ICDF(12077), AOM_ICDF(14987), AOM_ICDF(19596),
    4452             :           AOM_ICDF(22615), AOM_ICDF(23600), AOM_ICDF(26465), AOM_ICDF(28484),
    4453             :           AOM_ICDF(29789), AOM_ICDF(32768), 0 },
    4454             :         { AOM_ICDF(6272), AOM_ICDF(11447), AOM_ICDF(14362), AOM_ICDF(18204),
    4455             :           AOM_ICDF(23418), AOM_ICDF(24715), AOM_ICDF(26697), AOM_ICDF(28547),
    4456             :           AOM_ICDF(29520), AOM_ICDF(32768), 0 },
    4457             :         { AOM_ICDF(5248), AOM_ICDF(10946), AOM_ICDF(15379), AOM_ICDF(18167),
    4458             :           AOM_ICDF(22197), AOM_ICDF(25432), AOM_ICDF(27295), AOM_ICDF(30031),
    4459             :           AOM_ICDF(30576), AOM_ICDF(32768), 0 },
    4460             :         { AOM_ICDF(5120), AOM_ICDF(9008), AOM_ICDF(11607), AOM_ICDF(18210),
    4461             :           AOM_ICDF(22327), AOM_ICDF(23427), AOM_ICDF(24887), AOM_ICDF(26580),
    4462             :           AOM_ICDF(29892), AOM_ICDF(32768), 0 },
    4463             :         { AOM_ICDF(6656), AOM_ICDF(10124), AOM_ICDF(12689), AOM_ICDF(19922),
    4464             :           AOM_ICDF(22480), AOM_ICDF(22807), AOM_ICDF(24441), AOM_ICDF(25579),
    4465             :           AOM_ICDF(26787), AOM_ICDF(32768), 0 },
    4466             :         { AOM_ICDF(5376), AOM_ICDF(10084), AOM_ICDF(13983), AOM_ICDF(17113),
    4467             :           AOM_ICDF(19996), AOM_ICDF(21614), AOM_ICDF(24403), AOM_ICDF(28651),
    4468             :           AOM_ICDF(29938), AOM_ICDF(32768), 0 },
    4469             :         { AOM_ICDF(5504), AOM_ICDF(14131), AOM_ICDF(17989), AOM_ICDF(23324),
    4470             :           AOM_ICDF(25513), AOM_ICDF(26071), AOM_ICDF(27850), AOM_ICDF(29464),
    4471             :           AOM_ICDF(30393), AOM_ICDF(32768), 0 } },
    4472             : #endif  // CONFIG_ALT_INTRA
    4473             :     };
    4474             : 
    4475           0 : static void init_mode_probs(FRAME_CONTEXT *fc) {
    4476           0 :   av1_copy(fc->uv_mode_prob, default_uv_probs);
    4477           0 :   av1_copy(fc->y_mode_prob, default_if_y_probs);
    4478           0 :   av1_copy(fc->switchable_interp_prob, default_switchable_interp_prob);
    4479           0 :   av1_copy(fc->partition_prob, default_partition_probs);
    4480           0 :   av1_copy(fc->intra_inter_prob, default_intra_inter_p);
    4481           0 :   av1_copy(fc->comp_inter_prob, default_comp_inter_p);
    4482           0 :   av1_copy(fc->comp_ref_prob, default_comp_ref_p);
    4483             : #if CONFIG_LV_MAP
    4484             :   av1_copy(fc->txb_skip, default_txb_skip);
    4485             :   av1_copy(fc->nz_map, default_nz_map);
    4486             :   av1_copy(fc->eob_flag, default_eob_flag);
    4487             :   av1_copy(fc->dc_sign, default_dc_sign);
    4488             :   av1_copy(fc->coeff_base, default_coeff_base);
    4489             :   av1_copy(fc->coeff_lps, default_coeff_lps);
    4490             : #endif
    4491             : #if CONFIG_EXT_REFS
    4492           0 :   av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
    4493             : #endif  // CONFIG_EXT_REFS
    4494           0 :   av1_copy(fc->single_ref_prob, default_single_ref_p);
    4495             : #if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
    4496             :   av1_copy(fc->comp_inter_mode_prob, default_comp_inter_mode_p);
    4497             : #endif  // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
    4498           0 :   av1_copy(fc->tx_size_probs, default_tx_size_prob);
    4499             : #if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
    4500             :   fc->quarter_tx_size_prob = default_quarter_tx_size_prob;
    4501             : #endif  // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
    4502             : #if CONFIG_VAR_TX
    4503           0 :   av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
    4504             : #endif
    4505           0 :   av1_copy(fc->skip_probs, default_skip_probs);
    4506           0 :   av1_copy(fc->newmv_prob, default_newmv_prob);
    4507           0 :   av1_copy(fc->zeromv_prob, default_zeromv_prob);
    4508           0 :   av1_copy(fc->refmv_prob, default_refmv_prob);
    4509           0 :   av1_copy(fc->drl_prob, default_drl_prob);
    4510           0 :   av1_copy(fc->inter_mode_probs, default_inter_mode_probs);
    4511             : #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
    4512           0 :   av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
    4513             : #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
    4514           0 :   av1_copy(fc->obmc_prob, default_obmc_prob);
    4515             : #endif  // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
    4516             : #endif  // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
    4517             : #if CONFIG_EXT_INTER
    4518           0 :   av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
    4519             : #if CONFIG_COMPOUND_SINGLEREF
    4520             :   av1_copy(fc->inter_singleref_comp_mode_probs,
    4521             :            default_inter_singleref_comp_mode_probs);
    4522             : #endif  // CONFIG_COMPOUND_SINGLEREF
    4523           0 :   av1_copy(fc->compound_type_prob, default_compound_type_probs);
    4524             : #if CONFIG_INTERINTRA
    4525           0 :   av1_copy(fc->interintra_prob, default_interintra_prob);
    4526           0 :   av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
    4527           0 :   av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
    4528             : #endif
    4529             : #endif  // CONFIG_EXT_INTER
    4530             : #if CONFIG_SUPERTX
    4531             :   av1_copy(fc->supertx_prob, default_supertx_prob);
    4532             : #endif  // CONFIG_SUPERTX
    4533           0 :   av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
    4534           0 :   av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
    4535             : #if CONFIG_EXT_INTRA
    4536             : #if CONFIG_INTRA_INTERP
    4537             :   av1_copy(fc->intra_filter_probs, default_intra_filter_probs);
    4538             : #endif  // CONFIG_INTRA_INTERP
    4539             : #endif  // CONFIG_EXT_INTRA
    4540             : #if CONFIG_FILTER_INTRA
    4541             :   av1_copy(fc->filter_intra_probs, default_filter_intra_probs);
    4542             : #endif  // CONFIG_FILTER_INTRA
    4543           0 :   av1_copy(fc->inter_ext_tx_prob, default_inter_ext_tx_prob);
    4544           0 :   av1_copy(fc->intra_ext_tx_prob, default_intra_ext_tx_prob);
    4545             : #if CONFIG_LOOP_RESTORATION
    4546             :   av1_copy(fc->switchable_restore_prob, default_switchable_restore_prob);
    4547             : #endif  // CONFIG_LOOP_RESTORATION
    4548           0 :   av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf);
    4549           0 :   av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf);
    4550           0 :   av1_copy(fc->switchable_interp_cdf, default_switchable_interp_cdf);
    4551           0 :   av1_copy(fc->partition_cdf, default_partition_cdf);
    4552           0 :   av1_copy(fc->inter_mode_cdf, default_inter_mode_cdf);
    4553           0 :   av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf);
    4554           0 :   av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf);
    4555             : #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    4556             :   av1_copy(fc->intra_filter_cdf, default_intra_filter_cdf);
    4557             : #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    4558           0 :   av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
    4559           0 :   av1_copy(fc->tx_size_cdf, default_tx_size_cdf);
    4560             : #if CONFIG_DELTA_Q
    4561           0 :   av1_copy(fc->delta_q_prob, default_delta_q_probs);
    4562           0 :   av1_copy(fc->delta_q_cdf, default_delta_q_cdf);
    4563             : #if CONFIG_EXT_DELTA_Q
    4564           0 :   av1_copy(fc->delta_lf_prob, default_delta_lf_probs);
    4565           0 :   av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf);
    4566             : #endif
    4567             : #endif  // CONFIG_DELTA_Q
    4568             : #if CONFIG_CFL
    4569             :   av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf);
    4570             : #endif
    4571             : #if CONFIG_INTRABC
    4572             :   fc->intrabc_prob = INTRABC_PROB_DEFAULT;
    4573             : #endif
    4574           0 : }
    4575             : 
    4576             : int av1_switchable_interp_ind[SWITCHABLE_FILTERS];
    4577             : int av1_switchable_interp_inv[SWITCHABLE_FILTERS];
    4578             : 
    4579             : #if !CONFIG_EC_ADAPT
    4580             : void av1_set_mode_cdfs(struct AV1Common *cm) {
    4581             :   FRAME_CONTEXT *fc = cm->fc;
    4582             :   int i, j;
    4583             :   if (cm->seg.enabled && cm->seg.update_map) {
    4584             :     av1_tree_to_cdf(av1_segment_tree, cm->fc->seg.tree_probs,
    4585             :                     cm->fc->seg.tree_cdf);
    4586             :   }
    4587             : 
    4588             :   for (i = 0; i < INTRA_MODES; ++i)
    4589             :     av1_tree_to_cdf(av1_intra_mode_tree, fc->uv_mode_prob[i],
    4590             :                     fc->uv_mode_cdf[i]);
    4591             : #if CONFIG_EXT_PARTITION_TYPES
    4592             :   for (i = 0; i < PARTITION_PLOFFSET; ++i)
    4593             :     av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i],
    4594             :                     fc->partition_cdf[i]);
    4595             :   // Logical index (enum value) to inorder index (tree_to_cdf order)
    4596             :   aom_cdf_prob inorder_partition_cdf[CDF_SIZE(EXT_PARTITION_TYPES)] = {};
    4597             :   // TODO(aconverse): Generate this dynamically. The assumptions that
    4598             :   // av1_indices_from_tree() makes don't hold for this tree.
    4599             :   static const uint8_t av1_ext_partition_index_map[EXT_PARTITION_TYPES] = {
    4600             :     0, 1, 4, 7, 2, 3, 5, 6,
    4601             :   };
    4602             :   for (; i < PARTITION_CONTEXTS; ++i) {
    4603             :     av1_tree_to_cdf(av1_ext_partition_tree, fc->partition_prob[i],
    4604             :                     inorder_partition_cdf);
    4605             :     aom_cdf_prob cum_prob = 0;
    4606             :     for (j = 0; j < EXT_PARTITION_TYPES; ++j) {
    4607             :       int inorder_idx = av1_ext_partition_index_map[j];
    4608             :       aom_cdf_prob prob =
    4609             :           AOM_ICDF(inorder_partition_cdf[inorder_idx]) -
    4610             :           (inorder_idx > 0 ? AOM_ICDF(inorder_partition_cdf[inorder_idx - 1])
    4611             :                            : 0);
    4612             :       cum_prob += prob;
    4613             :       fc->partition_cdf[i][j] = AOM_ICDF(cum_prob);
    4614             :     }
    4615             :     assert(cum_prob == CDF_PROB_TOP);
    4616             :   }
    4617             : #else
    4618             :   for (i = 0; i < PARTITION_CONTEXTS; ++i)
    4619             :     av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i],
    4620             :                     fc->partition_cdf[i]);
    4621             : #endif
    4622             : 
    4623             :   for (i = 0; i < INTRA_MODES; ++i)
    4624             :     for (j = 0; j < INTRA_MODES; ++j)
    4625             :       av1_tree_to_cdf(av1_intra_mode_tree, cm->kf_y_prob[i][j],
    4626             :                       cm->fc->kf_y_cdf[i][j]);
    4627             : 
    4628             :   for (j = 0; j < SWITCHABLE_FILTER_CONTEXTS; ++j)
    4629             :     av1_tree_to_cdf(av1_switchable_interp_tree, fc->switchable_interp_prob[j],
    4630             :                     fc->switchable_interp_cdf[j]);
    4631             : 
    4632             :   for (i = 0; i < INTER_MODE_CONTEXTS; ++i)
    4633             :     av1_tree_to_cdf(av1_inter_mode_tree, fc->inter_mode_probs[i],
    4634             :                     fc->inter_mode_cdf[i]);
    4635             : 
    4636             :   for (i = 0; i < BLOCK_SIZE_GROUPS; ++i)
    4637             :     av1_tree_to_cdf(av1_intra_mode_tree, fc->y_mode_prob[i], fc->y_mode_cdf[i]);
    4638             : 
    4639             : #if CONFIG_EXT_TX
    4640             :   int s;
    4641             :   for (s = 0; s < EXT_TX_SETS_INTRA; ++s)
    4642             :     for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
    4643             :       for (j = 0; j < INTRA_MODES; ++j)
    4644             :         av1_tree_to_cdf(av1_ext_tx_intra_tree[s],
    4645             :                         fc->intra_ext_tx_prob[s][i][j],
    4646             :                         fc->intra_ext_tx_cdf[s][i][j]);
    4647             : 
    4648             :   for (s = 0; s < EXT_TX_SETS_INTER; ++s)
    4649             :     for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
    4650             :       av1_tree_to_cdf(av1_ext_tx_inter_tree[s], fc->inter_ext_tx_prob[s][i],
    4651             :                       fc->inter_ext_tx_cdf[s][i]);
    4652             : #else
    4653             :   for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
    4654             :     for (j = 0; j < TX_TYPES; ++j)
    4655             :       av1_tree_to_cdf(av1_ext_tx_tree, fc->intra_ext_tx_prob[i][j],
    4656             :                       fc->intra_ext_tx_cdf[i][j]);
    4657             : 
    4658             :   for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
    4659             :     av1_tree_to_cdf(av1_ext_tx_tree, fc->inter_ext_tx_prob[i],
    4660             :                     fc->inter_ext_tx_cdf[i]);
    4661             : #endif
    4662             :   for (i = 0; i < MAX_TX_DEPTH; i++) {
    4663             :     for (j = 0; j < TX_SIZE_CONTEXTS; j++) {
    4664             :       av1_tree_to_cdf(av1_tx_size_tree[i], fc->tx_size_probs[i][j],
    4665             :                       fc->tx_size_cdf[i][j]);
    4666             :     }
    4667             :   }
    4668             : #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    4669             :   for (i = 0; i < INTRA_FILTERS + 1; ++i) {
    4670             :     av1_tree_to_cdf(av1_intra_filter_tree, fc->intra_filter_probs[i],
    4671             :                     fc->intra_filter_cdf[i]);
    4672             :   }
    4673             : #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
    4674             : }
    4675             : #endif  // !CONFIG_EC_ADAPT
    4676             : 
    4677             : #if CONFIG_DUAL_FILTER && USE_EXTRA_FILTER
    4678             : const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
    4679             :     {
    4680             :       -EIGHTTAP_REGULAR, 2, 4, -MULTITAP_SHARP, -EIGHTTAP_SMOOTH,
    4681             :       -EIGHTTAP_SMOOTH2,
    4682             :     };
    4683             : #else
    4684             : const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
    4685             :     { -EIGHTTAP_REGULAR, 2, -EIGHTTAP_SMOOTH, -MULTITAP_SHARP };
    4686             : #endif  // CONFIG_DUAL_FILTER
    4687             : 
    4688           0 : void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
    4689             :   int i, j;
    4690           0 :   FRAME_CONTEXT *fc = cm->fc;
    4691           0 :   const FRAME_CONTEXT *pre_fc = cm->pre_fc;
    4692           0 :   const FRAME_COUNTS *counts = &cm->counts;
    4693             : 
    4694           0 :   for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
    4695           0 :     fc->intra_inter_prob[i] = av1_mode_mv_merge_probs(
    4696           0 :         pre_fc->intra_inter_prob[i], counts->intra_inter[i]);
    4697             : 
    4698           0 :   for (i = 0; i < COMP_INTER_CONTEXTS; i++)
    4699           0 :     fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i],
    4700           0 :                                                      counts->comp_inter[i]);
    4701             : 
    4702             : #if CONFIG_EXT_REFS
    4703           0 :   for (i = 0; i < REF_CONTEXTS; i++)
    4704           0 :     for (j = 0; j < (FWD_REFS - 1); j++)
    4705           0 :       fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
    4706           0 :                                                     counts->comp_ref[i][j]);
    4707           0 :   for (i = 0; i < REF_CONTEXTS; i++)
    4708           0 :     for (j = 0; j < (BWD_REFS - 1); j++)
    4709           0 :       fc->comp_bwdref_prob[i][j] = mode_mv_merge_probs(
    4710           0 :           pre_fc->comp_bwdref_prob[i][j], counts->comp_bwdref[i][j]);
    4711             : #else
    4712             :   for (i = 0; i < REF_CONTEXTS; i++)
    4713             :     for (j = 0; j < (COMP_REFS - 1); j++)
    4714             :       fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
    4715             :                                                     counts->comp_ref[i][j]);
    4716             : #endif  // CONFIG_EXT_REFS
    4717             : 
    4718           0 :   for (i = 0; i < REF_CONTEXTS; i++)
    4719           0 :     for (j = 0; j < (SINGLE_REFS - 1); j++)
    4720           0 :       fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs(
    4721           0 :           pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]);
    4722             : 
    4723             : #if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
    4724             :   for (i = 0; i < COMP_INTER_MODE_CONTEXTS; i++)
    4725             :     fc->comp_inter_mode_prob[i] = av1_mode_mv_merge_probs(
    4726             :         pre_fc->comp_inter_mode_prob[i], counts->comp_inter_mode[i]);
    4727             : 
    4728             : #endif  // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
    4729             : 
    4730           0 :   for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
    4731           0 :     fc->newmv_prob[i] =
    4732           0 :         av1_mode_mv_merge_probs(pre_fc->newmv_prob[i], counts->newmv_mode[i]);
    4733           0 :   for (i = 0; i < ZEROMV_MODE_CONTEXTS; ++i)
    4734           0 :     fc->zeromv_prob[i] =
    4735           0 :         av1_mode_mv_merge_probs(pre_fc->zeromv_prob[i], counts->zeromv_mode[i]);
    4736           0 :   for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
    4737           0 :     fc->refmv_prob[i] =
    4738           0 :         av1_mode_mv_merge_probs(pre_fc->refmv_prob[i], counts->refmv_mode[i]);
    4739             : 
    4740           0 :   for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
    4741           0 :     fc->drl_prob[i] =
    4742           0 :         av1_mode_mv_merge_probs(pre_fc->drl_prob[i], counts->drl_mode[i]);
    4743             : 
    4744             : #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
    4745           0 :   for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i)
    4746           0 :     aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i],
    4747           0 :                          counts->motion_mode[i], fc->motion_mode_prob[i]);
    4748             : #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
    4749           0 :   for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i)
    4750           0 :     fc->obmc_prob[i] =
    4751           0 :         av1_mode_mv_merge_probs(pre_fc->obmc_prob[i], counts->obmc[i]);
    4752             : #endif  // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
    4753             : #endif  // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
    4754             : 
    4755             : #if CONFIG_SUPERTX
    4756             :   for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
    4757             :     for (j = TX_8X8; j < TX_SIZES; ++j) {
    4758             :       fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
    4759             :           pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
    4760             :     }
    4761             :   }
    4762             : #endif  // CONFIG_SUPERTX
    4763             : 
    4764             : #if CONFIG_EXT_INTER
    4765           0 :   for (i = 0; i < INTER_MODE_CONTEXTS; i++)
    4766           0 :     aom_tree_merge_probs(
    4767           0 :         av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
    4768           0 :         counts->inter_compound_mode[i], fc->inter_compound_mode_probs[i]);
    4769             : #if CONFIG_COMPOUND_SINGLEREF
    4770             :   for (i = 0; i < INTER_MODE_CONTEXTS; i++)
    4771             :     aom_tree_merge_probs(av1_inter_singleref_comp_mode_tree,
    4772             :                          pre_fc->inter_singleref_comp_mode_probs[i],
    4773             :                          counts->inter_singleref_comp_mode[i],
    4774             :                          fc->inter_singleref_comp_mode_probs[i]);
    4775             : #endif  // CONFIG_COMPOUND_SINGLEREF
    4776             : #if CONFIG_INTERINTRA
    4777           0 :   if (cm->allow_interintra_compound) {
    4778           0 :     for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) {
    4779           0 :       if (is_interintra_allowed_bsize_group(i))
    4780           0 :         fc->interintra_prob[i] = av1_mode_mv_merge_probs(
    4781           0 :             pre_fc->interintra_prob[i], counts->interintra[i]);
    4782             :     }
    4783           0 :     for (i = 0; i < BLOCK_SIZE_GROUPS; i++) {
    4784           0 :       aom_tree_merge_probs(
    4785           0 :           av1_interintra_mode_tree, pre_fc->interintra_mode_prob[i],
    4786           0 :           counts->interintra_mode[i], fc->interintra_mode_prob[i]);
    4787             :     }
    4788             : #if CONFIG_WEDGE
    4789           0 :     for (i = 0; i < BLOCK_SIZES; ++i) {
    4790           0 :       if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i))
    4791           0 :         fc->wedge_interintra_prob[i] = av1_mode_mv_merge_probs(
    4792           0 :             pre_fc->wedge_interintra_prob[i], counts->wedge_interintra[i]);
    4793             :     }
    4794             : #endif  // CONFIG_WEDGE
    4795             :   }
    4796             : #endif  // CONFIG_INTERINTRA
    4797             : 
    4798             : #if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
    4799           0 :   if (cm->allow_masked_compound) {
    4800           0 :     for (i = 0; i < BLOCK_SIZES; ++i) {
    4801           0 :       aom_tree_merge_probs(
    4802           0 :           av1_compound_type_tree, pre_fc->compound_type_prob[i],
    4803           0 :           counts->compound_interinter[i], fc->compound_type_prob[i]);
    4804             :     }
    4805             :   }
    4806             : #endif  // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
    4807             : #endif  // CONFIG_EXT_INTER
    4808             : 
    4809           0 :   for (i = 0; i < BLOCK_SIZE_GROUPS; i++)
    4810           0 :     aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->y_mode_prob[i],
    4811           0 :                          counts->y_mode[i], fc->y_mode_prob[i]);
    4812             : 
    4813           0 :   if (cm->interp_filter == SWITCHABLE) {
    4814           0 :     for (i = 0; i < SWITCHABLE_FILTER_CONTEXTS; i++)
    4815           0 :       aom_tree_merge_probs(
    4816           0 :           av1_switchable_interp_tree, pre_fc->switchable_interp_prob[i],
    4817           0 :           counts->switchable_interp[i], fc->switchable_interp_prob[i]);
    4818             :   }
    4819           0 : }
    4820             : 
    4821           0 : void av1_adapt_intra_frame_probs(AV1_COMMON *cm) {
    4822             :   int i, j;
    4823           0 :   FRAME_CONTEXT *fc = cm->fc;
    4824           0 :   const FRAME_CONTEXT *pre_fc = cm->pre_fc;
    4825           0 :   const FRAME_COUNTS *counts = &cm->counts;
    4826             : 
    4827           0 :   if (cm->tx_mode == TX_MODE_SELECT) {
    4828           0 :     for (i = 0; i < MAX_TX_DEPTH; ++i) {
    4829           0 :       for (j = 0; j < TX_SIZE_CONTEXTS; ++j)
    4830           0 :         aom_tree_merge_probs(av1_tx_size_tree[i], pre_fc->tx_size_probs[i][j],
    4831           0 :                              counts->tx_size[i][j], fc->tx_size_probs[i][j]);
    4832             :     }
    4833             : #if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
    4834             :     fc->quarter_tx_size_prob = av1_mode_mv_merge_probs(
    4835             :         pre_fc->quarter_tx_size_prob, counts->quarter_tx_size);
    4836             : #endif  // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
    4837             :   }
    4838             : 
    4839             : #if CONFIG_VAR_TX
    4840           0 :   if (cm->tx_mode == TX_MODE_SELECT) {
    4841           0 :     for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
    4842           0 :       fc->txfm_partition_prob[i] = av1_mode_mv_merge_probs(
    4843           0 :           pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
    4844             :   }
    4845             : #endif
    4846             : 
    4847           0 :   for (i = 0; i < SKIP_CONTEXTS; ++i)
    4848           0 :     fc->skip_probs[i] =
    4849           0 :         av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
    4850             : 
    4851             : #if CONFIG_EXT_TX
    4852           0 :   for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
    4853             :     int s;
    4854           0 :     for (s = 1; s < EXT_TX_SETS_INTER; ++s) {
    4855           0 :       if (use_inter_ext_tx_for_txsize[s][i]) {
    4856           0 :         aom_tree_merge_probs(
    4857           0 :             av1_ext_tx_inter_tree[s], pre_fc->inter_ext_tx_prob[s][i],
    4858           0 :             counts->inter_ext_tx[s][i], fc->inter_ext_tx_prob[s][i]);
    4859             :       }
    4860             :     }
    4861           0 :     for (s = 1; s < EXT_TX_SETS_INTRA; ++s) {
    4862           0 :       if (use_intra_ext_tx_for_txsize[s][i]) {
    4863           0 :         for (j = 0; j < INTRA_MODES; ++j)
    4864           0 :           aom_tree_merge_probs(
    4865           0 :               av1_ext_tx_intra_tree[s], pre_fc->intra_ext_tx_prob[s][i][j],
    4866           0 :               counts->intra_ext_tx[s][i][j], fc->intra_ext_tx_prob[s][i][j]);
    4867             :       }
    4868             :     }
    4869             :   }
    4870             : #else
    4871             :   for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
    4872             :     for (j = 0; j < TX_TYPES; ++j) {
    4873             :       aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->intra_ext_tx_prob[i][j],
    4874             :                            counts->intra_ext_tx[i][j],
    4875             :                            fc->intra_ext_tx_prob[i][j]);
    4876             :     }
    4877             :   }
    4878             :   for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
    4879             :     aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->inter_ext_tx_prob[i],
    4880             :                          counts->inter_ext_tx[i], fc->inter_ext_tx_prob[i]);
    4881             :   }
    4882             : #endif  // CONFIG_EXT_TX
    4883             : 
    4884           0 :   if (cm->seg.temporal_update) {
    4885           0 :     for (i = 0; i < PREDICTION_PROBS; i++)
    4886           0 :       fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
    4887           0 :                                                       counts->seg.pred[i]);
    4888             : 
    4889           0 :     aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
    4890           0 :                          counts->seg.tree_mispred, fc->seg.tree_probs);
    4891             :   } else {
    4892           0 :     aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
    4893           0 :                          counts->seg.tree_total, fc->seg.tree_probs);
    4894             :   }
    4895             : 
    4896           0 :   for (i = 0; i < INTRA_MODES; ++i)
    4897           0 :     aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->uv_mode_prob[i],
    4898           0 :                          counts->uv_mode[i], fc->uv_mode_prob[i]);
    4899             : 
    4900             : #if CONFIG_EXT_PARTITION_TYPES
    4901             :   for (i = 0; i < PARTITION_PLOFFSET; ++i)
    4902             :     aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
    4903             :                          counts->partition[i], fc->partition_prob[i]);
    4904             :   for (; i < PARTITION_CONTEXTS_PRIMARY; ++i)
    4905             :     aom_tree_merge_probs(av1_ext_partition_tree, pre_fc->partition_prob[i],
    4906             :                          counts->partition[i], fc->partition_prob[i]);
    4907             : #else
    4908           0 :   for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) {
    4909           0 :     aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
    4910           0 :                          counts->partition[i], fc->partition_prob[i]);
    4911             :   }
    4912             : #endif  // CONFIG_EXT_PARTITION_TYPES
    4913             : #if CONFIG_UNPOISON_PARTITION_CTX
    4914             :   for (i = PARTITION_CONTEXTS_PRIMARY;
    4915             :        i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) {
    4916             :     unsigned int ct[2] = { counts->partition[i][PARTITION_VERT],
    4917             :                            counts->partition[i][PARTITION_SPLIT] };
    4918             :     assert(counts->partition[i][PARTITION_NONE] == 0);
    4919             :     assert(counts->partition[i][PARTITION_HORZ] == 0);
    4920             :     assert(fc->partition_prob[i][PARTITION_NONE] == 0);
    4921             :     assert(fc->partition_prob[i][PARTITION_HORZ] == 0);
    4922             :     fc->partition_prob[i][PARTITION_VERT] =
    4923             :         av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_VERT], ct);
    4924             :   }
    4925             :   for (i = PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES;
    4926             :        i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) {
    4927             :     unsigned int ct[2] = { counts->partition[i][PARTITION_HORZ],
    4928             :                            counts->partition[i][PARTITION_SPLIT] };
    4929             :     assert(counts->partition[i][PARTITION_NONE] == 0);
    4930             :     assert(counts->partition[i][PARTITION_VERT] == 0);
    4931             :     assert(fc->partition_prob[i][PARTITION_NONE] == 0);
    4932             :     assert(fc->partition_prob[i][PARTITION_VERT] == 0);
    4933             :     fc->partition_prob[i][PARTITION_HORZ] =
    4934             :         av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_HORZ], ct);
    4935             :   }
    4936             : #endif
    4937             : #if CONFIG_DELTA_Q
    4938           0 :   for (i = 0; i < DELTA_Q_PROBS; ++i)
    4939           0 :     fc->delta_q_prob[i] =
    4940           0 :         mode_mv_merge_probs(pre_fc->delta_q_prob[i], counts->delta_q[i]);
    4941             : #if CONFIG_EXT_DELTA_Q
    4942           0 :   for (i = 0; i < DELTA_LF_PROBS; ++i)
    4943           0 :     fc->delta_lf_prob[i] =
    4944           0 :         mode_mv_merge_probs(pre_fc->delta_lf_prob[i], counts->delta_lf[i]);
    4945             : #endif  // CONFIG_EXT_DELTA_Q
    4946             : #endif
    4947             : #if CONFIG_EXT_INTRA
    4948             : #if CONFIG_INTRA_INTERP
    4949             :   for (i = 0; i < INTRA_FILTERS + 1; ++i) {
    4950             :     aom_tree_merge_probs(av1_intra_filter_tree, pre_fc->intra_filter_probs[i],
    4951             :                          counts->intra_filter[i], fc->intra_filter_probs[i]);
    4952             :   }
    4953             : #endif  // CONFIG_INTRA_INTERP
    4954             : #endif  // CONFIG_EXT_INTRA
    4955             : #if CONFIG_FILTER_INTRA
    4956             :   for (i = 0; i < PLANE_TYPES; ++i) {
    4957             :     fc->filter_intra_probs[i] = av1_mode_mv_merge_probs(
    4958             :         pre_fc->filter_intra_probs[i], counts->filter_intra[i]);
    4959             :   }
    4960             : #endif  // CONFIG_FILTER_INTRA
    4961           0 : }
    4962             : 
    4963           0 : static void set_default_lf_deltas(struct loopfilter *lf) {
    4964           0 :   lf->mode_ref_delta_enabled = 1;
    4965           0 :   lf->mode_ref_delta_update = 1;
    4966             : 
    4967           0 :   lf->ref_deltas[INTRA_FRAME] = 1;
    4968           0 :   lf->ref_deltas[LAST_FRAME] = 0;
    4969             : #if CONFIG_EXT_REFS
    4970           0 :   lf->ref_deltas[LAST2_FRAME] = lf->ref_deltas[LAST_FRAME];
    4971           0 :   lf->ref_deltas[LAST3_FRAME] = lf->ref_deltas[LAST_FRAME];
    4972           0 :   lf->ref_deltas[BWDREF_FRAME] = lf->ref_deltas[LAST_FRAME];
    4973             : #endif  // CONFIG_EXT_REFS
    4974           0 :   lf->ref_deltas[GOLDEN_FRAME] = -1;
    4975           0 :   lf->ref_deltas[ALTREF_FRAME] = -1;
    4976             : 
    4977           0 :   lf->mode_deltas[0] = 0;
    4978           0 :   lf->mode_deltas[1] = 0;
    4979           0 : }
    4980             : 
    4981           0 : void av1_setup_past_independence(AV1_COMMON *cm) {
    4982             :   // Reset the segment feature data to the default stats:
    4983             :   // Features disabled, 0, with delta coding (Default state).
    4984           0 :   struct loopfilter *const lf = &cm->lf;
    4985             : 
    4986             :   int i;
    4987           0 :   av1_clearall_segfeatures(&cm->seg);
    4988           0 :   cm->seg.abs_delta = SEGMENT_DELTADATA;
    4989             : 
    4990           0 :   if (cm->last_frame_seg_map && !cm->frame_parallel_decode)
    4991           0 :     memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
    4992             : 
    4993           0 :   if (cm->current_frame_seg_map)
    4994           0 :     memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
    4995             : 
    4996             :   // Reset the mode ref deltas for loop filter
    4997           0 :   av1_zero(lf->last_ref_deltas);
    4998           0 :   av1_zero(lf->last_mode_deltas);
    4999           0 :   set_default_lf_deltas(lf);
    5000             : 
    5001             :   // To force update of the sharpness
    5002           0 :   lf->last_sharpness_level = -1;
    5003             : 
    5004           0 :   av1_default_coef_probs(cm);
    5005           0 :   init_mode_probs(cm->fc);
    5006           0 :   av1_init_mv_probs(cm);
    5007             : #if CONFIG_PVQ
    5008             :   av1_default_pvq_probs(cm);
    5009             : #endif  // CONFIG_PVQ
    5010             : #if CONFIG_ADAPT_SCAN
    5011             :   av1_init_scan_order(cm);
    5012             : #endif
    5013           0 :   av1_convolve_init(cm);
    5014           0 :   cm->fc->initialized = 1;
    5015             : 
    5016           0 :   if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode ||
    5017           0 :       cm->reset_frame_context == RESET_FRAME_CONTEXT_ALL) {
    5018             :     // Reset all frame contexts.
    5019           0 :     for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc;
    5020           0 :   } else if (cm->reset_frame_context == RESET_FRAME_CONTEXT_CURRENT) {
    5021             :     // Reset only the frame context specified in the frame header.
    5022           0 :     cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
    5023             :   }
    5024             : 
    5025             :   // prev_mip will only be allocated in encoder.
    5026           0 :   if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode)
    5027           0 :     memset(cm->prev_mip, 0,
    5028           0 :            cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->prev_mip));
    5029             : 
    5030           0 :   cm->frame_context_idx = 0;
    5031           0 : }

Generated by: LCOV version 1.13