18d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/****************************************************************************** 28d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 38d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Copyright (C) 2015 The Android Open Source Project 48d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 58d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Licensed under the Apache License, Version 2.0 (the "License"); 68d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * you may not use this file except in compliance with the License. 78d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * You may obtain a copy of the License at: 88d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 98d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * http://www.apache.org/licenses/LICENSE-2.0 108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Unless required by applicable law or agreed to in writing, software 128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * distributed under the License is distributed on an "AS IS" BASIS, 138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * See the License for the specific language governing permissions and 158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * limitations under the License. 168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S ***************************************************************************** 188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S*/ 208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S******************************************************************************* 228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @file 238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* ih264_common_tables.c 248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* 258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @brief 268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* Contains common global tables 278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* 288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @author 298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* Harish M 308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* 318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @par List of Functions: 328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* 338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @remarks 348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* None 358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* 368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S******************************************************************************* 378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S*/ 388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/ 408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* File Includes */ 418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/ 428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* User include files */ 448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#include "ih264_typedefs.h" 458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#include "ih264_defs.h" 468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#include "ih264_macros.h" 478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#include "ih264_structs.h" 488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#include "ih264_common_tables.h" 498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/ 528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Extern global definitions */ 538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/ 548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S ****************************************************************************** 578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * @brief while encoding, basing on the input configuration parameters, the 588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * the level of the bitstream is computed basing on the table below. 598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * input : table_idx 608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * output : level_idc or cpb size 618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * @remarks Table A-1 � level table limits 628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S ****************************************************************************** 638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S */ 648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst level_tables_t gas_ih264_lvl_tbl[16] = 658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_10, 1485, 99, 297, 64, 175, 64 }, 67329d7714ba4d26745fbef4463d891992043fe066Martin Storsjo { IH264_LEVEL_1B, 1485, 99, 297, 128, 350, 64 }, 68329d7714ba4d26745fbef4463d891992043fe066Martin Storsjo { IH264_LEVEL_11, 3000, 396, 675, 192, 500, 128 }, 698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_12, 6000, 396, 1782, 384, 1000, 128 }, 708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_13, 11880, 396, 1782, 768, 2000, 128 }, 718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_20, 11880, 396, 1782, 2000, 2000, 128 }, 728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_21, 19800, 792, 3564, 4000, 4000, 256 }, 738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_22, 20250, 1620, 6075, 4000, 4000, 256 }, 748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_30, 40500, 1620, 6075, 10000, 10000, 256 }, 758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_31, 108000, 3600, 13500, 14000, 14000, 512 }, 768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_32, 216000, 5120, 15360, 20000, 20000, 512 }, 778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_40, 245760, 8192, 24576, 20000, 25000, 512 }, 788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_41, 245760, 8192, 24576, 50000, 62500, 512 }, 798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_42, 522240, 8704, 26112, 50000, 62500, 512 }, 808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_50, 589824, 22080, 82800, 135000, 135000, 512 }, 818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { IH264_LEVEL_51, 983040, 36864, 138240, 240000, 240000, 512 }, 828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Array containing supported levels 878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S */ 888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst WORD32 gai4_ih264_levels[] = 898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_10, 918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_11, 928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_12, 938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_13, 948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_20, 958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_21, 968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_22, 978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_30, 988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_31, 998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_32, 1008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_40, 1018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_41, 1028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_42, 1038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_50, 1048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S IH264_LEVEL_51, 1058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 1068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 1098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Array giving size of max luma samples in a picture for a given level 1108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S */ 1118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst WORD32 gai4_ih264_max_luma_pic_size[] = 1128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 1138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1 */ 1148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 25344, 1158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.1 */ 1168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 101376, 1178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.2 */ 1188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 101376, 1198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.3 */ 1208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 101376, 1218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2 */ 1228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 101376, 1238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2.1 */ 1248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 202752, 1258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2.2 */ 1268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 414720, 1278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3 */ 1288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 414720, 1298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3.1 */ 1308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 921600, 13123461c3cb019e6246ed841ac82564742ae288db3Martin Storsjo /* Level 3.2 */ 1328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1310720, 1338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4 */ 1348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2097152, 1358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4.1 */ 1368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2097152, 1378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4.2 */ 1388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2228224, 1398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 5 */ 1408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5652480, 1418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 5.1 */ 1428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 9437184 1438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 1448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Max width and height allowed for a given level */ 1478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** This is derived as SQRT(8 * gai4_ih264_max_luma_pic_size[]) */ 1488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst WORD32 gai4_ih264_max_wd_ht[] = 1498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 1508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1 */ 1518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 451, 1528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.1 */ 1538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 901, 1548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.2 */ 1558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 901, 1568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.3 */ 1578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 901, 1588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2 */ 1598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 901, 1608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2.1 */ 1618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1274, 1628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2.2 */ 1638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1822, 1648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3 */ 1658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1822, 1668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3.1 */ 1678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2716, 1688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3.2 */ 1698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3239, 1708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4 */ 1718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4096, 1728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4.1 */ 1738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4096, 1748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4.2 */ 1758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4223, 1768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 5 */ 1778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6725, 1788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 5.1 */ 1798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 8689 1808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 1818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Min width and height allowed for a given level */ 1838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** This is derived as gai4_ih264_max_luma_pic_size[]/gai4_ih264_max_wd_ht[] */ 1848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst WORD32 gai4_ih264_min_wd_ht[] = 1858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 1868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1 */ 1878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 57, 1888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.1 */ 1898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 113, 1908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.2 */ 1918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 113, 1928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 1.3 */ 1938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 113, 1948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2 */ 1958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 113, 1968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2.1 */ 1978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 160, 1988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 2.2 */ 1998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 228, 2008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3 */ 2018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 228, 2028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3.1 */ 2038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 340, 2048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 3.2 */ 2058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 405, 2068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4 */ 2078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 512, 2088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4.1 */ 2098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 512, 2108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 4.2 */ 2118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 528, 2128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 5 */ 2138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 841, 2148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* Level 5.1 */ 2158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1087 2168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 2188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-11 Macroblock types for I slices */ 2218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sintra_mbtype_info_t gas_ih264_i_mbtype_info[] = 2228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 2238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* For first entry, if transform_size_8x8_flag is 1, mode will be MBPART_I8x8 */ 2248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S /* This has to be taken care while accessing the table */ 2258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I4x4, VERT_I16x16, 0, 0}, 2268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, VERT_I16x16, 0, 0}, 2278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, HORZ_I16x16, 0, 0}, 2288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, DC_I16x16, 0, 0}, 2298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, PLANE_I16x16, 0, 0}, 2308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, VERT_I16x16, 1, 0}, 2318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, HORZ_I16x16, 1, 0}, 2328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, DC_I16x16, 1, 0}, 2338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, PLANE_I16x16, 1, 0}, 2348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, VERT_I16x16, 2, 0}, 2358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, HORZ_I16x16, 2, 0}, 2368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, DC_I16x16, 2, 0}, 2378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, PLANE_I16x16, 2, 0}, 2388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, VERT_I16x16, 0, 15}, 2398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, HORZ_I16x16, 0, 15}, 2408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, DC_I16x16, 0, 15}, 2418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, PLANE_I16x16, 0, 15}, 2428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, VERT_I16x16, 1, 15}, 2438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, HORZ_I16x16, 1, 15}, 2448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, DC_I16x16, 1, 15}, 2458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, PLANE_I16x16, 1, 15}, 2468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, VERT_I16x16, 2, 15}, 2478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, HORZ_I16x16, 2, 15}, 2488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, DC_I16x16, 2, 15}, 2498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_I16x16, PLANE_I16x16, 2, 15}, 2508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_IPCM, VERT_I16x16, 0, 0} 2518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 2528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-13 Macroblock types for P slices */ 2548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sinter_mbtype_info_t gas_ih264_p_mbtype_info[] = 2558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 2568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_L0, MBPART_NA, 16, 16}, 2578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_L0, 16, 8}, 2588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_L0, 8, 16}, 2598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_NA, MBPART_NA, 8, 8}, 2608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_NA, MBPART_NA, 8, 8}, 2618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 2628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-14 Macroblock types for B slices */ 2648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sinter_mbtype_info_t gas_ih264_b_mbtype_info[] = 2658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 2668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {0, MBPART_DIRECT, MBPART_NA, 8, 8, }, 2678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_L0, MBPART_NA, 16, 16, }, 2688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_L1, MBPART_NA, 16, 16, }, 2698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_BI, MBPART_NA, 16, 16, }, 2708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_L0, 16, 8, }, 2718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_L0, 8, 16, }, 2728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, MBPART_L1, 16, 8, }, 2738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, MBPART_L1, 8, 16, }, 2748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_L1, 16, 8, }, 2758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_L1, 8, 16, }, 2768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, MBPART_L0, 16, 8, }, 2778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, MBPART_L0, 8, 16, }, 2788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_BI, 16, 8, }, 2798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, MBPART_BI, 8, 16, }, 2808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, MBPART_BI, 16, 8, }, 2818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, MBPART_BI, 8, 16, }, 2828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, MBPART_L0, 16, 8, }, 2838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, MBPART_L0, 8, 16, }, 2848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, MBPART_L1, 16, 8, }, 2858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, MBPART_L1, 8, 16, }, 2868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, MBPART_BI, 16, 8, }, 2878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, MBPART_BI, 8, 16, }, 2888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_NA, MBPART_NA, 8, 8, }, 2898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 2908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-17 � Sub-macroblock types in P macroblocks */ 2928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Ssubmbtype_info_t gas_ih264_p_submbtype_info[] = 2938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 2948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_L0, 8, 8}, 2958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, 8, 4}, 2968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, 4, 8}, 2978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_L0, 4, 4}, 2988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 2998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-18 � Sub-macroblock types in B macroblocks */ 3018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Ssubmbtype_info_t gas_ih264_b_submbtype_info[] = 3028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_DIRECT, 4, 4}, 3048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_L0, 8, 8}, 3058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_L1, 8, 8}, 3068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {1, MBPART_BI, 8, 8}, 3078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, 8, 4}, 3088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L0, 4, 8}, 3098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, 8, 4}, 3108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_L1, 4, 8}, 3118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, 8, 4}, 3128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {2, MBPART_BI, 4, 8}, 3138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_L0, 4, 4}, 3148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_L1, 4, 4}, 3158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S {4, MBPART_BI, 4, 4}, 3168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 3178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_inv_scan_prog4x4[] = 3228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 1, 4, 8, 3248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5, 2, 3, 6, 3258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 9, 12, 13, 10, 3268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 7, 11, 14, 15 3278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 3288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_inv_scan_int4x4[] = 3308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 4, 1, 8, 3328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 12, 5, 9, 13, 3338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2, 6, 10, 14, 3348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3, 7, 11, 15 3358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 3368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Inverse scan tables for individual 4x4 blocks of 8x8 transform coeffs of CAVLC */ 3388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* progressive */ 3398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_inv_scan_prog8x8_cavlc[64] = 3408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 9, 17, 18, 12, 40, 27, 7, 3428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 35, 57, 29, 30, 58, 38, 53, 47, 3438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1, 2, 24, 11, 19, 48, 20, 14, 3448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 42, 50, 22, 37, 59, 31, 60, 55, 3458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 8, 3, 32, 4, 26, 41, 13, 21, 3468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 49, 43, 15, 44, 52, 39, 61, 62, 3478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 10, 25, 5, 33, 34, 6, 28, 3488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 56, 36, 23, 51, 45, 46, 54, 63 3498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 3508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* interlace */ 3528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_inv_scan_int8x8_cavlc[64] = 3538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 9, 2, 56, 18, 26, 34, 27, 3558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 35, 28, 36, 29, 45, 7, 54, 39, 3568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 8, 24, 25, 33, 41, 11, 42, 12, 3578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 43, 13, 44, 14, 53, 15, 62, 47, 3588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 32, 40, 10, 49, 4, 50, 5, 3598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 51, 6, 52, 22, 61, 38, 23, 55, 3608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 1, 17, 48, 3, 57, 19, 58, 20, 3618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 59, 21, 60, 37, 30, 46, 31, 63 3628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 3638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*Inverse scan tables for individual 8x8 blocks of 8x8 transform coeffs of CABAC */ 3678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* progressive */ 3688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_inv_scan_prog8x8_cabac[64] = 3708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 1, 8, 16, 9, 2, 3, 10, 3728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 17, 24, 32, 25, 18, 11, 4, 5, 3738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 12, 19, 26, 33, 40, 48, 41, 34, 3748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 27, 20, 13, 6, 7, 14, 21, 28, 3758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 35, 42, 49, 56, 57, 50, 43, 36, 3768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 29, 22, 15, 23, 30, 37, 44, 51, 3778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 58, 59, 52, 45, 38, 31, 39, 46, 3788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 53, 60, 61, 54, 47, 55, 62, 63 3798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 3808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* interlace */ 3838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_inv_scan_int8x8_cabac[64] = 3858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 8, 16, 1, 9, 24, 32, 17, 3878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2, 25, 40, 48, 56, 33, 10, 3, 3888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 18, 41, 49, 57, 26, 11, 4, 19, 3898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 34, 42, 50, 58, 27, 12, 5, 20, 3908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 35, 43, 51, 59, 28, 13, 6, 21, 3918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 36, 44, 52, 60, 29, 14, 22, 37, 3928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 45, 53, 61, 30, 7, 15, 38, 46, 3938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 54, 62, 23, 31, 39, 47, 55, 63 3948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 3958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 3968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 39791d2783e2b9be47c69960ffeaf77dd3c11473f1dMartin Storsjoconst UWORD8 *const gpau1_ih264_inv_scan8x8[] = 3988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 3998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S gau1_ih264_inv_scan_prog8x8_cavlc, 4008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S gau1_ih264_inv_scan_int8x8_cavlc, 4018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S gau1_ih264_inv_scan_prog8x8_cabac, 4028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S gau1_ih264_inv_scan_int8x8_cabac 4038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 4048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 40591d2783e2b9be47c69960ffeaf77dd3c11473f1dMartin Storsjoconst UWORD8 *const gpau1_ih264_inv_scan4x4[] = 4068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 4078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S gau1_ih264_inv_scan_prog4x4, 4088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S gau1_ih264_inv_scan_int4x4, 4098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 4108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_8x8_subblk_idx[] = 4128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 4138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 1, 4, 5, 4148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 2, 3, 6, 7, 4158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 8, 9, 12, 13, 4168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 10, 11, 14, 15 4178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 4188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Table 8-15 Chroma QP offset table */ 4218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_chroma_qp[] = 4228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 4238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 0, 1, 2, 3, 4, 5, 6, 7, 4248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 8, 9, 10, 11, 12, 13, 14, 15, 4258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 17, 18, 19, 20, 21, 22, 23, 4268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 25, 26, 27, 28, 29, 29, 30, 4278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 31, 32, 32, 33, 34, 34, 35, 35, 4288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 36, 36, 37, 37, 37, 38, 38, 38, 4298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 39, 39, 39, 39 4308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 4318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 4348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S****************************************************************************** 4358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @brief look up table to compute neigbour availability of 4x4 blocks 4368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* input : subblk idx, mb neighbor availability 4378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* output : sub blk neighbor availability 4388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @remarks 4398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S****************************************************************************** 4408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S*/ 4418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_4x4_ngbr_avbl[16][16] = 4428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 4438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x0, 0x1, 0xc, 0x7, 0x1, 0x1, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x1, 0x1, 0xf, 0x7, 0x1, 0x1, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x2, 0x1, 0xc, 0x7, 0x1, 0x1, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x3, 0x1, 0xf, 0x7, 0x1, 0x1, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xd, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xe, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x0, 0x1, 0xc, 0x7, 0x1, 0x9, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x1, 0x1, 0xf, 0x7, 0x1, 0x9, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x2, 0x1, 0xc, 0x7, 0x1, 0x9, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x3, 0x1, 0xf, 0x7, 0x1, 0x9, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xc, 0xf, 0xc, 0x7, 0xf, 0xf, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xd, 0xf, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xe, 0xf, 0xc, 0x7, 0xf, 0xf, 0xf, 0x7, 0xc, 0xf, 0xc, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xf, 0xf, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0xf, 0xf, 0x7, 0xf, 0x7, 0xf, 0x7 }, 4628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 4638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 4668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S****************************************************************************** 4678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @brief look up table to compute neigbour availability of 8x8 blocks 4688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* input : subblk idx, mb neighbor availability 4698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* output : sub blk neighbor availability 4708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S* @remarks 4718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S****************************************************************************** 4728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S*/ 4738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD8 gau1_ih264_8x8_ngbr_avbl[16][4] = 4748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 4758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x0, 0x1, 0xc, 0x7 }, 4768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x1, 0x1, 0xf, 0x7 }, 4778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x2, 0x1, 0xc, 0x7 }, 4788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x3, 0x1, 0xf, 0x7 }, 4798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xc, 0x7, 0xc, 0x7 }, 4818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xd, 0x7, 0xf, 0x7 }, 4828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xe, 0x7, 0xc, 0x7 }, 4838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xf, 0x7, 0xf, 0x7 }, 4848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x0, 0x9, 0xc, 0x7 }, 4868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x1, 0x9, 0xf, 0x7 }, 4878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x2, 0x9, 0xc, 0x7 }, 4888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0x3, 0x9, 0xf, 0x7 }, 4898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xc, 0xf, 0xc, 0x7 }, 4918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xd, 0xf, 0xf, 0x7 }, 4928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xe, 0xf, 0xc, 0x7 }, 4938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S { 0xf, 0xf, 0xf, 0x7 }, 4948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 4958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 4968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-3 Default intra 4x4 scaling list */ 4978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_intra4x4_scaling_list[] = 4988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 4998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6, 13, 13, 20, 5008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 20, 28, 28, 5018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 28, 28, 32, 32, 5028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 32, 37, 37, 42 5038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-3 Default inter 4x4 scaling list */ 5068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_inter4x4_scaling_list[] = 5078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 10, 14, 14, 20, 5098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 20, 24, 24, 5108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 24, 27, 27, 5118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 27, 30, 30, 34 5128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Inverse scanned output of gau2_ih264_default_intra4x4_scaling_list */ 5158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_intra4x4_weight_scale[] = 5168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6, 13, 20, 28, 5188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 13, 20, 28, 32, 5198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 28, 32, 37, 5208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 28, 32, 37, 42 5218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Inverse scanned output of gau2_ih264_default_inter4x4_scaling_list */ 5248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_inter4x4_weight_scale[] = 5258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 10, 14, 20, 24, 5278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 14, 20, 24, 27, 5288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 24, 27, 30, 5298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 27, 30, 34 5308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-4 Default intra 8x8 scaling list */ 5338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_intra8x8_scaling_list[] = 5348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6, 10, 10, 13, 11, 13, 16, 16, 5368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 18, 18, 18, 18, 18, 23, 5378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 23, 23, 23, 23, 23, 25, 25, 25, 5388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 25, 25, 25, 25, 27, 27, 27, 27, 5398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 27, 27, 27, 27, 29, 29, 29, 29, 5408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 29, 29, 29, 31, 31, 31, 31, 31, 5418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 31, 33, 33, 33, 33, 33, 36, 36, 5428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 36, 36, 38, 38, 38, 40, 40, 42 5438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** Table 7-4 Default inter 8x8 scaling list */ 5468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_inter8x8_scaling_list[] = 5478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 9, 13, 13, 15, 13, 15, 17, 17, 5498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 17, 17, 19, 19, 19, 19, 19, 21, 5508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 21, 21, 21, 21, 21, 22, 22, 22, 5518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 22, 22, 22, 22, 24, 24, 24, 24, 5528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 24, 24, 24, 25, 25, 25, 25, 5538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 25, 25, 25, 27, 27, 27, 27, 27, 5548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 27, 28, 28, 28, 28, 28, 30, 30, 5558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 30, 30, 32, 32, 32, 33, 33, 35 5568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Inverse scanned output of gau2_ih264_default_intra8x8_scaling_list */ 5598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_intra8x8_weight_scale[] = 5608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6, 10, 13, 16, 18, 23, 25, 27, 5628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 10, 11, 16, 18, 23, 25, 27, 29, 5638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 13, 16, 18, 23, 25, 27, 29, 31, 5648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 18, 23, 25, 27, 29, 31, 33, 5658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 18, 23, 25, 27, 29, 31, 33, 36, 5668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 23, 25, 27, 29, 31, 33, 36, 38, 5678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 25, 27, 29, 31, 33, 36, 38, 40, 5688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 27, 29, 31, 33, 36, 38, 40, 42 5698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Inverse scanned output of gau2_ih264_default_inter8x8_scaling_list */ 5728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_default_inter8x8_weight_scale[] = 5738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 9, 13, 15, 17, 19, 21, 22, 24, 5758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 13, 13, 17, 19, 21, 22, 24, 25, 5768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 15, 17, 19, 21, 22, 24, 25, 27, 5778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 17, 19, 21, 22, 24, 25, 27, 28, 5788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 19, 21, 22, 24, 25, 27, 28, 30, 5798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 21, 22, 24, 25, 27, 28, 30, 32, 5808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 22, 24, 25, 27, 28, 30, 32, 33, 5818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 25, 27, 28, 30, 32, 33, 35 5828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Eq 7-8 Flat scaling matrix for 4x4 */ 5848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_flat_4x4_weight_scale[] = 5858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 5878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 5888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 5898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16 5908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 5918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 5928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Eq 7-9 Flat scaling matrix for 8x8 */ 5938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_flat_8x8_weight_scale[] = 5948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 5958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16, 5968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16, 5978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16, 5988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16, 5998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16, 6008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16, 6018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16, 6028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 16, 16, 16, 16, 16, 16, 16 6038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 6048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 6078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S ****************************************************************************** 6088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * @brief Scale Table for inverse quantizing 4x4 subblock. To inverse quantize 6098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * a given 4x4 quantized block, the coefficient at index location (i,j) is scaled 6108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * by one of the constants in this table and right shift the result by abs (4 - 6118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * floor(qp/6)), here qp is the quantization parameter used to quantize the mb. 6128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 6138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * input : 16 * qp%6, index location (i,j) 6148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * output : scale constant. 6158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 6168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * @remarks 16 constants for each index position of the subblock and 6 for each 6178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * qp%6 in the range 0-5 inclusive. 6188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S ****************************************************************************** 6198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S */ 6208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_iquant_scale_matrix_4x4[96] = 6228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 6238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 10, 13, 10, 13, 6248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 13, 16, 13, 16, 6258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 10, 13, 10, 13, 6268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 13, 16, 13, 16, 6278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 11, 14, 11, 14, 6298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 14, 18, 14, 18, 6308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 11, 14, 11, 14, 6318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 14, 18, 14, 18, 6328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 13, 16, 13, 16, 6348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 20, 16, 20, 6358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 13, 16, 13, 16, 6368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 20, 16, 20, 6378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 14, 18, 14, 18, 6398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 18, 23, 18, 23, 6408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 14, 18, 14, 18, 6418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 18, 23, 18, 23, 6428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 20, 16, 20, 6448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 25, 20, 25, 6458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 16, 20, 16, 20, 6468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 25, 20, 25, 6478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 18, 23, 18, 23, 6498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 23, 29, 23, 29, 6508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 18, 23, 18, 23, 6518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 23, 29, 23, 29, 6528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 6548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/** 6568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S ****************************************************************************** 6578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * @brief Scale Table for inverse quantizing 8x8 subblock. To inverse quantize 6588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * a given 8x8 quantized block, the coefficient at index location (i,j) is scaled 6598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * by one of the constants in this table and right shift the result by abs (4 - 6608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * floor(qp/6)), here qp is the quantization parameter used to quantize the mb. 6618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 6628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * input : qp%6, index location (i,j) 6638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * output : scale constant. 6648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * 6658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * @remarks 64 constants for each index position of the subblock and 6 for each 6668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * qp%6 in the range 0-5 inclusive. 6678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S ****************************************************************************** 6688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S */ 6698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sconst UWORD16 gau2_ih264_iquant_scale_matrix_8x8 [384] = 6708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{ 6718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 19, 25, 19, 20, 19, 25, 19, 6728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 19, 18, 24, 18, 19, 18, 24, 18, 6738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 25, 24, 32, 24, 25, 24, 32, 24, 6748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 19, 18, 24, 18, 19, 18, 24, 18, 6758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 20, 19, 25, 19, 20, 19, 25, 19, 6768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 19, 18, 24, 18, 19, 18, 24, 18, 6778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 25, 24, 32, 24, 25, 24, 32, 24, 6788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 19, 18, 24, 18, 19, 18, 24, 18, 6798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 22, 21, 28, 21, 22, 21, 28, 21, 6818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 21, 19, 26, 19, 21, 19, 26, 19, 6828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 28, 26, 35, 26, 28, 26, 35, 26, 6838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 21, 19, 26, 19, 21, 19, 26, 19, 6848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 22, 21, 28, 21, 22, 21, 28, 21, 6858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 21, 19, 26, 19, 21, 19, 26, 19, 6868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 28, 26, 35, 26, 28, 26, 35, 26, 6878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 21, 19, 26, 19, 21, 19, 26, 19, 6888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 26, 24, 33, 24, 26, 24, 33, 24, 6908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 23, 31, 23, 24, 23, 31, 23, 6918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 33, 31, 42, 31, 33, 31, 42, 31, 6928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 23, 31, 23, 24, 23, 31, 23, 6938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 26, 24, 33, 24, 26, 24, 33, 24, 6948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 23, 31, 23, 24, 23, 31, 23, 6958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 33, 31, 42, 31, 33, 31, 42, 31, 6968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 24, 23, 31, 23, 24, 23, 31, 23, 6978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 6988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 28, 26, 35, 26, 28, 26, 35, 26, 6998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 26, 25, 33, 25, 26, 25, 33, 25, 7008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 35, 33, 45, 33, 35, 33, 45, 33, 7018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 26, 25, 33, 25, 26, 25, 33, 25, 7028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 28, 26, 35, 26, 28, 26, 35, 26, 7038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 26, 25, 33, 25, 26, 25, 33, 25, 7048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 35, 33, 45, 33, 35, 33, 45, 33, 7058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 26, 25, 33, 25, 26, 25, 33, 25, 7068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 7078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 32, 30, 40, 30, 32, 30, 40, 30, 7088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 30, 28, 38, 28, 30, 28, 38, 28, 7098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 40, 38, 51, 38, 40, 38, 51, 38, 7108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 30, 28, 38, 28, 30, 28, 38, 28, 7118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 32, 30, 40, 30, 32, 30, 40, 30, 7128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 30, 28, 38, 28, 30, 28, 38, 28, 7138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 40, 38, 51, 38, 40, 38, 51, 38, 7148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 30, 28, 38, 28, 30, 28, 38, 28, 7158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 7168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 36, 34, 46, 34, 36, 34, 46, 34, 7178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 34, 32, 43, 32, 34, 32, 43, 32, 7188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 46, 43, 58, 43, 46, 43, 58, 43, 7198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 34, 32, 43, 32, 34, 32, 43, 32, 7208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 36, 34, 46, 34, 36, 34, 46, 34, 7218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 34, 32, 43, 32, 34, 32, 43, 32, 7228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 46, 43, 58, 43, 46, 43, 58, 43, 7238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 34, 32, 43, 32, 34, 32, 43, 32, 7248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S 7258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}; 726