1cabdff1aSopenharmony_ci/* 2cabdff1aSopenharmony_ci * Indeo Video Interactive 4 compatible decoder 3cabdff1aSopenharmony_ci * Copyright (c) 2009-2010 Maxim Poliakovski 4cabdff1aSopenharmony_ci * 5cabdff1aSopenharmony_ci * This file is part of FFmpeg. 6cabdff1aSopenharmony_ci * 7cabdff1aSopenharmony_ci * FFmpeg is free software; you can redistribute it and/or 8cabdff1aSopenharmony_ci * modify it under the terms of the GNU Lesser General Public 9cabdff1aSopenharmony_ci * License as published by the Free Software Foundation; either 10cabdff1aSopenharmony_ci * version 2.1 of the License, or (at your option) any later version. 11cabdff1aSopenharmony_ci * 12cabdff1aSopenharmony_ci * FFmpeg is distributed in the hope that it will be useful, 13cabdff1aSopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of 14cabdff1aSopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15cabdff1aSopenharmony_ci * Lesser General Public License for more details. 16cabdff1aSopenharmony_ci * 17cabdff1aSopenharmony_ci * You should have received a copy of the GNU Lesser General Public 18cabdff1aSopenharmony_ci * License along with FFmpeg; if not, write to the Free Software 19cabdff1aSopenharmony_ci * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20cabdff1aSopenharmony_ci */ 21cabdff1aSopenharmony_ci 22cabdff1aSopenharmony_ci/** 23cabdff1aSopenharmony_ci * @file 24cabdff1aSopenharmony_ci * This file contains data needed for the Indeo 4 decoder. 25cabdff1aSopenharmony_ci */ 26cabdff1aSopenharmony_ci 27cabdff1aSopenharmony_ci#ifndef AVCODEC_INDEO4DATA_H 28cabdff1aSopenharmony_ci#define AVCODEC_INDEO4DATA_H 29cabdff1aSopenharmony_ci 30cabdff1aSopenharmony_ci#include <stdint.h> 31cabdff1aSopenharmony_ci 32cabdff1aSopenharmony_ci#include "ivi.h" 33cabdff1aSopenharmony_ci 34cabdff1aSopenharmony_ci/** 35cabdff1aSopenharmony_ci * standard picture dimensions 36cabdff1aSopenharmony_ci */ 37cabdff1aSopenharmony_cistatic const uint16_t ivi4_common_pic_sizes[14] = { 38cabdff1aSopenharmony_ci 640, 480, 320, 240, 160, 120, 704, 480, 352, 240, 352, 288, 176, 144 39cabdff1aSopenharmony_ci}; 40cabdff1aSopenharmony_ci 41cabdff1aSopenharmony_ci/** 42cabdff1aSopenharmony_ci * Indeo 4 8x8 scan (zigzag) patterns 43cabdff1aSopenharmony_ci */ 44cabdff1aSopenharmony_cistatic const uint8_t ivi4_alternate_scan_8x8[64] = { 45cabdff1aSopenharmony_ci 0, 8, 1, 9, 16, 24, 2, 3, 17, 25, 10, 11, 32, 40, 48, 56, 46cabdff1aSopenharmony_ci 4, 5, 6, 7, 33, 41, 49, 57, 18, 19, 26, 27, 12, 13, 14, 15, 47cabdff1aSopenharmony_ci 34, 35, 43, 42, 50, 51, 59, 58, 20, 21, 22, 23, 31, 30, 29, 28, 48cabdff1aSopenharmony_ci 36, 37, 38, 39, 47, 46, 45, 44, 52, 53, 54, 55, 63, 62, 61, 60 49cabdff1aSopenharmony_ci}; 50cabdff1aSopenharmony_ci 51cabdff1aSopenharmony_cistatic const uint8_t ivi4_alternate_scan_4x4[16] = { 52cabdff1aSopenharmony_ci 0, 1, 4, 5, 8, 12, 2, 3, 9, 13, 6, 7, 10, 11, 14, 15 53cabdff1aSopenharmony_ci}; 54cabdff1aSopenharmony_ci 55cabdff1aSopenharmony_cistatic const uint8_t ivi4_vertical_scan_4x4[16] = { 56cabdff1aSopenharmony_ci 0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15 57cabdff1aSopenharmony_ci}; 58cabdff1aSopenharmony_ci 59cabdff1aSopenharmony_cistatic const uint8_t ivi4_horizontal_scan_4x4[16] = { 60cabdff1aSopenharmony_ci 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 61cabdff1aSopenharmony_ci}; 62cabdff1aSopenharmony_ci 63cabdff1aSopenharmony_cistatic const uint8_t * const scan_index_to_tab[15] = { 64cabdff1aSopenharmony_ci // for 8x8 transforms 65cabdff1aSopenharmony_ci ff_zigzag_direct, 66cabdff1aSopenharmony_ci ivi4_alternate_scan_8x8, 67cabdff1aSopenharmony_ci ff_ivi_horizontal_scan_8x8, 68cabdff1aSopenharmony_ci ff_ivi_vertical_scan_8x8, 69cabdff1aSopenharmony_ci ff_zigzag_direct, 70cabdff1aSopenharmony_ci 71cabdff1aSopenharmony_ci // for 4x4 transforms 72cabdff1aSopenharmony_ci ff_ivi_direct_scan_4x4, 73cabdff1aSopenharmony_ci ivi4_alternate_scan_4x4, 74cabdff1aSopenharmony_ci ivi4_vertical_scan_4x4, 75cabdff1aSopenharmony_ci ivi4_horizontal_scan_4x4, 76cabdff1aSopenharmony_ci ff_ivi_direct_scan_4x4, 77cabdff1aSopenharmony_ci 78cabdff1aSopenharmony_ci // TODO: check if those are needed 79cabdff1aSopenharmony_ci ff_ivi_horizontal_scan_8x8, 80cabdff1aSopenharmony_ci ff_ivi_horizontal_scan_8x8, 81cabdff1aSopenharmony_ci ff_ivi_horizontal_scan_8x8, 82cabdff1aSopenharmony_ci ff_ivi_horizontal_scan_8x8, 83cabdff1aSopenharmony_ci ff_ivi_horizontal_scan_8x8 84cabdff1aSopenharmony_ci}; 85cabdff1aSopenharmony_ci 86cabdff1aSopenharmony_ci/** 87cabdff1aSopenharmony_ci * Indeo 4 dequant tables 88cabdff1aSopenharmony_ci */ 89cabdff1aSopenharmony_cistatic const uint16_t ivi4_quant_8x8_intra[9][64] = { 90cabdff1aSopenharmony_ci { 91cabdff1aSopenharmony_ci 43, 342, 385, 470, 555, 555, 598, 726, 92cabdff1aSopenharmony_ci 342, 342, 470, 513, 555, 598, 726, 769, 93cabdff1aSopenharmony_ci 385, 470, 555, 555, 598, 726, 726, 811, 94cabdff1aSopenharmony_ci 470, 470, 555, 555, 598, 726, 769, 854, 95cabdff1aSopenharmony_ci 470, 555, 555, 598, 683, 726, 854, 1025, 96cabdff1aSopenharmony_ci 555, 555, 598, 683, 726, 854, 1025, 1153, 97cabdff1aSopenharmony_ci 555, 555, 598, 726, 811, 982, 1195, 1451, 98cabdff1aSopenharmony_ci 555, 598, 726, 811, 982, 1195, 1451, 1793 99cabdff1aSopenharmony_ci }, 100cabdff1aSopenharmony_ci { 101cabdff1aSopenharmony_ci 86, 1195, 2390, 2390, 4865, 4865, 4865, 4865, 102cabdff1aSopenharmony_ci 1195, 1195, 2390, 2390, 4865, 4865, 4865, 4865, 103cabdff1aSopenharmony_ci 2390, 2390, 4865, 4865, 6827, 6827, 6827, 6827, 104cabdff1aSopenharmony_ci 2390, 2390, 4865, 4865, 6827, 6827, 6827, 6827, 105cabdff1aSopenharmony_ci 4865, 4865, 6827, 6827, 6827, 6827, 6827, 6827, 106cabdff1aSopenharmony_ci 4865, 4865, 6827, 6827, 6827, 6827, 6827, 6827, 107cabdff1aSopenharmony_ci 4865, 4865, 6827, 6827, 6827, 6827, 6827, 6827, 108cabdff1aSopenharmony_ci 4865, 4865, 6827, 6827, 6827, 6827, 6827, 6827 109cabdff1aSopenharmony_ci }, 110cabdff1aSopenharmony_ci { 111cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 112cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 113cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 114cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 115cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 116cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 117cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 118cabdff1aSopenharmony_ci 235, 1067, 1195, 1323, 1451, 1579, 1707, 1835 119cabdff1aSopenharmony_ci }, 120cabdff1aSopenharmony_ci { 121cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414, 122cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414, 123cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414, 124cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414, 125cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414, 126cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414, 127cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414, 128cabdff1aSopenharmony_ci 1707, 1707, 3414, 3414, 3414, 3414, 3414, 3414 129cabdff1aSopenharmony_ci }, 130cabdff1aSopenharmony_ci { 131cabdff1aSopenharmony_ci 897, 897, 897, 897, 897, 897, 897, 897, 132cabdff1aSopenharmony_ci 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 133cabdff1aSopenharmony_ci 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 134cabdff1aSopenharmony_ci 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 135cabdff1aSopenharmony_ci 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 136cabdff1aSopenharmony_ci 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 137cabdff1aSopenharmony_ci 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 138cabdff1aSopenharmony_ci 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091 139cabdff1aSopenharmony_ci }, 140cabdff1aSopenharmony_ci { 141cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 142cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 143cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 144cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 145cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 146cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 147cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 148cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414 149cabdff1aSopenharmony_ci }, 150cabdff1aSopenharmony_ci { 151cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 152cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 153cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 154cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 155cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 156cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 157cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 158cabdff1aSopenharmony_ci 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390 159cabdff1aSopenharmony_ci }, 160cabdff1aSopenharmony_ci { 161cabdff1aSopenharmony_ci 22, 171, 214, 257, 257, 299, 299, 342, 162cabdff1aSopenharmony_ci 171, 171, 257, 257, 299, 299, 342, 385, 163cabdff1aSopenharmony_ci 214, 257, 257, 299, 299, 342, 342, 385, 164cabdff1aSopenharmony_ci 257, 257, 257, 299, 299, 342, 385, 427, 165cabdff1aSopenharmony_ci 257, 257, 299, 299, 342, 385, 427, 513, 166cabdff1aSopenharmony_ci 257, 299, 299, 342, 385, 427, 513, 598, 167cabdff1aSopenharmony_ci 299, 299, 299, 385, 385, 470, 598, 726, 168cabdff1aSopenharmony_ci 299, 299, 385, 385, 470, 598, 726, 897 169cabdff1aSopenharmony_ci }, 170cabdff1aSopenharmony_ci { 171cabdff1aSopenharmony_ci 86, 598, 1195, 1195, 2390, 2390, 2390, 2390, 172cabdff1aSopenharmony_ci 598, 598, 1195, 1195, 2390, 2390, 2390, 2390, 173cabdff1aSopenharmony_ci 1195, 1195, 2390, 2390, 3414, 3414, 3414, 3414, 174cabdff1aSopenharmony_ci 1195, 1195, 2390, 2390, 3414, 3414, 3414, 3414, 175cabdff1aSopenharmony_ci 2390, 2390, 3414, 3414, 3414, 3414, 3414, 3414, 176cabdff1aSopenharmony_ci 2390, 2390, 3414, 3414, 3414, 3414, 3414, 3414, 177cabdff1aSopenharmony_ci 2390, 2390, 3414, 3414, 3414, 3414, 3414, 3414, 178cabdff1aSopenharmony_ci 2390, 2390, 3414, 3414, 3414, 3414, 3414, 3414 179cabdff1aSopenharmony_ci } 180cabdff1aSopenharmony_ci}; 181cabdff1aSopenharmony_ci 182cabdff1aSopenharmony_cistatic const uint16_t ivi4_quant_8x8_inter[9][64] = { 183cabdff1aSopenharmony_ci { 184cabdff1aSopenharmony_ci 427, 427, 470, 427, 427, 427, 470, 470, 185cabdff1aSopenharmony_ci 427, 427, 470, 427, 427, 427, 470, 470, 186cabdff1aSopenharmony_ci 470, 470, 470, 470, 470, 470, 470, 470, 187cabdff1aSopenharmony_ci 427, 427, 470, 470, 427, 427, 470, 470, 188cabdff1aSopenharmony_ci 427, 427, 470, 427, 427, 427, 470, 470, 189cabdff1aSopenharmony_ci 427, 427, 470, 427, 427, 427, 470, 470, 190cabdff1aSopenharmony_ci 470, 470, 470, 470, 470, 470, 470, 470, 191cabdff1aSopenharmony_ci 470, 470, 470, 470, 470, 470, 470, 470 192cabdff1aSopenharmony_ci }, 193cabdff1aSopenharmony_ci { 194cabdff1aSopenharmony_ci 1707, 1707, 2433, 2433, 3414, 3414, 3414, 3414, 195cabdff1aSopenharmony_ci 1707, 1707, 2433, 2433, 3414, 3414, 3414, 3414, 196cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 4822, 4822, 4822, 4822, 197cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 4822, 4822, 4822, 4822, 198cabdff1aSopenharmony_ci 3414, 3414, 4822, 4822, 3414, 3414, 3414, 3414, 199cabdff1aSopenharmony_ci 3414, 3414, 4822, 4822, 3414, 3414, 3414, 3414, 200cabdff1aSopenharmony_ci 3414, 3414, 4822, 4822, 3414, 3414, 3414, 3414, 201cabdff1aSopenharmony_ci 3414, 3414, 4822, 4822, 3414, 3414, 3414, 3414 202cabdff1aSopenharmony_ci }, 203cabdff1aSopenharmony_ci { 204cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281, 205cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281, 206cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281, 207cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281, 208cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281, 209cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281, 210cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281, 211cabdff1aSopenharmony_ci 1195, 1195, 1281, 1238, 1195, 1195, 1281, 1281 212cabdff1aSopenharmony_ci }, 213cabdff1aSopenharmony_ci { 214cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433, 215cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433, 216cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433, 217cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433, 218cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433, 219cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433, 220cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433, 221cabdff1aSopenharmony_ci 2433, 2433, 3414, 3414, 2433, 2433, 2433, 2433 222cabdff1aSopenharmony_ci }, 223cabdff1aSopenharmony_ci { 224cabdff1aSopenharmony_ci 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 225cabdff1aSopenharmony_ci 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 226cabdff1aSopenharmony_ci 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 227cabdff1aSopenharmony_ci 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 228cabdff1aSopenharmony_ci 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 229cabdff1aSopenharmony_ci 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 230cabdff1aSopenharmony_ci 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 231cabdff1aSopenharmony_ci 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281 232cabdff1aSopenharmony_ci }, 233cabdff1aSopenharmony_ci { 234cabdff1aSopenharmony_ci 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 235cabdff1aSopenharmony_ci 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 236cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 237cabdff1aSopenharmony_ci 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 238cabdff1aSopenharmony_ci 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 239cabdff1aSopenharmony_ci 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 240cabdff1aSopenharmony_ci 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 241cabdff1aSopenharmony_ci 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433 242cabdff1aSopenharmony_ci }, 243cabdff1aSopenharmony_ci { 244cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 245cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 246cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 247cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 248cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 249cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 250cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 251cabdff1aSopenharmony_ci 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707 252cabdff1aSopenharmony_ci }, 253cabdff1aSopenharmony_ci { 254cabdff1aSopenharmony_ci 86, 171, 171, 214, 214, 214, 214, 257, 255cabdff1aSopenharmony_ci 171, 171, 214, 214, 214, 214, 257, 257, 256cabdff1aSopenharmony_ci 171, 214, 214, 214, 214, 257, 257, 257, 257cabdff1aSopenharmony_ci 214, 214, 214, 214, 257, 257, 257, 299, 258cabdff1aSopenharmony_ci 214, 214, 214, 257, 257, 257, 299, 299, 259cabdff1aSopenharmony_ci 214, 214, 257, 257, 257, 299, 299, 299, 260cabdff1aSopenharmony_ci 214, 257, 257, 257, 299, 299, 299, 342, 261cabdff1aSopenharmony_ci 257, 257, 257, 299, 299, 299, 342, 342 262cabdff1aSopenharmony_ci }, 263cabdff1aSopenharmony_ci { 264cabdff1aSopenharmony_ci 854, 854, 1195, 1195, 1707, 1707, 1707, 1707, 265cabdff1aSopenharmony_ci 854, 854, 1195, 1195, 1707, 1707, 1707, 1707, 266cabdff1aSopenharmony_ci 1195, 1195, 1707, 1707, 2390, 2390, 2390, 2390, 267cabdff1aSopenharmony_ci 1195, 1195, 1707, 1707, 2390, 2390, 2390, 2390, 268cabdff1aSopenharmony_ci 1707, 1707, 2390, 2390, 1707, 1707, 1707, 1707, 269cabdff1aSopenharmony_ci 1707, 1707, 2390, 2390, 1707, 1707, 1707, 1707, 270cabdff1aSopenharmony_ci 1707, 1707, 2390, 2390, 1707, 1707, 1707, 1707, 271cabdff1aSopenharmony_ci 1707, 1707, 2390, 2390, 1707, 1707, 1707, 1707 272cabdff1aSopenharmony_ci } 273cabdff1aSopenharmony_ci}; 274cabdff1aSopenharmony_ci 275cabdff1aSopenharmony_cistatic const uint16_t ivi4_quant_4x4_intra[5][16] = { 276cabdff1aSopenharmony_ci { 277cabdff1aSopenharmony_ci 22, 214, 257, 299, 278cabdff1aSopenharmony_ci 214, 257, 299, 342, 279cabdff1aSopenharmony_ci 257, 299, 342, 427, 280cabdff1aSopenharmony_ci 299, 342, 427, 513 281cabdff1aSopenharmony_ci }, 282cabdff1aSopenharmony_ci { 283cabdff1aSopenharmony_ci 129, 1025, 1451, 1451, 284cabdff1aSopenharmony_ci 1025, 1025, 1451, 1451, 285cabdff1aSopenharmony_ci 1451, 1451, 2049, 2049, 286cabdff1aSopenharmony_ci 1451, 1451, 2049, 2049 287cabdff1aSopenharmony_ci }, 288cabdff1aSopenharmony_ci { 289cabdff1aSopenharmony_ci 43, 171, 171, 171, 290cabdff1aSopenharmony_ci 43, 171, 171, 171, 291cabdff1aSopenharmony_ci 43, 171, 171, 171, 292cabdff1aSopenharmony_ci 43, 171, 171, 171 293cabdff1aSopenharmony_ci }, 294cabdff1aSopenharmony_ci { 295cabdff1aSopenharmony_ci 43, 43, 43, 43, 296cabdff1aSopenharmony_ci 171, 171, 171, 171, 297cabdff1aSopenharmony_ci 171, 171, 171, 171, 298cabdff1aSopenharmony_ci 171, 171, 171, 171 299cabdff1aSopenharmony_ci }, 300cabdff1aSopenharmony_ci { 301cabdff1aSopenharmony_ci 43, 43, 43, 43, 302cabdff1aSopenharmony_ci 43, 43, 43, 43, 303cabdff1aSopenharmony_ci 43, 43, 43, 43, 304cabdff1aSopenharmony_ci 43, 43, 43, 43 305cabdff1aSopenharmony_ci } 306cabdff1aSopenharmony_ci}; 307cabdff1aSopenharmony_ci 308cabdff1aSopenharmony_cistatic const uint16_t ivi4_quant_4x4_inter[5][16] = { 309cabdff1aSopenharmony_ci { 310cabdff1aSopenharmony_ci 107, 214, 257, 299, 311cabdff1aSopenharmony_ci 214, 257, 299, 299, 312cabdff1aSopenharmony_ci 257, 299, 299, 342, 313cabdff1aSopenharmony_ci 299, 299, 342, 342 314cabdff1aSopenharmony_ci }, 315cabdff1aSopenharmony_ci { 316cabdff1aSopenharmony_ci 513, 1025, 1238, 1238, 317cabdff1aSopenharmony_ci 1025, 1025, 1238, 1238, 318cabdff1aSopenharmony_ci 1238, 1238, 1451, 1451, 319cabdff1aSopenharmony_ci 1238, 1238, 1451, 1451 320cabdff1aSopenharmony_ci }, 321cabdff1aSopenharmony_ci { 322cabdff1aSopenharmony_ci 43, 171, 171, 171, 323cabdff1aSopenharmony_ci 43, 171, 171, 171, 324cabdff1aSopenharmony_ci 43, 171, 171, 171, 325cabdff1aSopenharmony_ci 43, 171, 171, 171 326cabdff1aSopenharmony_ci }, 327cabdff1aSopenharmony_ci { 328cabdff1aSopenharmony_ci 43, 43, 43, 43, 329cabdff1aSopenharmony_ci 171, 171, 171, 171, 330cabdff1aSopenharmony_ci 171, 171, 171, 171, 331cabdff1aSopenharmony_ci 171, 171, 171, 171 332cabdff1aSopenharmony_ci }, 333cabdff1aSopenharmony_ci { 334cabdff1aSopenharmony_ci 43, 43, 43, 43, 335cabdff1aSopenharmony_ci 43, 43, 43, 43, 336cabdff1aSopenharmony_ci 43, 43, 43, 43, 337cabdff1aSopenharmony_ci 43, 43, 43, 43 338cabdff1aSopenharmony_ci } 339cabdff1aSopenharmony_ci}; 340cabdff1aSopenharmony_ci 341cabdff1aSopenharmony_ci/** 342cabdff1aSopenharmony_ci * Table for mapping quant matrix index from the bitstream 343cabdff1aSopenharmony_ci * into internal quant table number. 344cabdff1aSopenharmony_ci */ 345cabdff1aSopenharmony_cistatic const uint8_t quant_index_to_tab[22] = { 346cabdff1aSopenharmony_ci 0, 1, 0, 2, 1, 3, 0, 4, 1, 5, 0, 1, 6, 7, 8, // for 8x8 quant matrixes 347cabdff1aSopenharmony_ci 0, 1, 2, 2, 3, 3, 4 // for 4x4 quant matrixes 348cabdff1aSopenharmony_ci}; 349cabdff1aSopenharmony_ci 350cabdff1aSopenharmony_ci#endif /* AVCODEC_INDEO4DATA_H */ 351