/*
 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
 *
 * This source code is subject to the terms of the BSD 2 Clause License and
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
 * was not distributed with this source code in the LICENSE file, you can
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
 * Media Patent License 1.0 was not distributed with this source code in the
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
 */

#include "./aom_config.h"
#include "aom/aom_integer.h"
#include "aom_mem/aom_mem.h"
#include "av1/common/blockd.h"
#include "av1/common/entropy.h"
#include "av1/common/entropymode.h"
#include "av1/common/onyxc_int.h"
#include "av1/common/scan.h"
#if CONFIG_Q_ADAPT_PROBS
#include "av1/common/token_cdfs.h"
#endif  // CONFIG_Q_ADAPT_PROBS
#if CONFIG_LV_MAP
#include "av1/common/txb_common.h"
#endif

// Unconstrained Node Tree
/* clang-format off */
const aom_tree_index av1_coef_con_tree[TREE_SIZE(ENTROPY_TOKENS)] = {
  2, 6,                                // 0 = LOW_VAL
  -TWO_TOKEN, 4,                       // 1 = TWO
  -THREE_TOKEN, -FOUR_TOKEN,           // 2 = THREE
  8, 10,                               // 3 = HIGH_LOW
  -CATEGORY1_TOKEN, -CATEGORY2_TOKEN,  // 4 = CAT_ONE
  12, 14,                              // 5 = CAT_THREEFOUR
  -CATEGORY3_TOKEN, -CATEGORY4_TOKEN,  // 6 = CAT_THREE
  -CATEGORY5_TOKEN, -CATEGORY6_TOKEN   // 7 = CAT_FIVE
};
/* clang-format on */

#if CONFIG_NEW_MULTISYMBOL
/* Extra bits coded from LSB to MSB */
const aom_cdf_prob av1_cat1_cdf0[CDF_SIZE(2)] = { AOM_CDF2(20352) };
const aom_cdf_prob *av1_cat1_cdf[] = { av1_cat1_cdf0 };

const aom_cdf_prob av1_cat2_cdf0[CDF_SIZE(4)] = { AOM_CDF4(11963, 21121,
                                                           27719) };
const aom_cdf_prob *av1_cat2_cdf[] = { av1_cat2_cdf0 };
const aom_cdf_prob av1_cat3_cdf0[CDF_SIZE(8)] = { AOM_CDF8(
    7001, 12802, 17911, 22144, 25503, 28286, 30737) };
const aom_cdf_prob *av1_cat3_cdf[] = { av1_cat3_cdf0 };

const aom_cdf_prob av1_cat4_cdf0[CDF_SIZE(16)] = { AOM_CDF16(
    3934, 7460, 10719, 13640, 16203, 18500, 20624, 22528, 24316, 25919, 27401,
    28729, 29894, 30938, 31903) };
const aom_cdf_prob *av1_cat4_cdf[] = { av1_cat4_cdf0 };

const aom_cdf_prob av1_cat5_cdf0[CDF_SIZE(16)] = { AOM_CDF16(
    2942, 5794, 8473, 11069, 13469, 15795, 17980, 20097, 21952, 23750, 25439,
    27076, 28589, 30056, 31434) };
const aom_cdf_prob av1_cat5_cdf1[CDF_SIZE(2)] = { AOM_CDF2(23040) };
const aom_cdf_prob *av1_cat5_cdf[] = { av1_cat5_cdf0, av1_cat5_cdf1 };

const aom_cdf_prob av1_cat6_cdf0[CDF_SIZE(16)] = { AOM_CDF16(
    2382, 4727, 7036, 9309, 11512, 13681, 15816, 17918, 19892, 21835, 23748,
    25632, 27458, 29255, 31024) };
const aom_cdf_prob av1_cat6_cdf1[CDF_SIZE(16)] = { AOM_CDF16(
    9314, 15584, 19741, 22540, 25391, 27310, 28583, 29440, 30493, 31202, 31672,
    31988, 32310, 32527, 32671) };
const aom_cdf_prob av1_cat6_cdf2[CDF_SIZE(16)] = { AOM_CDF16(
    29548, 31129, 31960, 32004, 32473, 32498, 32511, 32512, 32745, 32757, 32763,
    32764, 32765, 32766, 32767) };
const aom_cdf_prob av1_cat6_cdf3[CDF_SIZE(16)] = { AOM_CDF16(
    32006, 32258, 32510, 32512, 32638, 32639, 32640, 32641, 32761, 32762, 32763,
    32764, 32765, 32766, 32767) };
const aom_cdf_prob av1_cat6_cdf4[CDF_SIZE(4)] = { AOM_CDF4(32513, 32641,
                                                           32767) };
const aom_cdf_prob *av1_cat6_cdf[] = {
  av1_cat6_cdf0, av1_cat6_cdf1, av1_cat6_cdf2, av1_cat6_cdf3, av1_cat6_cdf4
};
#endif
/* Extra bits coded from MSB to LSB */
const aom_prob av1_cat1_prob[] = { 159 };
const aom_prob av1_cat2_prob[] = { 165, 145 };
const aom_prob av1_cat3_prob[] = { 173, 148, 140 };
const aom_prob av1_cat4_prob[] = { 176, 155, 140, 135 };
const aom_prob av1_cat5_prob[] = { 180, 157, 141, 134, 130 };
const aom_prob av1_cat6_prob[] = {
  255, 255, 255, 255, 254, 254, 254, 252, 249,
  243, 230, 196, 177, 153, 140, 133, 130, 129
};

const uint16_t band_count_table[TX_SIZES_ALL][8] = {
  { 1, 2, 3, 4, 3, 16 - 13, 0 },    { 1, 2, 3, 4, 11, 64 - 21, 0 },
  { 1, 2, 3, 4, 11, 256 - 21, 0 },  { 1, 2, 3, 4, 11, 1024 - 21, 0 },
#if CONFIG_TX64X64
  { 1, 2, 3, 4, 11, 4096 - 21, 0 },
#endif  // CONFIG_TX64X64
  { 1, 2, 3, 4, 8, 32 - 18, 0 },    { 1, 2, 3, 4, 8, 32 - 18, 0 },
  { 1, 2, 3, 4, 11, 128 - 21, 0 },  { 1, 2, 3, 4, 11, 128 - 21, 0 },
  { 1, 2, 3, 4, 11, 512 - 21, 0 },  { 1, 2, 3, 4, 11, 512 - 21, 0 },
#if CONFIG_TX64X64
  { 1, 2, 3, 4, 11, 2048 - 21, 0 }, { 1, 2, 3, 4, 11, 2048 - 21, 0 },
#endif  // CONFIG_TX64X64
  { 1, 2, 3, 4, 11, 64 - 21, 0 },   { 1, 2, 3, 4, 11, 64 - 21, 0 },
  { 1, 2, 3, 4, 11, 256 - 21, 0 },  { 1, 2, 3, 4, 11, 256 - 21, 0 },
};

const uint16_t band_cum_count_table[TX_SIZES_ALL][8] = {
  { 0, 1, 3, 6, 10, 13, 16, 0 },   { 0, 1, 3, 6, 10, 21, 64, 0 },
  { 0, 1, 3, 6, 10, 21, 256, 0 },  { 0, 1, 3, 6, 10, 21, 1024, 0 },
#if CONFIG_TX64X64
  { 0, 1, 3, 6, 10, 21, 4096, 0 },
#endif  // CONFIG_TX64X64
  { 0, 1, 3, 6, 10, 18, 32, 0 },   { 0, 1, 3, 6, 10, 18, 32, 0 },
  { 0, 1, 3, 6, 10, 21, 128, 0 },  { 0, 1, 3, 6, 10, 21, 128, 0 },
  { 0, 1, 3, 6, 10, 21, 512, 0 },  { 0, 1, 3, 6, 10, 21, 512, 0 },
#if CONFIG_TX64X64
  { 0, 1, 3, 6, 10, 21, 2048, 0 }, { 0, 1, 3, 6, 10, 21, 2048, 0 },
#endif  // CONFIG_TX64X64
  { 0, 1, 3, 6, 10, 21, 64, 0 },   { 0, 1, 3, 6, 10, 21, 64, 0 },
  { 0, 1, 3, 6, 10, 21, 256, 0 },  { 0, 1, 3, 6, 10, 21, 256, 0 },
};

const uint8_t av1_coefband_trans_8x8plus[MAX_TX_SQUARE] = {
  0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
  // beyond MAXBAND_INDEX+1 all values are filled as 5
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
#if CONFIG_TX64X64
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  5, 5, 5, 5
#endif  // CONFIG_TX64X64
};

const uint8_t av1_coefband_trans_4x8_8x4[32] = {
  0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
  4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
};

const uint8_t av1_coefband_trans_4x4[16] = {
  0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5,
};

const uint8_t av1_pt_energy_class[ENTROPY_TOKENS] = { 0, 1, 2, 3, 3, 4,
                                                      4, 5, 5, 5, 5, 5 };

// Model obtained from a 2-sided zero-centered distribution derived
// from a Pareto distribution. The cdf of the distribution is:
// cdf(x) = 0.5 + 0.5 * sgn(x) * [1 - {alpha/(alpha + |x|)} ^ beta]
//
// For a given beta and a given probablity of the 1-node, the alpha
// is first solved, and then the {alpha, beta} pair is used to generate
// the probabilities for the rest of the nodes.

// beta = 8

