/*
 * 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 "av1/common/entropy.h"
#include "av1/common/blockd.h"
#include "av1/common/onyxc_int.h"
#include "av1/common/entropymode.h"
#if CONFIG_RANS
#include "aom_dsp/ans.h"
#endif  // CONFIG_RANS
#include "aom_mem/aom_mem.h"
#include "aom/aom_integer.h"

// Unconstrained Node Tree
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
};

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[] = { 254, 254, 254, 252, 249, 243, 230,
                                   196, 177, 153, 140, 133, 130, 129 };
#if CONFIG_AOM_HIGHBITDEPTH
const aom_prob av1_cat1_prob_high10[] = { 159 };
const aom_prob av1_cat2_prob_high10[] = { 165, 145 };
const aom_prob av1_cat3_prob_high10[] = { 173, 148, 140 };
const aom_prob av1_cat4_prob_high10[] = { 176, 155, 140, 135 };
const aom_prob av1_cat5_prob_high10[] = { 180, 157, 141, 134, 130 };
const aom_prob av1_cat6_prob_high10[] = {
  255, 255, 254, 254, 254, 252, 249, 243, 230, 196, 177, 153, 140, 133, 130, 129
};
const aom_prob av1_cat1_prob_high12[] = { 159 };
const aom_prob av1_cat2_prob_high12[] = { 165, 145 };
const aom_prob av1_cat3_prob_high12[] = { 173, 148, 140 };
const aom_prob av1_cat4_prob_high12[] = { 176, 155, 140, 135 };
const aom_prob av1_cat5_prob_high12[] = { 180, 157, 141, 134, 130 };
const aom_prob av1_cat6_prob_high12[] = { 255, 255, 255, 255, 254, 254,
                                          254, 252, 249, 243, 230, 196,
                                          177, 153, 140, 133, 130, 129 };
#endif

const uint8_t av1_coefband_trans_8x8plus[1024] = {
  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,
};

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-centerd distribuition 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;
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 },
};
#if CONFIG_RANS
// 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 ONE_TOKEN through CATEGORY6_TOKEN included here.
// ZERO_TOKEN and EOB_TOKEN are coded as flags outside this coder.
const AnsP10 av1_pareto8_token_probs[COEFF_PROB_MODELS][ENTROPY_TOKENS - 2] = {
  { 4, 4, 4, 4, 8, 15, 30, 57, 103, 795 },
  { 8, 8, 8, 8, 15, 30, 57, 103, 168, 619 },
  { 12, 12, 12, 12, 23, 43, 80, 138, 205, 487 },
  { 16, 16, 15, 15, 30, 56, 101, 165, 225, 385 },
  { 20, 20, 19, 19, 36, 68, 119, 186, 231, 306 },
  { 24, 23, 23, 22, 43, 79, 135, 201, 230, 244 },
  { 28, 27, 26, 26, 49, 89, 149, 211, 223, 196 },
  { 32, 31, 30, 29, 55, 98, 160, 218, 212, 159 },
  { 36, 35, 33, 32, 60, 107, 171, 221, 200, 129 },
  { 40, 38, 37, 35, 66, 115, 179, 222, 187, 105 },
  { 44, 42, 40, 38, 71, 122, 186, 221, 174, 86 },
  { 48, 45, 43, 41, 76, 129, 192, 219, 160, 71 },
  { 52, 49, 46, 44, 80, 136, 196, 215, 148, 58 },
  { 56, 53, 49, 46, 85, 142, 200, 210, 135, 48 },
  { 60, 56, 52, 49, 89, 147, 203, 204, 124, 40 },
  { 64, 60, 55, 52, 93, 151, 205, 198, 113, 33 },
  { 68, 63, 58, 54, 97, 156, 205, 192, 103, 28 },
  { 72, 66, 61, 57, 100, 160, 206, 185, 94, 23 },
  { 76, 70, 64, 59, 104, 163, 205, 178, 85, 20 },
  { 80, 73, 67, 61, 107, 166, 205, 171, 77, 17 },
  { 84, 76, 69, 63, 110, 169, 204, 164, 71, 14 },
  { 88, 80, 72, 65, 113, 171, 202, 157, 64, 12 },
  { 92, 83, 75, 67, 116, 173, 200, 150, 58, 10 },
  { 96, 86, 77, 69, 118, 175, 198, 143, 53, 9 },
  { 100, 89, 80, 71, 121, 176, 195, 137, 48, 7 },
  { 104, 92, 82, 73, 123, 178, 192, 130, 44, 6 },
  { 108, 96, 84, 75, 125, 178, 189, 124, 40, 5 },
  { 112, 98, 87, 76, 127, 179, 186, 118, 36, 5 },
  { 116, 101, 89, 78, 129, 179, 183, 112, 33, 4 },
  { 120, 104, 91, 80, 131, 180, 179, 106, 30, 3 },
  { 124, 107, 93, 81, 132, 180, 176, 101, 27, 3 },
  { 128, 110, 95, 82, 134, 179, 172, 96, 25, 3 },
  { 132, 113, 97, 84, 135, 179, 168, 91, 23, 2 },
  { 136, 116, 99, 85, 136, 179, 164, 86, 21, 2 },
  { 140, 119, 101, 86, 137, 178, 160, 82, 19, 2 },
  { 144, 122, 103, 88, 138, 177, 157, 77, 17, 1 },
  { 148, 124, 105, 89, 139, 176, 153, 73, 16, 1 },
  { 152, 127, 107, 90, 140, 175, 149, 69, 14, 1 },
  { 156, 130, 108, 91, 141, 173, 145, 66, 13, 1 },
  { 160, 133, 110, 92, 141, 172, 141, 62, 12, 1 },
  { 164, 135, 111, 93, 142, 171, 137, 59, 11, 1 },
  { 168, 138, 113, 94, 142, 169, 133, 56, 10, 1 },
  { 172, 140, 115, 94, 142, 168, 130, 53, 9, 1 },
  { 176, 143, 116, 95, 143, 166, 126, 50, 8, 1 },
  { 180, 145, 118, 96, 143, 164, 122, 47, 8, 1 },
  { 184, 147, 119, 96, 143, 163, 119, 45, 7, 1 },
  { 188, 150, 120, 97, 143, 161, 116, 42, 6, 1 },
  { 192, 152, 121, 98, 143, 159, 112, 40, 6, 1 },
  { 196, 155, 123, 98, 142, 157, 109, 38, 5, 1 },
  { 200, 157, 124, 99, 142, 155, 105, 36, 5, 1 },
  { 204, 159, 125, 99, 142, 153, 102, 34, 5, 1 },
  { 208, 161, 126, 100, 142, 151, 99, 32, 4, 1 },
  { 212, 164, 127, 100, 141, 149, 96, 30, 4, 1 },
  { 216, 166, 129, 100, 141, 147, 93, 28, 3, 1 },
  { 220, 168, 130, 101, 140, 144, 90, 27, 3, 1 },
  { 224, 170, 131, 101, 140, 142, 87, 25, 3, 1 },
  { 228, 172, 132, 101, 139, 140, 84, 24, 3, 1 },
  { 232, 174, 132, 101, 139, 138, 81, 23, 3, 1 },
  { 236, 176, 133, 101, 138, 136, 79, 22, 2, 1 },
  { 240, 178, 134, 102, 137, 134, 76, 20, 2, 1 },
  { 244, 180, 135, 102, 136, 131, 74, 19, 2, 1 },
  { 248, 182, 135, 102, 136, 129, 71, 18, 2, 1 },
  { 252, 184, 136, 101, 135, 127, 69, 17, 2, 1 },
  { 256, 186, 137, 102, 134, 124, 66, 16, 2, 1 },
  { 260, 188, 138, 102, 133, 122, 64, 15, 1, 1 },
  { 264, 190, 138, 101, 132, 120, 62, 15, 1, 1 },
  { 268, 191, 139, 101, 131, 118, 60, 14, 1, 1 },
  { 272, 193, 139, 101, 130, 116, 58, 13, 1, 1 },
  { 276, 195, 139, 101, 129, 114, 56, 12, 1, 1 },
  { 280, 196, 140, 101, 128, 111, 54, 12, 1, 1 },
  { 284, 198, 140, 101, 127, 109, 52, 11, 1, 1 },
  { 288, 200, 141, 100, 126, 107, 50, 10, 1, 1 },
  { 292, 201, 141, 100, 125, 105, 48, 10, 1, 1 },
  { 296, 203, 141, 100, 123, 103, 47, 9, 1, 1 },
  { 300, 204, 142, 99, 122, 101, 45, 9, 1, 1 },
  { 304, 206, 142, 99, 121, 99, 43, 8, 1, 1 },
  { 308, 207, 142, 99, 119, 97, 42, 8, 1, 1 },
  { 312, 209, 142, 99, 118, 95, 40, 7, 1, 1 },
  { 316, 210, 142, 98, 117, 93, 39, 7, 1, 1 },
  { 320, 211, 142, 98, 116, 91, 37, 7, 1, 1 },
  { 324, 213, 142, 97, 115, 89, 36, 6, 1, 1 },
  { 328, 214, 142, 97, 113, 87, 35, 6, 1, 1 },
  { 332, 215, 143, 96, 112, 85, 33, 6, 1, 1 },
  { 336, 216, 143, 96, 111, 83, 32, 5, 1, 1 },
  { 340, 218, 143, 95, 109, 81, 31, 5, 1, 1 },
  { 344, 219, 142, 95, 108, 79, 30, 5, 1, 1 },
  { 348, 220, 142, 94, 107, 78, 29, 4, 1, 1 },
  { 352, 221, 142, 94, 105, 76, 28, 4, 1, 1 },
  { 356, 222, 142, 93, 104, 74, 27, 4, 1, 1 },
  { 360, 223, 142, 92, 103, 72, 26, 4, 1, 1 },
  { 364, 224, 142, 92, 101, 70, 25, 4, 1, 1 },
  { 368, 225, 142, 91, 100, 69, 24, 3, 1, 1 },
  { 372, 226, 141, 91, 99, 67, 23, 3, 1, 1 },
  { 376, 227, 141, 90, 97, 66, 22, 3, 1, 1 },
  { 380, 228, 141, 89, 96, 64, 21, 3, 1, 1 },
  { 384, 229, 140, 89, 95, 62, 20, 3, 1, 1 },
  { 388, 229, 140, 88, 93, 61, 20, 3, 1, 1 },
  { 392, 230, 140, 87, 92, 60, 19, 2, 1, 1 },
  { 396, 231, 140, 86, 91, 58, 18, 2, 1, 1 },
  { 400, 232, 139, 86, 89, 57, 17, 2, 1, 1 },
  { 404, 232, 139, 85, 88, 55, 17, 2, 1, 1 },
  { 408, 233, 138, 84, 87, 54, 16, 2, 1, 1 },
  { 412, 234, 138, 84, 85, 52, 15, 2, 1, 1 },
  { 416, 234, 137, 83, 84, 51, 15, 2, 1, 1 },
  { 420, 235, 137, 82, 82, 50, 14, 2, 1, 1 },
  { 424, 236, 136, 81, 81, 48, 14, 2, 1, 1 },
  { 428, 236, 136, 81, 80, 47, 13, 1, 1, 1 },
  { 432, 236, 135, 80, 79, 46, 13, 1, 1, 1 },
  { 436, 237, 135, 79, 77, 45, 12, 1, 1, 1 },
  { 440, 238, 134, 78, 76, 43, 12, 1, 1, 1 },
  { 444, 238, 134, 77, 75, 42, 11, 1, 1, 1 },
  { 448, 238, 133, 77, 73, 41, 11, 1, 1, 1 },
  { 452, 239, 132, 76, 72, 40, 10, 1, 1, 1 },
  { 456, 239, 131, 75, 71, 39, 10, 1, 1, 1 },
  { 460, 239, 131, 74, 70, 38, 9, 1, 1, 1 },
  { 464, 240, 130, 73, 68, 37, 9, 1, 1, 1 },
  { 468, 240, 129, 72, 67, 36, 9, 1, 1, 1 },
  { 472, 240, 128, 72, 66, 35, 8, 1, 1, 1 },
  { 476, 240, 127, 71, 65, 34, 8, 1, 1, 1 },
  { 480, 240, 127, 70, 63, 33, 8, 1, 1, 1 },
  { 484, 241, 126, 69, 62, 32, 7, 1, 1, 1 },
  { 488, 241, 125, 68, 61, 31, 7, 1, 1, 1 },
  { 492, 241, 124, 67, 60, 30, 7, 1, 1, 1 },
  { 496, 241, 124, 66, 59, 29, 6, 1, 1, 1 },
  { 500, 240, 123, 66, 58, 28, 6, 1, 1, 1 },
  { 504, 240, 122, 65, 57, 27, 6, 1, 1, 1 },
  { 508, 240, 121, 64, 55, 27, 6, 1, 1, 1 },
  { 512, 241, 120, 63, 54, 26, 5, 1, 1, 1 },
  { 516, 241, 119, 62, 53, 25, 5, 1, 1, 1 },
  { 520, 240, 118, 62, 52, 24, 5, 1, 1, 1 },
  { 524, 240, 117, 60, 51, 24, 5, 1, 1, 1 },
  { 528, 239, 116, 60, 50, 23, 5, 1, 1, 1 },
  { 532, 239, 116, 59, 49, 22, 4, 1, 1, 1 },
  { 536, 239, 115, 58, 48, 21, 4, 1, 1, 1 },
  { 540, 239, 113, 57, 47, 21, 4, 1, 1, 1 },
  { 544, 238, 113, 56, 46, 20, 4, 1, 1, 1 },
  { 548, 238, 112, 55, 45, 19, 4, 1, 1, 1 },
  { 552, 238, 110, 55, 44, 19, 3, 1, 1, 1 },
  { 556, 237, 110, 54, 43, 18, 3, 1, 1, 1 },
  { 560, 237, 108, 53, 42, 18, 3, 1, 1, 1 },
  { 564, 236, 108, 52, 41, 17, 3, 1, 1, 1 },
  { 568, 236, 106, 51, 40, 17, 3, 1, 1, 1 },
  { 572, 235, 105, 51, 39, 16, 3, 1, 1, 1 },
  { 576, 235, 104, 50, 38, 15, 3, 1, 1, 1 },
  { 580, 234, 103, 49, 37, 15, 3, 1, 1, 1 },
  { 584, 234, 102, 48, 37, 14, 2, 1, 1, 1 },
  { 588, 233, 101, 47, 36, 14, 2, 1, 1, 1 },
  { 592, 233, 100, 46, 35, 13, 2, 1, 1, 1 },
  { 596, 231, 99, 46, 34, 13, 2, 1, 1, 1 },
  { 600, 230, 98, 45, 33, 13, 2, 1, 1, 1 },
  { 604, 230, 97, 44, 32, 12, 2, 1, 1, 1 },
  { 608, 229, 96, 43, 31, 12, 2, 1, 1, 1 },
  { 612, 228, 95, 42, 31, 11, 2, 1, 1, 1 },
  { 616, 227, 93, 42, 30, 11, 2, 1, 1, 1 },
  { 620, 227, 92, 41, 29, 10, 2, 1, 1, 1 },
  { 624, 226, 92, 40, 28, 10, 1, 1, 1, 1 },
  { 628, 225, 90, 39, 28, 10, 1, 1, 1, 1 },
  { 632, 224, 89, 39, 27, 9, 1, 1, 1, 1 },
  { 636, 223, 88, 38, 26, 9, 1, 1, 1, 1 },
  { 640, 222, 87, 37, 25, 9, 1, 1, 1, 1 },
  { 644, 221, 86, 36, 25, 8, 1, 1, 1, 1 },
  { 648, 220, 84, 36, 24, 8, 1, 1, 1, 1 },
  { 652, 219, 83, 35, 23, 8, 1, 1, 1, 1 },
  { 656, 218, 82, 34, 23, 7, 1, 1, 1, 1 },
  { 660, 217, 81, 33, 22, 7, 1, 1, 1, 1 },
  { 664, 215, 80, 33, 21, 7, 1, 1, 1, 1 },
  { 668, 214, 78, 32, 21, 7, 1, 1, 1, 1 },
  { 672, 213, 78, 31, 20, 6, 1, 1, 1, 1 },
  { 676, 211, 76, 31, 20, 6, 1, 1, 1, 1 },
  { 680, 210, 75, 30, 19, 6, 1, 1, 1, 1 },
  { 684, 209, 74, 29, 18, 6, 1, 1, 1, 1 },
  { 688, 208, 73, 28, 18, 5, 1, 1, 1, 1 },
  { 692, 206, 72, 28, 17, 5, 1, 1, 1, 1 },
  { 696, 205, 70, 27, 17, 5, 1, 1, 1, 1 },
  { 700, 203, 69, 27, 16, 5, 1, 1, 1, 1 },
  { 704, 201, 68, 26, 16, 5, 1, 1, 1, 1 },
  { 708, 201, 67, 25, 15, 4, 1, 1, 1, 1 },
  { 712, 198, 66, 25, 15, 4, 1, 1, 1, 1 },
  { 716, 197, 65, 24, 14, 4, 1, 1, 1, 1 },
  { 720, 196, 63, 23, 14, 4, 1, 1, 1, 1 },
  { 724, 194, 62, 23, 13, 4, 1, 1, 1, 1 },
  { 728, 193, 61, 22, 13, 3, 1, 1, 1, 1 },
  { 732, 191, 60, 22, 12, 3, 1, 1, 1, 1 },
  { 736, 189, 59, 21, 12, 3, 1, 1, 1, 1 },
  { 740, 188, 58, 20, 11, 3, 1, 1, 1, 1 },
  { 744, 186, 56, 20, 11, 3, 1, 1, 1, 1 },
  { 748, 184, 55, 19, 11, 3, 1, 1, 1, 1 },
  { 752, 182, 54, 19, 10, 3, 1, 1, 1, 1 },
  { 756, 181, 53, 18, 10, 2, 1, 1, 1, 1 },
  { 760, 179, 52, 18, 9, 2, 1, 1, 1, 1 },
  { 764, 177, 51, 17, 9, 2, 1, 1, 1, 1 },
  { 768, 174, 50, 17, 9, 2, 1, 1, 1, 1 },
  { 772, 173, 49, 16, 8, 2, 1, 1, 1, 1 },
  { 776, 171, 47, 16, 8, 2, 1, 1, 1, 1 },
  { 780, 169, 46, 15, 8, 2, 1, 1, 1, 1 },
  { 784, 167, 45, 15, 7, 2, 1, 1, 1, 1 },
  { 788, 165, 44, 14, 7, 2, 1, 1, 1, 1 },
  { 792, 162, 43, 14, 7, 2, 1, 1, 1, 1 },
  { 796, 161, 42, 13, 7, 1, 1, 1, 1, 1 },
  { 800, 159, 41, 13, 6, 1, 1, 1, 1, 1 },
  { 804, 157, 40, 12, 6, 1, 1, 1, 1, 1 },
  { 808, 154, 39, 12, 6, 1, 1, 1, 1, 1 },
  { 812, 153, 38, 11, 5, 1, 1, 1, 1, 1 },
  { 816, 150, 37, 11, 5, 1, 1, 1, 1, 1 },
  { 820, 148, 36, 10, 5, 1, 1, 1, 1, 1 },
  { 824, 145, 35, 10, 5, 1, 1, 1, 1, 1 },
  { 828, 143, 34, 10, 4, 1, 1, 1, 1, 1 },
  { 832, 141, 33, 9, 4, 1, 1, 1, 1, 1 },
  { 836, 138, 32, 9, 4, 1, 1, 1, 1, 1 },
  { 840, 136, 30, 9, 4, 1, 1, 1, 1, 1 },
  { 844, 133, 30, 8, 4, 1, 1, 1, 1, 1 },
  { 848, 131, 29, 8, 3, 1, 1, 1, 1, 1 },
  { 852, 129, 28, 7, 3, 1, 1, 1, 1, 1 },
  { 856, 126, 27, 7, 3, 1, 1, 1, 1, 1 },
  { 860, 123, 26, 7, 3, 1, 1, 1, 1, 1 },
  { 864, 121, 25, 6, 3, 1, 1, 1, 1, 1 },
  { 868, 118, 24, 6, 3, 1, 1, 1, 1, 1 },
  { 872, 116, 23, 6, 2, 1, 1, 1, 1, 1 },
  { 876, 113, 22, 6, 2, 1, 1, 1, 1, 1 },
  { 880, 111, 21, 5, 2, 1, 1, 1, 1, 1 },
  { 884, 108, 20, 5, 2, 1, 1, 1, 1, 1 },
  { 888, 105, 19, 5, 2, 1, 1, 1, 1, 1 },
  { 892, 102, 19, 4, 2, 1, 1, 1, 1, 1 },
  { 896, 99, 18, 4, 2, 1, 1, 1, 1, 1 },
  { 900, 97, 17, 4, 1, 1, 1, 1, 1, 1 },
  { 904, 94, 16, 4, 1, 1, 1, 1, 1, 1 },
  { 908, 92, 15, 3, 1, 1, 1, 1, 1, 1 },
  { 912, 89, 14, 3, 1, 1, 1, 1, 1, 1 },
  { 916, 85, 14, 3, 1, 1, 1, 1, 1, 1 },
  { 920, 82, 13, 3, 1, 1, 1, 1, 1, 1 },
  { 924, 79, 12, 3, 1, 1, 1, 1, 1, 1 },
  { 928, 77, 11, 2, 1, 1, 1, 1, 1, 1 },
  { 932, 73, 11, 2, 1, 1, 1, 1, 1, 1 },
  { 936, 70, 10, 2, 1, 1, 1, 1, 1, 1 },
  { 940, 67, 9, 2, 1, 1, 1, 1, 1, 1 },
  { 944, 64, 8, 2, 1, 1, 1, 1, 1, 1 },
  { 948, 60, 8, 2, 1, 1, 1, 1, 1, 1 },
  { 952, 58, 7, 1, 1, 1, 1, 1, 1, 1 },
  { 956, 54, 7, 1, 1, 1, 1, 1, 1, 1 },
  { 960, 51, 6, 1, 1, 1, 1, 1, 1, 1 },
  { 964, 48, 5, 1, 1, 1, 1, 1, 1, 1 },
  { 968, 44, 5, 1, 1, 1, 1, 1, 1, 1 },
  { 972, 41, 4, 1, 1, 1, 1, 1, 1, 1 },
  { 976, 37, 4, 1, 1, 1, 1, 1, 1, 1 },
  { 980, 34, 3, 1, 1, 1, 1, 1, 1, 1 },
  { 984, 30, 3, 1, 1, 1, 1, 1, 1, 1 },
  { 988, 27, 2, 1, 1, 1, 1, 1, 1, 1 },
  { 992, 23, 2, 1, 1, 1, 1, 1, 1, 1 },
  { 996, 19, 2, 1, 1, 1, 1, 1, 1, 1 },
  { 1000, 16, 1, 1, 1, 1, 1, 1, 1, 1 },
  { 1004, 12, 1, 1, 1, 1, 1, 1, 1, 1 },
  { 1008, 8, 1, 1, 1, 1, 1, 1, 1, 1 },
  { 1012, 4, 1, 1, 1, 1, 1, 1, 1, 1 },
  { 1015, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
  { 1015, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
};
#endif  // CONFIG_RANS

static const av1_coeff_probs_model default_coef_probs_4x4[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { 195, 29, 183 },
        { 84, 49, 136 },
        { 8, 42, 71 } },
      { // Band 1
        { 31, 107, 169 },
        { 35, 99, 159 },
        { 17, 82, 140 },
        { 8, 66, 114 },
        { 2, 44, 76 },
        { 1, 19, 32 } },
      { // Band 2
        { 40, 132, 201 },
        { 29, 114, 187 },
        { 13, 91, 157 },
        { 7, 75, 127 },
        { 3, 58, 95 },
        { 1, 28, 47 } },
      { // Band 3
        { 69, 142, 221 },
        { 42, 122, 201 },
        { 15, 91, 159 },
        { 6, 67, 121 },
        { 1, 42, 77 },
        { 1, 17, 31 } },
      { // Band 4
        { 102, 148, 228 },
        { 67, 117, 204 },
        { 17, 82, 154 },
        { 6, 59, 114 },
        { 2, 39, 75 },
        { 1, 15, 29 } },
      { // Band 5
        { 156, 57, 233 },
        { 119, 57, 212 },
        { 58, 48, 163 },
        { 29, 40, 124 },
        { 12, 30, 81 },
        { 3, 12, 31 } } },
    {   // Inter
      { // Band 0
        { 191, 107, 226 },
        { 124, 117, 204 },
        { 25, 99, 155 } },
      { // Band 1
        { 29, 148, 210 },
        { 37, 126, 194 },
        { 8, 93, 157 },
        { 2, 68, 118 },
        { 1, 39, 69 },
        { 1, 17, 33 } },
      { // Band 2
        { 41, 151, 213 },
        { 27, 123, 193 },
        { 3, 82, 144 },
        { 1, 58, 105 },
        { 1, 32, 60 },
        { 1, 13, 26 } },
      { // Band 3
        { 59, 159, 220 },
        { 23, 126, 198 },
        { 4, 88, 151 },
        { 1, 66, 114 },
        { 1, 38, 71 },
        { 1, 18, 34 } },
      { // Band 4
        { 114, 136, 232 },
        { 51, 114, 207 },
        { 11, 83, 155 },
        { 3, 56, 105 },
        { 1, 33, 65 },
        { 1, 17, 34 } },
      { // Band 5
        { 149, 65, 234 },
        { 121, 57, 215 },
        { 61, 49, 166 },
        { 28, 36, 114 },
        { 12, 25, 76 },
        { 3, 16, 42 } } } },
  {     // UV plane
    {   // Intra
      { // Band 0
        { 214, 49, 220 },
        { 132, 63, 188 },
        { 42, 65, 137 } },
      { // Band 1
        { 85, 137, 221 },
        { 104, 131, 216 },
        { 49, 111, 192 },
        { 21, 87, 155 },
        { 2, 49, 87 },
        { 1, 16, 28 } },
      { // Band 2
        { 89, 163, 230 },
        { 90, 137, 220 },
        { 29, 100, 183 },
        { 10, 70, 135 },
        { 2, 42, 81 },
        { 1, 17, 33 } },
      { // Band 3
        { 108, 167, 237 },
        { 55, 133, 222 },
        { 15, 97, 179 },
        { 4, 72, 135 },
        { 1, 45, 85 },
        { 1, 19, 38 } },
      { // Band 4
        { 124, 146, 240 },
        { 66, 124, 224 },
        { 17, 88, 175 },
        { 4, 58, 122 },
        { 1, 36, 75 },
        { 1, 18, 37 } },
      { //  Band 5
        { 141, 79, 241 },
        { 126, 70, 227 },
        { 66, 58, 182 },
        { 30, 44, 136 },
        { 12, 34, 96 },
        { 2, 20, 47 } } },
    {   // Inter
      { // Band 0
        { 229, 99, 249 },
        { 143, 111, 235 },
        { 46, 109, 192 } },
      { // Band 1
        { 82, 158, 236 },
        { 94, 146, 224 },
        { 25, 117, 191 },
        { 9, 87, 149 },
        { 3, 56, 99 },
        { 1, 33, 57 } },
      { // Band 2
        { 83, 167, 237 },
        { 68, 145, 222 },
        { 10, 103, 177 },
        { 2, 72, 131 },
        { 1, 41, 79 },
        { 1, 20, 39 } },
      { // Band 3
        { 99, 167, 239 },
        { 47, 141, 224 },
        { 10, 104, 178 },
        { 2, 73, 133 },
        { 1, 44, 85 },
        { 1, 22, 47 } },
      { // Band 4
        { 127, 145, 243 },
        { 71, 129, 228 },
        { 17, 93, 177 },
        { 3, 61, 124 },
        { 1, 41, 84 },
        { 1, 21, 52 } },
      { // Band 5
        { 157, 78, 244 },
        { 140, 72, 231 },
        { 69, 58, 184 },
        { 31, 44, 137 },
        { 14, 38, 105 },
        { 8, 23, 61 } } } }
};

static const av1_coeff_probs_model default_coef_probs_8x8[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { 125, 34, 187 },
        { 52, 41, 133 },
        { 6, 31, 56 } },
      { // Band 1
        { 37, 109, 153 },
        { 51, 102, 147 },
        { 23, 87, 128 },
        { 8, 67, 101 },
        { 1, 41, 63 },
        { 1, 19, 29 } },
      { // Band 2
        { 31, 154, 185 },
        { 17, 127, 175 },
        { 6, 96, 145 },
        { 2, 73, 114 },
        { 1, 51, 82 },
        { 1, 28, 45 } },
      { // Band 3
        { 23, 163, 200 },
        { 10, 131, 185 },
        { 2, 93, 148 },
        { 1, 67, 111 },
        { 1, 41, 69 },
        { 1, 14, 24 } },
      { // Band 4
        { 29, 176, 217 },
        { 12, 145, 201 },
        { 3, 101, 156 },
        { 1, 69, 111 },
        { 1, 39, 63 },
        { 1, 14, 23 } },
      { // Band 5
        { 57, 192, 233 },
        { 25, 154, 215 },
        { 6, 109, 167 },
        { 3, 78, 118 },
        { 1, 48, 69 },
        { 1, 21, 29 } } },
    {   // Inter
      { // Band 0
        { 202, 105, 245 },
        { 108, 106, 216 },
        { 18, 90, 144 } },
      { // Band 1
        { 33, 172, 219 },
        { 64, 149, 206 },
        { 14, 117, 177 },
        { 5, 90, 141 },
        { 2, 61, 95 },
        { 1, 37, 57 } },
      { // Band 2
        { 33, 179, 220 },
        { 11, 140, 198 },
        { 1, 89, 148 },
        { 1, 60, 104 },
        { 1, 33, 57 },
        { 1, 12, 21 } },
      { // Band 3
        { 30, 181, 221 },
        { 8, 141, 198 },
        { 1, 87, 145 },
        { 1, 58, 100 },
        { 1, 31, 55 },
        { 1, 12, 20 } },
      { // Band 4
        { 32, 186, 224 },
        { 7, 142, 198 },
        { 1, 86, 143 },
        { 1, 58, 100 },
        { 1, 31, 55 },
        { 1, 12, 22 } },
      { // Band 5
        { 57, 192, 227 },
        { 20, 143, 204 },
        { 3, 96, 154 },
        { 1, 68, 112 },
        { 1, 42, 69 },
        { 1, 19, 32 } } } },
  {     // UV plane
    {   // Intra
      { // Band 0
        { 212, 35, 215 },
        { 113, 47, 169 },
        { 29, 48, 105 } },
      { // Band 1
        { 74, 129, 203 },
        { 106, 120, 203 },
        { 49, 107, 178 },
        { 19, 84, 144 },
        { 4, 50, 84 },
        { 1, 15, 25 } },
      { // Band 2
        { 71, 172, 217 },
        { 44, 141, 209 },
        { 15, 102, 173 },
        { 6, 76, 133 },
        { 2, 51, 89 },
        { 1, 24, 42 } },
      { // Band 3
        { 64, 185, 231 },
        { 31, 148, 216 },
        { 8, 103, 175 },
        { 3, 74, 131 },
        { 1, 46, 81 },
        { 1, 18, 30 } },
      { // Band 4
        { 65, 196, 235 },
        { 25, 157, 221 },
        { 5, 105, 174 },
        { 1, 67, 120 },
        { 1, 38, 69 },
        { 1, 15, 30 } },
      { // Band 5
        { 65, 204, 238 },
        { 30, 156, 224 },
        { 7, 107, 177 },
        { 2, 70, 124 },
        { 1, 42, 73 },
        { 1, 18, 34 } } },
    {   // Inter
      { // Band 0
        { 225, 86, 251 },
        { 144, 104, 235 },
        { 42, 99, 181 } },
      { // Band 1
        { 85, 175, 239 },
        { 112, 165, 229 },
        { 29, 136, 200 },
        { 12, 103, 162 },
        { 6, 77, 123 },
        { 2, 53, 84 } },
      { // Band 2
        { 75, 183, 239 },
        { 30, 155, 221 },
        { 3, 106, 171 },
        { 1, 74, 128 },
        { 1, 44, 76 },
        { 1, 17, 28 } },
      { // Band 3
        { 73, 185, 240 },
        { 27, 159, 222 },
        { 2, 107, 172 },
        { 1, 75, 127 },
        { 1, 42, 73 },
        { 1, 17, 29 } },
      { // Band 4
        { 62, 190, 238 },
        { 21, 159, 222 },
        { 2, 107, 172 },
        { 1, 72, 122 },
        { 1, 40, 71 },
        { 1, 18, 32 } },
      { // Band 5
        { 61, 199, 240 },
        { 27, 161, 226 },
        { 4, 113, 180 },
        { 1, 76, 129 },
        { 1, 46, 80 },
        { 1, 23, 41 } } } }
};

static const av1_coeff_probs_model default_coef_probs_16x16[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { 7, 27, 153 },
        { 5, 30, 95 },
        { 1, 16, 30 } },
      { // Band 1
        { 50, 75, 127 },
        { 57, 75, 124 },
        { 27, 67, 108 },
        { 10, 54, 86 },
        { 1, 33, 52 },
        { 1, 12, 18 } },
      { // Band 2
        { 43, 125, 151 },
        { 26, 108, 148 },
        { 7, 83, 122 },
        { 2, 59, 89 },
        { 1, 38, 60 },
        { 1, 17, 27 } },
      { // Band 3
        { 23, 144, 163 },
        { 13, 112, 154 },
        { 2, 75, 117 },
        { 1, 50, 81 },
        { 1, 31, 51 },
        { 1, 14, 23 } },
      { // Band 4
        { 18, 162, 185 },
        { 6, 123, 171 },
        { 1, 78, 125 },
        { 1, 51, 86 },
        { 1, 31, 54 },
        { 1, 14, 23 } },
      { // Band 5
        { 15, 199, 227 },
        { 3, 150, 204 },
        { 1, 91, 146 },
        { 1, 55, 95 },
        { 1, 30, 53 },
        { 1, 11, 20 } } },
    {   // Inter
      { // Band 0
        { 19, 55, 240 },
        { 19, 59, 196 },
        { 3, 52, 105 } },
      { // Band 1
        { 41, 166, 207 },
        { 104, 153, 199 },
        { 31, 123, 181 },
        { 14, 101, 152 },
        { 5, 72, 106 },
        { 1, 36, 52 } },
      { // Band 2
        { 35, 176, 211 },
        { 12, 131, 190 },
        { 2, 88, 144 },
        { 1, 60, 101 },
        { 1, 36, 60 },
        { 1, 16, 28 } },
      { // Band 3
        { 28, 183, 213 },
        { 8, 134, 191 },
        { 1, 86, 142 },
        { 1, 56, 96 },
        { 1, 30, 53 },
        { 1, 12, 20 } },
      { // Band 4
        { 20, 190, 215 },
        { 4, 135, 192 },
        { 1, 84, 139 },
        { 1, 53, 91 },
        { 1, 28, 49 },
        { 1, 11, 20 } },
      { // Band 5
        { 13, 196, 216 },
        { 2, 137, 192 },
        { 1, 86, 143 },
        { 1, 57, 99 },
        { 1, 32, 56 },
        { 1, 13, 24 } } } },
  {     // UV plane
    {   // Intra
      { // Band 0
        { 211, 29, 217 },
        { 96, 47, 156 },
        { 22, 43, 87 } },
      { // Band 1
        { 78, 120, 193 },
        { 111, 116, 186 },
        { 46, 102, 164 },
        { 15, 80, 128 },
        { 2, 49, 76 },
        { 1, 18, 28 } },
      { // Band 2
        { 71, 161, 203 },
        { 42, 132, 192 },
        { 10, 98, 150 },
        { 3, 69, 109 },
        { 1, 44, 70 },
        { 1, 18, 29 } },
      { // Band 3
        { 57, 186, 211 },
        { 30, 140, 196 },
        { 4, 93, 146 },
        { 1, 62, 102 },
        { 1, 38, 65 },
        { 1, 16, 27 } },
      { // Band 4
        { 47, 199, 217 },
        { 14, 145, 196 },
        { 1, 88, 142 },
        { 1, 57, 98 },
        { 1, 36, 62 },
        { 1, 15, 26 } },
      { // Band 5
        { 26, 219, 229 },
        { 5, 155, 207 },
        { 1, 94, 151 },
        { 1, 60, 104 },
        { 1, 36, 62 },
        { 1, 16, 28 } } },
    {   // Inter
      { // Band 0
        { 233, 29, 248 },
        { 146, 47, 220 },
        { 43, 52, 140 } },
      { // Band 1
        { 100, 163, 232 },
        { 179, 161, 222 },
        { 63, 142, 204 },
        { 37, 113, 174 },
        { 26, 89, 137 },
        { 18, 68, 97 } },
      { // Band 2
        { 85, 181, 230 },
        { 32, 146, 209 },
        { 7, 100, 164 },
        { 3, 71, 121 },
        { 1, 45, 77 },
        { 1, 18, 30 } },
      { // Band 3
        { 65, 187, 230 },
        { 20, 148, 207 },
        { 2, 97, 159 },
        { 1, 68, 116 },
        { 1, 40, 70 },
        { 1, 14, 29 } },
      { // Band 4
        { 40, 194, 227 },
        { 8, 147, 204 },
        { 1, 94, 155 },
        { 1, 65, 112 },
        { 1, 39, 66 },
        { 1, 14, 26 } },
      { // Band 5
        { 16, 208, 228 },
        { 3, 151, 207 },
        { 1, 98, 160 },
        { 1, 67, 117 },
        { 1, 41, 74 },
        { 1, 17, 31 } } } }
};

static const av1_coeff_probs_model default_coef_probs_32x32[PLANE_TYPES] = {
  {     // Y plane
    {   // Intra
      { // Band 0
        { 17, 38, 140 },
        { 7, 34, 80 },
        { 1, 17, 29 } },
      { // Band 1
        { 37, 75, 128 },
        { 41, 76, 128 },
        { 26, 66, 116 },
        { 12, 52, 94 },
        { 2, 32, 55 },
        { 1, 10, 16 } },
      { // Band 2
        { 50, 127, 154 },
        { 37, 109, 152 },
        { 16, 82, 121 },
        { 5, 59, 85 },
        { 1, 35, 54 },
        { 1, 13, 20 } },
      { // Band 3
        { 40, 142, 167 },
        { 17, 110, 157 },
        { 2, 71, 112 },
        { 1, 44, 72 },
        { 1, 27, 45 },
        { 1, 11, 17 } },
      { // Band 4
        { 30, 175, 188 },
        { 9, 124, 169 },
        { 1, 74, 116 },
        { 1, 48, 78 },
        { 1, 30, 49 },
        { 1, 11, 18 } },
      { // Band 5
        { 10, 222, 223 },
        { 2, 150, 194 },
        { 1, 83, 128 },
        { 1, 48, 79 },
        { 1, 27, 45 },
        { 1, 11, 17 } } },
    {   // Inter
      { // Band 0
        { 36, 41, 235 },
        { 29, 36, 193 },
        { 10, 27, 111 } },
      { // Band 1
        { 85, 165, 222 },
        { 177, 162, 215 },
        { 110, 135, 195 },
        { 57, 113, 168 },
        { 23, 83, 120 },
        { 10, 49, 61 } },
      { // Band 2
        { 85, 190, 223 },
        { 36, 139, 200 },
        { 5, 90, 146 },
        { 1, 60, 103 },
        { 1, 38, 65 },
        { 1, 18, 30 } },
      { // Band 3
        { 72, 202, 223 },
        { 23, 141, 199 },
        { 2, 86, 140 },
        { 1, 56, 97 },
        { 1, 36, 61 },
        { 1, 16, 27 } },
      { // Band 4
        { 55, 218, 225 },
        { 13, 145, 200 },
        { 1, 86, 141 },
        { 1, 57, 99 },
        { 1, 35, 61 },
        { 1, 13, 22 } },
      { // Band 5
        { 15, 235, 212 },
        { 1, 132, 184 },
        { 1, 84, 139 },
        { 1, 57, 97 },
        { 1, 34, 56 },
        { 1, 14, 23 } } } },
  {     // UV plane
    {   // Intra
      { // Band 0
        { 181, 21, 201 },
        { 61, 37, 123 },
        { 10, 38, 71 } },
      { // Band 1
        { 47, 106, 172 },
        { 95, 104, 173 },
        { 42, 93, 159 },
        { 18, 77, 131 },
        { 4, 50, 81 },
        { 1, 17, 23 } },
      { // Band 2
        { 62, 147, 199 },
        { 44, 130, 189 },
        { 28, 102, 154 },
        { 18, 75, 115 },
        { 2, 44, 65 },
        { 1, 12, 19 } },
      { // Band 3
        { 55, 153, 210 },
        { 24, 130, 194 },
        { 3, 93, 146 },
        { 1, 61, 97 },
        { 1, 31, 50 },
        { 1, 10, 16 } },
      { // Band 4
        { 49, 186, 223 },
        { 17, 148, 204 },
        { 1, 96, 142 },
        { 1, 53, 83 },
        { 1, 26, 44 },
        { 1, 11, 17 } },
      { // Band 5
        { 13, 217, 212 },
        { 2, 136, 180 },
        { 1, 78, 124 },
        { 1, 50, 83 },
        { 1, 29, 49 },
        { 1, 14, 23 } } },
    {   // Inter
      { // Band 0
        { 197, 13, 247 },
        { 82, 17, 222 },
        { 25, 17, 162 } },
      { // Band 1
        { 126, 186, 247 },
        { 234, 191, 243 },
        { 176, 177, 234 },
        { 104, 158, 220 },
        { 66, 128, 186 },
        { 55, 90, 137 } },
      { // Band 2
        { 111, 197, 242 },
        { 46, 158, 219 },
        { 9, 104, 171 },
        { 2, 65, 125 },
        { 1, 44, 80 },
        { 1, 17, 91 } },
      { // Band 3
        { 104, 208, 245 },
        { 39, 168, 224 },
        { 3, 109, 162 },
        { 1, 79, 124 },
        { 1, 50, 102 },
        { 1, 43, 102 } },
      { // Band 4
        { 84, 220, 246 },
        { 31, 177, 231 },
        { 2, 115, 180 },
        { 1, 79, 134 },
        { 1, 55, 77 },
        { 1, 60, 79 } },
      { // Band 5
        { 43, 243, 240 },
        { 8, 180, 217 },
        { 1, 115, 166 },
        { 1, 84, 121 },
        { 1, 51, 67 },
        { 1, 16, 6 } } } }
};

static void extend_to_full_distribution(aom_prob *probs, aom_prob p) {
  // TODO(aconverse): model[PIVOT_NODE] should never be zero.
  // https://code.google.com/p/webm/issues/detail?id=1089
  memcpy(probs, av1_pareto8_full[p == 0 ? 254 : p - 1],
         MODEL_NODES * sizeof(aom_prob));
}

void av1_model_to_full_probs(const aom_prob *model, aom_prob *full) {
  if (full != model)
    memcpy(full, model, sizeof(aom_prob) * UNCONSTRAINED_NODES);
  extend_to_full_distribution(&full[UNCONSTRAINED_NODES], model[PIVOT_NODE]);
}

#if CONFIG_RANS
static void build_token_cdfs(const aom_prob *pdf_model, rans_lut cdf) {
  int i;
  assert(pdf_model[2] != 0);
  cdf[0] = 0;
  for (i = 0; i < ENTROPY_TOKENS - 2; ++i) {
    cdf[i + 1] = cdf[i] + av1_pareto8_token_probs[pdf_model[2] - 1][i];
  }
}

void av1_coef_pareto_cdfs(FRAME_CONTEXT *fc) {
  TX_SIZE t;
  int i, j, k, l;
  for (t = TX_4X4; t <= TX_32X32; ++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_token_cdfs(fc->coef_probs[t][i][j][k][l],
                             fc->coef_cdfs[t][i][j][k][l]);
}
#endif  // CONFIG_RANS

void av1_default_coef_probs(AV1_COMMON *cm) {
  av1_copy(cm->fc->coef_probs[TX_4X4], default_coef_probs_4x4);
  av1_copy(cm->fc->coef_probs[TX_8X8], default_coef_probs_8x8);
  av1_copy(cm->fc->coef_probs[TX_16X16], default_coef_probs_16x16);
  av1_copy(cm->fc->coef_probs[TX_32X32], default_coef_probs_32x32);
#if CONFIG_RANS
  av1_coef_pareto_cdfs(cm->fc);
#endif  // CONFIG_RANS
}

#define COEF_COUNT_SAT 24
#define COEF_MAX_UPDATE_FACTOR 112
#define COEF_COUNT_SAT_KEY 24
#define COEF_MAX_UPDATE_FACTOR_KEY 112
#define COEF_COUNT_SAT_AFTER_KEY 24
#define COEF_MAX_UPDATE_FACTOR_AFTER_KEY 128

static void adapt_coef_probs(AV1_COMMON *cm, TX_SIZE tx_size,
                             unsigned int count_sat,
                             unsigned int update_factor) {
  const FRAME_CONTEXT *pre_fc = &cm->frame_contexts[cm->frame_context_idx];
  av1_coeff_probs_model *const probs = cm->fc->coef_probs[tx_size];
  const av1_coeff_probs_model *const pre_probs = pre_fc->coef_probs[tx_size];
  av1_coeff_count_model *counts = cm->counts.coef[tx_size];
  unsigned int(*eob_counts)[REF_TYPES][COEF_BANDS][COEFF_CONTEXTS] =
      cm->counts.eob_branch[tx_size];
  int i, j, k, l, m;

  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) {
          const int n0 = counts[i][j][k][l][ZERO_TOKEN];
          const int n1 = counts[i][j][k][l][ONE_TOKEN];
          const int n2 = counts[i][j][k][l][TWO_TOKEN];
          const int neob = counts[i][j][k][l][EOB_MODEL_TOKEN];
          const unsigned int branch_ct[UNCONSTRAINED_NODES][2] = {
            { neob, eob_counts[i][j][k][l] - neob }, { n0, n1 + n2 }, { n1, n2 }
          };
          for (m = 0; m < UNCONSTRAINED_NODES; ++m)
            probs[i][j][k][l][m] =
                merge_probs(pre_probs[i][j][k][l][m], branch_ct[m], count_sat,
                            update_factor);
        }
}

void av1_adapt_coef_probs(AV1_COMMON *cm) {
  TX_SIZE t;
  unsigned int count_sat, update_factor;

  if (frame_is_intra_only(cm)) {
    update_factor = COEF_MAX_UPDATE_FACTOR_KEY;
    count_sat = COEF_COUNT_SAT_KEY;
  } else if (cm->last_frame_type == KEY_FRAME) {
    update_factor = COEF_MAX_UPDATE_FACTOR_AFTER_KEY; /* adapt quickly */
    count_sat = COEF_COUNT_SAT_AFTER_KEY;
  } else {
    update_factor = COEF_MAX_UPDATE_FACTOR;
    count_sat = COEF_COUNT_SAT;
  }
  for (t = TX_4X4; t <= TX_32X32; t++)
    adapt_coef_probs(cm, t, count_sat, update_factor);
#if CONFIG_RANS
  av1_coef_pareto_cdfs(cm->fc);
#endif  // CONFIG_RANS
}
