1*c83a76b0SSuyog Pawar /****************************************************************************** 2*c83a76b0SSuyog Pawar * 3*c83a76b0SSuyog Pawar * Copyright (C) 2018 The Android Open Source Project 4*c83a76b0SSuyog Pawar * 5*c83a76b0SSuyog Pawar * Licensed under the Apache License, Version 2.0 (the "License"); 6*c83a76b0SSuyog Pawar * you may not use this file except in compliance with the License. 7*c83a76b0SSuyog Pawar * You may obtain a copy of the License at: 8*c83a76b0SSuyog Pawar * 9*c83a76b0SSuyog Pawar * http://www.apache.org/licenses/LICENSE-2.0 10*c83a76b0SSuyog Pawar * 11*c83a76b0SSuyog Pawar * Unless required by applicable law or agreed to in writing, software 12*c83a76b0SSuyog Pawar * distributed under the License is distributed on an "AS IS" BASIS, 13*c83a76b0SSuyog Pawar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*c83a76b0SSuyog Pawar * See the License for the specific language governing permissions and 15*c83a76b0SSuyog Pawar * limitations under the License. 16*c83a76b0SSuyog Pawar * 17*c83a76b0SSuyog Pawar ***************************************************************************** 18*c83a76b0SSuyog Pawar * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*c83a76b0SSuyog Pawar */ 20*c83a76b0SSuyog Pawar 21*c83a76b0SSuyog Pawar /** 22*c83a76b0SSuyog Pawar ****************************************************************************** 23*c83a76b0SSuyog Pawar * @file ihevce_error_codes.h 24*c83a76b0SSuyog Pawar * 25*c83a76b0SSuyog Pawar * @brief 26*c83a76b0SSuyog Pawar * This file contains important error codes returned by various modules of 27*c83a76b0SSuyog Pawar * HEVC encoder 28*c83a76b0SSuyog Pawar * 29*c83a76b0SSuyog Pawar * @author 30*c83a76b0SSuyog Pawar * Ittiam 31*c83a76b0SSuyog Pawar * 32*c83a76b0SSuyog Pawar ****************************************************************************** 33*c83a76b0SSuyog Pawar */ 34*c83a76b0SSuyog Pawar 35*c83a76b0SSuyog Pawar #ifndef _IHEVCE_ERROR_CODES_H_ 36*c83a76b0SSuyog Pawar #define _IHEVCE_ERROR_CODES_H_ 37*c83a76b0SSuyog Pawar 38*c83a76b0SSuyog Pawar /** 39*c83a76b0SSuyog Pawar ****************************************************************************** 40*c83a76b0SSuyog Pawar * @brief Error start codes for various classes of errors in HEVC encoder 41*c83a76b0SSuyog Pawar ****************************************************************************** 42*c83a76b0SSuyog Pawar */ 43*c83a76b0SSuyog Pawar #define IHEVCE_BITSTREAM_ERROR_START 0x0000E100 44*c83a76b0SSuyog Pawar #define IHEVCE_RC_ERROR_START 0x0000E200 45*c83a76b0SSuyog Pawar #define IHEVCE_LAP_ERROR_START 0x0000E300 46*c83a76b0SSuyog Pawar #define IHEVCE_API_ERROR_START 0x0000E400 47*c83a76b0SSuyog Pawar #define IHEVCE_CABAC_ERROR_START 0x0000E500 48*c83a76b0SSuyog Pawar 49*c83a76b0SSuyog Pawar /** 50*c83a76b0SSuyog Pawar ****************************************************************************** 51*c83a76b0SSuyog Pawar * @brief Extended error code for each error in HEVC encoder 52*c83a76b0SSuyog Pawar ****************************************************************************** 53*c83a76b0SSuyog Pawar */ 54*c83a76b0SSuyog Pawar typedef enum 55*c83a76b0SSuyog Pawar { 56*c83a76b0SSuyog Pawar 57*c83a76b0SSuyog Pawar /** no error */ 58*c83a76b0SSuyog Pawar IHEVCE_SUCCESS = 0, 59*c83a76b0SSuyog Pawar 60*c83a76b0SSuyog Pawar /** bitstream init failure, buffer ptr not aligned to WORD (32bits) */ 61*c83a76b0SSuyog Pawar IHEVCE_BITSTREAM_BUFPTR_ALIGN_FAIL = IHEVCE_BITSTREAM_ERROR_START + 0x01, 62*c83a76b0SSuyog Pawar 63*c83a76b0SSuyog Pawar /** bitstream init failure, buf size not multiple of WORD size (32bits) */ 64*c83a76b0SSuyog Pawar IHEVCE_BITSTREAM_BUFSIZE_ALIGN_FAIL = IHEVCE_BITSTREAM_ERROR_START + 0x02, 65*c83a76b0SSuyog Pawar 66*c83a76b0SSuyog Pawar /** bitstream runtime failure, buf size limit exceeded during encode */ 67*c83a76b0SSuyog Pawar IHEVCE_BITSTREAM_BUFFER_OVERFLOW = IHEVCE_BITSTREAM_ERROR_START + 0x03, 68*c83a76b0SSuyog Pawar 69*c83a76b0SSuyog Pawar /* Error codes for static source parameters */ 70*c83a76b0SSuyog Pawar /**width not set within supported limit */ 71*c83a76b0SSuyog Pawar IHEVCE_WIDTH_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x01, 72*c83a76b0SSuyog Pawar 73*c83a76b0SSuyog Pawar /**height not set within supported limit */ 74*c83a76b0SSuyog Pawar IHEVCE_HEIGHT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x02, 75*c83a76b0SSuyog Pawar 76*c83a76b0SSuyog Pawar /**frame rate not supported */ 77*c83a76b0SSuyog Pawar IHEVCE_FRAME_RATE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x03, 78*c83a76b0SSuyog Pawar 79*c83a76b0SSuyog Pawar /*content type not supported */ 80*c83a76b0SSuyog Pawar IHEVCE_CONTENT_TYPE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x04, 81*c83a76b0SSuyog Pawar 82*c83a76b0SSuyog Pawar /* chroma format not supported */ 83*c83a76b0SSuyog Pawar IHEVCE_CHROMA_FORMAT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x05, 84*c83a76b0SSuyog Pawar 85*c83a76b0SSuyog Pawar /*Error codes for static output strream parameters */ 86*c83a76b0SSuyog Pawar /* codec not supported */ 87*c83a76b0SSuyog Pawar IHEVCE_CODEC_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x06, 88*c83a76b0SSuyog Pawar 89*c83a76b0SSuyog Pawar /* codec profile not supported */ 90*c83a76b0SSuyog Pawar IHEVCE_CODEC_PROFILE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x07, 91*c83a76b0SSuyog Pawar 92*c83a76b0SSuyog Pawar /*codec level not supported */ 93*c83a76b0SSuyog Pawar IHEVCE_CODEC_LEVEL_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x08, 94*c83a76b0SSuyog Pawar 95*c83a76b0SSuyog Pawar IHEVCE_VUI_ENABLE_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x09, 96*c83a76b0SSuyog Pawar 97*c83a76b0SSuyog Pawar #ifndef DISABLE_SEI 98*c83a76b0SSuyog Pawar IHEVCE_SEI_ENABLE_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x0A, 99*c83a76b0SSuyog Pawar #endif 100*c83a76b0SSuyog Pawar 101*c83a76b0SSuyog Pawar IHEVCE_SPS_AT_CDR_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x0B, 102*c83a76b0SSuyog Pawar 103*c83a76b0SSuyog Pawar /* Error codes for static coding tools parameters */ 104*c83a76b0SSuyog Pawar /* Temporal layers not supported */ 105*c83a76b0SSuyog Pawar IHEVCE_TEMPORAL_LAYERS_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x0C, 106*c83a76b0SSuyog Pawar 107*c83a76b0SSuyog Pawar IHEVCE_INVALID_GOP_PERIOD = IHEVCE_API_ERROR_START + 0x0D, 108*c83a76b0SSuyog Pawar 109*c83a76b0SSuyog Pawar IHEVCE_IDR_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x0E, 110*c83a76b0SSuyog Pawar 111*c83a76b0SSuyog Pawar IHEVCE_REF_FRAMES_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x0F, 112*c83a76b0SSuyog Pawar 113*c83a76b0SSuyog Pawar IHEVCE_CONSECUTIVE_MAX_TID_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x10, 114*c83a76b0SSuyog Pawar 115*c83a76b0SSuyog Pawar IHEVCE_CONSECUTIVE_TID_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x11, 116*c83a76b0SSuyog Pawar 117*c83a76b0SSuyog Pawar IHEVCE_INVALID_MIN_TID = IHEVCE_API_ERROR_START + 0x12, 118*c83a76b0SSuyog Pawar 119*c83a76b0SSuyog Pawar IHEVCE_INVALID_WEIGHTED_PREDICTION_INPUT = IHEVCE_API_ERROR_START + 0x13, 120*c83a76b0SSuyog Pawar 121*c83a76b0SSuyog Pawar IHEVCE_INVALID_TEMPORAL_MVP_INPUT = IHEVCE_API_ERROR_START + 0x14, 122*c83a76b0SSuyog Pawar 123*c83a76b0SSuyog Pawar IHEVCE_INVALID_QUALITY_PRESET_INPUT = IHEVCE_API_ERROR_START + 0x15, 124*c83a76b0SSuyog Pawar 125*c83a76b0SSuyog Pawar IHEVCE_CHROMA_PREDICTION_FROM_LUMA_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x16, 126*c83a76b0SSuyog Pawar 127*c83a76b0SSuyog Pawar IHEVCE_INVALID_CONSTRAINED_IPRED_INPUT = IHEVCE_API_ERROR_START + 0x17, 128*c83a76b0SSuyog Pawar 129*c83a76b0SSuyog Pawar IHEVCE_INVALID_ASYMETRIC_MACROBLOCK_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x18, 130*c83a76b0SSuyog Pawar 131*c83a76b0SSuyog Pawar IHEVCE_INVALID_DEBLOCKING_TYPE_INPUT = IHEVCE_API_ERROR_START + 0x19, 132*c83a76b0SSuyog Pawar 133*c83a76b0SSuyog Pawar IHEVCE_INVALID_SAO_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x1A, 134*c83a76b0SSuyog Pawar 135*c83a76b0SSuyog Pawar IHEVCE_INVALID_LF_ACROSS_TILES_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x1B, 136*c83a76b0SSuyog Pawar 137*c83a76b0SSuyog Pawar IHEVCE_INVALID_DEFAULT_SC_MATRIX_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x1C, 138*c83a76b0SSuyog Pawar 139*c83a76b0SSuyog Pawar IHEVCE_INVALID_CROPPING_MODE = IHEVCE_API_ERROR_START + 0x1D, 140*c83a76b0SSuyog Pawar 141*c83a76b0SSuyog Pawar IHEVCE_INVALID_FRAME_SKIPS_INPUT = IHEVCE_API_ERROR_START + 0x1E, 142*c83a76b0SSuyog Pawar 143*c83a76b0SSuyog Pawar IHEVCE_INVALID_SLICE_TYPE_INPUT = IHEVCE_API_ERROR_START + 0x1F, 144*c83a76b0SSuyog Pawar 145*c83a76b0SSuyog Pawar IHEVCE_INVALID_REFRESH_TYPE_INPUT = IHEVCE_API_ERROR_START + 0x20, 146*c83a76b0SSuyog Pawar 147*c83a76b0SSuyog Pawar IHEVCE_INVALID_FORCE_FRAME_INPUT = IHEVCE_API_ERROR_START + 0x21, 148*c83a76b0SSuyog Pawar 149*c83a76b0SSuyog Pawar /*Error codes for static config parameters */ 150*c83a76b0SSuyog Pawar IHEVCE_NUMBER_OF_TILES_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x22, 151*c83a76b0SSuyog Pawar 152*c83a76b0SSuyog Pawar IHEVCE_INDEPENDENT_TILES_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x23, 153*c83a76b0SSuyog Pawar 154*c83a76b0SSuyog Pawar IHEVCE_NUMBER_OF_TILE_ROWS_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x24, 155*c83a76b0SSuyog Pawar 156*c83a76b0SSuyog Pawar IHEVCE_NUMBER_OF_TILE_COLS_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x25, 157*c83a76b0SSuyog Pawar 158*c83a76b0SSuyog Pawar IHEVCE_MIN_CU_SIZE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x26, 159*c83a76b0SSuyog Pawar 160*c83a76b0SSuyog Pawar IHEVCE_MIN_TU_SIZE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x27, 161*c83a76b0SSuyog Pawar 162*c83a76b0SSuyog Pawar IHEVCE_MAX_CU_SIZE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x28, 163*c83a76b0SSuyog Pawar 164*c83a76b0SSuyog Pawar IHEVCE_MAX_TU_SIZE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x29, 165*c83a76b0SSuyog Pawar 166*c83a76b0SSuyog Pawar IHEVCE_INVALID_MAX_TU_SIZE = IHEVCE_API_ERROR_START + 0x2A, 167*c83a76b0SSuyog Pawar 168*c83a76b0SSuyog Pawar IHEVCE_INVALID_TR_TREE_DEPTH_FOR_I_FRAME = IHEVCE_API_ERROR_START + 0x2B, 169*c83a76b0SSuyog Pawar 170*c83a76b0SSuyog Pawar IHEVCE_INVALID_TR_TREE_DEPTH = IHEVCE_API_ERROR_START + 0x2C, 171*c83a76b0SSuyog Pawar 172*c83a76b0SSuyog Pawar IHEVCE_UNSUPPORTED_FRAME_QP = IHEVCE_API_ERROR_START + 0x2D, 173*c83a76b0SSuyog Pawar 174*c83a76b0SSuyog Pawar IHEVCE_UNSUPPORTED_HORIZONTAL_SEARCH_RANGE = IHEVCE_API_ERROR_START + 0x2E, 175*c83a76b0SSuyog Pawar 176*c83a76b0SSuyog Pawar IHEVCE_UNSUPPORTED_VERTICAL_SEARCH_RANGE = IHEVCE_API_ERROR_START + 0x2F, 177*c83a76b0SSuyog Pawar 178*c83a76b0SSuyog Pawar /*Error codes for static look ahead parameters */ 179*c83a76b0SSuyog Pawar IHEVCE_UNSUPPORTED_LOOK_AHEAD = IHEVCE_API_ERROR_START + 0x30, 180*c83a76b0SSuyog Pawar 181*c83a76b0SSuyog Pawar /*Error codes for dynamic source parameters */ 182*c83a76b0SSuyog Pawar IHEVCE_DYN_WIDTH_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x31, 183*c83a76b0SSuyog Pawar 184*c83a76b0SSuyog Pawar IHEVCE_DYN_HEIGHT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x32, 185*c83a76b0SSuyog Pawar 186*c83a76b0SSuyog Pawar IHEVCE_DYN_FRAME_RATE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x33, 187*c83a76b0SSuyog Pawar 188*c83a76b0SSuyog Pawar IHEVCE_DYN_CONTENT_TYPE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x34, 189*c83a76b0SSuyog Pawar 190*c83a76b0SSuyog Pawar IHEVCE_DYN_CHROMA_FORMAT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x35, 191*c83a76b0SSuyog Pawar 192*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_WIDTH = IHEVCE_API_ERROR_START + 0x36, 193*c83a76b0SSuyog Pawar 194*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_HEIGHT = IHEVCE_API_ERROR_START + 0x37, 195*c83a76b0SSuyog Pawar 196*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_FRAME_RATE = IHEVCE_API_ERROR_START + 0x38, 197*c83a76b0SSuyog Pawar 198*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_CONTENT_TYPE = IHEVCE_API_ERROR_START + 0x39, 199*c83a76b0SSuyog Pawar 200*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_CHROMA_FORMAT = IHEVCE_API_ERROR_START + 0x3a, 201*c83a76b0SSuyog Pawar 202*c83a76b0SSuyog Pawar /*Error codes for dynamic coding parameters */ 203*c83a76b0SSuyog Pawar IHEVCE_DYN_TEMPORAL_LAYERS_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x3b, 204*c83a76b0SSuyog Pawar 205*c83a76b0SSuyog Pawar IHEVCE_DYN_CDR_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x3c, 206*c83a76b0SSuyog Pawar 207*c83a76b0SSuyog Pawar IHEVCE_DYN_IDR_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x3d, 208*c83a76b0SSuyog Pawar 209*c83a76b0SSuyog Pawar IHEVCE_DYN_REF_FRAMES_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x3e, 210*c83a76b0SSuyog Pawar 211*c83a76b0SSuyog Pawar IHEVCE_DYN_CONSECUTIVE_MAX_TID_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x3f, 212*c83a76b0SSuyog Pawar 213*c83a76b0SSuyog Pawar IHEVCE_DYN_LT_FRAMES_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x40, 214*c83a76b0SSuyog Pawar 215*c83a76b0SSuyog Pawar IHEVCE_DYN_MIN_TID_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x41, 216*c83a76b0SSuyog Pawar 217*c83a76b0SSuyog Pawar IHEVCE_DYN_WEIGHTED_PREDICTION_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x42, 218*c83a76b0SSuyog Pawar 219*c83a76b0SSuyog Pawar IHEVCE_DYN_TEMPORAL_MVP_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x43, 220*c83a76b0SSuyog Pawar 221*c83a76b0SSuyog Pawar IHEVCE_DYN_QUALITY_PRESET_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x44, 222*c83a76b0SSuyog Pawar 223*c83a76b0SSuyog Pawar IHEVCE_DYN_CHROMA_PREDICTION_FROM_LUMA_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x45, 224*c83a76b0SSuyog Pawar 225*c83a76b0SSuyog Pawar IHEVCE_DYN_CONSTRAINED_IPRED_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x46, 226*c83a76b0SSuyog Pawar 227*c83a76b0SSuyog Pawar IHEVCE_DYN_ASYMETRIC_MACROBLOCK_ENABLE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x47, 228*c83a76b0SSuyog Pawar 229*c83a76b0SSuyog Pawar IHEVCE_DYN_DEBLOCKING_TYPE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x48, 230*c83a76b0SSuyog Pawar 231*c83a76b0SSuyog Pawar IHEVCE_DYN_SAO_ENABLE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x49, 232*c83a76b0SSuyog Pawar 233*c83a76b0SSuyog Pawar IHEVCE_DYN_LF_ACROSS_TILES_ENABLE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x4a, 234*c83a76b0SSuyog Pawar 235*c83a76b0SSuyog Pawar IHEVCE_DYN_DEFAULT_SC_MATRIX_ENABLE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x4b, 236*c83a76b0SSuyog Pawar 237*c83a76b0SSuyog Pawar IHEVCE_DYN_CROPPING_MODE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x4c, 238*c83a76b0SSuyog Pawar 239*c83a76b0SSuyog Pawar IHEVCE_DYN_FRAME_SKIPS_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x4d, 240*c83a76b0SSuyog Pawar 241*c83a76b0SSuyog Pawar IHEVCE_DYN_SLICE_TYPE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x4e, 242*c83a76b0SSuyog Pawar 243*c83a76b0SSuyog Pawar IHEVCE_DYN_REFRESH_TYPE_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x4f, 244*c83a76b0SSuyog Pawar 245*c83a76b0SSuyog Pawar IHEVCE_DYN_FORCE_FRAME_INPUT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x50, 246*c83a76b0SSuyog Pawar 247*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_TEMPORAL_LAYERS = IHEVCE_API_ERROR_START + 0x51, 248*c83a76b0SSuyog Pawar 249*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_CDR = IHEVCE_API_ERROR_START + 0x52, 250*c83a76b0SSuyog Pawar 251*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_IDR = IHEVCE_API_ERROR_START + 0x53, 252*c83a76b0SSuyog Pawar 253*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_REF_FRAMES = IHEVCE_API_ERROR_START + 0x54, 254*c83a76b0SSuyog Pawar 255*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_CONSECUTIVE_MAX_TID = IHEVCE_API_ERROR_START + 0x55, 256*c83a76b0SSuyog Pawar 257*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_LT_FRAMES = IHEVCE_API_ERROR_START + 0x56, 258*c83a76b0SSuyog Pawar 259*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_MIN_TID = IHEVCE_API_ERROR_START + 0x57, 260*c83a76b0SSuyog Pawar 261*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_WEIGHTED_PREDICTION_INPUT = IHEVCE_API_ERROR_START + 0x58, 262*c83a76b0SSuyog Pawar 263*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_TEMPORAL_MVP_INPUT = IHEVCE_API_ERROR_START + 0x59, 264*c83a76b0SSuyog Pawar 265*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_QUALITY_PRESET_INPUT = IHEVCE_API_ERROR_START + 0x5a, 266*c83a76b0SSuyog Pawar 267*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_CHROMA_PREDICTION_FROM_LUMA = IHEVCE_API_ERROR_START + 0x5b, 268*c83a76b0SSuyog Pawar 269*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_CONSTRAINED_IPRED_INPUT = IHEVCE_API_ERROR_START + 0x5c, 270*c83a76b0SSuyog Pawar 271*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_ASYMETRIC_MACROBLOCK_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x5d, 272*c83a76b0SSuyog Pawar 273*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_DEBLOCKING_TYPE_INPUT = IHEVCE_API_ERROR_START + 0x5e, 274*c83a76b0SSuyog Pawar 275*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_SAO_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x5f, 276*c83a76b0SSuyog Pawar 277*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_LF_ACROSS_TILES_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x60, 278*c83a76b0SSuyog Pawar 279*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_DEFAULT_SC_MATRIX_ENABLE_INPUT = IHEVCE_API_ERROR_START + 0x61, 280*c83a76b0SSuyog Pawar 281*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_CROPPING_MODE = IHEVCE_API_ERROR_START + 0x62, 282*c83a76b0SSuyog Pawar 283*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_FRAME_SKIPS_INPUT = IHEVCE_API_ERROR_START + 0x63, 284*c83a76b0SSuyog Pawar 285*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_SLICE_TYPE_INPUT = IHEVCE_API_ERROR_START + 0x64, 286*c83a76b0SSuyog Pawar 287*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_REFRESH_TYPE_INPUT = IHEVCE_API_ERROR_START + 0x65, 288*c83a76b0SSuyog Pawar 289*c83a76b0SSuyog Pawar IHEVCE_INVALID_DYN_FORCE_FRAME_INPUT = IHEVCE_API_ERROR_START + 0x66, 290*c83a76b0SSuyog Pawar 291*c83a76b0SSuyog Pawar IHEVCE_INVALID_CORE_CONFIG = IHEVCE_API_ERROR_START + 0x67, 292*c83a76b0SSuyog Pawar 293*c83a76b0SSuyog Pawar #ifndef DISABLE_SEI 294*c83a76b0SSuyog Pawar IHEVCE_SEI_MESSAGES_DEPENDENCY = IHEVCE_API_ERROR_START + 0x68, 295*c83a76b0SSuyog Pawar #endif 296*c83a76b0SSuyog Pawar 297*c83a76b0SSuyog Pawar IHEVCE_VUI_DEPENDENCY = IHEVCE_API_ERROR_START + 0x69, 298*c83a76b0SSuyog Pawar 299*c83a76b0SSuyog Pawar #ifndef DISABLE_SEI 300*c83a76b0SSuyog Pawar IHEVCE_SEI_ENABLED_VUI_DISABLED = IHEVCE_API_ERROR_START + 0x6A, 301*c83a76b0SSuyog Pawar 302*c83a76b0SSuyog Pawar IHEVCE_SEI_HASH_VALUE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x6B, 303*c83a76b0SSuyog Pawar #endif 304*c83a76b0SSuyog Pawar 305*c83a76b0SSuyog Pawar /* Level related error codes */ 306*c83a76b0SSuyog Pawar IHEVCE_PIC_SIZE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x6C, 307*c83a76b0SSuyog Pawar 308*c83a76b0SSuyog Pawar IHEVCE_BITRATE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x6D, 309*c83a76b0SSuyog Pawar 310*c83a76b0SSuyog Pawar IHEVCE_LUMA_SAMPLE_RATE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x6E, 311*c83a76b0SSuyog Pawar 312*c83a76b0SSuyog Pawar IHEVCE_INVALID_MEM_CTRL_FLAG = IHEVCE_API_ERROR_START + 0x6F, 313*c83a76b0SSuyog Pawar 314*c83a76b0SSuyog Pawar IHEVCE_NUM_DECOMP_LYRS_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x70, 315*c83a76b0SSuyog Pawar 316*c83a76b0SSuyog Pawar IHEVCE_RATE_CONTROL_MDOE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x71, 317*c83a76b0SSuyog Pawar 318*c83a76b0SSuyog Pawar IHEVCE_MAX_VBV_SIZE_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x72, 319*c83a76b0SSuyog Pawar 320*c83a76b0SSuyog Pawar IHEVCE_INVALID_NUM_BR_INSTANCES = IHEVCE_API_ERROR_START + 0x73, 321*c83a76b0SSuyog Pawar 322*c83a76b0SSuyog Pawar IHEVCE_INVALID_MBR_QUALITY_SETTING = IHEVCE_API_ERROR_START + 0x74, 323*c83a76b0SSuyog Pawar 324*c83a76b0SSuyog Pawar IHEVCE_NUM_MAX_RESOLUTIONS_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x75, 325*c83a76b0SSuyog Pawar 326*c83a76b0SSuyog Pawar IHEVCE_MULTI_RES_LAYER_REUSE_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x76, 327*c83a76b0SSuyog Pawar 328*c83a76b0SSuyog Pawar IHEVCE_TGT_WIDTH_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x77, 329*c83a76b0SSuyog Pawar 330*c83a76b0SSuyog Pawar IHEVCE_TGT_HEIGHT_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x78, 331*c83a76b0SSuyog Pawar 332*c83a76b0SSuyog Pawar IHEVCE_TGT_FRAME_RATE_SCALING_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x79, 333*c83a76b0SSuyog Pawar 334*c83a76b0SSuyog Pawar IHEVCE_INVALID_SIZE = IHEVCE_API_ERROR_START + 0x7A, 335*c83a76b0SSuyog Pawar 336*c83a76b0SSuyog Pawar IHEVCE_INPUT_BIT_DEPTH_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x7B, 337*c83a76b0SSuyog Pawar 338*c83a76b0SSuyog Pawar IHEVCE_OUTPUT_BIT_DEPTH_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x7C, 339*c83a76b0SSuyog Pawar 340*c83a76b0SSuyog Pawar /** VUI parameters error codes **/ 341*c83a76b0SSuyog Pawar 342*c83a76b0SSuyog Pawar IHEVC_INVALID_ASPECT_RATIO_PARAMS = IHEVCE_API_ERROR_START + 0x7D, 343*c83a76b0SSuyog Pawar 344*c83a76b0SSuyog Pawar IHEVC_INVALID_OVERSCAN_PARAMS = IHEVCE_API_ERROR_START + 0x7E, 345*c83a76b0SSuyog Pawar 346*c83a76b0SSuyog Pawar IHEVC_INVALID_VIDEO_PARAMS = IHEVCE_API_ERROR_START + 0x7F, 347*c83a76b0SSuyog Pawar 348*c83a76b0SSuyog Pawar IHEVC_INVALID_COLOUR_PARAMS = IHEVCE_API_ERROR_START + 0x80, 349*c83a76b0SSuyog Pawar 350*c83a76b0SSuyog Pawar IHEVC_INVALID_CHROMA_PARAMS = IHEVCE_API_ERROR_START + 0x81, 351*c83a76b0SSuyog Pawar 352*c83a76b0SSuyog Pawar IHEVC_INVALID_TIMING_INFO_PARAM = IHEVCE_API_ERROR_START + 0x82, 353*c83a76b0SSuyog Pawar 354*c83a76b0SSuyog Pawar IHEVC_INVALID_HRD_PRESENT_PARAMS = IHEVCE_API_ERROR_START + 0x83, 355*c83a76b0SSuyog Pawar 356*c83a76b0SSuyog Pawar IHEVCE_SYSTEM_APIS_NOT_INITIALLIZED = IHEVCE_API_ERROR_START + 0x84, 357*c83a76b0SSuyog Pawar 358*c83a76b0SSuyog Pawar /* Codec Tier related error codes */ 359*c83a76b0SSuyog Pawar IHEVC_CODEC_TIER_NOT_SUPPORTED = IHEVCE_API_ERROR_START + 0x85, 360*c83a76b0SSuyog Pawar 361*c83a76b0SSuyog Pawar IHEVCE_CANNOT_ALLOCATE_MEMORY = IHEVCE_API_ERROR_START + 0x86, 362*c83a76b0SSuyog Pawar 363*c83a76b0SSuyog Pawar IHEVCE_RATE_CONTROL_PASS_INVALID = IHEVCE_API_ERROR_START + 0x87, 364*c83a76b0SSuyog Pawar 365*c83a76b0SSuyog Pawar IHEVCE_INVALID_TEMPORAL_SCALABILITY = IHEVCE_API_ERROR_START + 0x88, 366*c83a76b0SSuyog Pawar 367*c83a76b0SSuyog Pawar IHEVCE_MULTI_PASS_INVALID_IDR_CDR = IHEVCE_API_ERROR_START + 0x89, 368*c83a76b0SSuyog Pawar 369*c83a76b0SSuyog Pawar IHEVCE_BAD_TILE_CONFIGURATION = IHEVCE_API_ERROR_START + 0x8A, 370*c83a76b0SSuyog Pawar 371*c83a76b0SSuyog Pawar IHEVCE_BAD_SLICE_PARAMS = IHEVCE_API_ERROR_START + 0x8B, 372*c83a76b0SSuyog Pawar 373*c83a76b0SSuyog Pawar IHEVCE_SLICE_SEG_ARG_INVALID = IHEVCE_API_ERROR_START + 0x8C, 374*c83a76b0SSuyog Pawar 375*c83a76b0SSuyog Pawar /* Error codes for mastering display */ 376*c83a76b0SSuyog Pawar IHEVCE_MASTERING_DISP_COL_VOL_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x8D, 377*c83a76b0SSuyog Pawar 378*c83a76b0SSuyog Pawar IHEVCE_DISPLAY_PRIMARY_X_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x8E, 379*c83a76b0SSuyog Pawar 380*c83a76b0SSuyog Pawar IHEVCE_DISPLAY_PRIMARY_Y_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x8F, 381*c83a76b0SSuyog Pawar 382*c83a76b0SSuyog Pawar IHEVCE_WHITE_POINT_X_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x90, 383*c83a76b0SSuyog Pawar 384*c83a76b0SSuyog Pawar IHEVCE_WHITE_POINT_Y_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x91, 385*c83a76b0SSuyog Pawar 386*c83a76b0SSuyog Pawar IHEVCE_MAX_DISP_MATERING_LUM_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x92, 387*c83a76b0SSuyog Pawar 388*c83a76b0SSuyog Pawar IHEVCE_INTEROPERABILITY_FLAG_SUPPORTED = IHEVCE_API_ERROR_START + 0x93, 389*c83a76b0SSuyog Pawar 390*c83a76b0SSuyog Pawar IHEVCE_VISUAL_QUALITY_ENHANCEMENTS_TOGGLER_VALUE_UNSUPPORTED = IHEVCE_API_ERROR_START + 0x94, 391*c83a76b0SSuyog Pawar 392*c83a76b0SSuyog Pawar IHEVCE_ARCHITECTURE_TYPE_UNSUPPORTED = IHEVCE_API_ERROR_START + 0x95, 393*c83a76b0SSuyog Pawar 394*c83a76b0SSuyog Pawar #ifndef DISABLE_SEI 395*c83a76b0SSuyog Pawar IHEVCE_SEI_PAYLOAD_ENABLE_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x96, 396*c83a76b0SSuyog Pawar #endif 397*c83a76b0SSuyog Pawar 398*c83a76b0SSuyog Pawar IHEVCE_BAD_DIST_CFG_PARAMETERS = IHEVCE_API_ERROR_START + 0x97, 399*c83a76b0SSuyog Pawar 400*c83a76b0SSuyog Pawar IHEVCE_UNSUPPORTED_PROC_CONFIG = IHEVCE_API_ERROR_START + 0x98, 401*c83a76b0SSuyog Pawar 402*c83a76b0SSuyog Pawar IHEVCE_INVALID_MRES_SINGLE_OUT = IHEVCE_API_ERROR_START + 0x99, 403*c83a76b0SSuyog Pawar 404*c83a76b0SSuyog Pawar #ifndef DISABLE_SEI 405*c83a76b0SSuyog Pawar IHEVCE_SEI_CLL_ENABLE_OUT_OF_RANGE = IHEVCE_API_ERROR_START + 0x9A, 406*c83a76b0SSuyog Pawar #endif 407*c83a76b0SSuyog Pawar 408*c83a76b0SSuyog Pawar /** max failure error code to ensure enum is 32 bits wide */ 409*c83a76b0SSuyog Pawar IHEVCE_FAIL = 0xFFFFFFFF 410*c83a76b0SSuyog Pawar 411*c83a76b0SSuyog Pawar } IHEVCE_ERROR_T; 412*c83a76b0SSuyog Pawar 413*c83a76b0SSuyog Pawar typedef enum 414*c83a76b0SSuyog Pawar { 415*c83a76b0SSuyog Pawar IHEVCE_UNSUPPORTEDINPUT = 31, /** 416*c83a76b0SSuyog Pawar Bit 31 - Unsupported feature/parameter 417*c83a76b0SSuyog Pawar */ 418*c83a76b0SSuyog Pawar 419*c83a76b0SSuyog Pawar IHEVCE_UNSUPPORTEDPARAM = 30, /** 420*c83a76b0SSuyog Pawar Bit 30 - Unsupported input parameter or 421*c83a76b0SSuyog Pawar configuration. 422*c83a76b0SSuyog Pawar */ 423*c83a76b0SSuyog Pawar 424*c83a76b0SSuyog Pawar IHEVCE_FATALERROR = 29 /** 425*c83a76b0SSuyog Pawar Bit 29 - Fatal error (stop the codec). 426*c83a76b0SSuyog Pawar */ 427*c83a76b0SSuyog Pawar 428*c83a76b0SSuyog Pawar } IHEVCE_ErrorBit; 429*c83a76b0SSuyog Pawar 430*c83a76b0SSuyog Pawar /** Check for fatal error */ 431*c83a76b0SSuyog Pawar #define IHEVCE_ISFATALERROR(x) (((x) >> IHEVCE_FATALERROR) & 0x1) 432*c83a76b0SSuyog Pawar /** Check for unsupported parameter */ 433*c83a76b0SSuyog Pawar #define IHEVCE_ISUNSUPPORTEDPARAM(x) (((x) >> IHEVCE_UNSUPPORTEDPARAM) & 0x1) 434*c83a76b0SSuyog Pawar /** Check for unsupported input */ 435*c83a76b0SSuyog Pawar #define IHEVCE_ISUNSUPPORTEDINPUT(x) (((x) >> IHEVCE_UNSUPPORTEDINPUT) & 0x1) 436*c83a76b0SSuyog Pawar /** Check for corrupted header */ 437*c83a76b0SSuyog Pawar 438*c83a76b0SSuyog Pawar /** Set fatal error bit */ 439*c83a76b0SSuyog Pawar #define IHEVCE_SETFATALERROR(x) ((x) |= (0x1U << IHEVCE_FATALERROR)) 440*c83a76b0SSuyog Pawar /** Set unsupported parameter bit */ 441*c83a76b0SSuyog Pawar #define IHEVCE_SETUNSUPPORTEDPARAM(x) ((x) |= (0x1U << IHEVCE_UNSUPPORTEDPARAM)) 442*c83a76b0SSuyog Pawar /** Set unsupported input bit */ 443*c83a76b0SSuyog Pawar #define IHEVCE_SETUNSUPPORTEDINPUT(x) ((x) |= (0x1U << IHEVCE_UNSUPPORTEDINPUT)) 444*c83a76b0SSuyog Pawar 445*c83a76b0SSuyog Pawar #endif /* _IHEVCE_ERROR_CODES_H_ */ 446