// Every odd line in this table can be generated from the even lines
// by averaging :
// av1_pareto8_full[l][node] = (av1_pareto8_full[l-1][node] +
//                              av1_pareto8_full[l+1][node] ) >> 1;
// Values for tokens ONE_TOKEN through CATEGORY6_TOKEN included here.
const aom_prob av1_pareto8_full[COEFF_PROB_MODELS][MODEL_NODES] = {
  { 3, 86, 128, 6, 86, 23, 88, 29 },
  { 6, 86, 128, 11, 87, 42, 91, 52 },
  { 9, 86, 129, 17, 88, 61, 94, 76 },
  { 12, 86, 129, 22, 88, 77, 97, 93 },
  { 15, 87, 129, 28, 89, 93, 100, 110 },
  { 17, 87, 129, 33, 90, 105, 103, 123 },
  { 20, 88, 130, 38, 91, 118, 106, 136 },
  { 23, 88, 130, 43, 91, 128, 108, 146 },
  { 26, 89, 131, 48, 92, 139, 111, 156 },
  { 28, 89, 131, 53, 93, 147, 114, 163 },
  { 31, 90, 131, 58, 94, 156, 117, 171 },
  { 34, 90, 131, 62, 94, 163, 119, 177 },
  { 37, 90, 132, 66, 95, 171, 122, 184 },
  { 39, 90, 132, 70, 96, 177, 124, 189 },
  { 42, 91, 132, 75, 97, 183, 127, 194 },
  { 44, 91, 132, 79, 97, 188, 129, 198 },
  { 47, 92, 133, 83, 98, 193, 132, 202 },
  { 49, 92, 133, 86, 99, 197, 134, 205 },
  { 52, 93, 133, 90, 100, 201, 137, 208 },
  { 54, 93, 133, 94, 100, 204, 139, 211 },
  { 57, 94, 134, 98, 101, 208, 142, 214 },
  { 59, 94, 134, 101, 102, 211, 144, 216 },
  { 62, 94, 135, 105, 103, 214, 146, 218 },
  { 64, 94, 135, 108, 103, 216, 148, 220 },
  { 66, 95, 135, 111, 104, 219, 151, 222 },
  { 68, 95, 135, 114, 105, 221, 153, 223 },
  { 71, 96, 136, 117, 106, 224, 155, 225 },
  { 73, 96, 136, 120, 106, 225, 157, 226 },
  { 76, 97, 136, 123, 107, 227, 159, 228 },
  { 78, 97, 136, 126, 108, 229, 160, 229 },
  { 80, 98, 137, 129, 109, 231, 162, 231 },
  { 82, 98, 137, 131, 109, 232, 164, 232 },
  { 84, 98, 138, 134, 110, 234, 166, 233 },
  { 86, 98, 138, 137, 111, 235, 168, 234 },
  { 89, 99, 138, 140, 112, 236, 170, 235 },
  { 91, 99, 138, 142, 112, 237, 171, 235 },
  { 93, 100, 139, 145, 113, 238, 173, 236 },
  { 95, 100, 139, 147, 114, 239, 174, 237 },
  { 97, 101, 140, 149, 115, 240, 176, 238 },
  { 99, 101, 140, 151, 115, 241, 177, 238 },
  { 101, 102, 140, 154, 116, 242, 179, 239 },
  { 103, 102, 140, 156, 117, 242, 180, 239 },
  { 105, 103, 141, 158, 118, 243, 182, 240 },
  { 107, 103, 141, 160, 118, 243, 183, 240 },
  { 109, 104, 141, 162, 119, 244, 185, 241 },
  { 111, 104, 141, 164, 119, 244, 186, 241 },
  { 113, 104, 142, 166, 120, 245, 187, 242 },
  { 114, 104, 142, 168, 121, 245, 188, 242 },
  { 116, 105, 143, 170, 122, 246, 190, 243 },
  { 118, 105, 143, 171, 122, 246, 191, 243 },
  { 120, 106, 143, 173, 123, 247, 192, 244 },
  { 121, 106, 143, 175, 124, 247, 193, 244 },
  { 123, 107, 144, 177, 125, 248, 195, 244 },
  { 125, 107, 144, 178, 125, 248, 196, 244 },
  { 127, 108, 145, 180, 126, 249, 197, 245 },
  { 128, 108, 145, 181, 127, 249, 198, 245 },
  { 130, 109, 145, 183, 128, 249, 199, 245 },
  { 132, 109, 145, 184, 128, 249, 200, 245 },
  { 134, 110, 146, 186, 129, 250, 201, 246 },
  { 135, 110, 146, 187, 130, 250, 202, 246 },
  { 137, 111, 147, 189, 131, 251, 203, 246 },
  { 138, 111, 147, 190, 131, 251, 204, 246 },
  { 140, 112, 147, 192, 132, 251, 205, 247 },
  { 141, 112, 147, 193, 132, 251, 206, 247 },
  { 143, 113, 148, 194, 133, 251, 207, 247 },
  { 144, 113, 148, 195, 134, 251, 207, 247 },
  { 146, 114, 149, 197, 135, 252, 208, 248 },
  { 147, 114, 149, 198, 135, 252, 209, 248 },
  { 149, 115, 149, 199, 136, 252, 210, 248 },
  { 150, 115, 149, 200, 137, 252, 210, 248 },
  { 152, 115, 150, 201, 138, 252, 211, 248 },
  { 153, 115, 150, 202, 138, 252, 212, 248 },
  { 155, 116, 151, 204, 139, 253, 213, 249 },
  { 156, 116, 151, 205, 139, 253, 213, 249 },
  { 158, 117, 151, 206, 140, 253, 214, 249 },
  { 159, 117, 151, 207, 141, 253, 215, 249 },
  { 161, 118, 152, 208, 142, 253, 216, 249 },
  { 162, 118, 152, 209, 142, 253, 216, 249 },
  { 163, 119, 153, 210, 143, 253, 217, 249 },
  { 164, 119, 153, 211, 143, 253, 217, 249 },
  { 166, 120, 153, 212, 144, 254, 218, 250 },
  { 167, 120, 153, 212, 145, 254, 219, 250 },
  { 168, 121, 154, 213, 146, 254, 220, 250 },
  { 169, 121, 154, 214, 146, 254, 220, 250 },
  { 171, 122, 155, 215, 147, 254, 221, 250 },
  { 172, 122, 155, 216, 147, 254, 221, 250 },
  { 173, 123, 155, 217, 148, 254, 222, 250 },
  { 174, 123, 155, 217, 149, 254, 222, 250 },
  { 176, 124, 156, 218, 150, 254, 223, 250 },
  { 177, 124, 156, 219, 150, 254, 223, 250 },
  { 178, 125, 157, 220, 151, 254, 224, 251 },
  { 179, 125, 157, 220, 151, 254, 224, 251 },
  { 180, 126, 157, 221, 152, 254, 225, 251 },
  { 181, 126, 157, 221, 152, 254, 225, 251 },
  { 183, 127, 158, 222, 153, 254, 226, 251 },
  { 184, 127, 158, 223, 154, 254, 226, 251 },
  { 185, 128, 159, 224, 155, 255, 227, 251 },
  { 186, 128, 159, 224, 155, 255, 227, 251 },
  { 187, 129, 160, 225, 156, 255, 228, 251 },
  { 188, 130, 160, 225, 156, 255, 228, 251 },
  { 189, 131, 160, 226, 157, 255, 228, 251 },
  { 190, 131, 160, 226, 158, 255, 228, 251 },
  { 191, 132, 161, 227, 159, 255, 229, 251 },
  { 192, 132, 161, 227, 159, 255, 229, 251 },
  { 193, 133, 162, 228, 160, 255, 230, 252 },
  { 194, 133, 162, 229, 160, 255, 230, 252 },
  { 195, 134, 163, 230, 161, 255, 231, 252 },
  { 196, 134, 163, 230, 161, 255, 231, 252 },
  { 197, 135, 163, 231, 162, 255, 231, 252 },
  { 198, 135, 163, 231, 162, 255, 231, 252 },
  { 199, 136, 164, 232, 163, 255, 232, 252 },
  { 200, 136, 164, 232, 164, 255, 232, 252 },
  { 201, 137, 165, 233, 165, 255, 233, 252 },
  { 201, 137, 165, 233, 165, 255, 233, 252 },
  { 202, 138, 166, 233, 166, 255, 233, 252 },
  { 203, 138, 166, 233, 166, 255, 233, 252 },
  { 204, 139, 166, 234, 167, 255, 234, 252 },
  { 205, 139, 166, 234, 167, 255, 234, 252 },
  { 206, 140, 167, 235, 168, 255, 235, 252 },
  { 206, 140, 167, 235, 168, 255, 235, 252 },
  { 207, 141, 168, 236, 169, 255, 235, 252 },
  { 208, 141, 168, 236, 170, 255, 235, 252 },
  { 209, 142, 169, 237, 171, 255, 236, 252 },
  { 209, 143, 169, 237, 171, 255, 236, 252 },
  { 210, 144, 169, 237, 172, 255, 236, 252 },
  { 211, 144, 169, 237, 172, 255, 236, 252 },
  { 212, 145, 170, 238, 173, 255, 237, 252 },
  { 213, 145, 170, 238, 173, 255, 237, 252 },
  { 214, 146, 171, 239, 174, 255, 237, 253 },
  { 214, 146, 171, 239, 174, 255, 237, 253 },
  { 215, 147, 172, 240, 175, 255, 238, 253 },
  { 215, 147, 172, 240, 175, 255, 238, 253 },
  { 216, 148, 173, 240, 176, 255, 238, 253 },
  { 217, 148, 173, 240, 176, 255, 238, 253 },
  { 218, 149, 173, 241, 177, 255, 239, 253 },
  { 218, 149, 173, 241, 178, 255, 239, 253 },
  { 219, 150, 174, 241, 179, 255, 239, 253 },
  { 219, 151, 174, 241, 179, 255, 239, 253 },
  { 220, 152, 175, 242, 180, 255, 240, 253 },
  { 221, 152, 175, 242, 180, 255, 240, 253 },
  { 222, 153, 176, 242, 181, 255, 240, 253 },
  { 222, 153, 176, 242, 181, 255, 240, 253 },
  { 223, 154, 177, 243, 182, 255, 240, 253 },
  { 223, 154, 177, 243, 182, 255, 240, 253 },
  { 224, 155, 178, 244, 183, 255, 241, 253 },
  { 224, 155, 178, 244, 183, 255, 241, 253 },
  { 225, 156, 178, 244, 184, 255, 241, 253 },
  { 225, 157, 178, 244, 184, 255, 241, 253 },
  { 226, 158, 179, 244, 185, 255, 242, 253 },
  { 227, 158, 179, 244, 185, 255, 242, 253 },
  { 228, 159, 180, 245, 186, 255, 242, 253 },
  { 228, 159, 180, 245, 186, 255, 242, 253 },
  { 229, 160, 181, 245, 187, 255, 242, 253 },
  { 229, 160, 181, 245, 187, 255, 242, 253 },
  { 230, 161, 182, 246, 188, 255, 243, 253 },
  { 230, 162, 182, 246, 188, 255, 243, 253 },
  { 231, 163, 183, 246, 189, 255, 243, 253 },
  { 231, 163, 183, 246, 189, 255, 243, 253 },
  { 232, 164, 184, 247, 190, 255, 243, 253 },
  { 232, 164, 184, 247, 190, 255, 243, 253 },
  { 233, 165, 185, 247, 191, 255, 244, 253 },
  { 233, 165, 185, 247, 191, 255, 244, 253 },
  { 234, 166, 185, 247, 192, 255, 244, 253 },
  { 234, 167, 185, 247, 192, 255, 244, 253 },
  { 235, 168, 186, 248, 193, 255, 244, 253 },
  { 235, 168, 186, 248, 193, 255, 244, 253 },
  { 236, 169, 187, 248, 194, 255, 244, 253 },
  { 236, 169, 187, 248, 194, 255, 244, 253 },
  { 236, 170, 188, 248, 195, 255, 245, 253 },
  { 236, 170, 188, 248, 195, 255, 245, 253 },
  { 237, 171, 189, 249, 196, 255, 245, 254 },
  { 237, 172, 189, 249, 196, 255, 245, 254 },
  { 238, 173, 190, 249, 197, 255, 245, 254 },
  { 238, 173, 190, 249, 197, 255, 245, 254 },
  { 239, 174, 191, 249, 198, 255, 245, 254 },
  { 239, 174, 191, 249, 198, 255, 245, 254 },
  { 240, 175, 192, 249, 199, 255, 246, 254 },
  { 240, 176, 192, 249, 199, 255, 246, 254 },
  { 240, 177, 193, 250, 200, 255, 246, 254 },
  { 240, 177, 193, 250, 200, 255, 246, 254 },
  { 241, 178, 194, 250, 201, 255, 246, 254 },
  { 241, 178, 194, 250, 201, 255, 246, 254 },
  { 242, 179, 195, 250, 202, 255, 246, 254 },
  { 242, 180, 195, 250, 202, 255, 246, 254 },
  { 242, 181, 196, 250, 203, 255, 247, 254 },
  { 242, 181, 196, 250, 203, 255, 247, 254 },
  { 243, 182, 197, 251, 204, 255, 247, 254 },
  { 243, 183, 197, 251, 204, 255, 247, 254 },
  { 244, 184, 198, 251, 205, 255, 247, 254 },
  { 244, 184, 198, 251, 205, 255, 247, 254 },
  { 244, 185, 199, 251, 206, 255, 247, 254 },
  { 244, 185, 199, 251, 206, 255, 247, 254 },
  { 245, 186, 200, 251, 207, 255, 247, 254 },
  { 245, 187, 200, 251, 207, 255, 247, 254 },
  { 246, 188, 201, 252, 207, 255, 248, 254 },
  { 246, 188, 201, 252, 207, 255, 248, 254 },
  { 246, 189, 202, 252, 208, 255, 248, 254 },
  { 246, 190, 202, 252, 208, 255, 248, 254 },
  { 247, 191, 203, 252, 209, 255, 248, 254 },
  { 247, 191, 203, 252, 209, 255, 248, 254 },
  { 247, 192, 204, 252, 210, 255, 248, 254 },
  { 247, 193, 204, 252, 210, 255, 248, 254 },
  { 248, 194, 205, 252, 211, 255, 248, 254 },
  { 248, 194, 205, 252, 211, 255, 248, 254 },
  { 248, 195, 206, 252, 212, 255, 249, 254 },
  { 248, 196, 206, 252, 212, 255, 249, 254 },
  { 249, 197, 207, 253, 213, 255, 249, 254 },
  { 249, 197, 207, 253, 213, 255, 249, 254 },
  { 249, 198, 208, 253, 214, 255, 249, 254 },
  { 249, 199, 209, 253, 214, 255, 249, 254 },
  { 250, 200, 210, 253, 215, 255, 249, 254 },
  { 250, 200, 210, 253, 215, 255, 249, 254 },
  { 250, 201, 211, 253, 215, 255, 249, 254 },
  { 250, 202, 211, 253, 215, 255, 249, 254 },
  { 250, 203, 212, 253, 216, 255, 249, 254 },
  { 250, 203, 212, 253, 216, 255, 249, 254 },
  { 251, 204, 213, 253, 217, 255, 250, 254 },
  { 251, 205, 213, 253, 217, 255, 250, 254 },
  { 251, 206, 214, 254, 218, 255, 250, 254 },
  { 251, 206, 215, 254, 218, 255, 250, 254 },
  { 252, 207, 216, 254, 219, 255, 250, 254 },
  { 252, 208, 216, 254, 219, 255, 250, 254 },
  { 252, 209, 217, 254, 220, 255, 250, 254 },
  { 252, 210, 217, 254, 220, 255, 250, 254 },
  { 252, 211, 218, 254, 221, 255, 250, 254 },
  { 252, 212, 218, 254, 221, 255, 250, 254 },
  { 253, 213, 219, 254, 222, 255, 250, 254 },
  { 253, 213, 220, 254, 222, 255, 250, 254 },
  { 253, 214, 221, 254, 223, 255, 250, 254 },
  { 253, 215, 221, 254, 223, 255, 250, 254 },
  { 253, 216, 222, 254, 224, 255, 251, 254 },
  { 253, 217, 223, 254, 224, 255, 251, 254 },
  { 253, 218, 224, 254, 225, 255, 251, 254 },
  { 253, 219, 224, 254, 225, 255, 251, 254 },
  { 254, 220, 225, 254, 225, 255, 251, 254 },
  { 254, 221, 226, 254, 225, 255, 251, 254 },
  { 254, 222, 227, 255, 226, 255, 251, 254 },
  { 254, 223, 227, 255, 226, 255, 251, 254 },
  { 254, 224, 228, 255, 227, 255, 251, 254 },
  { 254, 225, 229, 255, 227, 255, 251, 254 },
  { 254, 226, 230, 255, 228, 255, 251, 254 },
  { 254, 227, 230, 255, 229, 255, 251, 254 },
  { 255, 228, 231, 255, 230, 255, 251, 254 },
  { 255, 229, 232, 255, 230, 255, 251, 254 },
  { 255, 230, 233, 255, 231, 255, 252, 254 },
  { 255, 231, 234, 255, 231, 255, 252, 254 },
  { 255, 232, 235, 255, 232, 255, 252, 254 },
  { 255, 233, 236, 255, 232, 255, 252, 254 },
  { 255, 235, 237, 255, 233, 255, 252, 254 },
  { 255, 236, 238, 255, 234, 255, 252, 254 },
  { 255, 238, 240, 255, 235, 255, 252, 255 },
  { 255, 239, 241, 255, 235, 255, 252, 254 },
  { 255, 241, 243, 255, 236, 255, 252, 254 },
  { 255, 243, 245, 255, 237, 255, 252, 254 },
  { 255, 246, 247, 255, 239, 255, 253, 255 },
};

