10d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/****************************************************************************** 20d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 30d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore 40d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 50d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Licensed under the Apache License, Version 2.0 (the "License"); 60d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* you may not use this file except in compliance with the License. 70d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* You may obtain a copy of the License at: 80d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 90d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* http://www.apache.org/licenses/LICENSE-2.0 100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Unless required by applicable law or agreed to in writing, software 120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* distributed under the License is distributed on an "AS IS" BASIS, 130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* See the License for the specific language governing permissions and 150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* limitations under the License. 160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************/ 180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @file 210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* ihevc_defs.h 220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Definitions used in the codec 250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @author 270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Ittiam 280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#ifndef _IHEVC_DEFS_H_ 360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define _IHEVC_DEFS_H_ 370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Profile and Levels */ 400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_PROFILE_MAIN = 0, 440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_TIER_MAIN, 490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_TIER_HIGH, 500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Slice type enums - Do not change the values */ 540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar BSLICE = 0, 580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PSLICE = 1, 590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ISLICE = 2, 600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** Enum for Level : Multiplication by 30 as per spec is implemented as multiplied by 10 and then by 3 630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * User will give level multiplied by 10 in the API 640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_10 = 10 * 3, 680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_20 = 20 * 3, 690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_21 = 21 * 3, 700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_30 = 30 * 3, 710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_31 = 31 * 3, 720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_40 = 40 * 3, 730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_41 = 41 * 3, 740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_50 = 50 * 3, 750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_51 = 51 * 3, 760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_52 = 52 * 3, 770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_60 = 60 * 3, 780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_61 = 61 * 3, 790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar IHEVC_LEVEL_62 = 62 * 3, 800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_TRAIL_N = 0, 860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_TRAIL_R, 870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_TSA_N, 880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_TSA_R, 890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_STSA_N, 900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_STSA_R, 910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RADL_N, 920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RADL_R, 930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RASL_N, 940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RASL_R, 950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL_N10 = 10, 960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL_N12 = 12, 970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL_N14 = 14, 980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL_R11 = 11, 990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL_R13 = 13, 1000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL_R15 = 15, 1010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_BLA_W_LP = 16, 1030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_BLA_W_DLP, 1040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_BLA_N_LP, 1050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_IDR_W_LP, 1060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_IDR_N_LP, 1070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_CRA, 1080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_RAP_VCL22 = 22, 1090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_RAP_VCL23 = 23, 1100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL24 = 24, 1110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_VCL31 = 31, 1120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_VPS = 32, 1130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_SPS, 1140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_PPS, 1150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_AUD, 1160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_EOS, 1170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_EOB, 1180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_FD, 1190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_PREFIX_SEI = 39, 1200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_SUFFIX_SEI = 40, 1210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_NVCL41 = 41, 1220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_RSV_NVCL47 = 47 , 1230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_UNSPEC48 = 48 , 1240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar NAL_UNSPEC63 = 49, 1250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 1260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 1280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar CHROMA_FMT_IDC_MONOCHROME = 0, 1300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar CHROMA_FMT_IDC_YUV420 = 1, 1310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar CHROMA_FMT_IDC_YUV422 = 2, 1320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar CHROMA_FMT_IDC_YUV444 = 3, 1330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar CHROMA_FMT_IDC_YUV444_PLANES = 4, 1340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 1350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Pred Modes */ 1370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Do not change enum values */ 1380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 1390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PRED_MODE_INTER = 0, 1410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PRED_MODE_INTRA = 1, 1420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PRED_MODE_SKIP = 2 1430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 1440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Partition Modes */ 1460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Do not change enum values */ 1470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 1480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_2Nx2N = 0, 1500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_2NxN = 1, 1510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_Nx2N = 2, 1520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_NxN = 3, 1530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_2NxnU = 4, 1540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_2NxnD = 5, 1550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_nLx2N = 6, 1560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PART_nRx2N = 7 1570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 1580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Prediction list */ 1600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Do not change enum values */ 1610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 1620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PRED_L0 = 0, 1640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PRED_L1 = 1, 1650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar PRED_BI = 2 1660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 1670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 1690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * Scan types 1700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 1710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 1720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SCAN_DIAG_UPRIGHT, 1740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SCAN_HORZ, 1750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SCAN_VERT 1760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 1770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 1790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * VUI aspect ratio indicator 1800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 1810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 1820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_UNUSED = 0, 1840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_1_1 = 1, 1850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_12_11, 1860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_10_11, 1870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_16_11, 1880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_40_33, 1890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_24_11, 1900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_20_11, 1910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_32_11, 1920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_80_33, 1930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_18_11, 1940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_15_11, 1950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_64_33, 1960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_160_99, 1970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_4_3, 1980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_3_2, 1990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SAR_2_1, 2000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar EXTENDED_SAR = 255 2010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 2020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarenum 2040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 2050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar VID_FMT_COMPONENT = 0, 2060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar VID_FMT_PAL, 2070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar VID_FMT_NTSC, 2080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar VID_FMT_SECAM, 2090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar VID_FMT_MAC, 2100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar VID_FMT_UNSPECIFIED 2110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 2120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 213930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakartypedef enum { 214930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar USER_DATA_BAR_DATA = 0, 215930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar USER_DATA_CC_DATA = 1, 216930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar USER_DATA_AFD_DATA = 2, 217930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar 218930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar // do not add anything below 219930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar USER_DATA_MAX 220930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar} USER_DATA_SEI_TYPE_T; 221930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar 222613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar/** 223613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar **************************************************************************** 224613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar * SEI payload type 225613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar **************************************************************************** 226613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar */ 227613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakarenum 228613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar{ 229613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_BUFFERING_PERIOD = 0, 230613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_PICTURE_TIMING = 1, 231613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_PAN_SCAN_RECT = 2, 232613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_FILLER_PAYLOAD = 3, 233613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_USER_DATA_REGISTERED_ITU_T_T35 = 4, 234613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_USER_DATA_UNREGISTERED = 5, 235613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_RECOVERY_POINT = 6, 236613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_SCENE_INFO = 9, 237613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_FULL_FRAME_SNAPSHOT = 15, 238613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_PROGRESSIVE_REFINEMENT_SEGMENT_START = 16, 239613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_PROGRESSIVE_REFINEMENT_SEGMENT_END = 17, 240613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_FILM_GRAIN_CHARACTERISTICS = 19, 241613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_POST_FILTER_HINT = 22, 242613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_TONE_MAPPING_INFO = 23, 243613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_FRAME_PACKING = 45, 244613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_DISPLAY_ORIENTATION = 47, 245613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_SOP_DESCRIPTION = 128, 246613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_ACTIVE_PARAMETER_SETS = 129, 247613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_DECODING_UNIT_INFO = 130, 248613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_TEMPORAL_LEVEL0_INDEX = 131, 249613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_DECODED_PICTURE_HASH = 132, 250613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_SCALABLE_NESTING = 133, 251613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_REGION_REFRESH_INFO = 134, 252613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_NO_DISPLAY = 135, 253613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_TIME_CODE = 136, 254613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_MASTERING_DISPLAY_COLOUR_VOLUME = 137, 255613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_SEGM_RECT_FRAME_PACKING = 138, 256613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_TEMP_MOTION_CONSTRAINED_TILE_SETS = 139, 257613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_CHROMA_SAMPLING_FILTER_HINT = 140, 258613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar SEI_KNEE_FUNCTION_INFO = 141 259613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar}; 260613c712d196d00b6aec71d0b316427ab3e947012Harish Mahendrakar 261930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar 2620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define BIT_DEPTH 8 2630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define BIT_DEPTH_LUMA BIT_DEPTH 2640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define BIT_DEPTH_CHROMA BIT_DEPTH 2650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Profile tier level defs */ 2670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_PROFILE_COMPATBLTY 32 2690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Reference frame defs */ 2720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Maximum DPB size */ 2740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_DPB_SIZE 16 2750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* VPS restrictions */ 2790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of VPS allowed in Main Profile */ 2820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_VPS_CNT 16 2830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Max sub layers in VPS */ 2850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define VPS_MAX_SUB_LAYERS 7 2860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Max number of HRD parameters */ 2880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define VPS_MAX_HRD_PARAMS 2 2890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Maximum number of operation point layers */ 2910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define VPS_MAX_OP_LAYERS 2 2920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Tile restrictions */ 2960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 2970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Minimum tile width in Main Profile */ 2984d73ab3ec9823d009fa01beea164c0036b5215b9Harish Mahendrakar#define MIN_TILE_WD MAX_CTB_SIZE 2990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Minimum tile height in Main Profile */ 3014d73ab3ec9823d009fa01beea164c0036b5215b9Harish Mahendrakar#define MIN_TILE_HT MAX_CTB_SIZE 3020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* SPS restrictions */ 3050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of SPS allowed in Main Profile*/ 3080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* An extra buffer is allocated to write the parsed data 3090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * It is copied to the appropriate location later */ 3100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_SPS_CNT (16 + 1) 3110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Max sub layers in PPS */ 3130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SPS_MAX_SUB_LAYERS 7 3140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Maximum long term reference pics */ 3160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_LTREF_PICS_SPS 16 3170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_STREF_PICS_SPS 64 3190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* PPS restrictions */ 3220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of PPS allowed in Main Profile */ 3250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* An extra buffer is allocated to write the parsed data 3260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * It is copied to the appropriate location later */ 3270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_PPS_CNT (64 + 1) 3280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Macro definitions for sizes of CTB, PU, TU, CU */ 3310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* CTB Size Range */ 3340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_CTB_SIZE 64 3350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MIN_CTB_SIZE 16 3360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* TU Size Range */ 3380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_TU_SIZE 32 3390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MIN_TU_SIZE 4 3400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Max Transform Size */ 3420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_TRANS_SIZE (MAX_TU_SIZE*MAX_TU_SIZE) 3430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* PU Size Range */ 3450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_PU_SIZE 64 3460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MIN_PU_SIZE 4 3470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* CU Size Range */ 3490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_CU_SIZE 64 3500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MIN_CU_SIZE 8 3510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of max TU in a CTB row */ 3540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_TU_IN_CTB_ROW ((MAX_CTB_SIZE / MIN_TU_SIZE)) 3550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of max TU in a CTB row */ 3570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_CU_IN_CTB_ROW ((MAX_CTB_SIZE / MIN_CU_SIZE)) 3580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of max PU in a CTb row */ 3600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_PU_IN_CTB_ROW ((MAX_CTB_SIZE / MIN_PU_SIZE)) 3610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of max CU in a CTB */ 3630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_CU_IN_CTB ((MAX_CTB_SIZE / MIN_CU_SIZE) * \ 3640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar (MAX_CTB_SIZE / MIN_CU_SIZE)) 3650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of max PU in a CTB */ 3670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Note though for 64 x 64 CTB, Max PU in CTB is 128, in order to store */ 3690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* intra pred info, 256 entries are needed */ 3700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_PU_IN_CTB ((MAX_CTB_SIZE / MIN_PU_SIZE) * \ 3720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar (MAX_CTB_SIZE / MIN_PU_SIZE)) 3730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of max TU in a CTB */ 3750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_TU_IN_CTB ((MAX_CTB_SIZE / MIN_TU_SIZE) * \ 3760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar (MAX_CTB_SIZE / MIN_TU_SIZE)) 3770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 3810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * Maximum transform depths 3820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 3830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_TRAFO_DEPTH 5 3840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Max number of deblocking edges */ 3890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_VERT_DEBLK_EDGES ((MAX_CTB_SIZE/8) * (MAX_CTB_SIZE/4)) 3900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_HORZ_DEBLK_EDGES ((MAX_CTB_SIZE/4) * (MAX_CTB_SIZE/8)) 3910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Qp can not change below 8x8 level */ 3930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_DEBLK_QP_CNT ((MAX_CTB_SIZE/8) * (MAX_CTB_SIZE/8)) 3940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Parsing related macros */ 3970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 3980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SUBBLK_COEFF_CNT 16 3990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Quant and Trans defs */ 4010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 4030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Sizes for Transform functions */ 4040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 4050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define TRANS_SIZE_4 4 4060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define TRANS_SIZE_8 8 4070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define TRANS_SIZE_16 16 4080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define TRANS_SIZE_32 32 4090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define IT_SHIFT_STAGE_1 7 4120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define IT_SHIFT_STAGE_2 12 4130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Maximum transform dynamic range (excluding sign bit) 4160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_TR_DYNAMIC_RANGE 15 4180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Q(QP%6) * IQ(QP%6) = 2^20 4210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define QUANT_IQUANT_SHIFT 20 4230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Q factor for Qp%6 multiplication 4260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define QUANT_SHIFT 14 4280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Q shift factor for flat rescale matrix weights 4310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define FLAT_RESCALE_MAT_Q_SHIFT 11 4330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Scaling matrix is represented in Q15 format 4360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SCALING_Q_SHIFT 15 4380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief rounding factor for quantization represented in Q9 format 4410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define QUANT_ROUND_FACTOR_Q 9 4430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Minimum qp supported in HEVC spec 4460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MIN_HEVC_QP 0 4480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Maximum qp supported in HEVC spec 4510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_HEVC_QP 51 //FOR MAIN Branch Encoder 4530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define MAX_HEVC_QP_10bit 63 //FOR HBD Branch Encoder 4550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4569663ae211632948494bebd703d4d8f7cb576d7d6Naveen Kumar Ponnusamy#define MAX_HEVC_QP_12bit 75 //FOR HBD Branch Encoder 4579663ae211632948494bebd703d4d8f7cb576d7d6Naveen Kumar Ponnusamy 4580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 4600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * @brief Total number of transform sizes 4610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * used for sizeID while getting scale matrix 4620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define NUM_UNIQUE_TRANS_SIZE 4 4640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 4660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Number of scaling matrices for each transform size */ 4670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 4680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SCALE_MAT_CNT_TRANS_SIZE_4 6 4690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SCALE_MAT_CNT_TRANS_SIZE_8 6 4700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SCALE_MAT_CNT_TRANS_SIZE_16 6 4710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SCALE_MAT_CNT_TRANS_SIZE_32 2 4720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Maximum number of scale matrices for a given transform size */ 4740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SCALE_MAT_CNT_MAX_PER_TRANS_SIZE 6 4750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Total number of scale matrices */ 4770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define TOTAL_SCALE_MAT_COUNT (SCALE_MAT_CNT_TRANS_SIZE_4 + \ 4780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SCALE_MAT_CNT_TRANS_SIZE_8 + \ 4790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SCALE_MAT_CNT_TRANS_SIZE_16 + \ 4800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SCALE_MAT_CNT_TRANS_SIZE_32) 4810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 4840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Intra pred Macros */ 4850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 4860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** Planar Intra prediction mode */ 4870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define INTRA_PLANAR 0 4880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** DC Intra prediction mode */ 4900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define INTRA_DC 1 4910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** Gives angular mode for intra prediction */ 4930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define INTRA_ANGULAR(x) (x) 4940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** Following is used to signal no intra prediction in case of pcm blocks 4960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 4970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define INTRA_PRED_NONE 63 4980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 4990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 5000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** Following is used to signal no intra prediction is needed for first three 5010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * 4x4 luma blocks in case of 4x4 TU sizes 5020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * Also used in pcm cases 5030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 5040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define INTRA_PRED_CHROMA_IDX_NONE 7 5050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 506930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar#define MAX_NUM_CLOCK_TS 3 507930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar#define MAX_USERDATA_PAYLOAD 256 508930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar 509930b36b0dde7fc51531b578da21e3029c931b750Harish Mahendrakar#define MAX_CPB_CNT 32 5100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 5110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#endif /*__IHEVC_DEFS_H_*/ 512