1/* 2 * Bink video decoder 3 * Copyright (C) 2009 Konstantin Shishkov 4 * 5 * This file is part of FFmpeg. 6 * 7 * FFmpeg is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * FFmpeg is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with FFmpeg; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 */ 21 22#ifndef AVCODEC_BINKDATA_H 23#define AVCODEC_BINKDATA_H 24 25#include <stdint.h> 26 27/** Bink DCT and residue 8x8 block scan order */ 28static const uint8_t bink_scan[64] = { 29 0, 1, 8, 9, 2, 3, 10, 11, 30 4, 5, 12, 13, 6, 7, 14, 15, 31 20, 21, 28, 29, 22, 23, 30, 31, 32 16, 17, 24, 25, 32, 33, 40, 41, 33 34, 35, 42, 43, 48, 49, 56, 57, 34 50, 51, 58, 59, 18, 19, 26, 27, 35 36, 37, 44, 45, 38, 39, 46, 47, 36 52, 53, 60, 61, 54, 55, 62, 63 37}; 38 39static const uint8_t bink_tree_bits[16][16] = { 40 { 41 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 42 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 43 }, 44 { 45 0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 46 0x0F, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 47 }, 48 { 49 0x00, 0x02, 0x01, 0x09, 0x05, 0x15, 0x0D, 0x1D, 50 0x03, 0x13, 0x0B, 0x1B, 0x07, 0x17, 0x0F, 0x1F, 51 }, 52 { 53 0x00, 0x02, 0x06, 0x01, 0x09, 0x05, 0x0D, 0x1D, 54 0x03, 0x13, 0x0B, 0x1B, 0x07, 0x17, 0x0F, 0x1F, 55 }, 56 { 57 0x00, 0x04, 0x02, 0x06, 0x01, 0x09, 0x05, 0x0D, 58 0x03, 0x13, 0x0B, 0x1B, 0x07, 0x17, 0x0F, 0x1F, 59 }, 60 { 61 0x00, 0x04, 0x02, 0x0A, 0x06, 0x0E, 0x01, 0x09, 62 0x05, 0x0D, 0x03, 0x0B, 0x07, 0x17, 0x0F, 0x1F, 63 }, 64 { 65 0x00, 0x02, 0x0A, 0x06, 0x0E, 0x01, 0x09, 0x05, 66 0x0D, 0x03, 0x0B, 0x1B, 0x07, 0x17, 0x0F, 0x1F, 67 }, 68 { 69 0x00, 0x01, 0x05, 0x03, 0x13, 0x0B, 0x1B, 0x3B, 70 0x07, 0x27, 0x17, 0x37, 0x0F, 0x2F, 0x1F, 0x3F, 71 }, 72 { 73 0x00, 0x01, 0x03, 0x13, 0x0B, 0x2B, 0x1B, 0x3B, 74 0x07, 0x27, 0x17, 0x37, 0x0F, 0x2F, 0x1F, 0x3F, 75 }, 76 { 77 0x00, 0x01, 0x05, 0x0D, 0x03, 0x13, 0x0B, 0x1B, 78 0x07, 0x27, 0x17, 0x37, 0x0F, 0x2F, 0x1F, 0x3F, 79 }, 80 { 81 0x00, 0x02, 0x01, 0x05, 0x0D, 0x03, 0x13, 0x0B, 82 0x1B, 0x07, 0x17, 0x37, 0x0F, 0x2F, 0x1F, 0x3F, 83 }, 84 { 85 0x00, 0x01, 0x09, 0x05, 0x0D, 0x03, 0x13, 0x0B, 86 0x1B, 0x07, 0x17, 0x37, 0x0F, 0x2F, 0x1F, 0x3F, 87 }, 88 { 89 0x00, 0x02, 0x01, 0x03, 0x13, 0x0B, 0x1B, 0x3B, 90 0x07, 0x27, 0x17, 0x37, 0x0F, 0x2F, 0x1F, 0x3F, 91 }, 92 { 93 0x00, 0x01, 0x05, 0x03, 0x07, 0x27, 0x17, 0x37, 94 0x0F, 0x4F, 0x2F, 0x6F, 0x1F, 0x5F, 0x3F, 0x7F, 95 }, 96 { 97 0x00, 0x01, 0x05, 0x03, 0x07, 0x17, 0x37, 0x77, 98 0x0F, 0x4F, 0x2F, 0x6F, 0x1F, 0x5F, 0x3F, 0x7F, 99 }, 100 { 101 0x00, 0x02, 0x01, 0x05, 0x03, 0x07, 0x27, 0x17, 102 0x37, 0x0F, 0x2F, 0x6F, 0x1F, 0x5F, 0x3F, 0x7F, 103 }, 104}; 105 106static const uint8_t bink_tree_lens[16][16] = { 107 { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, 108 { 1, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }, 109 { 2, 2, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }, 110 { 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }, 111 { 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5 }, 112 { 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5 }, 113 { 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5 }, 114 { 1, 3, 3, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, 115 { 1, 2, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, 116 { 1, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6 }, 117 { 2, 2, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6 }, 118 { 1, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6 }, 119 { 2, 2, 2, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, 120 { 1, 3, 3, 3, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7 }, 121 { 1, 3, 3, 3, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }, 122 { 2, 2, 3, 3, 3, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7 }, 123}; 124 125static const uint8_t bink_patterns[16][64] = { 126 { 127 0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 128 0x39, 0x31, 0x29, 0x21, 0x19, 0x11, 0x09, 0x01, 129 0x02, 0x0A, 0x12, 0x1A, 0x22, 0x2A, 0x32, 0x3A, 130 0x3B, 0x33, 0x2B, 0x23, 0x1B, 0x13, 0x0B, 0x03, 131 0x04, 0x0C, 0x14, 0x1C, 0x24, 0x2C, 0x34, 0x3C, 132 0x3D, 0x35, 0x2D, 0x25, 0x1D, 0x15, 0x0D, 0x05, 133 0x06, 0x0E, 0x16, 0x1E, 0x26, 0x2E, 0x36, 0x3E, 134 0x3F, 0x37, 0x2F, 0x27, 0x1F, 0x17, 0x0F, 0x07, 135 }, 136 { 137 0x3B, 0x3A, 0x39, 0x38, 0x30, 0x31, 0x32, 0x33, 138 0x2B, 0x2A, 0x29, 0x28, 0x20, 0x21, 0x22, 0x23, 139 0x1B, 0x1A, 0x19, 0x18, 0x10, 0x11, 0x12, 0x13, 140 0x0B, 0x0A, 0x09, 0x08, 0x00, 0x01, 0x02, 0x03, 141 0x04, 0x05, 0x06, 0x07, 0x0F, 0x0E, 0x0D, 0x0C, 142 0x14, 0x15, 0x16, 0x17, 0x1F, 0x1E, 0x1D, 0x1C, 143 0x24, 0x25, 0x26, 0x27, 0x2F, 0x2E, 0x2D, 0x2C, 144 0x34, 0x35, 0x36, 0x37, 0x3F, 0x3E, 0x3D, 0x3C, 145 }, 146 { 147 0x19, 0x11, 0x12, 0x1A, 0x1B, 0x13, 0x0B, 0x03, 148 0x02, 0x0A, 0x09, 0x01, 0x00, 0x08, 0x10, 0x18, 149 0x20, 0x28, 0x30, 0x38, 0x39, 0x31, 0x29, 0x2A, 150 0x32, 0x3A, 0x3B, 0x33, 0x2B, 0x23, 0x22, 0x21, 151 0x1D, 0x15, 0x16, 0x1E, 0x1F, 0x17, 0x0F, 0x07, 152 0x06, 0x0E, 0x0D, 0x05, 0x04, 0x0C, 0x14, 0x1C, 153 0x24, 0x2C, 0x34, 0x3C, 0x3D, 0x35, 0x2D, 0x2E, 154 0x36, 0x3E, 0x3F, 0x37, 0x2F, 0x27, 0x26, 0x25, 155 }, 156 { 157 0x03, 0x0B, 0x02, 0x0A, 0x01, 0x09, 0x00, 0x08, 158 0x10, 0x18, 0x11, 0x19, 0x12, 0x1A, 0x13, 0x1B, 159 0x23, 0x2B, 0x22, 0x2A, 0x21, 0x29, 0x20, 0x28, 160 0x30, 0x38, 0x31, 0x39, 0x32, 0x3A, 0x33, 0x3B, 161 0x3C, 0x34, 0x3D, 0x35, 0x3E, 0x36, 0x3F, 0x37, 162 0x2F, 0x27, 0x2E, 0x26, 0x2D, 0x25, 0x2C, 0x24, 163 0x1C, 0x14, 0x1D, 0x15, 0x1E, 0x16, 0x1F, 0x17, 164 0x0F, 0x07, 0x0E, 0x06, 0x0D, 0x05, 0x0C, 0x04, 165 }, 166 { 167 0x18, 0x19, 0x10, 0x11, 0x08, 0x09, 0x00, 0x01, 168 0x02, 0x03, 0x0A, 0x0B, 0x12, 0x13, 0x1A, 0x1B, 169 0x1C, 0x1D, 0x14, 0x15, 0x0C, 0x0D, 0x04, 0x05, 170 0x06, 0x07, 0x0E, 0x0F, 0x16, 0x17, 0x1E, 0x1F, 171 0x27, 0x26, 0x2F, 0x2E, 0x37, 0x36, 0x3F, 0x3E, 172 0x3D, 0x3C, 0x35, 0x34, 0x2D, 0x2C, 0x25, 0x24, 173 0x23, 0x22, 0x2B, 0x2A, 0x33, 0x32, 0x3B, 0x3A, 174 0x39, 0x38, 0x31, 0x30, 0x29, 0x28, 0x21, 0x20, 175 }, 176 { 177 0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B, 178 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B, 179 0x20, 0x21, 0x22, 0x23, 0x28, 0x29, 0x2A, 0x2B, 180 0x30, 0x31, 0x32, 0x33, 0x38, 0x39, 0x3A, 0x3B, 181 0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F, 182 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F, 183 0x24, 0x25, 0x26, 0x27, 0x2C, 0x2D, 0x2E, 0x2F, 184 0x34, 0x35, 0x36, 0x37, 0x3C, 0x3D, 0x3E, 0x3F, 185 }, 186 { 187 0x06, 0x07, 0x0F, 0x0E, 0x0D, 0x05, 0x0C, 0x04, 188 0x03, 0x0B, 0x02, 0x0A, 0x09, 0x01, 0x00, 0x08, 189 0x10, 0x18, 0x11, 0x19, 0x12, 0x1A, 0x13, 0x1B, 190 0x14, 0x1C, 0x15, 0x1D, 0x16, 0x1E, 0x17, 0x1F, 191 0x27, 0x2F, 0x26, 0x2E, 0x25, 0x2D, 0x24, 0x2C, 192 0x23, 0x2B, 0x22, 0x2A, 0x21, 0x29, 0x20, 0x28, 193 0x31, 0x30, 0x38, 0x39, 0x3A, 0x32, 0x3B, 0x33, 194 0x3C, 0x34, 0x3D, 0x35, 0x36, 0x37, 0x3F, 0x3E, 195 }, 196 { 197 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 198 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 199 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 200 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 201 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 202 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29, 0x28, 203 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 204 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 0x38, 205 }, 206 { 207 0x00, 0x08, 0x09, 0x01, 0x02, 0x03, 0x0B, 0x0A, 208 0x12, 0x13, 0x1B, 0x1A, 0x19, 0x11, 0x10, 0x18, 209 0x20, 0x28, 0x29, 0x21, 0x22, 0x23, 0x2B, 0x2A, 210 0x32, 0x31, 0x30, 0x38, 0x39, 0x3A, 0x3B, 0x33, 211 0x34, 0x3C, 0x3D, 0x3E, 0x3F, 0x37, 0x36, 0x35, 212 0x2D, 0x2C, 0x24, 0x25, 0x26, 0x2E, 0x2F, 0x27, 213 0x1F, 0x17, 0x16, 0x1E, 0x1D, 0x1C, 0x14, 0x15, 214 0x0D, 0x0C, 0x04, 0x05, 0x06, 0x0E, 0x0F, 0x07, 215 }, 216 { 217 0x18, 0x19, 0x10, 0x11, 0x08, 0x09, 0x00, 0x01, 218 0x02, 0x03, 0x0A, 0x0B, 0x12, 0x13, 0x1A, 0x1B, 219 0x1C, 0x1D, 0x14, 0x15, 0x0C, 0x0D, 0x04, 0x05, 220 0x06, 0x07, 0x0E, 0x0F, 0x16, 0x17, 0x1E, 0x1F, 221 0x26, 0x27, 0x2E, 0x2F, 0x36, 0x37, 0x3E, 0x3F, 222 0x3C, 0x3D, 0x34, 0x35, 0x2C, 0x2D, 0x24, 0x25, 223 0x22, 0x23, 0x2A, 0x2B, 0x32, 0x33, 0x3A, 0x3B, 224 0x38, 0x39, 0x30, 0x31, 0x28, 0x29, 0x20, 0x21, 225 }, 226 { 227 0x00, 0x08, 0x01, 0x09, 0x02, 0x0A, 0x03, 0x0B, 228 0x13, 0x1B, 0x12, 0x1A, 0x11, 0x19, 0x10, 0x18, 229 0x20, 0x28, 0x21, 0x29, 0x22, 0x2A, 0x23, 0x2B, 230 0x33, 0x3B, 0x32, 0x3A, 0x31, 0x39, 0x30, 0x38, 231 0x3C, 0x34, 0x3D, 0x35, 0x3E, 0x36, 0x3F, 0x37, 232 0x2F, 0x27, 0x2E, 0x26, 0x2D, 0x25, 0x2C, 0x24, 233 0x1F, 0x17, 0x1E, 0x16, 0x1D, 0x15, 0x1C, 0x14, 234 0x0C, 0x04, 0x0D, 0x05, 0x0E, 0x06, 0x0F, 0x07, 235 }, 236 { 237 0x00, 0x08, 0x10, 0x18, 0x19, 0x1A, 0x1B, 0x13, 238 0x0B, 0x03, 0x02, 0x01, 0x09, 0x11, 0x12, 0x0A, 239 0x04, 0x0C, 0x14, 0x1C, 0x1D, 0x1E, 0x1F, 0x17, 240 0x0F, 0x07, 0x06, 0x05, 0x0D, 0x15, 0x16, 0x0E, 241 0x24, 0x2C, 0x34, 0x3C, 0x3D, 0x3E, 0x3F, 0x37, 242 0x2F, 0x27, 0x26, 0x25, 0x2D, 0x35, 0x36, 0x2E, 243 0x20, 0x28, 0x30, 0x38, 0x39, 0x3A, 0x3B, 0x33, 244 0x2B, 0x23, 0x22, 0x21, 0x29, 0x31, 0x32, 0x2A, 245 }, 246 { 247 0x00, 0x08, 0x09, 0x01, 0x02, 0x03, 0x0B, 0x0A, 248 0x13, 0x1B, 0x1A, 0x12, 0x11, 0x10, 0x18, 0x19, 249 0x21, 0x20, 0x28, 0x29, 0x2A, 0x22, 0x23, 0x2B, 250 0x33, 0x3B, 0x3A, 0x32, 0x31, 0x39, 0x38, 0x30, 251 0x34, 0x3C, 0x3D, 0x35, 0x36, 0x3E, 0x3F, 0x37, 252 0x2F, 0x27, 0x26, 0x2E, 0x2D, 0x2C, 0x24, 0x25, 253 0x1D, 0x1C, 0x14, 0x15, 0x16, 0x1E, 0x1F, 0x17, 254 0x0E, 0x0F, 0x07, 0x06, 0x05, 0x0D, 0x0C, 0x04, 255 }, 256 { 257 0x18, 0x10, 0x08, 0x00, 0x01, 0x02, 0x03, 0x0B, 258 0x13, 0x1B, 0x1A, 0x19, 0x11, 0x0A, 0x09, 0x12, 259 0x1C, 0x14, 0x0C, 0x04, 0x05, 0x06, 0x07, 0x0F, 260 0x17, 0x1F, 0x1E, 0x1D, 0x15, 0x0E, 0x0D, 0x16, 261 0x3C, 0x34, 0x2C, 0x24, 0x25, 0x26, 0x27, 0x2F, 262 0x37, 0x3F, 0x3E, 0x3D, 0x35, 0x2E, 0x2D, 0x36, 263 0x38, 0x30, 0x28, 0x20, 0x21, 0x22, 0x23, 0x2B, 264 0x33, 0x3B, 0x3A, 0x39, 0x31, 0x2A, 0x29, 0x32, 265 }, 266 { 267 0x00, 0x08, 0x09, 0x01, 0x02, 0x0A, 0x12, 0x11, 268 0x10, 0x18, 0x19, 0x1A, 0x1B, 0x13, 0x0B, 0x03, 269 0x07, 0x06, 0x0E, 0x0F, 0x17, 0x16, 0x15, 0x0D, 270 0x05, 0x04, 0x0C, 0x14, 0x1C, 0x1D, 0x1E, 0x1F, 271 0x3F, 0x3E, 0x36, 0x37, 0x2F, 0x2E, 0x2D, 0x35, 272 0x3D, 0x3C, 0x34, 0x2C, 0x24, 0x25, 0x26, 0x27, 273 0x38, 0x30, 0x31, 0x39, 0x3A, 0x32, 0x2A, 0x29, 274 0x28, 0x20, 0x21, 0x22, 0x23, 0x2B, 0x33, 0x3B, 275 }, 276 { 277 0x00, 0x01, 0x08, 0x09, 0x10, 0x11, 0x18, 0x19, 278 0x20, 0x21, 0x28, 0x29, 0x30, 0x31, 0x38, 0x39, 279 0x3A, 0x3B, 0x32, 0x33, 0x2A, 0x2B, 0x22, 0x23, 280 0x1A, 0x1B, 0x12, 0x13, 0x0A, 0x0B, 0x02, 0x03, 281 0x04, 0x05, 0x0C, 0x0D, 0x14, 0x15, 0x1C, 0x1D, 282 0x24, 0x25, 0x2C, 0x2D, 0x34, 0x35, 0x3C, 0x3D, 283 0x3E, 0x3F, 0x36, 0x37, 0x2E, 0x2F, 0x26, 0x27, 284 0x1E, 0x1F, 0x16, 0x17, 0x0E, 0x0F, 0x06, 0x07, 285 } 286}; 287 288static const int32_t bink_intra_quant[16][64] = { 289{ 290 0x010000, 0x016315, 0x01E83D, 0x02A535, 0x014E7B, 0x016577, 0x02F1E6, 0x02724C, 291 0x010000, 0x00EEDA, 0x024102, 0x017F9B, 0x00BE80, 0x00611E, 0x01083C, 0x00A552, 292 0x021F88, 0x01DC53, 0x027FAD, 0x01F697, 0x014819, 0x00A743, 0x015A31, 0x009688, 293 0x02346F, 0x030EE5, 0x01FBFA, 0x02C096, 0x01D000, 0x028396, 0x019247, 0x01F9AA, 294 0x02346F, 0x01FBFA, 0x01DC53, 0x0231B8, 0x012F12, 0x01E06C, 0x00CB10, 0x0119A8, 295 0x01C48C, 0x019748, 0x014E86, 0x0122AF, 0x02C628, 0x027F20, 0x0297B5, 0x023F32, 296 0x025000, 0x01AB6B, 0x01D122, 0x0159B3, 0x012669, 0x008D43, 0x00EE1F, 0x0075ED, 297 0x01490C, 0x010288, 0x00F735, 0x00EF51, 0x00E0F1, 0x0072AD, 0x00A4D8, 0x006517, 298}, 299{ 300 0x015555, 0x01D971, 0x028AFC, 0x0386F1, 0x01BDF9, 0x01DC9F, 0x03ED33, 0x034311, 301 0x015555, 0x013E78, 0x030158, 0x01FF7A, 0x00FE00, 0x00817D, 0x01604F, 0x00DC6D, 302 0x02D4B5, 0x027B19, 0x0354E7, 0x029E1F, 0x01B577, 0x00DF04, 0x01CD96, 0x00C8B6, 303 0x02F095, 0x0413DC, 0x02A54E, 0x03AB73, 0x026AAB, 0x035A1E, 0x02185E, 0x02A238, 304 0x02F095, 0x02A54E, 0x027B19, 0x02ECF5, 0x019418, 0x028090, 0x010EC0, 0x01778A, 305 0x025B66, 0x021F0B, 0x01BE09, 0x018394, 0x03B2E0, 0x03542A, 0x0374F1, 0x02FEEE, 306 0x031555, 0x0239E4, 0x026C2D, 0x01CCEE, 0x01888C, 0x00BC59, 0x013D7E, 0x009D3C, 307 0x01B6BB, 0x0158B5, 0x01499C, 0x013F17, 0x012BEC, 0x0098E6, 0x00DBCB, 0x0086C9, 308}, 309{ 310 0x01AAAB, 0x024FCE, 0x032DBB, 0x0468AD, 0x022D78, 0x0253C7, 0x04E87F, 0x0413D5, 311 0x01AAAB, 0x018E16, 0x03C1AE, 0x027F58, 0x013D80, 0x00A1DC, 0x01B863, 0x011388, 312 0x0389E2, 0x0319DF, 0x042A21, 0x0345A7, 0x0222D4, 0x0116C5, 0x0240FC, 0x00FAE3, 313 0x03ACBA, 0x0518D3, 0x034EA1, 0x04964F, 0x030555, 0x0430A5, 0x029E76, 0x034AC5, 314 0x03ACBA, 0x034EA1, 0x0319DF, 0x03A833, 0x01F91E, 0x0320B4, 0x015270, 0x01D56D, 315 0x02F23F, 0x02A6CE, 0x022D8B, 0x01E479, 0x049F98, 0x042935, 0x04522D, 0x03BEA9, 316 0x03DAAB, 0x02C85D, 0x030738, 0x02402A, 0x01EAAF, 0x00EB6F, 0x018CDE, 0x00C48A, 317 0x022469, 0x01AEE2, 0x019C02, 0x018EDD, 0x0176E7, 0x00BF20, 0x0112BE, 0x00A87B, 318}, 319{ 320 0x020000, 0x02C62A, 0x03D07A, 0x054A69, 0x029CF6, 0x02CAEF, 0x05E3CC, 0x04E499, 321 0x020000, 0x01DDB4, 0x048204, 0x02FF36, 0x017D01, 0x00C23C, 0x021077, 0x014AA3, 322 0x043F0F, 0x03B8A6, 0x04FF5A, 0x03ED2E, 0x029032, 0x014E86, 0x02B461, 0x012D11, 323 0x0468DF, 0x061DCA, 0x03F7F5, 0x05812C, 0x03A000, 0x05072C, 0x03248D, 0x03F353, 324 0x0468DF, 0x03F7F5, 0x03B8A6, 0x046370, 0x025E24, 0x03C0D8, 0x019620, 0x02334F, 325 0x038919, 0x032E91, 0x029D0D, 0x02455E, 0x058C50, 0x04FE3F, 0x052F69, 0x047E65, 326 0x04A000, 0x0356D6, 0x03A243, 0x02B365, 0x024CD2, 0x011A85, 0x01DC3E, 0x00EBD9, 327 0x029218, 0x020510, 0x01EE69, 0x01DEA2, 0x01C1E2, 0x00E559, 0x0149B0, 0x00CA2D, 328}, 329{ 330 0x02AAAB, 0x03B2E3, 0x0515F8, 0x070DE2, 0x037BF2, 0x03B93E, 0x07DA65, 0x068621, 331 0x02AAAB, 0x027CF0, 0x0602B1, 0x03FEF3, 0x01FC01, 0x0102FA, 0x02C09F, 0x01B8DA, 332 0x05A96A, 0x04F632, 0x06A9CE, 0x053C3E, 0x036AED, 0x01BE09, 0x039B2D, 0x01916B, 333 0x05E129, 0x0827B8, 0x054A9C, 0x0756E5, 0x04D555, 0x06B43B, 0x0430BC, 0x05446F, 334 0x05E129, 0x054A9C, 0x04F632, 0x05D9EB, 0x032830, 0x050121, 0x021D80, 0x02EF14, 335 0x04B6CC, 0x043E16, 0x037C11, 0x030728, 0x0765C0, 0x06A855, 0x06E9E2, 0x05FDDB, 336 0x062AAB, 0x0473C8, 0x04D85A, 0x0399DC, 0x031118, 0x0178B2, 0x027AFD, 0x013A77, 337 0x036D76, 0x02B16A, 0x029337, 0x027E2E, 0x0257D8, 0x0131CC, 0x01B796, 0x010D91, 338}, 339{ 340 0x038000, 0x04DACA, 0x06ACD5, 0x094238, 0x0492AE, 0x04E322, 0x0A4EA5, 0x08900C, 341 0x038000, 0x0343FB, 0x07E388, 0x053E9F, 0x029AC1, 0x0153E8, 0x039CD0, 0x02429E, 342 0x076E5B, 0x068322, 0x08BEDE, 0x06DF11, 0x047C57, 0x02496B, 0x04BBAB, 0x020EDD, 343 0x07B786, 0x0AB421, 0x06F1ED, 0x09A20D, 0x065800, 0x08CC8E, 0x057FF7, 0x06E9D2, 344 0x07B786, 0x06F1ED, 0x068322, 0x07AE04, 0x0424BF, 0x06917B, 0x02C6B8, 0x03D9CB, 345 0x062FEB, 0x05917D, 0x0492D7, 0x03F964, 0x09B58C, 0x08BCEF, 0x0912F8, 0x07DD30, 346 0x081800, 0x05D7F7, 0x065BF6, 0x04B9F1, 0x040670, 0x01EE69, 0x03416C, 0x019CBC, 347 0x047FAA, 0x0388DC, 0x036138, 0x03459C, 0x03134C, 0x01915C, 0x0240F5, 0x0161CF, 348}, 349{ 350 0x040000, 0x058C54, 0x07A0F4, 0x0A94D3, 0x0539EC, 0x0595DD, 0x0BC798, 0x09C932, 351 0x040000, 0x03BB68, 0x090409, 0x05FE6D, 0x02FA01, 0x018477, 0x0420EE, 0x029547, 352 0x087E1F, 0x07714C, 0x09FEB5, 0x07DA5D, 0x052064, 0x029D0D, 0x0568C3, 0x025A21, 353 0x08D1BE, 0x0C3B94, 0x07EFEA, 0x0B0258, 0x074000, 0x0A0E59, 0x06491A, 0x07E6A7, 354 0x08D1BE, 0x07EFEA, 0x07714C, 0x08C6E0, 0x04BC48, 0x0781B1, 0x032C3F, 0x04669F, 355 0x071232, 0x065D22, 0x053A1A, 0x048ABC, 0x0B18A0, 0x09FC7F, 0x0A5ED3, 0x08FCC9, 356 0x094000, 0x06ADAC, 0x074487, 0x0566CA, 0x0499A5, 0x02350B, 0x03B87B, 0x01D7B3, 357 0x052430, 0x040A20, 0x03DCD3, 0x03BD45, 0x0383C5, 0x01CAB3, 0x029361, 0x01945A, 358}, 359{ 360 0x050000, 0x06EF69, 0x098931, 0x0D3A07, 0x068867, 0x06FB55, 0x0EB97E, 0x0C3B7E, 361 0x050000, 0x04AA42, 0x0B450B, 0x077E08, 0x03B881, 0x01E595, 0x05292A, 0x033A99, 362 0x0A9DA7, 0x094D9F, 0x0C7E62, 0x09D0F4, 0x06687D, 0x034450, 0x06C2F4, 0x02F0AA, 363 0x0B062D, 0x0F4A78, 0x09EBE4, 0x0DC2EE, 0x091000, 0x0C91EF, 0x07DB61, 0x09E050, 364 0x0B062D, 0x09EBE4, 0x094D9F, 0x0AF898, 0x05EB59, 0x09621D, 0x03F74F, 0x058046, 365 0x08D6BE, 0x07F46A, 0x0688A0, 0x05AD6B, 0x0DDEC8, 0x0C7B9F, 0x0CF687, 0x0B3BFB, 366 0x0B9000, 0x085917, 0x0915A8, 0x06C07D, 0x05C00E, 0x02C24D, 0x04A69A, 0x024D9F, 367 0x066D3C, 0x050CA7, 0x04D407, 0x04AC96, 0x0464B6, 0x023D5F, 0x033839, 0x01F971, 368}, 369{ 370 0x060000, 0x08527E, 0x0B716E, 0x0FDF3C, 0x07D6E1, 0x0860CC, 0x11AB63, 0x0EADCB, 371 0x060000, 0x05991C, 0x0D860D, 0x08FDA3, 0x047702, 0x0246B3, 0x063165, 0x03DFEA, 372 0x0CBD2E, 0x0B29F1, 0x0EFE0F, 0x0BC78B, 0x07B096, 0x03EB93, 0x081D24, 0x038732, 373 0x0D3A9C, 0x12595D, 0x0BE7DF, 0x108384, 0x0AE000, 0x0F1585, 0x096DA8, 0x0BD9FA, 374 0x0D3A9C, 0x0BE7DF, 0x0B29F1, 0x0D2A50, 0x071A6B, 0x0B4289, 0x04C25F, 0x0699EE, 375 0x0A9B4A, 0x098BB2, 0x07D727, 0x06D01A, 0x10A4F0, 0x0EFABE, 0x0F8E3C, 0x0D7B2E, 376 0x0DE000, 0x0A0482, 0x0AE6CA, 0x081A2F, 0x06E677, 0x034F90, 0x0594B9, 0x02C38C, 377 0x07B649, 0x060F2F, 0x05CB3C, 0x059BE7, 0x0545A7, 0x02B00C, 0x03DD11, 0x025E87, 378}, 379{ 380 0x080000, 0x0B18A8, 0x0F41E8, 0x1529A5, 0x0A73D7, 0x0B2BBB, 0x178F2F, 0x139264, 381 0x080000, 0x0776CF, 0x120812, 0x0BFCD9, 0x05F402, 0x0308EF, 0x0841DC, 0x052A8E, 382 0x10FC3E, 0x0EE297, 0x13FD69, 0x0FB4B9, 0x0A40C8, 0x053A1A, 0x0AD186, 0x04B442, 383 0x11A37B, 0x187727, 0x0FDFD4, 0x1604B0, 0x0E8000, 0x141CB1, 0x0C9235, 0x0FCD4D, 384 0x11A37B, 0x0FDFD4, 0x0EE297, 0x118DC0, 0x09788F, 0x0F0362, 0x06587F, 0x08CD3D, 385 0x0E2463, 0x0CBA43, 0x0A7434, 0x091577, 0x163140, 0x13F8FE, 0x14BDA5, 0x11F992, 386 0x128000, 0x0D5B58, 0x0E890D, 0x0ACD94, 0x093349, 0x046A15, 0x0770F7, 0x03AF65, 387 0x0A4861, 0x08143F, 0x07B9A6, 0x077A89, 0x070789, 0x039565, 0x0526C2, 0x0328B4, 388}, 389{ 390 0x0C0000, 0x10A4FD, 0x16E2DB, 0x1FBE78, 0x0FADC3, 0x10C198, 0x2356C7, 0x1D5B96, 391 0x0C0000, 0x0B3237, 0x1B0C1A, 0x11FB46, 0x08EE03, 0x048D66, 0x0C62CA, 0x07BFD5, 392 0x197A5D, 0x1653E3, 0x1DFC1E, 0x178F16, 0x0F612C, 0x07D727, 0x103A49, 0x070E64, 393 0x1A7539, 0x24B2BB, 0x17CFBD, 0x210709, 0x15C000, 0x1E2B0A, 0x12DB4F, 0x17B3F4, 394 0x1A7539, 0x17CFBD, 0x1653E3, 0x1A54A0, 0x0E34D7, 0x168513, 0x0984BE, 0x0D33DC, 395 0x153695, 0x131765, 0x0FAE4E, 0x0DA033, 0x2149E1, 0x1DF57D, 0x1F1C78, 0x1AF65B, 396 0x1BC000, 0x140904, 0x15CD94, 0x10345E, 0x0DCCEE, 0x069F20, 0x0B2972, 0x058718, 397 0x0F6C91, 0x0C1E5E, 0x0B9678, 0x0B37CE, 0x0A8B4E, 0x056018, 0x07BA22, 0x04BD0E, 398}, 399{ 400 0x110000, 0x179466, 0x206C0C, 0x2CF87F, 0x16362A, 0x17BCED, 0x321044, 0x299714, 401 0x110000, 0x0FDC79, 0x265125, 0x19794E, 0x0CA685, 0x0672FB, 0x118BF4, 0x0AFA6D, 402 0x241804, 0x1FA181, 0x2A7A80, 0x21600A, 0x15C9A9, 0x0B1B77, 0x16FD3C, 0x09FF0D, 403 0x257B66, 0x33FD33, 0x21BBA2, 0x2EC9F7, 0x1ED000, 0x2ABCF9, 0x1AB6B0, 0x219444, 404 0x257B66, 0x21BBA2, 0x1FA181, 0x254D38, 0x142030, 0x1FE730, 0x0D7C0E, 0x12B423, 405 0x1E0D52, 0x1B0BCF, 0x1636EE, 0x134D9E, 0x2F28A9, 0x2A711B, 0x2C12FF, 0x263256, 406 0x275000, 0x1C621B, 0x1EE33C, 0x16F4DB, 0x138CFB, 0x09616E, 0x0FD00C, 0x07D4B7, 407 0x15D9CE, 0x112B06, 0x106A80, 0x0FE464, 0x0EF004, 0x079D77, 0x0AF25B, 0x06B67F, 408}, 409{ 410 0x160000, 0x1E83CF, 0x29F53D, 0x3A3286, 0x1CBE90, 0x1EB842, 0x40C9C2, 0x35D293, 411 0x160000, 0x1486BA, 0x319630, 0x20F756, 0x105F06, 0x085891, 0x16B51E, 0x0E3506, 412 0x2EB5AA, 0x28EF20, 0x36F8E1, 0x2B30FE, 0x1C3225, 0x0E5FC7, 0x1DC030, 0x0CEFB7, 413 0x308193, 0x4347AC, 0x2BA786, 0x3C8CE5, 0x27E000, 0x374EE7, 0x229212, 0x2B7494, 414 0x308193, 0x2BA786, 0x28EF20, 0x3045D0, 0x1A0B89, 0x29494D, 0x11735D, 0x183469, 415 0x26E410, 0x230039, 0x1CBF8F, 0x18FB09, 0x3D0771, 0x36ECBA, 0x390986, 0x316E52, 416 0x32E000, 0x24BB33, 0x27F8E4, 0x1DB557, 0x194D09, 0x0C23BB, 0x1476A6, 0x0A2256, 417 0x1C470A, 0x1637AD, 0x153E87, 0x1490FA, 0x1354B9, 0x09DAD6, 0x0E2A94, 0x08AFF0, 418}, 419{ 420 0x1C0000, 0x26D64D, 0x3566AA, 0x4A11C2, 0x249572, 0x27190E, 0x527525, 0x44805E, 421 0x1C0000, 0x1A1FD6, 0x3F1C3E, 0x29F4F9, 0x14D607, 0x0A9F44, 0x1CE683, 0x1214F0, 422 0x3B72D9, 0x341911, 0x45F6F0, 0x36F889, 0x23E2BB, 0x124B5B, 0x25DD54, 0x1076E9, 423 0x3DBC30, 0x55A109, 0x378F64, 0x4D1069, 0x32C000, 0x46646C, 0x2BFFB9, 0x374E8E, 424 0x3DBC30, 0x378F64, 0x341911, 0x3D7020, 0x2125F5, 0x348BD6, 0x1635BC, 0x1ECE57, 425 0x317F5B, 0x2C8BEB, 0x2496B6, 0x1FCB22, 0x4DAC61, 0x45E778, 0x4897C2, 0x3EE97F, 426 0x40C000, 0x2EBFB5, 0x32DFAE, 0x25CF86, 0x203380, 0x0F734B, 0x1A0B5F, 0x0CE5E2, 427 0x23FD53, 0x1C46DC, 0x1B09C4, 0x1A2CE1, 0x189A60, 0x0C8AE2, 0x1207A5, 0x0B0E77, 428}, 429{ 430 0x220000, 0x2F28CC, 0x40D818, 0x59F0FE, 0x2C6C53, 0x2F79DA, 0x642089, 0x532E29, 431 0x220000, 0x1FB8F1, 0x4CA24B, 0x32F29C, 0x194D09, 0x0CE5F7, 0x2317E8, 0x15F4DB, 432 0x483007, 0x3F4303, 0x54F4FF, 0x42C014, 0x2B9351, 0x1636EE, 0x2DFA79, 0x13FE1A, 433 0x4AF6CC, 0x67FA67, 0x437743, 0x5D93EE, 0x3DA000, 0x5579F1, 0x356D61, 0x432888, 434 0x4AF6CC, 0x437743, 0x3F4303, 0x4A9A70, 0x284060, 0x3FCE60, 0x1AF81B, 0x256845, 435 0x3C1AA5, 0x36179D, 0x2C6DDD, 0x269B3C, 0x5E5152, 0x54E237, 0x5825FE, 0x4C64AD, 436 0x4EA000, 0x38C437, 0x3DC678, 0x2DE9B5, 0x2719F7, 0x12C2DB, 0x1FA018, 0x0FA96E, 437 0x2BB39B, 0x22560C, 0x20D500, 0x1FC8C8, 0x1DE007, 0x0F3AEE, 0x15E4B7, 0x0D6CFE, 438}, 439{ 440 0x2C0000, 0x3D079E, 0x53EA79, 0x74650C, 0x397D20, 0x3D7083, 0x819383, 0x6BA525, 441 0x2C0000, 0x290D75, 0x632C61, 0x41EEAC, 0x20BE0C, 0x10B121, 0x2D6A3B, 0x1C6A0C, 442 0x5D6B54, 0x51DE40, 0x6DF1C2, 0x5661FB, 0x38644B, 0x1CBF8F, 0x3B8060, 0x19DF6D, 443 0x610326, 0x868F57, 0x574F0B, 0x7919CA, 0x4FC000, 0x6E9DCE, 0x452423, 0x56E928, 444 0x610326, 0x574F0B, 0x51DE40, 0x608BA0, 0x341713, 0x52929A, 0x22E6BA, 0x3068D2, 445 0x4DC821, 0x460071, 0x397F1E, 0x31F611, 0x7A0EE2, 0x6DD974, 0x72130C, 0x62DCA3, 446 0x65C000, 0x497665, 0x4FF1C9, 0x3B6AAE, 0x329A12, 0x184776, 0x28ED4D, 0x1444AC, 447 0x388E14, 0x2C6F5A, 0x2A7D0F, 0x2921F4, 0x26A973, 0x13B5AD, 0x1C5528, 0x115FDF, 448}, 449}; 450 451static const int32_t bink_inter_quant[16][64] = { 452{ 453 0x010000, 0x017946, 0x01A5A9, 0x0248DC, 0x016363, 0x0152A7, 0x0243EC, 0x0209EA, 454 0x012000, 0x00E248, 0x01BBDA, 0x015CBC, 0x00A486, 0x0053E0, 0x00F036, 0x008095, 455 0x01B701, 0x016959, 0x01B0B9, 0x0153FD, 0x00F8E7, 0x007EE4, 0x00EA30, 0x007763, 456 0x01B701, 0x0260EB, 0x019DE9, 0x023E1B, 0x017000, 0x01FE6E, 0x012DB5, 0x01A27B, 457 0x01E0D1, 0x01B0B9, 0x018A33, 0x01718D, 0x00D87A, 0x014449, 0x007B9A, 0x00AB71, 458 0x013178, 0x0112EA, 0x00AD08, 0x009BB9, 0x023D97, 0x020437, 0x021CCC, 0x01E6B4, 459 0x018000, 0x012DB5, 0x0146D9, 0x0100CE, 0x00CFD2, 0x006E5C, 0x00B0E4, 0x005A2D, 460 0x00E9CC, 0x00B7B1, 0x00846F, 0x006B85, 0x008337, 0x0042E5, 0x004A10, 0x002831, 461}, 462{ 463 0x015555, 0x01F708, 0x023237, 0x030BD0, 0x01D9D9, 0x01C389, 0x03053B, 0x02B7E3, 464 0x018000, 0x012DB5, 0x024FCE, 0x01D0FA, 0x00DB5D, 0x006FD5, 0x014048, 0x00AB71, 465 0x024957, 0x01E1CC, 0x0240F7, 0x01C551, 0x014BDE, 0x00A92F, 0x013840, 0x009F2F, 466 0x024957, 0x032BE4, 0x0227E1, 0x02FD7A, 0x01EAAB, 0x02A893, 0x019247, 0x022DF9, 467 0x028116, 0x0240F7, 0x020D99, 0x01ECBC, 0x0120A3, 0x01B061, 0x00A4CE, 0x00E497, 468 0x01974B, 0x016E8E, 0x00E6B5, 0x00CFA2, 0x02FCC9, 0x02B04A, 0x02D110, 0x0288F1, 469 0x020000, 0x019247, 0x01B3CC, 0x015668, 0x011518, 0x009325, 0x00EBDA, 0x00783D, 470 0x0137BB, 0x00F4ED, 0x00B093, 0x008F5C, 0x00AEF4, 0x005931, 0x0062BF, 0x003597, 471}, 472{ 473 0x01AAAB, 0x0274CB, 0x02BEC4, 0x03CEC4, 0x02504F, 0x02346C, 0x03C689, 0x0365DC, 474 0x01E000, 0x017922, 0x02E3C1, 0x024539, 0x011235, 0x008BCA, 0x01905A, 0x00D64D, 475 0x02DBAD, 0x025A40, 0x02D134, 0x0236A5, 0x019ED6, 0x00D37B, 0x018650, 0x00C6FB, 476 0x02DBAD, 0x03F6DD, 0x02B1D9, 0x03BCD8, 0x026555, 0x0352B8, 0x01F6D8, 0x02B977, 477 0x03215C, 0x02D134, 0x029100, 0x0267EB, 0x0168CC, 0x021C7A, 0x00CE01, 0x011DBD, 478 0x01FD1E, 0x01CA31, 0x012062, 0x01038A, 0x03BBFB, 0x035C5C, 0x038554, 0x032B2D, 479 0x028000, 0x01F6D8, 0x0220C0, 0x01AC02, 0x015A5E, 0x00B7EF, 0x0126D1, 0x00964C, 480 0x0185A9, 0x013228, 0x00DCB8, 0x00B333, 0x00DAB2, 0x006F7D, 0x007B6F, 0x0042FC, 481}, 482{ 483 0x020000, 0x02F28D, 0x034B52, 0x0491B8, 0x02C6C5, 0x02A54E, 0x0487D8, 0x0413D5, 484 0x024000, 0x01C48F, 0x0377B5, 0x02B977, 0x01490C, 0x00A7BF, 0x01E06C, 0x01012A, 485 0x036E03, 0x02D2B3, 0x036172, 0x02A7FA, 0x01F1CE, 0x00FDC7, 0x01D460, 0x00EEC7, 486 0x036E03, 0x04C1D6, 0x033BD1, 0x047C37, 0x02E000, 0x03FCDD, 0x025B6A, 0x0344F5, 487 0x03C1A1, 0x036172, 0x031466, 0x02E31B, 0x01B0F5, 0x028892, 0x00F735, 0x0156E2, 488 0x0262F1, 0x0225D5, 0x015A10, 0x013772, 0x047B2D, 0x04086E, 0x043998, 0x03CD69, 489 0x030000, 0x025B6A, 0x028DB3, 0x02019B, 0x019FA3, 0x00DCB8, 0x0161C7, 0x00B45B, 490 0x01D398, 0x016F63, 0x0108DD, 0x00D70A, 0x01066F, 0x0085C9, 0x00941F, 0x005062, 491}, 492{ 493 0x02AAAB, 0x03EE11, 0x04646D, 0x0617A0, 0x03B3B2, 0x038713, 0x060A75, 0x056FC6, 494 0x030000, 0x025B6A, 0x049F9B, 0x03A1F4, 0x01B6BB, 0x00DFAA, 0x028090, 0x0156E2, 495 0x0492AE, 0x03C399, 0x0481ED, 0x038AA2, 0x0297BD, 0x01525F, 0x027080, 0x013E5E, 496 0x0492AE, 0x0657C8, 0x044FC1, 0x05FAF4, 0x03D555, 0x055126, 0x03248D, 0x045BF2, 497 0x05022D, 0x0481ED, 0x041B33, 0x03D979, 0x024147, 0x0360C3, 0x01499C, 0x01C92E, 498 0x032E96, 0x02DD1C, 0x01CD6A, 0x019F43, 0x05F991, 0x056093, 0x05A220, 0x0511E1, 499 0x040000, 0x03248D, 0x036799, 0x02ACCF, 0x022A2F, 0x01264B, 0x01D7B5, 0x00F079, 500 0x026F75, 0x01E9D9, 0x016127, 0x011EB8, 0x015DE9, 0x00B262, 0x00C57F, 0x006B2D, 501}, 502{ 503 0x038000, 0x052876, 0x05C3CF, 0x07FF02, 0x04DBD9, 0x04A148, 0x07EDBA, 0x0722B4, 504 0x03F000, 0x0317FB, 0x06117C, 0x04C491, 0x023FD5, 0x01258F, 0x0348BD, 0x01C209, 505 0x060085, 0x04F0B9, 0x05EA87, 0x04A5F5, 0x036728, 0x01BC1C, 0x0333A8, 0x01A1DB, 506 0x060085, 0x085336, 0x05A8AE, 0x07D960, 0x050800, 0x06FA82, 0x041FF9, 0x05B8AE, 507 0x0692DA, 0x05EA87, 0x0563B2, 0x050D6E, 0x02F5AD, 0x046F00, 0x01B09C, 0x02580C, 508 0x042D25, 0x03C235, 0x025D9B, 0x022108, 0x07D78F, 0x070EC1, 0x0764CA, 0x06A777, 509 0x054000, 0x041FF9, 0x0477F9, 0x0382D0, 0x02D75E, 0x018242, 0x026B1D, 0x013B9F, 510 0x03324A, 0x0282ED, 0x01CF83, 0x017851, 0x01CB42, 0x00EA21, 0x010336, 0x008CAC, 511}, 512{ 513 0x040000, 0x05E519, 0x0696A4, 0x092370, 0x058D8A, 0x054A9C, 0x090FB0, 0x0827AA, 514 0x048000, 0x03891F, 0x06EF69, 0x0572EE, 0x029218, 0x014F7E, 0x03C0D8, 0x020254, 515 0x06DC05, 0x05A565, 0x06C2E4, 0x054FF3, 0x03E39B, 0x01FB8E, 0x03A8C0, 0x01DD8D, 516 0x06DC05, 0x0983AC, 0x0677A2, 0x08F86E, 0x05C000, 0x07F9B9, 0x04B6D4, 0x0689EB, 517 0x078343, 0x06C2E4, 0x0628CC, 0x05C635, 0x0361EA, 0x051124, 0x01EE69, 0x02ADC5, 518 0x04C5E1, 0x044BAA, 0x02B41F, 0x026EE5, 0x08F65A, 0x0810DD, 0x087330, 0x079AD1, 519 0x060000, 0x04B6D4, 0x051B65, 0x040337, 0x033F47, 0x01B970, 0x02C38F, 0x0168B6, 520 0x03A730, 0x02DEC6, 0x0211BA, 0x01AE14, 0x020CDD, 0x010B93, 0x01283E, 0x00A0C4, 521}, 522{ 523 0x050000, 0x075E60, 0x083C4D, 0x0B6C4C, 0x06F0ED, 0x069D43, 0x0B539C, 0x0A3194, 524 0x05A000, 0x046B67, 0x08AB44, 0x06CFAA, 0x03369E, 0x01A35E, 0x04B10F, 0x0282E8, 525 0x089307, 0x070EBF, 0x08739C, 0x06A3F0, 0x04DC82, 0x027A72, 0x0492F0, 0x0254F0, 526 0x089307, 0x0BE497, 0x08158B, 0x0B3689, 0x073000, 0x09F827, 0x05E489, 0x082C66, 527 0x096413, 0x08739C, 0x07B2FF, 0x0737C2, 0x043A64, 0x06556D, 0x026A04, 0x035936, 528 0x05F75A, 0x055E94, 0x036127, 0x030A9E, 0x0B33F1, 0x0A1514, 0x0A8FFC, 0x098186, 529 0x078000, 0x05E489, 0x06623F, 0x050405, 0x040F19, 0x0227CC, 0x037473, 0x01C2E3, 530 0x0490FC, 0x039677, 0x029629, 0x021999, 0x029015, 0x014E78, 0x01724E, 0x00C8F5, 531}, 532{ 533 0x060000, 0x08D7A6, 0x09E1F6, 0x0DB528, 0x085450, 0x07EFEA, 0x0D9788, 0x0C3B7E, 534 0x06C000, 0x054DAE, 0x0A671E, 0x082C66, 0x03DB24, 0x01F73E, 0x05A145, 0x03037D, 535 0x0A4A08, 0x087818, 0x0A2455, 0x07F7ED, 0x05D569, 0x02F955, 0x057D20, 0x02CC54, 536 0x0A4A08, 0x0E4582, 0x09B373, 0x0D74A5, 0x08A000, 0x0BF696, 0x07123E, 0x09CEE0, 537 0x0B44E4, 0x0A2455, 0x093D32, 0x08A950, 0x0512DF, 0x0799B6, 0x02E59E, 0x0404A7, 538 0x0728D2, 0x06717F, 0x040E2F, 0x03A657, 0x0D7187, 0x0C194B, 0x0CACC8, 0x0B683A, 539 0x090000, 0x07123E, 0x07A918, 0x0604D2, 0x04DEEA, 0x029629, 0x042556, 0x021D11, 540 0x057AC8, 0x044E28, 0x031A97, 0x02851E, 0x03134C, 0x01915C, 0x01BC5D, 0x00F126, 541}, 542{ 543 0x080000, 0x0BCA33, 0x0D2D48, 0x1246E0, 0x0B1B15, 0x0A9538, 0x121F5F, 0x104F53, 544 0x090000, 0x07123E, 0x0DDED2, 0x0AE5DD, 0x052430, 0x029EFD, 0x0781B1, 0x0404A7, 545 0x0DB80B, 0x0B4ACB, 0x0D85C7, 0x0A9FE7, 0x07C736, 0x03F71D, 0x075180, 0x03BB1A, 546 0x0DB80B, 0x130757, 0x0CEF44, 0x11F0DC, 0x0B8000, 0x0FF372, 0x096DA8, 0x0D13D6, 547 0x0F0686, 0x0D85C7, 0x0C5198, 0x0B8C6A, 0x06C3D4, 0x0A2248, 0x03DCD3, 0x055B8A, 548 0x098BC3, 0x089754, 0x05683E, 0x04DDC9, 0x11ECB4, 0x1021B9, 0x10E661, 0x0F35A3, 549 0x0C0000, 0x096DA8, 0x0A36CB, 0x08066E, 0x067E8E, 0x0372E1, 0x05871E, 0x02D16B, 550 0x074E60, 0x05BD8B, 0x042374, 0x035C28, 0x0419BB, 0x021726, 0x02507C, 0x014188, 551}, 552{ 553 0x0C0000, 0x11AF4C, 0x13C3EC, 0x1B6A50, 0x10A89F, 0x0FDFD4, 0x1B2F0F, 0x1876FD, 554 0x0D8000, 0x0A9B5D, 0x14CE3C, 0x1058CB, 0x07B649, 0x03EE7B, 0x0B4289, 0x0606FB, 555 0x149410, 0x10F030, 0x1448AB, 0x0FEFDA, 0x0BAAD2, 0x05F2AB, 0x0AFA40, 0x0598A7, 556 0x149410, 0x1C8B03, 0x1366E6, 0x1AE949, 0x114000, 0x17ED2B, 0x0E247C, 0x139DC1, 557 0x1689C8, 0x1448AB, 0x127A63, 0x11529F, 0x0A25BE, 0x0F336D, 0x05CB3C, 0x08094E, 558 0x0E51A4, 0x0CE2FE, 0x081C5D, 0x074CAE, 0x1AE30E, 0x183296, 0x195991, 0x16D074, 559 0x120000, 0x0E247C, 0x0F5230, 0x0C09A5, 0x09BDD5, 0x052C51, 0x084AAC, 0x043A21, 560 0x0AF590, 0x089C51, 0x06352E, 0x050A3B, 0x062698, 0x0322B9, 0x0378BA, 0x01E24D, 561}, 562{ 563 0x110000, 0x190DAC, 0x1C0039, 0x26D69C, 0x17998C, 0x167D16, 0x2682AB, 0x22A891, 564 0x132000, 0x0F06C3, 0x1D797F, 0x172876, 0x0AECE7, 0x0591D9, 0x0FF398, 0x0889E3, 565 0x1D2717, 0x17FEEF, 0x1CBC47, 0x1693CA, 0x108754, 0x086D1D, 0x0F8D30, 0x07ED98, 566 0x1D2717, 0x286F9A, 0x1B7C71, 0x261FD3, 0x187000, 0x21E552, 0x140904, 0x1BCA27, 567 0x1FEDDC, 0x1CBC47, 0x1A2D62, 0x188A62, 0x0E6022, 0x1588DA, 0x083540, 0x0B6284, 568 0x1448FE, 0x124192, 0x0B7D84, 0x0A574B, 0x2616FF, 0x2247AA, 0x23E98D, 0x2051FA, 569 0x198000, 0x140904, 0x15B46F, 0x110DAA, 0x0DCCEE, 0x07541E, 0x0BBF1F, 0x05FD04, 570 0x0F868B, 0x0C32C8, 0x08CB57, 0x0723D4, 0x08B6AD, 0x047130, 0x04EB08, 0x02AB42, 571}, 572{ 573 0x160000, 0x206C0C, 0x243C86, 0x3242E8, 0x1E8A79, 0x1D1A59, 0x31D646, 0x2CDA25, 574 0x18C000, 0x13722A, 0x2624C3, 0x1DF820, 0x0E2385, 0x073537, 0x14A4A7, 0x0B0CCC, 575 0x25BA1D, 0x1F0DAE, 0x252FE4, 0x1D37BB, 0x1563D6, 0x0AE78E, 0x142021, 0x0A4288, 576 0x25BA1D, 0x345430, 0x2391FB, 0x31565C, 0x1FA000, 0x2BDD7A, 0x19ED8D, 0x23F68C, 577 0x2951EF, 0x252FE4, 0x21E061, 0x1FC224, 0x129A87, 0x1BDE47, 0x0A9F44, 0x0EBBBA, 578 0x1A4058, 0x17A026, 0x0EDEAB, 0x0D61E9, 0x314AEF, 0x2C5CBE, 0x2E798A, 0x29D380, 579 0x210000, 0x19ED8D, 0x1C16AE, 0x1611AE, 0x11DC06, 0x097BEA, 0x0F3391, 0x07BFE7, 580 0x141787, 0x0FC93E, 0x0B617F, 0x093D6D, 0x0B46C1, 0x05BFA8, 0x065D55, 0x037437, 581}, 582{ 583 0x1C0000, 0x2943B2, 0x2E1E7C, 0x3FF810, 0x26DEC9, 0x250A43, 0x3F6DCE, 0x3915A3, 584 0x1F8000, 0x18BFD8, 0x308BE1, 0x262485, 0x11FEA9, 0x092C75, 0x1A45EB, 0x0E1049, 585 0x300425, 0x2785C6, 0x2F5439, 0x252FA8, 0x1B393F, 0x0DE0E4, 0x199D41, 0x0D0EDC, 586 0x300425, 0x4299B2, 0x2D456E, 0x3ECB00, 0x284000, 0x37D40F, 0x20FFCB, 0x2DC56D, 587 0x3496D3, 0x2F5439, 0x2B1D93, 0x286B74, 0x17AD66, 0x2377FE, 0x0D84E2, 0x12C062, 588 0x21692A, 0x1E11A5, 0x12ECDA, 0x110840, 0x3EBC76, 0x387608, 0x3B2652, 0x353BBA, 589 0x2A0000, 0x20FFCB, 0x23BFC6, 0x1C1681, 0x16BAF1, 0x0C1213, 0x1358E8, 0x09DCF8, 590 0x19924F, 0x141767, 0x0E7C16, 0x0BC28A, 0x0E5A0D, 0x075104, 0x0819B2, 0x04655D, 591}, 592{ 593 0x220000, 0x321B58, 0x380072, 0x4DAD38, 0x2F3318, 0x2CFA2D, 0x4D0556, 0x455122, 594 0x264000, 0x1E0D86, 0x3AF2FE, 0x2E50EB, 0x15D9CE, 0x0B23B2, 0x1FE730, 0x1113C7, 595 0x3A4E2D, 0x2FFDDF, 0x39788E, 0x2D2795, 0x210EA8, 0x10DA39, 0x1F1A61, 0x0FDB2F, 596 0x3A4E2D, 0x50DF33, 0x36F8E1, 0x4C3FA5, 0x30E000, 0x43CAA5, 0x281209, 0x37944D, 597 0x3FDBB7, 0x39788E, 0x345AC4, 0x3114C3, 0x1CC044, 0x2B11B4, 0x106A80, 0x16C509, 598 0x2891FC, 0x248324, 0x16FB08, 0x14AE97, 0x4C2DFD, 0x448F54, 0x47D31B, 0x40A3F5, 599 0x330000, 0x281209, 0x2B68DF, 0x221B53, 0x1B99DB, 0x0EA83B, 0x177E3E, 0x0BFA09, 600 0x1F0D17, 0x18658F, 0x1196AE, 0x0E47A8, 0x116D5A, 0x08E260, 0x09D60F, 0x055684, 601}, 602{ 603 0x2C0000, 0x40D818, 0x48790C, 0x6485D0, 0x3D14F2, 0x3A34B2, 0x63AC8D, 0x59B44A, 604 0x318000, 0x26E454, 0x4C4986, 0x3BF03F, 0x1C470A, 0x0E6A6E, 0x29494D, 0x161998, 605 0x4B743A, 0x3E1B5C, 0x4A5FC7, 0x3A6F75, 0x2AC7AC, 0x15CF1D, 0x284041, 0x148510, 606 0x4B743A, 0x68A861, 0x4723F6, 0x62ACB8, 0x3F4000, 0x57BAF3, 0x33DB1A, 0x47ED19, 607 0x52A3DE, 0x4A5FC7, 0x43C0C2, 0x3F8448, 0x25350D, 0x37BC8E, 0x153E87, 0x1D7775, 608 0x3480B0, 0x2F404C, 0x1DBD56, 0x1AC3D2, 0x6295DE, 0x58B97B, 0x5CF313, 0x53A701, 609 0x420000, 0x33DB1A, 0x382D5C, 0x2C235D, 0x23B80D, 0x12F7D4, 0x1E6723, 0x0F7FCF, 610 0x282F0E, 0x1F927D, 0x16C2FF, 0x127AD9, 0x168D83, 0x0B7F50, 0x0CBAAA, 0x06E86E, 611}, 612}; 613 614static const uint8_t binkb_runbits[64] = { 615 6, 6, 6, 6, 6, 6, 6, 6, 616 6, 6, 6, 6, 6, 6, 6, 6, 617 6, 6, 6, 6, 6, 6, 6, 6, 618 6, 6, 6, 6, 6, 6, 6, 6, 619 5, 5, 5, 5, 5, 5, 5, 5, 620 5, 5, 5, 5, 5, 5, 5, 5, 621 4, 4, 4, 4, 4, 4, 4, 4, 622 3, 3, 3, 3, 2, 2, 1, 0, 623}; 624 625static const uint8_t binkb_intra_seed[64] = { 626 16, 16, 16, 19, 16, 19, 22, 22, 627 22, 22, 26, 24, 26, 22, 22, 27, 628 27, 27, 26, 26, 26, 29, 29, 29, 629 27, 27, 27, 26, 34, 34, 34, 29, 630 29, 29, 27, 27, 37, 34, 34, 32, 631 32, 29, 29, 38, 37, 35, 35, 34, 632 35, 40, 40, 40, 38, 38, 48, 48, 633 46, 46, 58, 56, 56, 69, 69, 83, 634}; 635 636static const uint8_t binkb_inter_seed[64] = { 637 16, 17, 17, 18, 18, 18, 19, 19, 638 19, 19, 20, 20, 20, 20, 20, 21, 639 21, 21, 21, 21, 21, 22, 22, 22, 640 22, 22, 22, 22, 23, 23, 23, 23, 641 23, 23, 23, 23, 24, 24, 24, 25, 642 24, 24, 24, 25, 26, 26, 26, 26, 643 25, 27, 27, 27, 27, 27, 28, 28, 644 28, 28, 30, 30, 30, 31, 31, 33, 645}; 646 647static const uint8_t binkb_num[16] = { 648 1, 4, 5, 2, 7, 8, 3, 7, 4, 9, 5, 6, 7, 8, 9, 10 649}; 650 651static const uint8_t binkb_den[16] = { 652 1, 3, 3, 1, 3, 3, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1 653}; 654 655#endif /* AVCODEC_BINKDATA_H */ 656