// Model obtained from a 2-sided zero-centered distribution derived
// from a Pareto distribution. The cdf of the distribution is:
// cdf(x) = 0.5 + 0.5 * sgn(x) * [1 - {alpha/(alpha + |x|)} ^ beta]
//
// For a given beta and a given probability of the 1-node, the alpha
// is first solved, and then the {alpha, beta} pair is used to generate
// the probabilities for the rest of the nodes.
//
// The full source code of the generating program is available in:
// tools/gen_constrained_tokenset.py
//
// Values for tokens TWO_TOKEN through CATEGORY6_TOKEN included
// in the table here : the ONE_TOKEN probability is
// removed and the probabilities rescaled.
//
// ZERO_TOKEN and ONE_TOKEN are coded as one CDF,
// and EOB_TOKEN is coded as flags outside this coder.
const aom_cdf_prob av1_pareto8_tail_probs[COEFF_PROB_MODELS][TAIL_NODES] = {
  { 128, 127, 127, 252, 497, 969, 1839, 3318, 25511 },
  { 256, 254, 251, 496, 966, 1834, 3308, 5408, 19995 },
  { 383, 378, 373, 732, 1408, 2605, 4470, 6646, 15773 },
  { 511, 502, 493, 961, 1824, 3289, 5373, 7298, 12517 },
  { 638, 625, 611, 1182, 2215, 3894, 6064, 7548, 9991 },
  { 766, 746, 726, 1396, 2582, 4428, 6578, 7529, 8017 },
  { 893, 866, 839, 1603, 2927, 4896, 6945, 7332, 6467 },
  { 1020, 984, 950, 1803, 3250, 5305, 7191, 7022, 5243 },
  { 1147, 1102, 1059, 1996, 3552, 5659, 7338, 6646, 4269 },
  { 1274, 1218, 1166, 2183, 3835, 5963, 7403, 6234, 3492 },
  { 1400, 1334, 1270, 2363, 4099, 6223, 7401, 5809, 2869 },
  { 1527, 1447, 1372, 2537, 4345, 6442, 7346, 5386, 2366 },
  { 1654, 1560, 1473, 2704, 4574, 6624, 7247, 4973, 1959 },
  { 1780, 1672, 1571, 2866, 4787, 6771, 7114, 4579, 1628 },
  { 1906, 1782, 1667, 3022, 4984, 6889, 6954, 4206, 1358 },
  { 2032, 1891, 1762, 3172, 5167, 6979, 6773, 3856, 1136 },
  { 2158, 2000, 1854, 3316, 5335, 7044, 6577, 3530, 954 },
  { 2284, 2106, 1944, 3455, 5490, 7087, 6370, 3229, 803 },
  { 2410, 2212, 2032, 3588, 5632, 7109, 6155, 2951, 679 },
  { 2535, 2317, 2119, 3717, 5761, 7113, 5936, 2695, 575 },
  { 2661, 2420, 2203, 3840, 5880, 7101, 5714, 2461, 488 },
  { 2786, 2522, 2286, 3958, 5987, 7074, 5493, 2246, 416 },
  { 2911, 2624, 2367, 4072, 6083, 7033, 5273, 2050, 355 },
  { 3037, 2724, 2446, 4180, 6170, 6981, 5055, 1871, 304 },
  { 3162, 2822, 2523, 4284, 6247, 6919, 4842, 1708, 261 },
  { 3286, 2920, 2599, 4384, 6315, 6848, 4633, 1559, 224 },
  { 3411, 3017, 2672, 4478, 6374, 6768, 4430, 1424, 194 },
  { 3536, 3112, 2745, 4569, 6426, 6681, 4232, 1300, 167 },
  { 3660, 3207, 2815, 4656, 6469, 6588, 4040, 1188, 145 },
  { 3785, 3300, 2883, 4738, 6505, 6490, 3855, 1086, 126 },
  { 3909, 3392, 2950, 4817, 6534, 6387, 3677, 993, 109 },
  { 4033, 3483, 3015, 4891, 6557, 6281, 3505, 908, 95 },
  { 4157, 3573, 3079, 4962, 6573, 6170, 3340, 831, 83 },
  { 4281, 3662, 3141, 5029, 6584, 6058, 3181, 760, 72 },
  { 4405, 3750, 3201, 5093, 6588, 5943, 3029, 696, 63 },
  { 4529, 3837, 3260, 5152, 6587, 5826, 2883, 638, 56 },
  { 4652, 3922, 3317, 5209, 6582, 5709, 2744, 584, 49 },
  { 4775, 4007, 3373, 5262, 6572, 5590, 2610, 536, 43 },
  { 4899, 4090, 3427, 5312, 6557, 5470, 2483, 492, 38 },
  { 5022, 4173, 3480, 5359, 6538, 5351, 2361, 451, 33 },
  { 5145, 4254, 3531, 5403, 6515, 5231, 2246, 414, 29 },
  { 5268, 4334, 3581, 5443, 6489, 5112, 2135, 380, 26 },
  { 5391, 4414, 3629, 5481, 6458, 4993, 2029, 350, 23 },
  { 5514, 4492, 3676, 5515, 6425, 4875, 1929, 321, 21 },
  { 5637, 4569, 3721, 5548, 6388, 4758, 1833, 296, 18 },
  { 5759, 4645, 3766, 5577, 6349, 4642, 1742, 272, 16 },
  { 5881, 4720, 3808, 5604, 6307, 4528, 1656, 250, 14 },
  { 6004, 4794, 3849, 5628, 6262, 4414, 1573, 231, 13 },
  { 6126, 4867, 3890, 5649, 6215, 4302, 1495, 213, 11 },
  { 6248, 4939, 3928, 5669, 6166, 4192, 1420, 196, 10 },
  { 6370, 5010, 3966, 5686, 6114, 4083, 1349, 181, 9 },
  { 6492, 5080, 4002, 5700, 6061, 3976, 1282, 167, 8 },
  { 6614, 5149, 4037, 5712, 6006, 3871, 1218, 154, 7 },
  { 6735, 5217, 4070, 5723, 5950, 3767, 1157, 142, 7 },
  { 6857, 5284, 4103, 5731, 5891, 3666, 1099, 131, 6 },
  { 6978, 5351, 4134, 5737, 5832, 3566, 1044, 121, 5 },
  { 7099, 5415, 4164, 5741, 5771, 3469, 992, 112, 5 },
  { 7221, 5479, 4192, 5743, 5709, 3373, 943, 104, 4 },
  { 7342, 5542, 4220, 5743, 5646, 3279, 896, 96, 4 },
  { 7462, 5604, 4246, 5742, 5583, 3187, 851, 89, 4 },
  { 7584, 5665, 4272, 5739, 5518, 3097, 808, 82, 3 },
  { 7704, 5725, 4296, 5734, 5453, 3009, 768, 76, 3 },
  { 7825, 5784, 4318, 5727, 5386, 2924, 730, 71, 3 },
  { 7945, 5843, 4341, 5719, 5320, 2840, 693, 65, 2 },
  { 8066, 5900, 4361, 5709, 5252, 2758, 659, 61, 2 },
  { 8186, 5956, 4381, 5698, 5185, 2678, 626, 56, 2 },
  { 8306, 6011, 4400, 5685, 5117, 2600, 595, 52, 2 },
  { 8426, 6066, 4418, 5671, 5049, 2523, 565, 48, 2 },
  { 8547, 6119, 4434, 5655, 4981, 2449, 537, 45, 1 },
  { 8666, 6171, 4450, 5638, 4912, 2377, 511, 42, 1 },
  { 8786, 6223, 4465, 5620, 4843, 2306, 485, 39, 1 },
  { 8906, 6274, 4478, 5600, 4775, 2237, 461, 36, 1 },
  { 9025, 6323, 4491, 5580, 4706, 2170, 438, 34, 1 },
  { 9144, 6372, 4503, 5558, 4637, 2105, 417, 31, 1 },
  { 9264, 6420, 4514, 5535, 4568, 2041, 396, 29, 1 },
  { 9383, 6467, 4524, 5511, 4500, 1979, 376, 27, 1 },
  { 9502, 6513, 4532, 5486, 4432, 1919, 358, 25, 1 },
  { 9621, 6558, 4541, 5460, 4364, 1860, 340, 23, 1 },
  { 9740, 6602, 4548, 5433, 4296, 1803, 323, 22, 1 },
  { 9859, 6645, 4554, 5405, 4229, 1748, 307, 20, 1 },
  { 9978, 6688, 4559, 5376, 4161, 1694, 292, 19, 1 },
  { 10096, 6729, 4564, 5347, 4094, 1641, 278, 18, 1 },
  { 10215, 6770, 4568, 5316, 4028, 1590, 264, 16, 1 },
  { 10333, 6809, 4571, 5285, 3962, 1541, 251, 15, 1 },
  { 10452, 6848, 4573, 5253, 3896, 1492, 239, 14, 1 },
  { 10570, 6886, 4574, 5220, 3831, 1446, 227, 13, 1 },
  { 10688, 6923, 4575, 5186, 3767, 1400, 216, 12, 1 },
  { 10806, 6959, 4575, 5152, 3702, 1356, 205, 12, 1 },
  { 10924, 6994, 4574, 5117, 3639, 1313, 195, 11, 1 },
  { 11041, 7029, 4572, 5082, 3576, 1271, 186, 10, 1 },
  { 11159, 7062, 4570, 5046, 3513, 1231, 177, 9, 1 },
  { 11277, 7095, 4566, 5009, 3451, 1192, 168, 9, 1 },
  { 11394, 7127, 4563, 4972, 3390, 1153, 160, 8, 1 },
  { 11512, 7158, 4558, 4934, 3329, 1116, 152, 8, 1 },
  { 11629, 7188, 4553, 4896, 3269, 1080, 145, 7, 1 },
  { 11746, 7217, 4547, 4857, 3210, 1045, 138, 7, 1 },
  { 11864, 7245, 4540, 4818, 3151, 1012, 131, 6, 1 },
  { 11980, 7273, 4533, 4779, 3093, 979, 124, 6, 1 },
  { 12097, 7300, 4525, 4739, 3035, 947, 118, 6, 1 },
  { 12215, 7326, 4516, 4698, 2978, 916, 113, 5, 1 },
  { 12331, 7351, 4507, 4658, 2922, 886, 107, 5, 1 },
  { 12448, 7375, 4497, 4617, 2866, 857, 102, 5, 1 },
  { 12564, 7398, 4487, 4576, 2812, 829, 97, 4, 1 },
  { 12681, 7421, 4476, 4534, 2757, 802, 92, 4, 1 },
  { 12797, 7443, 4464, 4492, 2704, 775, 88, 4, 1 },
  { 12914, 7464, 4452, 4450, 2651, 749, 84, 3, 1 },
  { 13030, 7484, 4439, 4408, 2599, 725, 79, 3, 1 },
  { 13147, 7503, 4426, 4365, 2547, 700, 76, 3, 1 },
  { 13262, 7522, 4412, 4322, 2497, 677, 72, 3, 1 },
  { 13378, 7539, 4398, 4280, 2447, 654, 68, 3, 1 },
  { 13494, 7556, 4383, 4237, 2397, 632, 65, 3, 1 },
  { 13610, 7573, 4368, 4193, 2348, 611, 62, 2, 1 },
  { 13726, 7588, 4352, 4150, 2300, 590, 59, 2, 1 },
  { 13841, 7602, 4335, 4107, 2253, 571, 56, 2, 1 },
  { 13957, 7616, 4318, 4063, 2207, 551, 53, 2, 1 },
  { 14072, 7629, 4301, 4019, 2161, 532, 51, 2, 1 },
  { 14188, 7641, 4283, 3976, 2115, 514, 48, 2, 1 },
  { 14302, 7652, 4265, 3932, 2071, 497, 46, 2, 1 },
  { 14418, 7663, 4246, 3888, 2027, 480, 44, 1, 1 },
  { 14533, 7673, 4227, 3844, 1984, 463, 42, 1, 1 },
  { 14649, 7682, 4207, 3800, 1941, 447, 40, 1, 1 },
  { 14763, 7690, 4187, 3757, 1899, 432, 38, 1, 1 },
  { 14878, 7698, 4166, 3713, 1858, 417, 36, 1, 1 },
  { 14993, 7705, 4146, 3669, 1817, 402, 34, 1, 1 },
  { 15109, 7711, 4124, 3625, 1777, 388, 32, 1, 1 },
  { 15223, 7715, 4103, 3581, 1738, 375, 31, 1, 1 },
  { 15337, 7720, 4081, 3538, 1699, 362, 29, 1, 1 },
  { 15452, 7724, 4058, 3494, 1661, 349, 28, 1, 1 },
  { 15567, 7727, 4035, 3450, 1624, 337, 26, 1, 1 },
  { 15681, 7729, 4012, 3407, 1587, 325, 25, 1, 1 },
  { 15795, 7730, 3989, 3364, 1551, 313, 24, 1, 1 },
  { 15909, 7731, 3965, 3320, 1516, 302, 23, 1, 1 },
  { 16024, 7731, 3940, 3277, 1481, 291, 22, 1, 1 },
  { 16138, 7730, 3916, 3234, 1446, 281, 21, 1, 1 },
  { 16252, 7728, 3891, 3191, 1413, 271, 20, 1, 1 },
  { 16366, 7726, 3866, 3148, 1380, 261, 19, 1, 1 },
  { 16480, 7723, 3840, 3106, 1347, 252, 18, 1, 1 },
  { 16594, 7720, 3814, 3063, 1315, 243, 17, 1, 1 },
  { 16708, 7715, 3788, 3021, 1284, 234, 16, 1, 1 },
  { 16822, 7710, 3762, 2979, 1253, 225, 15, 1, 1 },
  { 16936, 7704, 3735, 2937, 1223, 217, 14, 1, 1 },
  { 17050, 7697, 3708, 2895, 1193, 209, 14, 1, 1 },
  { 17162, 7690, 3681, 2854, 1164, 202, 13, 1, 1 },
  { 17276, 7682, 3654, 2812, 1136, 194, 12, 1, 1 },
  { 17389, 7673, 3626, 2771, 1108, 187, 12, 1, 1 },
  { 17504, 7663, 3598, 2730, 1080, 180, 11, 1, 1 },
  { 17617, 7653, 3570, 2689, 1053, 173, 11, 1, 1 },
  { 17730, 7642, 3541, 2649, 1027, 167, 10, 1, 1 },
  { 17843, 7630, 3513, 2608, 1001, 161, 10, 1, 1 },
  { 17957, 7618, 3484, 2569, 975, 154, 9, 1, 1 },
  { 18069, 7605, 3455, 2529, 950, 149, 9, 1, 1 },
  { 18183, 7591, 3426, 2489, 926, 143, 8, 1, 1 },
  { 18296, 7576, 3396, 2450, 902, 138, 8, 1, 1 },
  { 18410, 7562, 3366, 2411, 878, 132, 7, 1, 1 },
  { 18523, 7545, 3337, 2372, 855, 127, 7, 1, 1 },
  { 18636, 7529, 3306, 2333, 833, 122, 7, 1, 1 },
  { 18749, 7511, 3276, 2295, 811, 118, 6, 1, 1 },
  { 18862, 7493, 3246, 2257, 789, 113, 6, 1, 1 },
  { 18975, 7474, 3215, 2219, 768, 109, 6, 1, 1 },
  { 19088, 7455, 3185, 2182, 747, 104, 5, 1, 1 },
  { 19201, 7435, 3154, 2144, 727, 100, 5, 1, 1 },
  { 19314, 7414, 3123, 2107, 707, 96, 5, 1, 1 },
  { 19427, 7392, 3092, 2071, 687, 92, 5, 1, 1 },
  { 19541, 7370, 3060, 2034, 668, 89, 4, 1, 1 },
  { 19654, 7347, 3029, 1998, 649, 85, 4, 1, 1 },
  { 19766, 7323, 2997, 1963, 631, 82, 4, 1, 1 },
  { 19878, 7299, 2966, 1927, 613, 79, 4, 1, 1 },
  { 19991, 7274, 2934, 1892, 596, 75, 4, 1, 1 },
  { 20105, 7248, 2902, 1857, 579, 72, 3, 1, 1 },
  { 20218, 7222, 2870, 1822, 562, 69, 3, 1, 1 },
  { 20331, 7195, 2838, 1788, 545, 66, 3, 1, 1 },
  { 20443, 7167, 2806, 1754, 529, 64, 3, 1, 1 },
  { 20556, 7138, 2774, 1720, 514, 61, 3, 1, 1 },
  { 20670, 7109, 2741, 1687, 498, 58, 3, 1, 1 },
  { 20783, 7079, 2709, 1654, 483, 56, 2, 1, 1 },
  { 20895, 7049, 2676, 1621, 469, 54, 2, 1, 1 },
  { 21008, 7017, 2644, 1589, 455, 51, 2, 1, 1 },
  { 21121, 6985, 2611, 1557, 441, 49, 2, 1, 1 },
  { 21234, 6953, 2578, 1525, 427, 47, 2, 1, 1 },
  { 21347, 6919, 2545, 1494, 414, 45, 2, 1, 1 },
  { 21460, 6885, 2513, 1462, 401, 43, 2, 1, 1 },
  { 21573, 6850, 2480, 1432, 388, 41, 2, 1, 1 },
  { 21687, 6815, 2447, 1401, 375, 39, 2, 1, 1 },
  { 21801, 6778, 2414, 1371, 363, 38, 1, 1, 1 },
  { 21914, 6741, 2381, 1341, 352, 36, 1, 1, 1 },
  { 22028, 6704, 2348, 1311, 340, 34, 1, 1, 1 },
  { 22141, 6665, 2315, 1282, 329, 33, 1, 1, 1 },
  { 22255, 6626, 2282, 1253, 318, 31, 1, 1, 1 },
  { 22368, 6586, 2249, 1225, 307, 30, 1, 1, 1 },
  { 22482, 6546, 2216, 1196, 297, 28, 1, 1, 1 },
  { 22595, 6505, 2183, 1169, 286, 27, 1, 1, 1 },
  { 22709, 6463, 2149, 1141, 277, 26, 1, 1, 1 },
  { 22823, 6420, 2116, 1114, 267, 25, 1, 1, 1 },
  { 22938, 6377, 2083, 1087, 257, 23, 1, 1, 1 },
  { 23053, 6332, 2050, 1060, 248, 22, 1, 1, 1 },
  { 23167, 6287, 2017, 1034, 239, 21, 1, 1, 1 },
  { 23280, 6242, 1984, 1008, 231, 20, 1, 1, 1 },
  { 23396, 6195, 1951, 982, 222, 19, 1, 1, 1 },
  { 23510, 6148, 1918, 957, 214, 18, 1, 1, 1 },
  { 23625, 6100, 1885, 932, 206, 17, 1, 1, 1 },
  { 23741, 6051, 1852, 907, 198, 16, 1, 1, 1 },
  { 23855, 6002, 1819, 883, 190, 16, 1, 1, 1 },
  { 23971, 5951, 1786, 859, 183, 15, 1, 1, 1 },
  { 24087, 5900, 1753, 835, 176, 14, 1, 1, 1 },
  { 24203, 5848, 1720, 812, 169, 13, 1, 1, 1 },
  { 24318, 5796, 1687, 789, 162, 13, 1, 1, 1 },
  { 24435, 5742, 1655, 766, 155, 12, 1, 1, 1 },
  { 24552, 5688, 1622, 743, 149, 11, 1, 1, 1 },
  { 24669, 5632, 1589, 721, 143, 11, 1, 1, 1 },
  { 24786, 5576, 1557, 699, 137, 10, 1, 1, 1 },
  { 24903, 5519, 1524, 678, 131, 10, 1, 1, 1 },
  { 25021, 5462, 1491, 657, 125, 9, 1, 1, 1 },
  { 25139, 5403, 1459, 636, 120, 8, 1, 1, 1 },
  { 25258, 5343, 1427, 615, 114, 8, 1, 1, 1 },
  { 25376, 5283, 1394, 595, 109, 8, 1, 1, 1 },
  { 25496, 5221, 1362, 575, 104, 7, 1, 1, 1 },
  { 25614, 5159, 1330, 556, 99, 7, 1, 1, 1 },
  { 25735, 5096, 1298, 536, 94, 6, 1, 1, 1 },
  { 25856, 5031, 1265, 517, 90, 6, 1, 1, 1 },
  { 25977, 4966, 1233, 499, 85, 5, 1, 1, 1 },
  { 26098, 4899, 1202, 480, 81, 5, 1, 1, 1 },
  { 26220, 4831, 1170, 462, 77, 5, 1, 1, 1 },
  { 26343, 4763, 1138, 444, 73, 4, 1, 1, 1 },
  { 26466, 4693, 1106, 427, 69, 4, 1, 1, 1 },
  { 26589, 4622, 1075, 410, 65, 4, 1, 1, 1 },
  { 26713, 4550, 1043, 393, 62, 4, 1, 1, 1 },
  { 26840, 4476, 1012, 376, 58, 3, 1, 1, 1 },
  { 26966, 4401, 980, 360, 55, 3, 1, 1, 1 },
  { 27092, 4325, 949, 344, 52, 3, 1, 1, 1 },
  { 27220, 4248, 918, 328, 48, 3, 1, 1, 1 },
  { 27350, 4169, 886, 313, 45, 2, 1, 1, 1 },
  { 27480, 4088, 855, 298, 42, 2, 1, 1, 1 },
  { 27610, 4006, 824, 283, 40, 2, 1, 1, 1 },
  { 27743, 3922, 793, 268, 37, 2, 1, 1, 1 },
  { 27876, 3837, 762, 254, 34, 2, 1, 1, 1 },
  { 28011, 3749, 731, 240, 32, 2, 1, 1, 1 },
  { 28147, 3659, 701, 227, 30, 1, 1, 1, 1 },
  { 28286, 3568, 670, 213, 27, 1, 1, 1, 1 },
  { 28426, 3474, 639, 200, 25, 1, 1, 1, 1 },
  { 28569, 3377, 608, 187, 23, 1, 1, 1, 1 },
  { 28714, 3278, 577, 174, 21, 1, 1, 1, 1 },
  { 28860, 3176, 547, 162, 19, 1, 1, 1, 1 },
  { 29010, 3071, 516, 150, 17, 1, 1, 1, 1 },
  { 29163, 2962, 485, 138, 16, 1, 1, 1, 1 },
  { 29320, 2849, 454, 127, 14, 1, 1, 1, 1 },
  { 29483, 2731, 423, 115, 12, 1, 1, 1, 1 },
  { 29650, 2608, 391, 104, 11, 1, 1, 1, 1 },
  { 29823, 2479, 360, 93, 9, 1, 1, 1, 1 },
  { 30002, 2343, 328, 83, 8, 1, 1, 1, 1 },
  { 30192, 2198, 295, 72, 7, 1, 1, 1, 1 },
  { 30393, 2041, 262, 62, 6, 1, 1, 1, 1 },
  { 30612, 1869, 227, 52, 4, 1, 1, 1, 1 },
  { 30853, 1676, 191, 41, 3, 1, 1, 1, 1 },
  { 31131, 1448, 152, 31, 2, 1, 1, 1, 1 },
  { 31486, 1150, 107, 20, 1, 1, 1, 1, 1 },
};

