shithub: libvpx

ref: c6efbbcfe40ca321f5cb7735e104feb6b7991e4e
dir: /vp9/common/vp9_default_coef_probs.h/

View raw version
/*
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
*/


/*Generated file, included by vp9_entropy.c*/

// NOTE: When the CONFIG_MODELCOEFPROB experiment is on, only the first
// 2 or 3 from each row is actually used depending on whether
// UNCONSTRAINDED_NODES is 2 or 3. If this experiment is merged
// the tables below should be shortened accordingly.
static const vp9_coeff_probs default_coef_probs_4x4[BLOCK_TYPES] = {
  { /* block Type 0 */
    { /* Intra */
      { /* Coeff Band 0 */
        { 201,  32, 166, 187, 155, 167, 175, 141, 211, 179, 126 },
        {  96,  39, 117, 157, 143, 158, 146, 131, 196, 159, 160 },
        {  13,  28,  54, 109, 114, 147, 133, 120, 205, 154, 188 }
      }, { /* Coeff Band 1 */
        { 128,  91, 156, 207, 155, 169, 211, 156, 244, 198, 224 },
        {  72,  84, 154, 208, 157, 170, 211, 156, 244, 198, 227 },
        {  34,  68, 123, 203, 149, 169, 211, 157, 243, 199, 227 },
        {  14,  53,  92, 187, 127, 159, 210, 156, 244, 198, 223 },
        {   3,  35,  56, 140, 108, 145, 200, 134, 245, 200, 227 },
        {   1,  15,  22,  68,  92, 136, 117, 107, 218, 158, 208 }
      }, { /* Coeff Band 2 */
        {  24,  81, 164, 207, 158, 170, 205, 153, 241, 193, 221 },
        {  48,  75, 154, 206, 157, 169, 206, 154, 241, 193, 226 },
        {  18,  64, 123, 201, 150, 168, 205, 154, 240, 192, 225 },
        {   6,  51,  90, 187, 130, 161, 204, 152, 239, 192, 221 },
        {   1,  33,  52, 143, 106, 145, 195, 139, 239, 191, 220 },
        {   1,  15,  19,  65,  89, 135, 117, 105, 214, 157, 202 }
      }, { /* Coeff Band 3 */
        {  46, 119, 186, 221, 170, 176, 214, 161, 241, 193, 228 },
        {  50, 100, 175, 224, 170, 177, 219, 165, 243, 197, 227 },
        {  17,  77, 137, 217, 157, 174, 219, 166, 243, 200, 230 },
        {   6,  58,  98, 195, 133, 162, 216, 160, 244, 201, 228 },
        {   2,  38,  61, 149, 111, 147, 200, 138, 243, 199, 225 },
        {   1,  17,  25,  76,  94, 138, 126, 109, 221, 161, 212 }
      }, { /* Coeff Band 4 */
        {  56, 131, 201, 231, 179, 181, 227, 172, 248, 209, 235 },
        {  52, 105, 187, 233, 179, 183, 229, 175, 248, 213, 240 },
        {  12,  77, 142, 225, 162, 178, 229, 173, 250, 214, 247 },
        {   3,  53,  93, 197, 133, 163, 222, 163, 250, 211, 240 },
        {   1,  31,  50, 145, 104, 145, 203, 140, 247, 204, 233 },
        {   1,  13,  19,  66,  85, 132, 129, 105, 228, 166, 217 }
      }, { /* Coeff Band 5 */
        {  93,  99, 221, 242, 194, 189, 240, 187, 251, 227, 199 },
        { 104,  81, 205, 242, 191, 190, 240, 187, 253, 227, 248 },
        {  39,  60, 155, 234, 172, 183, 237, 182, 254, 224, 251 },
        {  14,  42,  96, 203, 136, 166, 226, 166, 253, 216, 244 },
        {   4,  25,  49, 144, 102, 144, 205, 141, 249, 207, 238 },
        {   1,  10,  19,  65,  86, 131, 132, 103, 233, 171, 221 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        { 218, 134, 212, 233, 187, 182, 227, 169, 250, 213, 211 },
        { 137, 121, 176, 211, 169, 173, 200, 153, 236, 191, 201 },
        {  43,  96, 132, 181, 150, 164, 177, 141, 224, 175, 197 }
      }, { /* Coeff Band 1 */
        { 128, 178, 225, 239, 192, 188, 232, 178, 250, 216, 243 },
        {  29, 147, 210, 239, 191, 189, 231, 176, 249, 215, 239 },
        {  20, 101, 159, 236, 177, 189, 231, 178, 249, 214, 248 },
        {   7,  69, 107, 219, 132, 168, 235, 185, 250, 214, 245 },
        {   2,  40,  62, 150, 106, 142, 228, 146, 252, 223, 242 },
        {   1,  18,  28,  74,  96, 139, 127, 103, 234, 175, 228 }
      }, { /* Coeff Band 2 */
        {  38, 163, 224, 240, 192, 188, 234, 178, 251, 217, 233 },
        {  34, 134, 206, 239, 189, 188, 233, 177, 251, 218, 248 },
        {  14,  95, 156, 234, 171, 186, 234, 179, 251, 220, 238 },
        {   6,  68, 110, 215, 133, 166, 236, 181, 251, 217, 235 },
        {   2,  43,  68, 155, 111, 146, 223, 144, 252, 224, 239 },
        {   1,  21,  32,  86,  98, 139, 136, 110, 235, 174, 221 }
      }, { /* Coeff Band 3 */
        {  61, 173, 225, 241, 195, 190, 236, 181, 252, 221, 221 },
        {  39, 134, 205, 241, 191, 191, 237, 182, 252, 220, 239 },
        {   6,  82, 144, 233, 167, 183, 237, 182, 252, 220, 242 },
        {   2,  53,  92, 207, 130, 165, 232, 172, 253, 220, 243 },
        {   1,  28,  49, 146,  98, 141, 217, 146, 252, 216, 245 },
        {   1,  12,  21,  68,  88, 132, 140, 101, 241, 182, 236 }
      }, { /* Coeff Band 4 */
        {  83, 175, 229, 246, 201, 195, 241, 190, 253, 225, 249 },
        {  49, 134, 211, 245, 195, 195, 242, 192, 254, 228, 252 },
        {  12,  86, 154, 237, 169, 185, 242, 190, 254, 227, 252 },
        {   4,  56, 100, 208, 134, 166, 235, 173, 254, 228, 247 },
        {   1,  33,  57, 157, 104, 146, 217, 148, 253, 219, 250 },
        {   1,  16,  27,  82,  89, 132, 156, 108, 245, 188, 241 }
      }, { /* Coeff Band 5 */
        { 142, 137, 243, 252, 218, 207, 250, 205, 255, 241, 128 },
        { 117, 102, 224, 250, 204, 202, 249, 204, 255, 238, 255 },
        {  40,  69, 169, 242, 175, 190, 247, 198, 255, 238, 209 },
        {  14,  47, 106, 213, 135, 168, 239, 177, 255, 233, 244 },
        {   4,  26,  53, 152,  99, 143, 220, 147, 254, 224, 252 },
        {   1,  14,  25,  79,  87, 130, 160, 105, 249, 195, 249 }
      }
    }
  }, { /* block Type 1 */
    { /* Intra */
      { /* Coeff Band 0 */
        { 198,  34, 200, 220, 173, 177, 207, 161, 219, 190, 170 },
        { 100,  41, 144, 187, 152, 166, 179, 145, 219, 175, 182 },
        {  24,  38,  81, 143, 126, 153, 161, 131, 222, 169, 201 }
      }, { /* Coeff Band 1 */
        { 128, 132, 197, 226, 174, 179, 225, 167, 250, 206, 238 },
        { 116, 117, 189, 226, 173, 179, 224, 168, 250, 212, 210 },
        {  58,  97, 162, 226, 170, 181, 225, 170, 250, 210, 255 },
        {  29,  76, 128, 216, 147, 171, 226, 171, 249, 217, 232 },
        {  13,  52,  84, 175, 121, 152, 223, 155, 251, 212, 241 },
        {   6,  29,  44, 102, 105, 142, 153, 115, 236, 180, 223 }
      }, { /* Coeff Band 2 */
        {  84,  90, 195, 230, 178, 181, 225, 171, 248, 204, 249 },
        {  75,  85, 186, 227, 174, 179, 225, 170, 249, 213, 246 },
        {  49,  75, 163, 224, 169, 179, 225, 171, 249, 211, 251 },
        {  27,  63, 131, 216, 150, 171, 225, 168, 250, 211, 239 },
        {  10,  47,  88, 181, 124, 155, 221, 156, 249, 211, 241 },
        {   3,  29,  47, 105, 106, 141, 153, 118, 233, 176, 221 }
      }, { /* Coeff Band 3 */
        {  98, 143, 209, 237, 187, 186, 233, 177, 251, 216, 255 },
        {  81, 118, 204, 237, 186, 186, 232, 178, 252, 213, 255 },
        {  30,  91, 172, 234, 179, 184, 235, 177, 252, 221, 248 },
        {  10,  68, 124, 223, 153, 176, 232, 175, 252, 221, 253 },
        {   2,  41,  73, 181, 115, 153, 226, 163, 252, 217, 240 },
        {   1,  18,  30,  93,  94, 134, 168, 113, 245, 192, 242 }
      }, { /* Coeff Band 4 */
        { 119, 172, 224, 244, 198, 193, 239, 185, 251, 222, 255 },
        {  89, 126, 213, 245, 196, 195, 241, 192, 254, 226, 255 },
        {  35,  94, 180, 239, 182, 187, 242, 192, 255, 232, 255 },
        {  11,  68, 129, 222, 156, 174, 237, 177, 253, 226, 255 },
        {   2,  42,  78, 184, 121, 156, 225, 159, 253, 215, 240 },
        {   1,  20,  35, 104,  96, 137, 171, 120, 246, 194, 248 }
      }, { /* Coeff Band 5 */
        { 150, 126, 240, 252, 218, 204, 248, 204, 255, 255, 128 },
        { 126, 100, 224, 250, 207, 202, 249, 207, 255, 244, 128 },
        {  49,  77, 183, 245, 188, 194, 248, 202, 255, 255, 255 },
        {  15,  55, 125, 225, 152, 175, 242, 183, 255, 235, 255 },
        {   3,  32,  64, 174, 109, 152, 229, 158, 255, 225, 255 },
        {   1,  18,  33,  96,  89, 135, 179, 117, 252, 208, 255 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        { 242, 100, 229, 235, 190, 184, 229, 172, 249, 219, 192 },
        { 162, 103, 196, 217, 175, 175, 208, 157, 237, 198, 191 },
        {  60, 109, 167, 206, 167, 172, 192, 150, 235, 185, 211 }
      }, { /* Coeff Band 1 */
        { 128, 183, 242, 246, 208, 196, 237, 185, 254, 222, 255 },
        { 105, 152, 229, 247, 209, 198, 239, 185, 252, 225, 255 },
        {  43, 109, 183, 247, 200, 203, 237, 186, 254, 212, 171 },
        {  17,  76, 124, 238, 149, 185, 241, 198, 252, 213, 255 },
        {   7,  45,  71, 176, 108, 145, 242, 172, 253, 224, 248 },
        {   4,  26,  39,  95, 100, 137, 165, 109, 244, 196, 228 }
      }, { /* Coeff Band 2 */
        { 110, 129, 232, 252, 220, 211, 242, 190, 253, 217, 255 },
        {  82, 121, 222, 250, 211, 204, 243, 194, 242, 225, 219 },
        {  43,  97, 185, 247, 198, 201, 241, 193, 251, 221, 255 },
        {  22,  75, 135, 238, 154, 184, 243, 200, 252, 214, 255 },
        {   9,  51,  86, 187, 118, 151, 242, 173, 252, 226, 221 },
        {   3,  31,  49, 112, 107, 141, 169, 118, 240, 192, 232 }
      }, { /* Coeff Band 3 */
        { 127, 158, 236, 251, 219, 208, 244, 199, 255, 235, 255 },
        {  91, 134, 226, 250, 214, 204, 244, 196, 252, 228, 183 },
        {  23,  98, 182, 247, 196, 197, 245, 195, 255, 224, 255 },
        {   8,  69, 125, 233, 157, 182, 241, 186, 254, 232, 255 },
        {   2,  42,  72, 187, 113, 152, 233, 170, 253, 228, 249 },
        {   1,  19,  32,  95,  94, 134, 172, 111, 249, 199, 248 }
      }, { /* Coeff Band 4 */
        { 145, 182, 245, 253, 228, 210, 250, 209, 255, 235, 128 },
        { 106, 140, 233, 252, 220, 209, 250, 209, 255, 238, 128 },
        {  41, 103, 195, 248, 196, 199, 249, 209, 255, 239, 128 },
        {  13,  76, 137, 231, 161, 181, 244, 187, 255, 239, 255 },
        {   2,  45,  79, 193, 121, 158, 234, 168, 255, 231, 255 },
        {   1,  20,  34, 110,  94, 135, 195, 124, 251, 203, 255 }
      }, { /* Coeff Band 5 */
        { 182, 133, 250, 255, 234, 217, 255, 215, 128, 128, 128 },
        { 158, 113, 240, 254, 223, 212, 254, 225, 255, 255, 128 },
        {  68,  83, 196, 250, 200, 201, 253, 217, 255, 255, 128 },
        {  18,  60, 130, 235, 158, 180, 247, 193, 255, 245, 128 },
        {   3,  34,  66, 186, 108, 149, 239, 174, 255, 232, 128 },
        {   1,  20,  36, 111,  94, 145, 195, 123, 250, 212, 255 }
      }
    }
  }
};
static const vp9_coeff_probs default_coef_probs_8x8[BLOCK_TYPES] = {
  { /* block Type 0 */
    { /* Intra */
      { /* Coeff Band 0 */
        { 173,  27, 142, 173, 151, 161, 162, 140, 196, 179, 128 },
        {  56,  32,  85, 136, 131, 154, 142, 123, 202, 161, 161 },
        {   8,  26,  47, 104, 110, 146, 130, 119, 197, 153, 170 }
      }, { /* Coeff Band 1 */
        { 128, 124, 161, 206, 156, 170, 210, 157, 241, 196, 214 },
        {  56, 118, 160, 206, 157, 169, 208, 154, 241, 197, 218 },
        {  33, 102, 144, 203, 153, 169, 210, 156, 241, 198, 237 },
        {  17,  83, 121, 195, 143, 165, 206, 154, 241, 196, 219 },
        {   6,  56,  86, 168, 125, 155, 200, 145, 242, 194, 221 },
        {   1,  25,  37,  93, 103, 141, 132, 117, 211, 158, 195 }
      }, { /* Coeff Band 2 */
        {  18,  89, 158, 208, 159, 170, 212, 158, 243, 205, 225 },
        {  28,  86, 153, 207, 156, 170, 213, 156, 245, 200, 232 },
        {  18,  77, 135, 202, 150, 167, 212, 156, 242, 207, 217 },
        {  11,  65, 113, 192, 139, 161, 208, 151, 243, 202, 217 },
        {   4,  46,  78, 163, 122, 153, 200, 142, 242, 196, 219 },
        {   1,  22,  34,  90, 101, 140, 132, 114, 212, 159, 197 }
      }, { /* Coeff Band 3 */
        {  29, 153, 186, 219, 167, 175, 214, 159, 243, 201, 228 },
        {  37, 129, 180, 223, 170, 177, 219, 168, 243, 201, 222 },
        {  12,  95, 149, 219, 161, 174, 219, 167, 241, 203, 234 },
        {   3,  67, 108, 202, 140, 165, 218, 161, 246, 204, 223 },
        {   1,  38,  61, 156, 112, 149, 201, 144, 242, 197, 220 },
        {   1,  15,  22,  72,  91, 133, 126, 108, 218, 160, 206 }
      }, { /* Coeff Band 4 */
        {  33, 182, 210, 231, 183, 184, 223, 169, 244, 207, 226 },
        {  23, 137, 194, 236, 183, 187, 228, 176, 244, 204, 224 },
        {   4,  89, 147, 228, 166, 179, 229, 176, 247, 208, 234 },
        {   1,  56,  95, 200, 134, 164, 222, 164, 249, 209, 226 },
        {   1,  28,  47, 141, 101, 144, 199, 139, 245, 199, 227 },
        {   1,  11,  16,  58,  84, 131, 118, 101, 221, 160, 209 }
      }, { /* Coeff Band 5 */
        {  58, 203, 233, 246, 208, 196, 233, 178, 251, 214, 255 },
        {  37, 147, 214, 246, 201, 197, 238, 191, 249, 217, 213 },
        {   7,  93, 160, 237, 175, 186, 239, 186, 251, 217, 240 },
        {   1,  57,  98, 206, 136, 165, 229, 168, 252, 220, 235 },
        {   1,  30,  51, 146, 103, 145, 206, 142, 249, 207, 229 },
        {   1,  12,  20,  68,  87, 132, 133, 103, 231, 169, 214 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        { 201, 133, 221, 227, 187, 180, 210, 161, 242, 194, 232 },
        { 122, 113, 177, 201, 170, 170, 178, 146, 218, 175, 191 },
        {  31,  85, 125, 175, 149, 163, 169, 138, 218, 171, 187 }
      }, { /* Coeff Band 1 */
        { 128, 195, 224, 236, 188, 184, 230, 173, 249, 212, 245 },
        {  41, 172, 213, 235, 185, 186, 230, 173, 250, 211, 235 },
        {  31, 131, 178, 232, 175, 185, 229, 174, 250, 211, 236 },
        {  14,  96, 134, 219, 146, 172, 230, 178, 251, 214, 239 },
        {   5,  62,  87, 169, 120, 151, 223, 149, 250, 217, 239 },
        {   1,  30,  41,  90, 105, 142, 131, 111, 224, 168, 199 }
      }, { /* Coeff Band 2 */
        {  27, 178, 225, 238, 191, 187, 231, 175, 252, 213, 239 },
        {  30, 159, 211, 237, 187, 186, 230, 177, 249, 217, 245 },
        {  15, 123, 175, 233, 174, 183, 231, 177, 250, 215, 232 },
        {   8,  93, 135, 219, 147, 171, 230, 176, 250, 216, 227 },
        {   3,  63,  89, 171, 121, 152, 222, 150, 250, 216, 234 },
        {   1,  33,  45,  97, 107, 143, 138, 113, 225, 169, 202 }
      }, { /* Coeff Band 3 */
        {  40, 195, 228, 240, 193, 189, 233, 176, 250, 215, 235 },
        {  28, 152, 205, 239, 188, 189, 232, 178, 250, 215, 223 },
        {   3,  90, 147, 230, 166, 182, 232, 178, 249, 213, 224 },
        {   1,  58,  96, 205, 131, 165, 228, 170, 249, 213, 209 },
        {   1,  30,  50, 142, 100, 142, 211, 143, 246, 206, 216 },
        {   1,  11,  19,  61,  87, 132, 123, 100, 225, 169, 206 }
      }, { /* Coeff Band 4 */
        {  34, 200, 231, 244, 199, 193, 237, 182, 252, 220, 236 },
        {  18, 153, 208, 244, 193, 193, 239, 187, 252, 222, 245 },
        {   2,  87, 145, 233, 165, 183, 239, 186, 253, 224, 243 },
        {   1,  52,  90, 201, 128, 163, 232, 169, 253, 222, 240 },
        {   1,  25,  43, 136,  95, 140, 207, 140, 251, 213, 238 },
        {   1,   9,  16,  57,  80, 128, 127,  99, 234, 170, 229 }
      }, { /* Coeff Band 5 */
        {  58, 207, 238, 249, 211, 201, 243, 193, 253, 226, 240 },
        {  33, 154, 218, 248, 201, 200, 246, 199, 254, 229, 252 },
        {   5,  93, 158, 238, 170, 187, 245, 195, 254, 233, 253 },
        {   1,  57,  99, 207, 131, 165, 236, 173, 254, 228, 251 },
        {   1,  30,  52, 147,  99, 143, 213, 143, 253, 217, 245 },
        {   1,  13,  22,  71,  84, 130, 145, 104, 243, 183, 239 }
      }
    }
  }, { /* block Type 1 */
    { /* Intra */
      { /* Coeff Band 0 */
        { 190,  29, 192, 204, 171, 173, 162, 145, 175, 161, 147 },
        {  90,  43, 136, 179, 150, 166, 167, 140, 220, 166, 201 },
        {  21,  47,  90, 155, 132, 157, 164, 134, 229, 169, 216 }
      }, { /* Coeff Band 1 */
        { 128, 156, 192, 220, 170, 177, 220, 162, 252, 214, 255 },
        { 107, 138, 190, 218, 171, 176, 220, 161, 252, 208, 255 },
        {  43, 115, 165, 215, 165, 174, 219, 163, 248, 208, 244 },
        {  16,  84, 126, 204, 148, 169, 216, 156, 252, 210, 236 },
        {   3,  44,  69, 160, 115, 149, 204, 143, 251, 203, 238 },
        {   1,  15,  23,  67,  89, 133, 127, 103, 233, 165, 226 }
      }, { /* Coeff Band 2 */
        {  41, 125, 196, 229, 177, 180, 230, 175, 252, 214, 255 },
        {  56, 112, 187, 227, 171, 179, 228, 169, 249, 216, 205 },
        {  31,  92, 163, 222, 165, 176, 227, 170, 253, 215, 171 },
        {  12,  68, 124, 211, 147, 170, 225, 165, 249, 216, 229 },
        {   2,  40,  68, 169, 115, 151, 215, 149, 250, 211, 235 },
        {   1,  16,  24,  77,  88, 134, 144, 108, 233, 174, 222 }
      }, { /* Coeff Band 3 */
        {  45, 175, 212, 232, 184, 183, 229, 174, 253, 222, 255 },
        {  60, 135, 200, 232, 182, 182, 229, 170, 252, 213, 255 },
        {  18,  96, 162, 227, 170, 179, 229, 171, 252, 216, 197 },
        {   4,  65, 110, 210, 144, 170, 225, 167, 251, 216, 240 },
        {   1,  37,  63, 165, 111, 148, 216, 151, 251, 211, 236 },
        {   1,  16,  26,  86,  90, 133, 156, 111, 238, 182, 229 }
      }, { /* Coeff Band 4 */
        {  46, 193, 216, 246, 203, 197, 239, 189, 255, 224, 255 },
        {  40, 147, 204, 242, 190, 191, 242, 189, 255, 227, 255 },
        {   8,  95, 160, 235, 172, 183, 240, 185, 253, 233, 255 },
        {   1,  61, 104, 210, 141, 168, 233, 171, 254, 223, 255 },
        {   1,  34,  58, 162, 107, 150, 216, 150, 252, 216, 253 },
        {   1,  14,  24,  82,  88, 133, 157, 110, 242, 185, 239 }
      }, { /* Coeff Band 5 */
        {  87, 208, 225, 251, 209, 210, 248, 204, 255, 210, 128 },
        {  49, 147, 212, 248, 201, 200, 248, 204, 254, 239, 255 },
        {  10, 102, 171, 241, 180, 189, 246, 196, 255, 236, 128 },
        {   2,  66, 113, 217, 144, 170, 238, 177, 255, 229, 255 },
        {   1,  36,  63, 167, 109, 149, 222, 152, 255, 223, 255 },
        {   1,  17,  28,  92,  89, 133, 169, 112, 251, 193, 244 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        { 226,  69, 242, 236, 199, 184, 218, 170, 242, 199, 238 },
        { 133,  91, 206, 221, 182, 178, 202, 154, 240, 192, 232 },
        {  40, 109, 163, 209, 167, 175, 190, 152, 231, 180, 205 }
      }, { /* Coeff Band 1 */
        { 128, 201, 240, 246, 208, 196, 243, 181, 251, 219, 255 },
        { 138, 176, 230, 245, 204, 195, 236, 186, 250, 209, 255 },
        {  56, 141, 197, 244, 194, 195, 241, 186, 254, 221, 255 },
        {  26, 108, 149, 233, 153, 179, 243, 194, 254, 227, 255 },
        {  11,  66,  91, 176, 120, 149, 240, 160, 254, 231, 255 },
        {   5,  31,  44, 102, 104, 143, 158, 113, 244, 193, 214 }
      }, { /* Coeff Band 2 */
        {  77, 182, 236, 249, 212, 203, 244, 193, 251, 228, 255 },
        {  63, 155, 225, 248, 207, 200, 241, 193, 251, 233, 255 },
        {  33, 125, 192, 245, 193, 196, 242, 189, 255, 213, 128 },
        {  18, 101, 151, 234, 158, 180, 242, 196, 254, 218, 255 },
        {   7,  70,  98, 185, 126, 154, 236, 162, 254, 233, 255 },
        {   2,  38,  50, 106, 109, 144, 156, 118, 238, 186, 236 }
      }, { /* Coeff Band 3 */
        {  74, 203, 240, 249, 216, 199, 241, 183, 254, 223, 255 },
        {  68, 160, 224, 248, 208, 199, 243, 188, 252, 220, 255 },
        {  14, 106, 173, 242, 188, 192, 240, 187, 253, 218, 255 },
        {   3,  68, 113, 226, 148, 179, 237, 182, 254, 227, 255 },
        {   1,  36,  59, 171, 104, 145, 229, 164, 251, 215, 255 },
        {   1,  15,  23,  80,  88, 134, 153, 109, 228, 173, 232 }
      }, { /* Coeff Band 4 */
        {  59, 210, 234, 254, 223, 219, 244, 201, 255, 230, 128 },
        {  46, 170, 222, 251, 208, 207, 246, 202, 252, 237, 255 },
        {   8, 106, 172, 244, 186, 192, 247, 197, 254, 232, 255 },
        {   1,  65, 108, 223, 147, 175, 238, 183, 255, 226, 255 },
        {   1,  32,  55, 165, 102, 145, 223, 157, 254, 216, 255 },
        {   1,  12,  19,  70,  86, 134, 139, 105, 236, 174, 240 }
      }, { /* Coeff Band 5 */
        { 112, 212, 232, 255, 222, 218, 254, 227, 255, 217, 128 },
        {  57, 156, 219, 253, 209, 208, 252, 219, 255, 250, 128 },
        {  11, 107, 180, 247, 191, 198, 250, 199, 255, 247, 128 },
        {   2,  75, 123, 222, 150, 172, 241, 182, 255, 241, 255 },
        {   1,  34,  60, 166, 106, 148, 224, 151, 255, 228, 255 },
        {   1,  15,  27,  90,  84, 133, 171, 118, 254, 206, 255 }
      }
    }
  }
};
static const vp9_coeff_probs default_coef_probs_16x16[BLOCK_TYPES] = {
  { /* block Type 0 */
    { /* Intra */
      { /* Coeff Band 0 */
        {  12,  27,  83, 143, 133, 154, 129, 138, 141, 160,  80 },
        {   1,  21,  47,  91, 116, 146,  97, 118, 147, 137, 121 },
        {   1,  14,  24,  59, 101, 138,  82, 108, 147, 133, 128 }
      }, { /* Coeff Band 1 */
        { 128,  87, 126, 176, 146, 159, 182, 142, 226, 174, 206 },
        {  44,  85, 126, 177, 145, 162, 179, 142, 221, 171, 190 },
        {  26,  79, 114, 172, 140, 159, 176, 138, 218, 177, 191 },
        {   9,  64,  96, 163, 133, 157, 172, 138, 223, 173, 191 },
        {   2,  41,  63, 138, 115, 149, 164, 133, 222, 174, 194 },
        {   1,  13,  21,  55,  95, 135,  86, 104, 165, 136, 149 }
      }, { /* Coeff Band 2 */
        {  13,  58, 117, 173, 141, 161, 177, 139, 223, 179, 208 },
        {  21,  58, 113, 171, 140, 160, 177, 139, 224, 175, 195 },
        {  14,  53, 100, 166, 134, 163, 172, 140, 227, 174, 189 },
        {   8,  45,  81, 155, 125, 156, 171, 137, 225, 172, 201 },
        {   2,  30,  51, 123, 109, 145, 160, 127, 223, 173, 197 },
        {   1,  10,  16,  46,  91, 134,  77, 100, 164, 131, 157 }
      }, { /* Coeff Band 3 */
        {  17, 128, 151, 184, 149, 164, 181, 141, 228, 178, 203 },
        {  32, 110, 149, 187, 152, 165, 182, 145, 230, 184, 203 },
        {  14,  86, 127, 184, 146, 163, 183, 145, 231, 179, 202 },
        {   5,  63,  93, 166, 131, 157, 182, 141, 230, 182, 209 },
        {   1,  35,  54, 124, 109, 146, 161, 127, 226, 173, 202 },
        {   1,  11,  18,  52,  92, 134,  88, 102, 179, 137, 171 }
      }, { /* Coeff Band 4 */
        {  21, 169, 177, 200, 162, 171, 192, 146, 234, 186, 205 },
        {  15, 123, 165, 206, 161, 171, 198, 154, 236, 188, 205 },
        {   2,  78, 122, 196, 147, 167, 200, 153, 238, 191, 218 },
        {   1,  46,  76, 163, 122, 154, 192, 141, 240, 191, 219 },
        {   1,  23,  39, 110,  99, 141, 163, 123, 233, 178, 217 },
        {   1,   9,  14,  46,  88, 130,  89,  97, 193, 140, 188 }
      }, { /* Coeff Band 5 */
        {  19, 207, 210, 228, 185, 182, 213, 164, 241, 198, 221 },
        {   7, 137, 180, 229, 175, 181, 226, 173, 246, 207, 218 },
        {   1,  77, 123, 213, 150, 171, 226, 168, 248, 212, 226 },
        {   1,  43,  72, 169, 118, 153, 210, 148, 250, 210, 233 },
        {   1,  22,  38, 113,  97, 139, 177, 124, 244, 193, 230 },
        {   1,   9,  16,  52,  87, 130, 103,  98, 214, 151, 206 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        {  13,  37, 232, 230, 195, 183, 193, 150, 215, 180, 165 },
        {   6,  45, 178, 196, 172, 170, 165, 142, 206, 164, 162 },
        {   2,  49, 101, 155, 142, 160, 144, 132, 196, 157, 160 }
      }, { /* Coeff Band 1 */
        { 128, 182, 202, 226, 176, 180, 219, 163, 248, 207, 228 },
        { 147, 171, 198, 223, 172, 177, 215, 164, 245, 200, 238 },
        {  71, 141, 175, 219, 167, 175, 212, 161, 247, 204, 236 },
        {  31, 109, 141, 207, 153, 170, 209, 160, 246, 197, 227 },
        {  13,  72,  95, 167, 127, 155, 201, 143, 245, 198, 234 },
        {   3,  33,  45,  92, 109, 144, 122, 114, 211, 155, 185 }
      }, { /* Coeff Band 2 */
        {  28, 161, 205, 229, 178, 182, 221, 170, 245, 196, 205 },
        {  42, 155, 197, 226, 174, 181, 216, 167, 244, 195, 234 },
        {  23, 126, 172, 221, 165, 178, 215, 164, 245, 197, 246 },
        {  12, 100, 137, 206, 149, 167, 211, 162, 246, 198, 234 },
        {   6,  70,  93, 164, 126, 154, 199, 140, 245, 200, 227 },
        {   1,  38,  47,  92, 110, 145, 121, 114, 203, 155, 163 }
      }, { /* Coeff Band 3 */
        {  37, 193, 211, 230, 181, 183, 215, 168, 245, 203, 225 },
        {  34, 143, 188, 229, 176, 182, 218, 167, 246, 202, 226 },
        {   4,  88, 136, 217, 157, 174, 219, 166, 245, 204, 227 },
        {   1,  57,  89, 187, 128, 160, 211, 153, 246, 202, 224 },
        {   1,  28,  46, 128, 101, 142, 188, 132, 243, 194, 224 },
        {   1,  10,  16,  52,  87, 131, 103,  98, 209, 153, 177 }
      }, { /* Coeff Band 4 */
        {  26, 203, 213, 234, 185, 185, 225, 174, 248, 209, 226 },
        {  15, 143, 186, 234, 179, 185, 227, 175, 249, 210, 245 },
        {   1,  83, 130, 221, 155, 175, 227, 172, 250, 213, 240 },
        {   1,  49,  79, 181, 123, 157, 214, 153, 250, 210, 235 },
        {   1,  24,  39, 118,  97, 139, 186, 128, 246, 197, 234 },
        {   1,   9,  15,  51,  85, 130, 103,  97, 214, 154, 192 }
      }, { /* Coeff Band 5 */
        {  16, 214, 220, 243, 199, 193, 235, 183, 250, 214, 228 },
        {   6, 147, 190, 242, 186, 191, 240, 190, 252, 222, 237 },
        {   1,  86, 133, 227, 157, 178, 239, 183, 253, 225, 239 },
        {   1,  49,  80, 187, 123, 157, 224, 160, 253, 219, 243 },
        {   1,  25,  42, 124,  98, 140, 193, 130, 249, 204, 241 },
        {   1,  11,  17,  57,  86, 130, 116,  99, 229, 162, 225 }
      }
    }
  }, { /* block Type 1 */
    { /* Intra */
      { /* Coeff Band 0 */
        { 167,  42, 187, 172, 172, 174,  92, 141, 109, 109, 101 },
        {  53,  53, 108, 159, 139, 160, 153, 136, 196, 156, 178 },
        {   9,  61,  85, 142, 131, 158, 145, 128, 203, 161, 175 }
      }, { /* Coeff Band 1 */
        { 128, 208, 190, 206, 165, 181, 204, 150, 236, 175, 255 },
        {  84, 184, 186, 202, 157, 175, 198, 151, 215, 177, 242 },
        {  35, 155, 170, 204, 159, 167, 194, 152, 237, 181, 228 },
        {  13, 120, 142, 191, 152, 167, 198, 152, 242, 168, 219 },
        {   2,  68,  91, 163, 131, 159, 181, 135, 233, 189, 239 },
        {   1,  23,  34,  76, 102, 138, 106, 111, 195, 144, 185 }
      }, { /* Coeff Band 2 */
        {  25, 180, 186, 213, 161, 173, 207, 164, 213, 197, 165 },
        {  36, 145, 175, 211, 160, 170, 208, 158, 242, 193, 219 },
        {  21, 116, 153, 207, 154, 166, 209, 165, 247, 193, 255 },
        {  10,  79, 121, 197, 142, 163, 203, 159, 240, 189, 243 },
        {   2,  42,  69, 149, 115, 149, 193, 143, 241, 192, 219 },
        {   1,  16,  24,  64,  95, 134, 107, 100, 204, 154, 182 }
      }, { /* Coeff Band 3 */
        {  27, 217, 204, 217, 173, 172, 204, 152, 253, 189, 255 },
        {  45, 152, 188, 220, 173, 180, 205, 164, 236, 189, 216 },
        {  16, 101, 151, 211, 163, 172, 203, 155, 238, 186, 230 },
        {   7,  71, 110, 193, 136, 164, 201, 153, 240, 196, 245 },
        {   1,  37,  58, 138, 112, 144, 188, 139, 236, 183, 210 },
        {   1,  13,  21,  60,  92, 136, 112, 101, 205, 155, 187 }
      }, { /* Coeff Band 4 */
        {  17, 221, 219, 231, 186, 181, 220, 161, 242, 212, 255 },
        {  18, 153, 194, 229, 180, 181, 221, 168, 247, 212, 255 },
        {   3,  89, 142, 219, 159, 176, 222, 167, 249, 208, 233 },
        {   1,  53,  88, 185, 129, 162, 211, 152, 246, 201, 238 },
        {   1,  25,  43, 128,  97, 139, 185, 137, 241, 190, 229 },
        {   1,   9,  17,  54,  87, 131, 106,  99, 210, 153, 206 }
      }, { /* Coeff Band 5 */
        {  30, 230, 209, 246, 189, 196, 239, 196, 251, 216, 255 },
        {  11, 159, 191, 239, 183, 187, 240, 184, 253, 229, 255 },
        {   1,  94, 141, 227, 162, 177, 235, 178, 253, 227, 255 },
        {   1,  58,  90, 190, 130, 160, 220, 156, 252, 219, 249 },
        {   1,  27,  46, 129, 100, 139, 191, 133, 249, 200, 246 },
        {   1,  12,  19,  62,  89, 127, 120, 100, 228, 161, 229 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        { 213,  63, 239, 223, 197, 181, 181, 153, 199, 154, 226 },
        {  82, 106, 196, 220, 185, 180, 196, 150, 231, 189, 198 },
        {  12, 143, 195, 219, 187, 180, 178, 148, 235, 167, 239 }
      }, { /* Coeff Band 1 */
        { 128, 243, 247, 251, 209, 213, 255, 255, 128, 128, 128 },
        { 136, 226, 244, 247, 208, 162, 224, 183, 255, 255, 128 },
        {  88, 189, 230, 242, 208, 201, 236, 200, 255, 255, 128 },
        {  66, 149, 198, 241, 193, 193, 230, 161, 255, 255, 128 },
        {  41, 104, 142, 211, 145, 180, 236, 193, 255, 236, 128 },
        {  24,  59,  76, 145, 114, 142, 188, 119, 255, 214, 128 }
      }, { /* Coeff Band 2 */
        {  44, 230, 243, 250, 225, 193, 218, 151, 255, 255, 128 },
        {  68, 203, 237, 252, 218, 212, 207, 166, 255, 255, 128 },
        {  59, 156, 215, 251, 200, 210, 205, 160, 255, 255, 128 },
        {  56, 122, 182, 245, 181, 196, 219, 176, 255, 213, 128 },
        {  40, 105, 135, 210, 143, 166, 243, 190, 255, 224, 128 },
        {  13,  90, 112, 157, 143, 154, 199, 139, 244, 201, 255 }
      }, { /* Coeff Band 3 */
        {  46, 241, 247, 249, 212, 202, 226, 168, 255, 154, 128 },
        {  49, 195, 233, 246, 213, 194, 218, 181, 255, 255, 128 },
        {  14, 113, 176, 248, 198, 208, 240, 195, 255, 255, 128 },
        {   6,  87, 125, 230, 157, 187, 240, 184, 255, 183, 128 },
        {   1,  43,  74, 188, 118, 149, 229, 164, 242, 241, 255 },
        {   1,  16,  47, 138,  88, 126, 210, 156, 236, 213, 255 }
      }, { /* Coeff Band 4 */
        {  26, 244, 249, 252, 228, 214, 255, 212, 128, 128, 128 },
        {  34, 199, 235, 249, 216, 197, 246, 198, 255, 255, 128 },
        {   8, 106, 163, 244, 195, 193, 243, 176, 255, 255, 128 },
        {   1,  65, 104, 222, 142, 174, 244, 181, 255, 255, 128 },
        {   1,  36,  52, 147, 111, 136, 226, 136, 247, 238, 255 },
        {   1,  26,  27,  68, 100, 110, 126, 107, 232, 194, 255 }
      }, { /* Coeff Band 5 */
        {  62, 243, 199, 255, 213, 218, 255, 250, 255, 255, 128 },
        {  26, 171, 191, 252, 194, 205, 255, 243, 255, 255, 128 },
        {  14, 107, 167, 250, 188, 198, 255, 233, 255, 255, 128 },
        {   7, 103, 144, 244, 171, 189, 252, 216, 255, 228, 128 },
        {   1,  51,  74, 184, 124, 160, 238, 167, 255, 241, 128 },
        {   1,  13,  13,  78, 105, 138, 169, 124, 241, 224, 255 }
      }
    }
  }
};
static const vp9_coeff_probs default_coef_probs_32x32[BLOCK_TYPES] = {
  { /* block Type 0 */
    { /* Intra */
      { /* Coeff Band 0 */
        {  12,  16,  47,  79, 123, 148,  48, 154,  38, 139,  14 },
        {   2,  12,  26,  59, 104, 136,  68, 115, 125, 120,  91 },
        {   1,  10,  17,  44,  94, 133,  76,  98, 129, 139,  98 }
      }, { /* Coeff Band 1 */
        { 128,  90, 111, 171, 128, 152, 183, 148, 211, 169, 180 },
        {  34,  86, 117, 162, 128, 155, 178, 159, 212, 172, 149 },
        {  17,  75, 114, 168, 133, 155, 171, 155, 209, 161, 179 },
        {   5,  53,  92, 175, 138, 154, 180, 148, 209, 172, 170 },
        {   1,  27,  48, 159,  96, 149, 187, 155, 213, 164, 162 },
        {   8,  12,  18,  49,  92, 129,  92, 104, 150, 136, 125 }
      }, { /* Coeff Band 2 */
        {   5,  52, 106, 140, 141, 159, 148, 130, 228, 201, 208 },
        {  16,  52,  98, 140, 131, 161, 151, 125, 225, 194, 149 },
        {  13,  47,  92, 138, 135, 158, 143, 127, 230, 190, 153 },
        {   8,  43,  77, 136, 132, 158, 137, 121, 236, 195, 188 },
        {   2,  33,  55, 118, 115, 152, 130, 120, 226, 175, 179 },
        {   1,   8,  12,  34,  95, 134,  56,  94, 142, 129, 119 }
      }, { /* Coeff Band 3 */
        {  14, 122, 145, 181, 153, 167, 171, 141, 217, 176, 176 },
        {  29, 110, 149, 185, 156, 165, 169, 139, 214, 169, 191 },
        {  12,  90, 135, 186, 154, 169, 168, 140, 217, 170, 185 },
        {   5,  75, 107, 172, 145, 160, 171, 141, 215, 172, 182 },
        {   1,  49,  71, 131, 121, 150, 153, 128, 211, 164, 177 },
        {   1,  14,  21,  51, 101, 136,  81,  98, 150, 134, 133 }
      }, { /* Coeff Band 4 */
        {  14, 179, 178, 193, 163, 170, 178, 143, 223, 176, 187 },
        {  13, 139, 167, 198, 160, 172, 186, 147, 228, 175, 189 },
        {   2,  90, 125, 187, 147, 164, 190, 148, 231, 186, 193 },
        {   1,  54,  78, 154, 122, 154, 183, 135, 233, 187, 207 },
        {   1,  22,  34,  94,  95, 139, 160, 111, 222, 173, 194 },
        {   1,   7,  11,  35,  88, 132,  69,  93, 159, 131, 149 }
      }, { /* Coeff Band 5 */
        {   6, 229, 210, 228, 186, 181, 211, 163, 238, 194, 217 },
        {   2, 140, 169, 224, 170, 178, 222, 167, 244, 205, 214 },
        {   1,  74, 112, 203, 143, 166, 220, 162, 247, 210, 220 },
        {   1,  43,  64, 154, 113, 149, 198, 140, 246, 201, 229 },
        {   1,  20,  32,  95,  95, 135, 167, 113, 237, 183, 222 },
        {   1,   9,  14,  44,  88, 129,  87,  95, 197, 142, 190 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        {  90,  25, 200, 240, 210, 196, 196, 160, 209, 175, 174 },
        {  21,  29, 139, 218, 181, 181, 186, 146, 225, 177, 191 },
        {  26,  35, 114, 203, 165, 176, 174, 142, 222, 174, 189 }
      }, { /* Coeff Band 1 */
        { 128, 217, 229, 234, 186, 187, 215, 181, 224, 165, 255 },
        { 154, 215, 234, 237, 179, 180, 226, 179, 255, 183, 128 },
        { 125, 204, 225, 239, 185, 183, 230, 188, 233, 205,   1 },
        {  74, 171, 200, 233, 180, 187, 222, 180, 249, 185,   1 },
        {  39, 112, 154, 220, 154, 168, 219, 181, 247, 196, 255 },
        {   9,  56,  81, 154, 124, 158, 177, 145, 227, 168, 207 }
      }, { /* Coeff Band 2 */
        {  24, 153, 231, 245, 203, 194, 228, 187, 255, 158, 128 },
        {  80, 153, 234, 242, 201, 192, 240, 195, 236, 171, 255 },
        {  58, 153, 220, 242, 202, 194, 244, 178, 255, 205, 128 },
        {  41, 132, 192, 237, 178, 194, 224, 185, 240, 221, 255 },
        {  31, 104, 149, 213, 154, 166, 233, 172, 235, 206, 219 },
        {  12,  82, 104, 157, 128, 153, 173, 133, 228, 185, 200 }
      }, { /* Coeff Band 3 */
        {  64, 217, 240, 242, 198, 186, 238, 172, 243, 199, 255 },
        {  74, 182, 225, 241, 190, 192, 234, 191, 255, 203, 128 },
        {  21, 117, 176, 236, 176, 181, 238, 182, 248, 231, 255 },
        {   7,  83, 126, 221, 153, 176, 232, 178, 250, 211, 128 },
        {   1,  47,  74, 171, 116, 156, 208, 155, 243, 208, 238 },
        {   1,  17,  31,  86,  83, 141, 135, 113, 220, 168, 190 }
      }, { /* Coeff Band 4 */
        {  46, 236, 239, 243, 195, 192, 241, 189, 255, 195, 128 },
        {  43, 189, 217, 242, 183, 185, 244, 196, 243, 208, 255 },
        {   5, 101, 153, 234, 168, 181, 238, 201, 241, 224, 255 },
        {   1,  64, 101, 212, 134, 165, 229, 175, 253, 202, 255 },
        {   1,  32,  54, 149, 100, 140, 207, 145, 246, 198, 224 },
        {   1,  12,  19,  51, 103, 140, 109,  98, 212, 157, 177 }
      }, { /* Coeff Band 5 */
        {  25, 249, 228, 245, 205, 193, 241, 187, 252, 226, 219 },
        {  12, 166, 186, 241, 183, 189, 246, 196, 254, 234, 199 },
        {   1,  88, 130, 229, 156, 177, 245, 190, 255, 238, 255 },
        {   1,  54,  84, 196, 124, 159, 237, 169, 255, 233, 237 },
        {   1,  30,  49, 140, 102, 142, 211, 139, 251, 218, 225 },
        {   1,  13,  21,  67,  89, 131, 130, 100, 229, 168, 233 }
      }
    }
  }, { /* block Type 1 */
    { /* Intra */
      { /* Coeff Band 0 */
        {  77,  16,  83,  89, 131, 150,  46, 119,  43, 101,  50 },
        {  15,  22,  42,  85, 105, 137, 110, 119, 153, 156, 117 },
        {   4,  21,  34,  89,  98, 126, 120, 119, 149, 158, 105 }
      }, { /* Coeff Band 1 */
        { 128, 129, 140, 212, 174, 179, 155, 105, 163, 146, 255 },
        {  57, 121, 153, 189, 160, 191, 206, 148, 233, 230, 255 },
        {  25, 105, 143, 193, 148, 174, 193, 134, 236, 213, 255 },
        {   8,  95, 132, 197, 138, 174, 154, 165, 242, 161, 255 },
        {   1,  67,  97, 165, 139, 143, 170, 143, 214, 188, 226 },
        {   1,  22,  33,  65, 124, 144,  68, 123, 125, 118, 122 }
      }, { /* Coeff Band 2 */
        {   9,  48, 113, 195, 136, 171, 209, 134, 255, 255, 128 },
        {  15,  45, 110, 170, 139, 168, 209, 144, 219, 160, 255 },
        {  16,  42,  92, 164, 131, 157, 210, 131, 247, 180,   1 },
        {  14,  29,  78, 158, 117, 146, 191, 147, 229, 203, 192 },
        {   2,  19,  36, 131,  94, 140, 185, 137, 232, 167, 216 },
        {   1,   8,  14,  42,  95, 125,  89,  93, 163, 135, 145 }
      }, { /* Coeff Band 3 */
        {  22, 137, 165, 202, 159, 183, 137, 133, 207, 136, 224 },
        {  53, 123, 158, 206, 167, 176, 175, 178, 180, 171, 238 },
        {  29, 103, 142, 187, 156, 167, 220, 170, 230, 142, 255 },
        {  12,  75, 114, 182, 146, 168, 186, 132, 223, 191, 240 },
        {   5,  42,  59, 140, 110, 149, 173, 138, 218, 173, 214 },
        {   1,  13,  16,  42,  92, 122,  75,  99, 165, 133, 162 }
      }, { /* Coeff Band 4 */
        {  14, 186, 183, 201, 164, 170, 198, 153, 233, 174, 205 },
        {  13, 137, 172, 213, 169, 172, 187, 164, 235, 163, 228 },
        {   2,  86, 128, 201, 151, 174, 198, 152, 221, 186, 192 },
        {   1,  51,  79, 162, 125, 159, 190, 140, 237, 193, 198 },
        {   1,  25,  37, 107, 107, 146, 141, 118, 223, 166, 212 },
        {   1,   8,  11,  38,  85, 126,  78,  99, 180, 131, 190 }
      }, { /* Coeff Band 5 */
        {   7, 224, 213, 235, 191, 183, 222, 170, 241, 212, 241 },
        {   2, 142, 176, 232, 177, 181, 230, 175, 251, 215, 216 },
        {   1,  79, 121, 214, 150, 170, 230, 171, 251, 220, 247 },
        {   1,  44,  70, 168, 117, 151, 211, 148, 251, 211, 238 },
        {   1,  25,  38, 113,  98, 137, 177, 123, 247, 192, 229 },
        {   1,  12,  19,  56,  89, 128, 111,  99, 223, 156, 228 }
      }
    }, { /* Inter */
      { /* Coeff Band 0 */
        { 113, 113, 206, 246, 197, 205, 228, 180, 255, 192, 128 },
        {   8, 110, 179, 248, 197, 204, 215, 190, 245, 211, 255 },
        {   1,  92, 181, 253, 212, 220, 197, 164, 255, 187, 128 }
      }, { /* Coeff Band 1 */
        { 128, 250, 254, 255, 255, 128, 128, 128, 128, 128, 128 },
        {  38, 247, 254, 255, 255, 128, 128, 128, 128, 128, 128 },
        {  20, 239, 255, 255, 255, 128, 128, 128, 128, 128, 128 },
        {  16, 221, 249, 255, 241, 255, 128, 128, 128, 128, 128 },
        {  29, 121, 195, 240, 195, 209, 255, 255, 128, 128, 128 },
        {  18,  48,  95, 175, 128, 146, 236, 149, 255, 255, 128 }
      }, { /* Coeff Band 2 */
        {  14, 225, 235, 255, 236, 255, 128, 128, 128, 128, 128 },
        {  23, 219, 238, 255, 242, 238, 128, 128, 128, 128, 128 },
        {  14, 189, 228, 255, 239, 223, 128, 128, 128, 128, 128 },
        {  20, 144, 194, 251, 206, 211, 255, 224, 128, 128, 128 },
        {  22, 107, 164, 223, 160, 195, 255, 230, 128, 128, 128 },
        {   4,  84, 155, 244, 166, 183, 255, 255, 128, 128, 128 }
      }, { /* Coeff Band 3 */
        {   7, 244, 250, 255, 246, 238, 255,   1, 128, 128, 128 },
        {   9, 201, 231, 255, 243, 245, 255, 255, 128, 128, 128 },
        {   4,  79, 166, 255, 220, 243, 255, 255, 128, 128, 128 },
        {   2,  40, 104, 254, 181, 214, 255, 255, 128, 128, 128 },
        {   1,  29,  17, 221, 133, 149, 255, 255, 128, 128, 128 },
        {   1,   1,   1,   1, 128, 128, 255, 255, 128, 128, 128 }
      }, { /* Coeff Band 4 */
        {   7, 250, 251, 255, 251, 228, 128, 128, 128, 128, 128 },
        {   6, 207, 237, 255, 246, 255, 128, 128, 128, 128, 128 },
        {   1,  79, 158, 255, 229, 242, 128, 128, 128, 128, 128 },
        {   1,  22,  89, 251, 183, 229, 255, 192, 128, 128, 128 },
        {   1,  54, 102, 142, 255, 128, 192,   1, 255, 255, 128 },
        {   1,   1,   1, 255,   1, 255, 128, 128, 128, 128, 128 }
      }, { /* Coeff Band 5 */
        {  34, 251, 193, 247, 183, 192, 255, 225, 255, 255, 128 },
        {  20, 187, 163, 240, 168, 180, 255, 222, 255, 255, 128 },
        {   5, 100, 125, 237, 163, 179, 255, 214, 255, 255, 128 },
        {   1,  90, 105, 232, 153, 178, 255, 204, 255, 255, 128 },
        {   1,  79,  87, 219, 138, 168, 255, 210, 255, 255, 128 },
        {   1,   1,   1, 255,   1,  64, 128, 128, 128, 128, 128 }
      }
    }
  }
};

#if CONFIG_CODE_NONZEROCOUNT

// TODO(debargha): Remove the macro and count tables after experimentation
#define NZC_DEFAULT_COUNTS  /* Uncomment to use counts as defaults */

#ifdef NZC_DEFAULT_COUNTS
static const unsigned int default_nzc_counts_4x4[MAX_NZC_CONTEXTS]
                                                [REF_TYPES]
                                                [BLOCK_TYPES]
                                                [NZC4X4_TOKENS] = {
  {
    {
      { 967652, 29023, 15039, 6952, 1568, 116 },
      { 289116, 22938, 4522, 1935, 520, 47 }
    }, {
      { 967652, 29023, 15039, 6952, 1568, 116 },
      { 689116, 22938, 4522, 1935, 520, 47 }
    },
  }, {
    {
      { 124684, 37167, 15270, 8483, 1777, 102 },
      { 10405, 12395, 3401, 3574, 2461, 771 }
    }, {
      { 124684, 37167, 15270, 8483, 1777, 102 },
      { 20405, 12395, 3401, 3574, 2461, 771 }
    }
  }, {
    {
      { 4100, 22976, 15627, 16137, 7982, 1793 },
      { 4249, 3084, 2131, 4081, 6439, 1653 }
    }, {
      { 21100, 22976, 15627, 16137, 7982, 1793 },
      { 4249, 3084, 2131, 4081, 2439, 1653 }
    }
  }
};

static const unsigned int default_nzc_counts_8x8[MAX_NZC_CONTEXTS]
                                                [REF_TYPES]
                                                [BLOCK_TYPES]
                                                [NZC8X8_TOKENS] = {
  {
    {
      { 372988, 62777, 19440, 11812, 5145, 1917, 439, 10 },
      { 72052, 30468, 6973, 3250, 1500, 750, 375, 5 },
    }, {
      { 372988, 62777, 19440, 11812, 5145, 1917, 439, 10 },
      { 192052, 30468, 6973, 3250, 1500, 750, 375, 5 },
    }
  }, {
    {
      { 121533, 33527, 15655, 11920, 5723, 2009, 315, 7 },
      { 23772, 23120, 13127, 8115, 4000, 2000, 200, 6 },
    }, {
      { 121533, 33527, 15655, 11920, 5723, 2009, 315, 7 },
      { 23772, 23120, 13127, 8115, 4000, 2000, 200, 6 },
    }
  }, {
    {
      { 29408, 11758, 8023, 10123, 6705, 2468, 369, 17 },
      { 11612, 13874, 13329, 13022, 6500, 3250, 300, 12 },
    }, {
      { 29408, 11758, 8023, 10123, 6705, 2468, 369, 17 },
      { 11612, 13874, 13329, 13022, 6500, 3250, 300, 12 },
    }
  }
};

static const unsigned int default_nzc_counts_16x16[MAX_NZC_CONTEXTS]
                                                  [REF_TYPES]
                                                  [BLOCK_TYPES]
                                                  [NZC16X16_TOKENS] = {
  {
    {
      { 372988, 62777, 19440, 11812, 5145, 1917, 439, 10, 5, 2 },
      { 72052, 30468, 6973, 3250, 1500, 750, 375, 50, 8, 1 },
    }, {
      { 32988, 62777, 19440, 11812, 5145, 1917, 439, 10, 5, 2 },
      { 92052, 30468, 6973, 3250, 1500, 750, 375, 50, 8, 1 },
    }
  }, {
    {
      { 21533, 33527, 15655, 11920, 5723, 2009, 315, 7, 4, 2 },
      { 47772, 23120, 13127, 8115, 4000, 2000, 200, 6, 4, 2 },
    }, {
      { 21533, 33527, 15655, 11920, 5723, 2009, 315, 7, 4, 2 },
      { 27772, 23120, 13127, 8115, 4000, 2000, 200, 6, 4, 2 },
    }
  }, {
    {
      { 29408, 11758, 8023, 10123, 6705, 2468, 369, 17, 10, 5 },
      { 9612, 13874, 13329, 13022, 6500, 3250, 300, 12, 6, 3 },
    }, {
      { 29408, 11758, 8023, 10123, 6705, 2468, 369, 17, 10, 5 },
      { 9612, 13874, 13329, 13022, 6500, 3250, 300, 12, 6, 3 },
    }
  }
};

static const unsigned int default_nzc_counts_32x32[MAX_NZC_CONTEXTS]
                                                  [REF_TYPES]
                                                  [BLOCK_TYPES]
                                                  [NZC32X32_TOKENS] = {
  {
    {
      { 72988, 62777, 19440, 11812, 5145, 1917, 439, 10, 5, 2, 1, 0 },
      { 52052, 30468, 6973, 3250, 1500, 750, 375, 50, 8, 1, 0, 0 },
    }, {
      { 72988, 62777, 19440, 11812, 5145, 1917, 439, 10, 5, 2, 1, 0 },
      { 72052, 30468, 6973, 3250, 1500, 750, 375, 50, 8, 1, 0, 0 },
    }
  }, {
    {
      { 21533, 33527, 15655, 11920, 5723, 2009, 315, 7, 4, 2, 1, 0 },
      { 27772, 23120, 13127, 8115, 4000, 2000, 200, 6, 4, 2, 1, 0 },
    }, {
      { 21533, 33527, 15655, 11920, 5723, 2009, 315, 7, 4, 2, 1, 0 },
      { 27772, 23120, 13127, 8115, 4000, 2000, 200, 6, 4, 2, 1, 0 },
    }
  }, {
    {
      { 29408, 11758, 8023, 10123, 6705, 2468, 369, 17, 10, 5, 2, 1 },
      { 9612, 13874, 13329, 13022, 6500, 3250, 300, 12, 6, 3, 2, 1 },
    }, {
      { 29408, 11758, 8023, 10123, 6705, 2468, 369, 17, 10, 5, 2, 1 },
      { 9612, 13874, 13329, 13022, 6500, 3250, 300, 12, 6, 3, 2, 1 },
    }
  }
};

#else

static const vp9_prob default_nzc_probs_4x4[MAX_NZC_CONTEXTS]
                                           [REF_TYPES]
                                           [BLOCK_TYPES]
                                           [NZC4X4_TOKENS] = {
  {
    {
      { 219, 162, 179, 142, 242, },
      { 214, 253, 228, 246, 255, },
    }, {
      { 225, 236, 190, 229, 253, },
      { 251, 253, 240, 248, 255, },
    },
  }, {
    {
      { 106, 126, 158, 126, 244, },
      { 118, 241, 201, 240, 255, },
    }, {
      { 165, 179, 143, 189, 242, },
      { 173, 239, 192, 255, 128, },
    },
  }, {
    {
      { 42 , 78 , 153, 92 , 223, },
      { 128, 128, 128, 128, 128, },
    }, {
      { 76 , 68 , 126, 110, 216, },
      { 128, 128, 128, 128, 128, },
    },
  },
};

static const vp9_prob default_nzc_probs_8x8[MAX_NZC_CONTEXTS]
                                           [REF_TYPES]
                                           [BLOCK_TYPES]
                                           [NZC8X8_TOKENS] = {
  {
    {
      { 134, 139, 170, 178, 142, 197, 255, },
      { 167, 224, 199, 252, 205, 255, 128, },
    }, {
      { 181, 210, 180, 241, 190, 235, 255, },
      { 234, 251, 235, 252, 219, 255, 128, },
    },
  }, {
    {
      { 33 , 64 , 155, 143, 86 , 216, 255, },
      { 73 , 160, 167, 251, 153, 255, 128, },
    }, {
      { 79 , 104, 153, 195, 119, 246, 255, },
      { 149, 183, 186, 249, 203, 255, 128, },
    },
  }, {
    {
      { 10 , 25 , 156, 61 , 69 , 156, 254, },
      { 32 , 1  , 128, 146, 64 , 255, 128, },
    }, {
      { 37 , 48 , 143, 113, 81 , 202, 255, },
      { 1  , 255, 128, 128, 128, 128, 128, },
    },
  },
};

static const vp9_prob default_nzc_probs_16x16[MAX_NZC_CONTEXTS]
                                             [REF_TYPES]
                                             [BLOCK_TYPES]
                                             [NZC16X16_TOKENS] = {
  {
    {
      { 11 , 188, 210, 167, 141, 143, 152, 255, 128, },
      { 171, 201, 203, 244, 207, 255, 255, 128, 128, },
    }, {
      { 23 , 217, 207, 251, 198, 255, 219, 128, 128, },
      { 235, 249, 229, 255, 199, 128, 128, 128, 128, },
    },
  }, {
    {
      { 9  , 45 , 168, 85 , 66 , 221, 139, 246, 255, },
      { 51 , 110, 163, 238, 94 , 255, 255, 128, 128, },
    }, {
      { 4  , 149, 175, 240, 149, 255, 205, 128, 128, },
      { 141, 217, 186, 255, 128, 128, 128, 128, 128, },
    },
  }, {
    {
      { 1  , 12 , 173, 6  , 68 , 145, 41 , 204, 255, },
      { 39 , 47 , 128, 199, 110, 255, 128, 128, 128, },
    }, {
      { 1  , 121, 171, 149, 115, 242, 159, 255, 128, },
      { 1  , 255, 255, 128, 128, 128, 128, 128, 128, },
    },
  },
};

static const vp9_prob default_nzc_probs_32x32[MAX_NZC_CONTEXTS]
                                             [REF_TYPES]
                                             [BLOCK_TYPES]
                                             [NZC32X32_TOKENS] = {
  {
    {
      { 11 , 216, 195, 201, 160, 247, 217, 255, 255, 128, 128, },
      { 177, 240, 239, 255, 192, 128, 128, 128, 128, 128, 128, },
    }, {
      { 48 , 235, 213, 235, 199, 255, 255, 128, 128, 128, 128, },
      { 205, 255, 248, 128, 128, 128, 128, 128, 128, 128, 128, },
    },
  }, {
    {
      { 6  , 96 , 138, 99 , 125, 248, 188, 255, 128, 128, 128, },
      { 17 , 53 , 43 , 189, 1  , 255, 171, 128, 128, 128, 128, },
    }, {
      { 5  , 187, 235, 232, 117, 255, 219, 128, 128, 128, 128, },
      { 146, 255, 255, 128, 128, 128, 128, 128, 128, 128, 128, },
    },
  }, {
    {
      { 1  , 7  , 93 , 14 , 100, 30 , 85 , 65 , 81 , 210, 255, },
      { 1  , 1  , 128, 26 , 1  , 218, 78 , 255, 255, 128, 128, },
    }, {
      { 4  , 148, 206, 137, 160, 255, 255, 128, 128, 128, 128, },
      { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, },
    },
  },
};
#endif

static const vp9_prob default_nzc_pcat_probs[MAX_NZC_CONTEXTS]
                                            [NZC_TOKENS_EXTRA]
                                            [NZC_BITS_EXTRA] = {
  // Bit probabilities are in least to most significance order
  {
    {176, 128, 128, 128, 128, 128, 128, 128, 128},   // 3 - 4
    {164, 192, 128, 128, 128, 128, 128, 128, 128},   // 5 - 8
    {154, 184, 208, 128, 128, 128, 128, 128, 128},   // 9 - 16
    {144, 176, 200, 216, 128, 128, 128, 128, 128},   // 17 - 32
    {140, 172, 192, 208, 224, 128, 128, 128, 128},   // 33 - 64
    {136, 168, 188, 200, 220, 232, 128, 128, 128},   // 65 - 128
    {132, 164, 184, 196, 216, 228, 240, 128, 128},   // 129 - 256
    {130, 162, 178, 194, 212, 226, 240, 248, 128},   // 257 - 512
    {128, 160, 176, 192, 208, 224, 240, 248, 254},   // 513 - 1024
  }, {
    {168, 128, 128, 128, 128, 128, 128, 128, 128},   // 3 - 4
    {152, 184, 128, 128, 128, 128, 128, 128, 128},   // 5 - 8
    {152, 184, 208, 128, 128, 128, 128, 128, 128},   // 9 - 16
    {144, 176, 200, 216, 128, 128, 128, 128, 128},   // 17 - 32
    {140, 172, 192, 208, 224, 128, 128, 128, 128},   // 33 - 64
    {136, 168, 188, 200, 220, 232, 128, 128, 128},   // 65 - 128
    {132, 164, 184, 196, 216, 228, 240, 128, 128},   // 129 - 256
    {130, 162, 178, 194, 212, 226, 240, 248, 128},   // 257 - 512
    {128, 160, 176, 192, 208, 224, 240, 248, 254},   // 513 - 1024
  }, {
    {160, 128, 128, 128, 128, 128, 128, 128, 128},   // 3 - 4
    {152, 176, 128, 128, 128, 128, 128, 128, 128},   // 5 - 8
    {150, 184, 208, 128, 128, 128, 128, 128, 128},   // 9 - 16
    {144, 176, 200, 216, 128, 128, 128, 128, 128},   // 17 - 32
    {140, 172, 192, 208, 224, 128, 128, 128, 128},   // 33 - 64
    {136, 168, 188, 200, 220, 232, 128, 128, 128},   // 65 - 128
    {132, 164, 184, 196, 216, 228, 240, 128, 128},   // 129 - 256
    {130, 162, 178, 194, 212, 226, 240, 248, 128},   // 257 - 512
    {128, 160, 176, 192, 208, 224, 240, 248, 254},   // 513 - 1024
  },
};

#endif  // CONFIG_CODE_NONZEROCOUNT