#if !CONFIG_Q_ADAPT_PROBS
static const coeff_cdf_model default_coef_head_cdf_4x4[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { AOM_CDF6(25024, 25863, 27361, 29796, 30374) },
        { AOM_CDF6(10816, 14127, 17116, 23516, 24999) },
        { AOM_CDF6(1088, 6358, 8428, 16648, 18276) } },
      { // Band 1
        { AOM_CDF5(14529, 18769, 29100, 29634) },
        { AOM_CDF5(12993, 17117, 28404, 28988) },
        { AOM_CDF5(11201, 14084, 25818, 26504) },
        { AOM_CDF5(9793, 11267, 21775, 22451) },
        { AOM_CDF5(7105, 7562, 15777, 16225) },
        { AOM_CDF5(3905, 3966, 8359, 8526) } },
      { // Band 2
        { AOM_CDF5(20033, 23643, 31102, 31374) },
        { AOM_CDF5(16321, 20350, 30167, 30546) },
        { AOM_CDF5(12993, 15512, 26859, 27396) },
        { AOM_CDF5(10305, 11659, 21669, 22330) },
        { AOM_CDF5(7361, 7819, 15450, 15940) },
        { AOM_CDF5(3521, 3580, 7805, 7976) } },
      { // Band 3
        { AOM_CDF5(21057, 25460, 31740, 31952) },
        { AOM_CDF5(16449, 21173, 30761, 31092) },
        { AOM_CDF5(11841, 14615, 26188, 26824) },
        { AOM_CDF5(7745, 8991, 18937, 19707) },
        { AOM_CDF5(4417, 4706, 10342, 10890) },
        { AOM_CDF5(7617, 8392, 17295, 17915) } },
      { // Band 4
        { AOM_CDF5(20417, 26452, 32166, 32321) },
        { AOM_CDF5(15809, 21634, 30947, 31298) },
        { AOM_CDF5(10049, 12176, 23495, 24229) },
        { AOM_CDF5(5953, 6731, 16166, 16798) },
        { AOM_CDF5(6081, 6188, 8114, 8764) },
        { AOM_CDF5(2113, 2291, 4448, 5527) } },
      { // Band 5
        { AOM_CDF5(9153, 25905, 31431, 31934) },
        { AOM_CDF5(9025, 23345, 30033, 30965) },
        { AOM_CDF5(5953, 13835, 22032, 24664) },
        { AOM_CDF5(6337, 11435, 18366, 21418) },
        { AOM_CDF5(3137, 4871, 8519, 12426) },
        { AOM_CDF5(1857, 2727, 5540, 8757) } } },
    {   // Intra
      { // Band 0
        { AOM_CDF6(24512, 26673, 28962, 31929, 32126) },
        { AOM_CDF6(15936, 21711, 25569, 30899, 31305) },
        { AOM_CDF6(3264, 14756, 20107, 29407, 30032) } },
      { // Band 1
        { AOM_CDF5(21313, 26020, 32523, 32575) },
        { AOM_CDF5(18369, 24215, 32291, 32391) },
        { AOM_CDF5(15297, 19637, 30414, 30752) },
        { AOM_CDF5(11713, 14040, 25408, 26033) },
        { AOM_CDF5(9537, 10173, 18839, 19315) },
        { AOM_CDF5(9025, 9093, 13987, 14115) } },
      { // Band 2
        { AOM_CDF5(22721, 27599, 32592, 32636) },
        { AOM_CDF5(19009, 24676, 32258, 32367) },
        { AOM_CDF5(12737, 16769, 28739, 29247) },
        { AOM_CDF5(8769, 10956, 21941, 22840) },
        { AOM_CDF5(6721, 7678, 15319, 16290) },
        { AOM_CDF5(4417, 4430, 4583, 5712) } },
      { // Band 3
        { AOM_CDF5(22849, 28333, 32633, 32671) },
        { AOM_CDF5(18497, 24619, 32184, 32315) },
        { AOM_CDF5(11841, 14640, 27251, 27752) },
        { AOM_CDF5(8385, 10154, 18339, 19621) },
        { AOM_CDF5(5697, 6977, 13787, 15289) },
        { AOM_CDF5(193, 194, 384, 479) } },
      { // Band 4
        { AOM_CDF5(20417, 28167, 32552, 32621) },
        { AOM_CDF5(16833, 23968, 31991, 32174) },
        { AOM_CDF5(10433, 13387, 26356, 26951) },
        { AOM_CDF5(5057, 6823, 18967, 19843) },
        { AOM_CDF5(5697, 6479, 11672, 13052) },
        { AOM_CDF5(2241, 2265, 6355, 6432) } },
      { // Band 5
        { AOM_CDF5(12097, 28717, 32406, 32555) },
        { AOM_CDF5(10433, 26113, 31504, 31975) },
        { AOM_CDF5(5825, 14284, 21349, 24461) },
        { AOM_CDF5(4545, 8454, 12648, 17501) },
        { AOM_CDF5(193, 7173, 15272, 19322) },
        { AOM_CDF5(2113, 2183, 7202, 7377) } } } },
  {     // UV plane
    {   // Inter
      { // Band 0
        { AOM_CDF6(27456, 28244, 31289, 32358, 32534) },
        { AOM_CDF6(16960, 21207, 26511, 30539, 31190) },
        { AOM_CDF6(5440, 13412, 18469, 26423, 27669) } },
      { // Band 1
        { AOM_CDF5(17857, 26327, 31983, 32219) },
        { AOM_CDF5(16065, 24198, 31431, 31785) },
        { AOM_CDF5(12865, 18011, 28454, 29166) },
        { AOM_CDF5(9665, 12501, 24331, 25147) },
        { AOM_CDF5(2753, 3121, 12661, 13034) },
        { AOM_CDF5(4033, 4140, 11834, 11977) } },
      { // Band 2
        { AOM_CDF5(21185, 28338, 32249, 32417) },
        { AOM_CDF5(18497, 25227, 31905, 32122) },
        { AOM_CDF5(12097, 16516, 28610, 29166) },
        { AOM_CDF5(9281, 11157, 21438, 22312) },
        { AOM_CDF5(5697, 6566, 15585, 16340) },
        { AOM_CDF5(9409, 9659, 11827, 12911) } },
      { // Band 3
        { AOM_CDF5(22337, 29459, 32382, 32519) },
        { AOM_CDF5(16961, 25262, 31874, 32123) },
        { AOM_CDF5(12353, 17748, 29300, 29852) },
        { AOM_CDF5(9025, 11528, 24468, 25141) },
        { AOM_CDF5(6209, 6565, 15806, 16121) },
        { AOM_CDF5(2497, 2524, 7050, 7125) } },
      { // Band 4
        { AOM_CDF5(20417, 29779, 32552, 32636) },
        { AOM_CDF5(15553, 26420, 32063, 32295) },
        { AOM_CDF5(9665, 17946, 29385, 30096) },
        { AOM_CDF5(5569, 10207, 22410, 23836) },
        { AOM_CDF5(16449, 16450, 16545, 16593) },
        { AOM_CDF5(2369, 2395, 6822, 6898) } },
      { // Band 5
        { AOM_CDF5(10177, 30567, 32725, 32745) },
        { AOM_CDF5(9537, 28243, 32179, 32423) },
        { AOM_CDF5(13377, 23187, 29322, 30382) },
        { AOM_CDF5(13121, 21346, 29507, 30326) },
        { AOM_CDF5(4417, 4939, 15104, 15535) },
        { AOM_CDF5(2625, 2680, 8218, 8338) } } },
    {   // Inter
      { // Band 0
        { AOM_CDF6(29376, 30098, 32421, 32766, 32767) },
        { AOM_CDF6(18368, 22916, 30116, 32541, 32650) },
        { AOM_CDF6(5952, 16505, 25955, 32163, 32365) } },
      { // Band 1
        { AOM_CDF5(19649, 30160, 32743, 32753) },
        { AOM_CDF5(18881, 28724, 32688, 32717) },
        { AOM_CDF5(16833, 23053, 31244, 31573) },
        { AOM_CDF5(14657, 17714, 26083, 26978) },
        { AOM_CDF5(14657, 16618, 24597, 25403) },
        { AOM_CDF5(4289, 4326, 10686, 10751) } },
      { // Band 2
        { AOM_CDF5(21953, 30956, 32748, 32757) },
        { AOM_CDF5(20929, 29412, 32700, 32725) },
        { AOM_CDF5(13377, 21495, 31216, 31569) },
        { AOM_CDF5(9153, 15097, 28295, 28990) },
        { AOM_CDF5(5313, 5363, 13839, 13894) },
        { AOM_CDF5(2625, 2652, 7276, 7351) } },
      { // Band 3
        { AOM_CDF5(20289, 31164, 32745, 32755) },
        { AOM_CDF5(17601, 29635, 32739, 32751) },
        { AOM_CDF5(18241, 24284, 32116, 32258) },
        { AOM_CDF5(32705, 32706, 32739, 32740) },
        { AOM_CDF5(5697, 5750, 14739, 14792) },
        { AOM_CDF5(2881, 2913, 8427, 8498) } },
      { // Band 4
        { AOM_CDF5(19009, 31481, 32742, 32754) },
        { AOM_CDF5(15809, 30521, 32736, 32750) },
        { AOM_CDF5(16449, 32705, 32737, 32753) },
        { AOM_CDF5(7873, 8039, 19981, 20068) },
        { AOM_CDF5(5313, 5366, 14376, 14430) },
        { AOM_CDF5(2753, 2789, 8909, 8979) } },
      { // Band 5
        { AOM_CDF5(11841, 32116, 32728, 32748) },
        { AOM_CDF5(12353, 32132, 32729, 32748) },
        { AOM_CDF5(7489, 12435, 25708, 26666) },
        { AOM_CDF5(5697, 7486, 20238, 21009) },
        { AOM_CDF5(4929, 5579, 16402, 16866) },
        { AOM_CDF5(3009, 3246, 10158, 10533) } } } }
};
static const coeff_cdf_model default_coef_head_cdf_8x8[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { AOM_CDF6(16064, 18127, 22153, 27289, 28507) },
        { AOM_CDF6(6720, 10545, 13491, 20948, 22631) },
        { AOM_CDF6(832, 5270, 5918, 12645, 13532) } },
      { // Band 1
        { AOM_CDF5(14017, 16139, 26799, 27295) },
        { AOM_CDF5(12737, 15136, 26235, 26816) },
        { AOM_CDF5(10817, 12445, 23637, 24217) },
        { AOM_CDF5(8897, 9702, 20040, 20500) },
        { AOM_CDF5(5953, 6156, 13966, 14205) },
        { AOM_CDF5(2497, 2519, 6222, 6300) } },
      { // Band 2
        { AOM_CDF5(19777, 21403, 30054, 30269) },
        { AOM_CDF5(16193, 17913, 28593, 28883) },
        { AOM_CDF5(12609, 13572, 25248, 25534) },
        { AOM_CDF5(9665, 10118, 20721, 20968) },
        { AOM_CDF5(6849, 7028, 15202, 15391) },
        { AOM_CDF5(3009, 3036, 7601, 7675) } },
      { // Band 3
        { AOM_CDF5(22593, 23915, 31159, 31283) },
        { AOM_CDF5(17345, 18690, 29425, 29611) },
        { AOM_CDF5(11969, 12540, 24685, 24867) },
        { AOM_CDF5(8129, 8355, 18668, 18819) },
        { AOM_CDF5(4673, 4714, 11752, 11814) },
        { AOM_CDF5(1857, 1876, 5057, 5138) } },
      { // Band 4
        { AOM_CDF5(24513, 25718, 31947, 32014) },
        { AOM_CDF5(18881, 20029, 30409, 30527) },
        { AOM_CDF5(12481, 12953, 25201, 25341) },
        { AOM_CDF5(8385, 8528, 18815, 18910) },
        { AOM_CDF5(4289, 4327, 10797, 10861) },
        { AOM_CDF5(1857, 1872, 4332, 4415) } },
      { // Band 5
        { AOM_CDF5(26049, 27752, 32415, 32462) },
        { AOM_CDF5(20417, 22100, 31056, 31192) },
        { AOM_CDF5(12481, 13075, 24646, 24844) },
        { AOM_CDF5(7489, 7696, 17117, 17285) },
        { AOM_CDF5(3777, 3814, 10062, 10129) },
        { AOM_CDF5(1473, 1486, 3735, 3820) } } },
    {   // Intra
      { // Band 0
        { AOM_CDF6(25920, 27743, 29455, 32147, 32280) },
        { AOM_CDF6(13888, 19845, 23350, 30219, 30660) },
        { AOM_CDF6(2368, 12781, 16196, 27232, 27894) } },
      { // Band 1
        { AOM_CDF5(21697, 24758, 32358, 32417) },
        { AOM_CDF5(20289, 23960, 32111, 32213) },
        { AOM_CDF5(17345, 19966, 30630, 30841) },
        { AOM_CDF5(14529, 16070, 27461, 27777) },
        { AOM_CDF5(9793, 10613, 21146, 21566) },
        { AOM_CDF5(6977, 7162, 15591, 15776) } },
      { // Band 2
        { AOM_CDF5(23617, 26783, 32572, 32607) },
        { AOM_CDF5(20801, 24292, 32185, 32275) },
        { AOM_CDF5(15169, 17905, 29916, 30181) },
        { AOM_CDF5(10945, 12972, 25565, 26064) },
        { AOM_CDF5(6849, 8334, 18543, 19446) },
        { AOM_CDF5(3649, 4346, 12351, 13169) } },
      { // Band 3
        { AOM_CDF5(25281, 28440, 32667, 32689) },
        { AOM_CDF5(22081, 25694, 32414, 32476) },
        { AOM_CDF5(15297, 18341, 30141, 30410) },
        { AOM_CDF5(10305, 12381, 24477, 25084) },
        { AOM_CDF5(5697, 6673, 16325, 17080) },
        { AOM_CDF5(2369, 2393, 6466, 6543) } },
      { // Band 4
        { AOM_CDF5(25921, 29445, 32729, 32739) },
        { AOM_CDF5(22465, 26834, 32588, 32627) },
        { AOM_CDF5(16449, 20062, 31016, 31233) },
        { AOM_CDF5(11073, 13165, 25353, 25896) },
        { AOM_CDF5(11713, 13837, 20144, 21734) },
        { AOM_CDF5(2241, 2265, 6355, 6432) } },
      { // Band 5
        { AOM_CDF5(26177, 29403, 32705, 32721) },
        { AOM_CDF5(22337, 26344, 32545, 32589) },
        { AOM_CDF5(19009, 21527, 31775, 31873) },
        { AOM_CDF5(11585, 12685, 22632, 23137) },
        { AOM_CDF5(8257, 8305, 16444, 16492) },
        { AOM_CDF5(2113, 2183, 7202, 7377) } } } },
  {     // UV plane
    {   // Inter
      { // Band 0
        { AOM_CDF6(27200, 27981, 31389, 32444, 32592) },
        { AOM_CDF6(14528, 19068, 24887, 29901, 30688) },
        { AOM_CDF6(3776, 11778, 14700, 23745, 24854) } },
      { // Band 1
        { AOM_CDF5(20289, 25202, 31672, 31909) },
        { AOM_CDF5(18369, 23493, 31166, 31487) },
        { AOM_CDF5(15425, 18619, 28941, 29393) },
        { AOM_CDF5(10945, 12535, 24287, 24792) },
        { AOM_CDF5(6465, 6810, 15764, 16080) },
        { AOM_CDF5(2113, 2137, 6125, 6203) } },
      { // Band 2
        { AOM_CDF5(23745, 27041, 31976, 32135) },
        { AOM_CDF5(19521, 22766, 31139, 31367) },
        { AOM_CDF5(14273, 15834, 27820, 28105) },
        { AOM_CDF5(9537, 10445, 22106, 22491) },
        { AOM_CDF5(7233, 7386, 15961, 16109) },
        { AOM_CDF5(2369, 2401, 7891, 7964) } },
      { // Band 3
        { AOM_CDF5(26305, 28703, 32352, 32435) },
        { AOM_CDF5(20673, 23490, 31517, 31680) },
        { AOM_CDF5(14017, 15251, 27458, 27702) },
        { AOM_CDF5(10945, 11374, 22496, 22687) },
        { AOM_CDF5(9153, 9435, 22299, 22411) },
        { AOM_CDF5(193, 269, 13236, 13293) } },
      { // Band 4
        { AOM_CDF5(27713, 29770, 32522, 32575) },
        { AOM_CDF5(21569, 24342, 31785, 31919) },
        { AOM_CDF5(15297, 16497, 28367, 28569) },
        { AOM_CDF5(17601, 17828, 24444, 24582) },
        { AOM_CDF5(6977, 7035, 16901, 16947) },
        { AOM_CDF5(193, 384, 32706, 32707) } },
      { // Band 5
        { AOM_CDF5(28737, 30879, 32667, 32695) },
        { AOM_CDF5(22593, 26241, 32073, 32207) },
        { AOM_CDF5(16577, 19148, 28436, 28906) },
        { AOM_CDF5(12993, 14005, 23151, 23630) },
        { AOM_CDF5(7617, 9188, 22797, 23313) },
        { AOM_CDF5(2625, 2680, 8218, 8338) } } },
    {   // Inter
      { // Band 0
        { AOM_CDF6(28864, 29988, 32423, 32766, 32767) },
        { AOM_CDF6(18496, 24572, 30167, 32687, 32737) },
        { AOM_CDF6(5440, 19618, 25332, 32393, 32491) } },
      { // Band 1
        { AOM_CDF5(23745, 29427, 32751, 32757) },
        { AOM_CDF5(23745, 28704, 32716, 32731) },
        { AOM_CDF5(23105, 27943, 32524, 32587) },
        { AOM_CDF5(21057, 24773, 29589, 30282) },
        { AOM_CDF5(12609, 14823, 23831, 24713) },
        { AOM_CDF5(16449, 16450, 16545, 16593) } },
      { // Band 2
        { AOM_CDF5(25025, 30203, 32754, 32759) },
        { AOM_CDF5(23617, 28361, 32715, 32729) },
        { AOM_CDF5(17985, 21562, 31354, 31543) },
        { AOM_CDF5(12353, 18915, 28742, 29548) },
        { AOM_CDF5(193, 289, 16545, 16593) },
        { AOM_CDF5(2625, 2652, 7276, 7351) } },
      { // Band 3
        { AOM_CDF5(26433, 30892, 32757, 32761) },
        { AOM_CDF5(24513, 29274, 32721, 32735) },
        { AOM_CDF5(20161, 24040, 32055, 32171) },
        { AOM_CDF5(21953, 24678, 27382, 28734) },
        { AOM_CDF5(5697, 5750, 14739, 14792) },
        { AOM_CDF5(2881, 2913, 8427, 8498) } },
      { // Band 4
        { AOM_CDF5(27457, 31485, 32759, 32763) },
        { AOM_CDF5(24129, 29502, 32752, 32757) },
        { AOM_CDF5(19009, 25452, 32473, 32544) },
        { AOM_CDF5(32705, 32706, 32737, 32738) },
        { AOM_CDF5(5313, 5366, 14376, 14430) },
        { AOM_CDF5(2753, 2789, 8909, 8979) } },
      { // Band 5
        { AOM_CDF5(27841, 32288, 32759, 32764) },
        { AOM_CDF5(19137, 30271, 32742, 32753) },
        { AOM_CDF5(18625, 27739, 29979, 31099) },
        { AOM_CDF5(5697, 7486, 20238, 21009) },
        { AOM_CDF5(4929, 5579, 16402, 16866) },
        { AOM_CDF5(3009, 3246, 10158, 10533) } } } }
};
static const coeff_cdf_model default_coef_head_cdf_16x16[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { AOM_CDF6(960, 4882, 9467, 17710, 20412) },
        { AOM_CDF6(704, 4657, 6561, 14507, 16279) },
        { AOM_CDF6(192, 3443, 3759, 9011, 9685) } },
      { // Band 1
        { AOM_CDF5(12481, 13958, 24487, 24997) },
        { AOM_CDF5(11457, 13075, 23820, 24406) },
        { AOM_CDF5(9793, 11127, 21775, 22387) },
        { AOM_CDF5(7745, 8457, 18155, 18655) },
        { AOM_CDF5(5441, 5668, 13180, 13467) },
        { AOM_CDF5(2497, 2520, 6340, 6417) } },
      { // Band 2
        { AOM_CDF5(19521, 20572, 28965, 29177) },
        { AOM_CDF5(15425, 16741, 27247, 27554) },
        { AOM_CDF5(11969, 12690, 23872, 24141) },
        { AOM_CDF5(9281, 9678, 19970, 20207) },
        { AOM_CDF5(6081, 6266, 14682, 14876) },
        { AOM_CDF5(2753, 2779, 7150, 7225) } },
      { // Band 3
        { AOM_CDF5(22337, 23293, 30630, 30753) },
        { AOM_CDF5(16321, 17427, 28368, 28570) },
        { AOM_CDF5(11457, 11907, 23570, 23741) },
        { AOM_CDF5(7233, 7331, 17258, 17334) },
        { AOM_CDF5(4033, 4070, 10375, 10441) },
        { AOM_CDF5(1601, 1619, 4706, 4788) } },
      { // Band 4
        { AOM_CDF5(24769, 25536, 31660, 31722) },
        { AOM_CDF5(18113, 18886, 29420, 29534) },
        { AOM_CDF5(11201, 11412, 23207, 23291) },
        { AOM_CDF5(6977, 7033, 16599, 16646) },
        { AOM_CDF5(4033, 4070, 10375, 10441) },
        { AOM_CDF5(1601, 1620, 4827, 4909) } },
      { // Band 5
        { AOM_CDF5(28353, 28831, 32502, 32517) },
        { AOM_CDF5(21441, 21869, 30977, 31017) },
        { AOM_CDF5(11969, 12088, 24116, 24158) },
        { AOM_CDF5(7489, 7547, 17413, 17458) },
        { AOM_CDF5(4545, 4585, 11325, 11388) },
        { AOM_CDF5(2113, 2133, 5526, 5606) } } },
    {   // Intra
      { // Band 0
        { AOM_CDF6(2496, 8717, 17280, 28922, 29751) },
        { AOM_CDF6(2496, 9665, 15235, 26542, 27580) },
        { AOM_CDF6(448, 9240, 11886, 24124, 24898) } },
      { // Band 1
        { AOM_CDF5(21057, 22896, 31877, 31953) },
        { AOM_CDF5(20673, 23151, 31706, 31825) },
        { AOM_CDF5(18753, 20519, 30497, 30668) },
        { AOM_CDF5(15425, 16608, 27789, 28027) },
        { AOM_CDF5(10305, 10977, 21405, 21749) },
        { AOM_CDF5(3649, 3812, 11213, 11445) } },
      { // Band 2
        { AOM_CDF5(24001, 25899, 32307, 32360) },
        { AOM_CDF5(20929, 22941, 31775, 31867) },
        { AOM_CDF5(15169, 16734, 29228, 29425) },
        { AOM_CDF5(10561, 12047, 24918, 25324) },
        { AOM_CDF5(6977, 7929, 18311, 18918) },
        { AOM_CDF5(3649, 3760, 9962, 10162) } },
      { // Band 3
        { AOM_CDF5(25793, 27526, 32565, 32591) },
        { AOM_CDF5(21825, 23885, 32064, 32135) },
        { AOM_CDF5(15041, 16286, 29203, 29360) },
        { AOM_CDF5(10433, 11058, 24349, 24538) },
        { AOM_CDF5(5569, 6016, 16460, 16794) },
        { AOM_CDF5(193, 194, 384, 479) } },
      { // Band 4
        { AOM_CDF5(26433, 28398, 32682, 32696) },
        { AOM_CDF5(22977, 25086, 32367, 32412) },
        { AOM_CDF5(16577, 17928, 30144, 30275) },
        { AOM_CDF5(12481, 13352, 25993, 26211) },
        { AOM_CDF5(7745, 8069, 20501, 20657) },
        { AOM_CDF5(16449, 16450, 16545, 16593) } },
      { // Band 5
        { AOM_CDF5(27841, 29700, 32721, 32730) },
        { AOM_CDF5(23873, 26202, 32578, 32604) },
        { AOM_CDF5(17729, 19046, 30448, 30568) },
        { AOM_CDF5(13505, 14508, 26034, 26304) },
        { AOM_CDF5(10049, 10494, 19945, 20233) },
        { AOM_CDF5(2113, 2183, 7202, 7377) } } } },
  {     // UV plane
    {   // Inter
      { // Band 0
        { AOM_CDF6(27072, 27916, 31095, 32400, 32553) },
        { AOM_CDF6(12352, 16792, 22516, 28853, 29797) },
        { AOM_CDF6(2880, 9023, 11126, 20602, 21713) } },
      { // Band 1
        { AOM_CDF5(20161, 24785, 31070, 31430) },
        { AOM_CDF5(17985, 22773, 30430, 30880) },
        { AOM_CDF5(15937, 18802, 28265, 28788) },
        { AOM_CDF5(11841, 13587, 24798, 25335) },
        { AOM_CDF5(8769, 9160, 19316, 19566) },
        { AOM_CDF5(5313, 5357, 12874, 12932) } },
      { // Band 2
        { AOM_CDF5(24129, 26501, 31672, 31844) },
        { AOM_CDF5(19649, 21553, 30130, 30370) },
        { AOM_CDF5(11713, 13134, 25983, 26321) },
        { AOM_CDF5(9409, 9948, 21408, 21663) },
        { AOM_CDF5(5569, 5757, 14335, 14533) },
        { AOM_CDF5(2241, 2305, 13152, 13209) } },
      { // Band 3
        { AOM_CDF5(26817, 28135, 32130, 32209) },
        { AOM_CDF5(20161, 21412, 30331, 30481) },
        { AOM_CDF5(13377, 13798, 26065, 26176) },
        { AOM_CDF5(8129, 8290, 19920, 20008) },
        { AOM_CDF5(5697, 5751, 14950, 15002) },
        { AOM_CDF5(5569, 5601, 11041, 11105) } },
      { // Band 4
        { AOM_CDF5(28225, 29079, 32387, 32426) },
        { AOM_CDF5(21185, 22046, 30982, 31061) },
        { AOM_CDF5(13377, 13595, 25762, 25824) },
        { AOM_CDF5(8001, 8123, 20530, 20590) },
        { AOM_CDF5(4289, 4322, 9907, 9974) },
        { AOM_CDF5(3393, 3412, 6663, 6739) } },
      { // Band 5
        { AOM_CDF5(30529, 31014, 32651, 32664) },
        { AOM_CDF5(23489, 24268, 31627, 31682) },
        { AOM_CDF5(14017, 14239, 26653, 26707) },
        { AOM_CDF5(11201, 11317, 23122, 23169) },
        { AOM_CDF5(6721, 6768, 14810, 14863) },
        { AOM_CDF5(6593, 6632, 13188, 13245) } } },
    {   // Inter
      { // Band 0
        { AOM_CDF6(29888, 30492, 32500, 32766, 32767) },
        { AOM_CDF6(18752, 23235, 29846, 32214, 32442) },
        { AOM_CDF6(5568, 17762, 25039, 31213, 31651) } },
      { // Band 1
        { AOM_CDF5(26433, 29681, 32757, 32760) },
        { AOM_CDF5(24769, 28761, 32722, 32734) },
        { AOM_CDF5(22209, 26975, 32418, 32500) },
        { AOM_CDF5(16321, 21333, 28368, 29283) },
        { AOM_CDF5(12865, 14775, 22545, 23553) },
        { AOM_CDF5(12353, 12354, 12473, 12532) } },
      { // Band 2
        { AOM_CDF5(27457, 30005, 32738, 32745) },
        { AOM_CDF5(24897, 27541, 32723, 32731) },
        { AOM_CDF5(15297, 19106, 30414, 30711) },
        { AOM_CDF5(6593, 8826, 19732, 20840) },
        { AOM_CDF5(4161, 4233, 16509, 16557) },
        { AOM_CDF5(2625, 2652, 7276, 7351) } },
      { // Band 3
        { AOM_CDF5(28609, 30482, 32761, 32763) },
        { AOM_CDF5(25665, 27830, 32727, 32733) },
        { AOM_CDF5(21057, 23803, 30367, 30721) },
        { AOM_CDF5(10945, 21878, 32726, 32737) },
        { AOM_CDF5(5697, 5750, 14739, 14792) },
        { AOM_CDF5(2881, 2913, 8427, 8498) } },
      { // Band 4
        { AOM_CDF5(28993, 30944, 32762, 32764) },
        { AOM_CDF5(26561, 28695, 32733, 32739) },
        { AOM_CDF5(17985, 19028, 31008, 31079) },
        { AOM_CDF5(7873, 8039, 19981, 20068) },
        { AOM_CDF5(5313, 5366, 14376, 14430) },
        { AOM_CDF5(2753, 2789, 8909, 8979) } },
      { // Band 5
        { AOM_CDF5(30273, 32029, 32764, 32766) },
        { AOM_CDF5(28609, 30847, 32745, 32751) },
        { AOM_CDF5(21313, 24377, 31986, 32098) },
        { AOM_CDF5(32705, 32709, 32739, 32741) },
        { AOM_CDF5(4929, 5579, 16402, 16866) },
        { AOM_CDF5(3009, 3246, 10158, 10533) } } } }
};
static const coeff_cdf_model default_coef_head_cdf_32x32[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { AOM_CDF6(2240, 5407, 18304, 25601, 27911) },
        { AOM_CDF6(960, 4633, 8197, 16254, 18796) },
        { AOM_CDF6(192, 3061, 3557, 8701, 9762) } },
      { // Band 1
        { AOM_CDF5(11969, 15846, 25660, 26667) },
        { AOM_CDF5(11713, 15794, 25737, 26760) },
        { AOM_CDF5(9281, 12675, 23181, 24351) },
        { AOM_CDF5(7105, 8757, 18383, 19437) },
        { AOM_CDF5(4289, 4579, 11353, 11792) },
        { AOM_CDF5(1857, 1874, 4695, 4777) } },
      { // Band 2
        { AOM_CDF5(20929, 22297, 29370, 29646) },
        { AOM_CDF5(17473, 18985, 28079, 28413) },
        { AOM_CDF5(13121, 14064, 24902, 25217) },
        { AOM_CDF5(9793, 10214, 20069, 20329) },
        { AOM_CDF5(5825, 5987, 13350, 13559) },
        { AOM_CDF5(2241, 2260, 5520, 5600) } },
      { // Band 3
        { AOM_CDF5(25921, 26891, 31632, 31729) },
        { AOM_CDF5(18241, 19463, 29222, 29419) },
        { AOM_CDF5(11585, 12065, 23294, 23488) },
        { AOM_CDF5(6593, 6686, 16153, 16234) },
        { AOM_CDF5(3137, 3170, 8751, 8821) },
        { AOM_CDF5(1345, 1359, 3739, 3824) } },
      { // Band 4
        { AOM_CDF5(27713, 28504, 32068, 32132) },
        { AOM_CDF5(19265, 20354, 29789, 29943) },
        { AOM_CDF5(11201, 11538, 22701, 22848) },
        { AOM_CDF5(6337, 6424, 15268, 15353) },
        { AOM_CDF5(3649, 3681, 9052, 9121) },
        { AOM_CDF5(1601, 1618, 4584, 4667) } },
      { // Band 5
        { AOM_CDF5(30913, 31044, 32635, 32640) },
        { AOM_CDF5(22081, 22261, 30452, 30477) },
        { AOM_CDF5(10561, 10625, 21535, 21568) },
        { AOM_CDF5(6081, 6130, 14369, 14423) },
        { AOM_CDF5(3777, 3809, 9156, 9225) },
        { AOM_CDF5(1857, 1875, 4936, 5018) } } },
    {   // Intra
      { // Band 0
        { AOM_CDF6(4672, 6927, 23534, 29846, 30928) },
        { AOM_CDF6(3776, 6784, 18075, 25863, 27926) },
        { AOM_CDF6(1344, 5588, 12166, 20966, 23504) } },
      { // Band 1
        { AOM_CDF5(19393, 22016, 31280, 31444) },
        { AOM_CDF5(21185, 24329, 31706, 31865) },
        { AOM_CDF5(20673, 23240, 31186, 31379) },
        { AOM_CDF5(17857, 20035, 29594, 29889) },
        { AOM_CDF5(13633, 14929, 24883, 25337) },
        { AOM_CDF5(7873, 8416, 17452, 17886) } },
      { // Band 2
        { AOM_CDF5(25665, 27145, 32256, 32314) },
        { AOM_CDF5(21057, 22826, 31465, 31576) },
        { AOM_CDF5(13633, 14885, 27873, 28088) },
        { AOM_CDF5(8769, 9515, 21941, 22248) },
        { AOM_CDF5(6209, 6594, 15598, 15950) },
        { AOM_CDF5(1985, 2014, 6855, 6931) } },
      { // Band 3
        { AOM_CDF5(26817, 27824, 32362, 32399) },
        { AOM_CDF5(21185, 22321, 31389, 31466) },
        { AOM_CDF5(13761, 14154, 27163, 27245) },
        { AOM_CDF5(8897, 9011, 20600, 20659) },
        { AOM_CDF5(4673, 4774, 15044, 15131) },
        { AOM_CDF5(193, 194, 384, 479) } },
      { // Band 4
        { AOM_CDF5(28865, 29687, 32655, 32667) },
        { AOM_CDF5(23233, 24218, 32080, 32118) },
        { AOM_CDF5(15041, 15444, 28787, 28845) },
        { AOM_CDF5(9921, 10248, 22818, 22944) },
        { AOM_CDF5(7745, 7866, 16591, 16702) },
        { AOM_CDF5(193, 194, 384, 479) } },
      { // Band 5
        { AOM_CDF5(31169, 31559, 32741, 32744) },
        { AOM_CDF5(24769, 25583, 32347, 32370) },
        { AOM_CDF5(15937, 16169, 29120, 29152) },
        { AOM_CDF5(7489, 7578, 22647, 22677) },
        { AOM_CDF5(7617, 7689, 19849, 19887) },
        { AOM_CDF5(2113, 2183, 7202, 7377) } } } },
  {     // UV plane
    {   // Inter
      { // Band 0
        { AOM_CDF6(23232, 24301, 30231, 31582, 32091) },
        { AOM_CDF6(7872, 11041, 22542, 27086, 29145) },
        { AOM_CDF6(1344, 3989, 18125, 25340, 27820) } },
      { // Band 1
        { AOM_CDF5(15937, 29000, 32210, 32434) },
        { AOM_CDF5(12353, 26626, 31533, 31993) },
        { AOM_CDF5(11457, 29187, 30896, 31750) },
        { AOM_CDF5(5697, 21278, 28169, 29764) },
        { AOM_CDF5(7489, 8855, 13365, 15620) },
        { AOM_CDF5(4289, 4833, 8572, 10108) } },
      { // Band 2
        { AOM_CDF5(25025, 30783, 32603, 32666) },
        { AOM_CDF5(24385, 29586, 31803, 32142) },
        { AOM_CDF5(22337, 23002, 27573, 27903) },
        { AOM_CDF5(10945, 12336, 21900, 22590) },
        { AOM_CDF5(8257, 8830, 19986, 20298) },
        { AOM_CDF5(10945, 10990, 18660, 18701) } },
      { // Band 3
        { AOM_CDF5(29761, 31473, 32693, 32715) },
        { AOM_CDF5(20417, 24512, 31394, 31650) },
        { AOM_CDF5(11713, 13283, 25819, 26206) },
        { AOM_CDF5(13121, 14099, 21909, 22514) },
        { AOM_CDF5(193, 248, 9546, 9614) },
        { AOM_CDF5(2497, 2524, 7050, 7125) } },
      { // Band 4
        { AOM_CDF5(30657, 31885, 32691, 32715) },
        { AOM_CDF5(19393, 26050, 31698, 31988) },
        { AOM_CDF5(15809, 15863, 24985, 25008) },
        { AOM_CDF5(23489, 28138, 32751, 32756) },
        { AOM_CDF5(16449, 16450, 16545, 16593) },
        { AOM_CDF5(2369, 2395, 6822, 6898) } },
      { // Band 5
        { AOM_CDF5(32705, 32744, 32766, 32767) },
        { AOM_CDF5(21953, 24962, 32156, 32246) },
        { AOM_CDF5(13121, 15358, 26284, 26835) },
        { AOM_CDF5(5697, 7417, 20132, 20885) },
        { AOM_CDF5(4417, 4939, 15104, 15535) },
        { AOM_CDF5(2625, 2680, 8218, 8338) } } },
    {   // Inter
      { // Band 0
        { AOM_CDF6(25280, 25678, 32446, 32622, 32724) },
        { AOM_CDF6(10560, 11822, 28682, 29919, 31276) },
        { AOM_CDF6(3264, 5170, 21779, 24026, 27905) } },
      { // Band 1
        { AOM_CDF5(24257, 30554, 32719, 32738) },
        { AOM_CDF5(17217, 27413, 32617, 32667) },
        { AOM_CDF5(22977, 27600, 32482, 32552) },
        { AOM_CDF5(16833, 24360, 30746, 31293) },
        { AOM_CDF5(17089, 20060, 28880, 29370) },
        { AOM_CDF5(10945, 11009, 21900, 21932) } },
      { // Band 2
        { AOM_CDF5(27201, 30217, 32736, 32745) },
        { AOM_CDF5(22721, 27676, 32749, 32754) },
        { AOM_CDF5(5057, 12431, 25246, 26620) },
        { AOM_CDF5(193, 321, 22016, 22048) },
        { AOM_CDF5(5313, 5363, 13839, 13894) },
        { AOM_CDF5(2625, 2652, 7276, 7351) } },
      { // Band 3
        { AOM_CDF5(27713, 30739, 32759, 32762) },
        { AOM_CDF5(26177, 30430, 32756, 32760) },
        { AOM_CDF5(193, 384, 32706, 32707) },
        { AOM_CDF5(9409, 9528, 21591, 21646) },
        { AOM_CDF5(193, 194, 384, 479) },
        { AOM_CDF5(2881, 2913, 8427, 8498) } },
      { // Band 4
        { AOM_CDF5(28993, 31156, 32747, 32753) },
        { AOM_CDF5(25153, 28701, 32754, 32758) },
        { AOM_CDF5(16449, 16544, 32737, 32738) },
        { AOM_CDF5(193, 321, 22016, 22048) },
        { AOM_CDF5(193, 194, 384, 479) },
        { AOM_CDF5(2753, 2789, 8909, 8979) } },
      { // Band 5
        { AOM_CDF5(30785, 32088, 32765, 32766) },
        { AOM_CDF5(22977, 26623, 32750, 32754) },
        { AOM_CDF5(21953, 21954, 22017, 22049) },
        { AOM_CDF5(5697, 7486, 20238, 21009) },
        { AOM_CDF5(4929, 5579, 16402, 16866) },
        { AOM_CDF5(3009, 3246, 10158, 10533) } } } }
};

/* clang-format on */
#endif  // !CONFIG_Q_ADAPT_PROBS

static void build_tail_cdfs(aom_cdf_prob cdf_tail[CDF_SIZE(ENTROPY_TOKENS)],
                            aom_cdf_prob cdf_head[CDF_SIZE(ENTROPY_TOKENS)],
                            int band_zero) {
  int probNZ, prob1, prob_idx, i;
  int phead[HEAD_TOKENS + 1], sum;
  const int is_dc = !!band_zero;
  aom_cdf_prob prev_cdf;
  prev_cdf = 0;
  for (i = 0; i < HEAD_TOKENS + is_dc; ++i) {
    phead[i] = AOM_ICDF(cdf_head[i]) - prev_cdf;
    prev_cdf = AOM_ICDF(cdf_head[i]);
  }
  // Do the tail
  probNZ = CDF_PROB_TOP - phead[ZERO_TOKEN + is_dc] - (is_dc ? phead[0] : 0);
  prob1 = phead[is_dc + ONE_TOKEN_EOB] + phead[is_dc + ONE_TOKEN_NEOB];
  prob_idx =
      AOMMIN(COEFF_PROB_MODELS - 1, AOMMAX(0, ((256 * prob1) / probNZ) - 1));

  sum = 0;
  for (i = 0; i < TAIL_TOKENS; ++i) {
    sum += av1_pareto8_tail_probs[prob_idx][i];
    cdf_tail[i] = AOM_ICDF(sum);
  }
}

#if !CONFIG_Q_ADAPT_PROBS
// FIXME. Optimize for TX_2X2 and TX_64X64.
static void av1_default_coef_cdfs(FRAME_CONTEXT *fc) {
  av1_copy(fc->coef_head_cdfs[TX_4X4], default_coef_head_cdf_4x4);
  av1_copy(fc->coef_head_cdfs[TX_8X8], default_coef_head_cdf_8x8);
  av1_copy(fc->coef_head_cdfs[TX_16X16], default_coef_head_cdf_16x16);
  av1_copy(fc->coef_head_cdfs[TX_32X32], default_coef_head_cdf_32x32);
#if CONFIG_TX64X64
  av1_copy(fc->coef_head_cdfs[TX_64X64], default_coef_head_cdf_32x32);
#endif  // CONFIG_TX64X64
}
#endif  // !CONFIG_Q_ADAPT_PROBS

void av1_coef_pareto_cdfs(FRAME_CONTEXT *fc) {
  /* Build the tail based on a Pareto distribution */
  TX_SIZE t;
  int i, j, k, l;
  for (t = 0; t < TX_SIZES; ++t)
    for (i = 0; i < PLANE_TYPES; ++i)
      for (j = 0; j < REF_TYPES; ++j)
        for (k = 0; k < COEF_BANDS; ++k)
          for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l)
            build_tail_cdfs(fc->coef_tail_cdfs[t][i][j][k][l],
                            fc->coef_head_cdfs[t][i][j][k][l], k == 0);
}

void av1_default_coef_probs(AV1_COMMON *cm) {
#if CONFIG_Q_ADAPT_PROBS
  const int index = AOMMIN(TOKEN_CDF_Q_CTXS - 1, cm->base_qindex / 64);
  av1_copy(cm->fc->coef_head_cdfs[TX_4X4],
           (*av1_default_qctx_coef_cdfs[index])[TX_4X4]);
  av1_copy(cm->fc->coef_head_cdfs[TX_8X8],
           (*av1_default_qctx_coef_cdfs[index])[TX_8X8]);
  av1_copy(cm->fc->coef_head_cdfs[TX_16X16],
           (*av1_default_qctx_coef_cdfs[index])[TX_16X16]);
  av1_copy(cm->fc->coef_head_cdfs[TX_32X32],
           (*av1_default_qctx_coef_cdfs[index])[TX_32X32]);
#if CONFIG_TX64X64
  av1_copy(cm->fc->coef_head_cdfs[TX_64X64],
           (*av1_default_qctx_coef_cdfs[index])[TX_32X32]);
#endif  // CONFIG_TX64X64
#else
  /* Load the head tokens */
  av1_default_coef_cdfs(cm->fc);
#endif  // CONFIG_Q_ADAPT_PROBS
  av1_coef_pareto_cdfs(cm->fc);
}

static void av1_average_cdf(aom_cdf_prob *cdf_ptr[], aom_cdf_prob *fc_cdf_ptr,
                            int cdf_size, const int num_tiles) {
  int i;
  for (i = 0; i < cdf_size;) {
    do {
      int sum = 0;
      int j;
      assert(i < cdf_size);
      for (j = 0; j < num_tiles; ++j) sum += AOM_ICDF(cdf_ptr[j][i]);
      fc_cdf_ptr[i] = AOM_ICDF(sum / num_tiles);
    } while (fc_cdf_ptr[i++] != AOM_ICDF(CDF_PROB_TOP));
    // Zero symbol counts for the next frame
    assert(i < cdf_size);
    fc_cdf_ptr[i++] = 0;
    // Skip trailing zeros until the start of the next CDF.
    for (; i < cdf_size && fc_cdf_ptr[i] == 0; ++i) {
    }
  }
}

#define AVERAGE_TILE_CDFS(cname)                            \
  for (i = 0; i < num_tiles; ++i)                           \
    cdf_ptr[i] = (aom_cdf_prob *)&ec_ctxs[i]->cname;        \
  fc_cdf_ptr = (aom_cdf_prob *)&fc->cname;                  \
  cdf_size = (int)sizeof(fc->cname) / sizeof(aom_cdf_prob); \
  av1_average_cdf(cdf_ptr, fc_cdf_ptr, cdf_size, num_tiles);

void av1_average_tile_coef_cdfs(FRAME_CONTEXT *fc, FRAME_CONTEXT *ec_ctxs[],
                                aom_cdf_prob *cdf_ptr[], int num_tiles) {
  int i, cdf_size;

  aom_cdf_prob *fc_cdf_ptr;
#if CONFIG_SIMPLE_BWD_ADAPT
  assert(num_tiles == 1);
#endif

#if CONFIG_LV_MAP
  AVERAGE_TILE_CDFS(txb_skip_cdf)
  AVERAGE_TILE_CDFS(nz_map_cdf)
  AVERAGE_TILE_CDFS(eob_flag_cdf)
  AVERAGE_TILE_CDFS(eob_extra_cdf)
  AVERAGE_TILE_CDFS(dc_sign_cdf)
  AVERAGE_TILE_CDFS(coeff_base_cdf)
  AVERAGE_TILE_CDFS(coeff_lps_cdf)
  AVERAGE_TILE_CDFS(coeff_br_cdf)
#if CONFIG_CTX1D
  AVERAGE_TILE_CDFS(eob_mode_cdf)
  AVERAGE_TILE_CDFS(empty_line_cdf)
  AVERAGE_TILE_CDFS(hv_eob_cdf)
#endif
#else
  AVERAGE_TILE_CDFS(coef_head_cdfs)
  AVERAGE_TILE_CDFS(coef_tail_cdfs)
#endif
}

void av1_average_tile_mv_cdfs(FRAME_CONTEXT *fc, FRAME_CONTEXT *ec_ctxs[],
                              aom_cdf_prob *cdf_ptr[], int num_tiles) {
  int i, k, cdf_size;

  aom_cdf_prob *fc_cdf_ptr;

#if CONFIG_SIMPLE_BWD_ADAPT
  assert(num_tiles == 1);
#endif

  int j;
  for (j = 0; j < NMV_CONTEXTS; ++j) {
    AVERAGE_TILE_CDFS(nmvc[j].joint_cdf)

    for (k = 0; k < 2; ++k) {
      AVERAGE_TILE_CDFS(nmvc[j].comps[k].class_cdf)
      AVERAGE_TILE_CDFS(nmvc[j].comps[k].class0_fp_cdf)
      AVERAGE_TILE_CDFS(nmvc[j].comps[k].fp_cdf)
#if CONFIG_NEW_MULTISYMBOL
      AVERAGE_TILE_CDFS(nmvc[j].comps[k].hp_cdf)
      AVERAGE_TILE_CDFS(nmvc[j].comps[k].class0_hp_cdf)
      AVERAGE_TILE_CDFS(nmvc[j].comps[k].class0_cdf)
      AVERAGE_TILE_CDFS(nmvc[j].comps[k].bits_cdf)
#endif
    }
  }
}

void av1_average_tile_loopfilter_cdfs(FRAME_CONTEXT *fc,
                                      FRAME_CONTEXT *ec_ctxs[],
                                      aom_cdf_prob *cdf_ptr[], int num_tiles) {
  (void)fc;
  (void)ec_ctxs;
  (void)num_tiles;
  (void)cdf_ptr;

#if CONFIG_SIMPLE_BWD_ADAPT
  assert(num_tiles == 1);
#endif

  int i, cdf_size;
  aom_cdf_prob *fc_cdf_ptr;
  (void)i;
  (void)cdf_size;
  (void)fc_cdf_ptr;

#if CONFIG_LOOP_RESTORATION
  AVERAGE_TILE_CDFS(switchable_restore_cdf)
#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(wiener_restore_cdf)
  AVERAGE_TILE_CDFS(sgrproj_restore_cdf)
#endif  // CONFIG_NEW_MULTISYMBOL
#endif  // CONFIG_LOOP_RESTORATION
}

void av1_average_tile_intra_cdfs(FRAME_CONTEXT *fc, FRAME_CONTEXT *ec_ctxs[],
                                 aom_cdf_prob *cdf_ptr[], int num_tiles) {
  int i, cdf_size;

#if CONFIG_SIMPLE_BWD_ADAPT
  assert(num_tiles == 1);
#endif
  aom_cdf_prob *fc_cdf_ptr;

  AVERAGE_TILE_CDFS(tx_size_cdf)

  AVERAGE_TILE_CDFS(intra_ext_tx_cdf)
  AVERAGE_TILE_CDFS(inter_ext_tx_cdf)

  AVERAGE_TILE_CDFS(seg.tree_cdf)
#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(seg.pred_cdf)
#endif
  AVERAGE_TILE_CDFS(uv_mode_cdf)

#if CONFIG_CFL
  AVERAGE_TILE_CDFS(cfl_sign_cdf)
  AVERAGE_TILE_CDFS(cfl_alpha_cdf)
#endif

  AVERAGE_TILE_CDFS(partition_cdf)

  AVERAGE_TILE_CDFS(delta_q_cdf)
#if CONFIG_EXT_DELTA_Q
  AVERAGE_TILE_CDFS(delta_lf_cdf)
#if CONFIG_LOOPFILTER_LEVEL
  AVERAGE_TILE_CDFS(delta_lf_multi_cdf)
#endif
#endif

#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(skip_cdfs)
  AVERAGE_TILE_CDFS(txfm_partition_cdf)
#endif  // CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(palette_y_size_cdf)
  AVERAGE_TILE_CDFS(palette_uv_size_cdf)
  AVERAGE_TILE_CDFS(palette_y_color_index_cdf)
  AVERAGE_TILE_CDFS(palette_uv_color_index_cdf)
#if CONFIG_MRC_TX
  AVERAGE_TILE_CDFS(mrc_mask_intra_cdf)
#endif  // CONFIG_MRC_TX
#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(palette_y_mode_cdf)
  AVERAGE_TILE_CDFS(palette_uv_mode_cdf)
#if CONFIG_RECT_TX_EXT
  AVERAGE_TILE_CDFS(quarter_tx_size_cdf)
#endif
#endif
#if CONFIG_LPF_SB
  AVERAGE_TILE_CDFS(lpf_reuse_cdf);
  AVERAGE_TILE_CDFS(lpf_delta_cdf);
  AVERAGE_TILE_CDFS(lpf_sign_cdf);
#endif  // CONFIG_LPF_SB
#if CONFIG_Q_SEGMENTATION
  int j;
  for (j = 0; j < Q_SEGMENT_CDF_COUNT; j++) AVERAGE_TILE_CDFS(seg.q_seg_cdf[j]);
#endif
}

void av1_average_tile_inter_cdfs(AV1_COMMON *cm, FRAME_CONTEXT *fc,
                                 FRAME_CONTEXT *ec_ctxs[],
                                 aom_cdf_prob *cdf_ptr[], int num_tiles) {
  int i, cdf_size;

#if CONFIG_SIMPLE_BWD_ADAPT
  assert(num_tiles == 1);
#endif
  aom_cdf_prob *fc_cdf_ptr;

#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(comp_inter_cdf)
  AVERAGE_TILE_CDFS(comp_ref_cdf)
  AVERAGE_TILE_CDFS(comp_bwdref_cdf)
#endif

#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(single_ref_cdf)

  AVERAGE_TILE_CDFS(newmv_cdf)
  AVERAGE_TILE_CDFS(zeromv_cdf)
  AVERAGE_TILE_CDFS(refmv_cdf)
  AVERAGE_TILE_CDFS(drl_cdf)
#if CONFIG_EXT_COMP_REFS
  AVERAGE_TILE_CDFS(uni_comp_ref_cdf)
  AVERAGE_TILE_CDFS(comp_ref_type_cdf)
#endif
#endif

  // FIXME: cdfs not defined for super_tx

  AVERAGE_TILE_CDFS(inter_compound_mode_cdf)

  AVERAGE_TILE_CDFS(compound_type_cdf)
#if CONFIG_COMPOUND_SINGLEREF
  AVERAGE_TILE_CDFS(inter_singleref_comp_mode_cdf)
#endif

#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(interintra_cdf)
  AVERAGE_TILE_CDFS(wedge_interintra_cdf)
#endif
  AVERAGE_TILE_CDFS(interintra_mode_cdf)

  /* NB: kf_y_cdf is discarded after use, so no need
     for backwards update */
  AVERAGE_TILE_CDFS(y_mode_cdf)

  if (cm->interp_filter == SWITCHABLE) {
    AVERAGE_TILE_CDFS(switchable_interp_cdf)
  }
#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(intra_inter_cdf)
  AVERAGE_TILE_CDFS(motion_mode_cdf)
  AVERAGE_TILE_CDFS(obmc_cdf)
#endif
#if CONFIG_MRC_TX
  AVERAGE_TILE_CDFS(mrc_mask_inter_cdf)
#endif  // CONFIG_MRC_TX
#if CONFIG_LPF_SB
  AVERAGE_TILE_CDFS(lpf_reuse_cdf);
  AVERAGE_TILE_CDFS(lpf_delta_cdf);
  AVERAGE_TILE_CDFS(lpf_sign_cdf);
#endif  // CONFIG_LPF_SB
#if CONFIG_Q_SEGMENTATION
  int j;
  for (j = 0; j < Q_SEGMENT_CDF_COUNT; j++) AVERAGE_TILE_CDFS(seg.q_seg_cdf[j]);
#endif
#if CONFIG_JNT_COMP
#if CONFIG_NEW_MULTISYMBOL
  AVERAGE_TILE_CDFS(compound_index_cdf);
#endif  // CONFIG_NEW_MULTISYMBOL
#endif  // CONFIG_JNT_COMP
}
