1*495ae853SAndroid Build Coastguard Worker /****************************************************************************** 2*495ae853SAndroid Build Coastguard Worker * 3*495ae853SAndroid Build Coastguard Worker * Copyright (C) 2015 The Android Open Source Project 4*495ae853SAndroid Build Coastguard Worker * 5*495ae853SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*495ae853SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*495ae853SAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*495ae853SAndroid Build Coastguard Worker * 9*495ae853SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*495ae853SAndroid Build Coastguard Worker * 11*495ae853SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*495ae853SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*495ae853SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*495ae853SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*495ae853SAndroid Build Coastguard Worker * limitations under the License. 16*495ae853SAndroid Build Coastguard Worker * 17*495ae853SAndroid Build Coastguard Worker ***************************************************************************** 18*495ae853SAndroid Build Coastguard Worker * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*495ae853SAndroid Build Coastguard Worker */ 20*495ae853SAndroid Build Coastguard Worker 21*495ae853SAndroid Build Coastguard Worker #ifndef _IH264D_ERROR_HANDLER_H_ 22*495ae853SAndroid Build Coastguard Worker #define _IH264D_ERROR_HANDLER_H_ 23*495ae853SAndroid Build Coastguard Worker 24*495ae853SAndroid Build Coastguard Worker /*! 25*495ae853SAndroid Build Coastguard Worker ************************************************************************* 26*495ae853SAndroid Build Coastguard Worker * \file ih264d_error_handler.h 27*495ae853SAndroid Build Coastguard Worker * 28*495ae853SAndroid Build Coastguard Worker * \brief 29*495ae853SAndroid Build Coastguard Worker * Contains declaration of ih264d_global_error_handler function 30*495ae853SAndroid Build Coastguard Worker * 31*495ae853SAndroid Build Coastguard Worker * \date 32*495ae853SAndroid Build Coastguard Worker * 21/11/2002 33*495ae853SAndroid Build Coastguard Worker * 34*495ae853SAndroid Build Coastguard Worker * \author AI 35*495ae853SAndroid Build Coastguard Worker ************************************************************************* 36*495ae853SAndroid Build Coastguard Worker */ 37*495ae853SAndroid Build Coastguard Worker 38*495ae853SAndroid Build Coastguard Worker #include "ih264_typedefs.h" 39*495ae853SAndroid Build Coastguard Worker #include "ih264_macros.h" 40*495ae853SAndroid Build Coastguard Worker #include "ih264_platform_macros.h" 41*495ae853SAndroid Build Coastguard Worker #include "ih264d_structs.h" 42*495ae853SAndroid Build Coastguard Worker 43*495ae853SAndroid Build Coastguard Worker typedef enum 44*495ae853SAndroid Build Coastguard Worker { 45*495ae853SAndroid Build Coastguard Worker 46*495ae853SAndroid Build Coastguard Worker ERROR_MEM_ALLOC_ISRAM_T = 0x50, 47*495ae853SAndroid Build Coastguard Worker ERROR_MEM_ALLOC_SDRAM_T = 0x51, 48*495ae853SAndroid Build Coastguard Worker ERROR_BUF_MGR = 0x52, 49*495ae853SAndroid Build Coastguard Worker ERROR_DBP_MANAGER_T = 0x53, 50*495ae853SAndroid Build Coastguard Worker ERROR_GAPS_IN_FRM_NUM = 0x54, 51*495ae853SAndroid Build Coastguard Worker ERROR_UNKNOWN_NAL = 0x55, 52*495ae853SAndroid Build Coastguard Worker ERROR_INV_MB_SLC_GRP_T = 0x56, 53*495ae853SAndroid Build Coastguard Worker ERROR_MULTIPLE_SLC_GRP_T = 0x57, 54*495ae853SAndroid Build Coastguard Worker ERROR_UNKNOWN_LEVEL = 0x58, 55*495ae853SAndroid Build Coastguard Worker ERROR_FEATURE_UNAVAIL = 0x59, 56*495ae853SAndroid Build Coastguard Worker ERROR_NOT_SUPP_RESOLUTION = 0x5A, 57*495ae853SAndroid Build Coastguard Worker ERROR_INVALID_PIC_PARAM = 0x5B, 58*495ae853SAndroid Build Coastguard Worker ERROR_INVALID_SEQ_PARAM = 0x5C, 59*495ae853SAndroid Build Coastguard Worker ERROR_EGC_EXCEED_32_1_T = 0x5D, 60*495ae853SAndroid Build Coastguard Worker ERROR_EGC_EXCEED_32_2_T = 0x5E, 61*495ae853SAndroid Build Coastguard Worker ERROR_INV_RANGE_TEV_T = 0x5F, 62*495ae853SAndroid Build Coastguard Worker ERROR_INV_SLC_TYPE_T = 0x60, 63*495ae853SAndroid Build Coastguard Worker ERROR_UNAVAIL_PICBUF_T = 0x61, 64*495ae853SAndroid Build Coastguard Worker ERROR_UNAVAIL_MVBUF_T = 0x62, 65*495ae853SAndroid Build Coastguard Worker ERROR_UNAVAIL_DISPBUF_T = 0x63, 66*495ae853SAndroid Build Coastguard Worker ERROR_INV_POC_TYPE_T = 0x64, 67*495ae853SAndroid Build Coastguard Worker ERROR_PIC1_NOT_FOUND_T = 0x65, 68*495ae853SAndroid Build Coastguard Worker ERROR_PIC0_NOT_FOUND_T = 0x66, 69*495ae853SAndroid Build Coastguard Worker ERROR_NUM_REF = 0x67, 70*495ae853SAndroid Build Coastguard Worker ERROR_REFIDX_ORDER_T = 0x68, 71*495ae853SAndroid Build Coastguard Worker ERROR_EOB_FLUSHBITS_T = 0x69, 72*495ae853SAndroid Build Coastguard Worker ERROR_EOB_GETBITS_T = 0x6A, 73*495ae853SAndroid Build Coastguard Worker ERROR_EOB_GETBIT_T = 0x6B, 74*495ae853SAndroid Build Coastguard Worker ERROR_EOB_BYPASS_T = 0x6C, 75*495ae853SAndroid Build Coastguard Worker ERROR_EOB_DECISION_T = 0x6D, 76*495ae853SAndroid Build Coastguard Worker ERROR_EOB_TERMINATE_T = 0x6E, 77*495ae853SAndroid Build Coastguard Worker ERROR_EOB_READCOEFF4X4CAB_T = 0x6F, 78*495ae853SAndroid Build Coastguard Worker ERROR_INV_RANGE_QP_T = 0x70, 79*495ae853SAndroid Build Coastguard Worker ERROR_END_OF_FRAME_EXPECTED_T = 0x71, 80*495ae853SAndroid Build Coastguard Worker ERROR_MB_TYPE = 0x72, 81*495ae853SAndroid Build Coastguard Worker ERROR_SUB_MB_TYPE = 0x73, 82*495ae853SAndroid Build Coastguard Worker ERROR_CBP = 0x74, 83*495ae853SAndroid Build Coastguard Worker ERROR_REF_IDX = 0x75, 84*495ae853SAndroid Build Coastguard Worker ERROR_NUM_MV = 0x76, 85*495ae853SAndroid Build Coastguard Worker ERROR_CHROMA_PRED_MODE = 0x77, 86*495ae853SAndroid Build Coastguard Worker ERROR_INTRAPRED = 0x78, 87*495ae853SAndroid Build Coastguard Worker ERROR_NEXT_MB_ADDRESS_T = 0x79, 88*495ae853SAndroid Build Coastguard Worker ERROR_MB_ADDRESS_T = 0x7A, 89*495ae853SAndroid Build Coastguard Worker ERROR_MB_GROUP_ASSGN_T = 0x7B, 90*495ae853SAndroid Build Coastguard Worker ERROR_CAVLC_NUM_COEFF_T = 0x7C, 91*495ae853SAndroid Build Coastguard Worker ERROR_CAVLC_SCAN_POS_T = 0x7D, 92*495ae853SAndroid Build Coastguard Worker ERROR_CABAC_RENORM_T = 0x7E, 93*495ae853SAndroid Build Coastguard Worker ERROR_CABAC_SIG_COEFF1_T = 0x7F, 94*495ae853SAndroid Build Coastguard Worker ERROR_CABAC_SIG_COEFF2_T = 0x80, 95*495ae853SAndroid Build Coastguard Worker ERROR_CABAC_ENCODE_COEFF_T = 0x81, 96*495ae853SAndroid Build Coastguard Worker ERROR_INV_SPS_PPS_T = 0x82, 97*495ae853SAndroid Build Coastguard Worker ERROR_INV_SLICE_HDR_T = 0x83, 98*495ae853SAndroid Build Coastguard Worker ERROR_PRED_WEIGHT_TABLE_T = 0x84, 99*495ae853SAndroid Build Coastguard Worker IH264D_VERS_BUF_INSUFFICIENT = 0x85, 100*495ae853SAndroid Build Coastguard Worker ERROR_ACTUAL_LEVEL_GREATER_THAN_INIT = 0x86, 101*495ae853SAndroid Build Coastguard Worker ERROR_CORRUPTED_SLICE = 0x87, 102*495ae853SAndroid Build Coastguard Worker ERROR_FRAME_LIMIT_OVER = 0x88, 103*495ae853SAndroid Build Coastguard Worker ERROR_ACTUAL_RESOLUTION_GREATER_THAN_INIT = 0x89, 104*495ae853SAndroid Build Coastguard Worker ERROR_PROFILE_NOT_SUPPORTED = 0x8A, 105*495ae853SAndroid Build Coastguard Worker ERROR_DISP_WIDTH_RESET_TO_PIC_WIDTH = 0x8B, 106*495ae853SAndroid Build Coastguard Worker ERROR_DISP_WIDTH_INVALID = 0x8C, 107*495ae853SAndroid Build Coastguard Worker ERROR_DANGLING_FIELD_IN_PIC = 0x8D, 108*495ae853SAndroid Build Coastguard Worker ERROR_DYNAMIC_RESOLUTION_NOT_SUPPORTED = 0x8E, 109*495ae853SAndroid Build Coastguard Worker ERROR_INIT_NOT_DONE = 0x8F, 110*495ae853SAndroid Build Coastguard Worker ERROR_LEVEL_UNSUPPORTED = 0x90, 111*495ae853SAndroid Build Coastguard Worker ERROR_START_CODE_NOT_FOUND = 0x91, 112*495ae853SAndroid Build Coastguard Worker ERROR_PIC_NUM_IS_REPEATED = 0x92, 113*495ae853SAndroid Build Coastguard Worker ERROR_IN_LAST_SLICE_OF_PIC = 0x93, 114*495ae853SAndroid Build Coastguard Worker ERROR_NEW_FRAME_EXPECTED = 0x94, 115*495ae853SAndroid Build Coastguard Worker ERROR_INCOMPLETE_FRAME = 0x95, 116*495ae853SAndroid Build Coastguard Worker ERROR_VUI_PARAMS_NOT_FOUND = 0x96, 117*495ae853SAndroid Build Coastguard Worker ERROR_INV_POC = 0x97, 118*495ae853SAndroid Build Coastguard Worker ERROR_SEI_MDCV_PARAMS_NOT_FOUND = 0x98, 119*495ae853SAndroid Build Coastguard Worker ERROR_SEI_CLL_PARAMS_NOT_FOUND = 0x99, 120*495ae853SAndroid Build Coastguard Worker ERROR_SEI_AVE_PARAMS_NOT_FOUND = 0x9A, 121*495ae853SAndroid Build Coastguard Worker ERROR_SEI_CCV_PARAMS_NOT_FOUND = 0x9B, 122*495ae853SAndroid Build Coastguard Worker ERROR_INV_SEI_MDCV_PARAMS = 0x9C, 123*495ae853SAndroid Build Coastguard Worker ERROR_INV_SEI_CLL_PARAMS = 0x9D, 124*495ae853SAndroid Build Coastguard Worker ERROR_INV_SEI_AVE_PARAMS = 0x9E, 125*495ae853SAndroid Build Coastguard Worker ERROR_INV_SEI_CCV_PARAMS = 0x9F, 126*495ae853SAndroid Build Coastguard Worker ERROR_INV_FRAME_NUM = 0xA0, 127*495ae853SAndroid Build Coastguard Worker ERROR_SEI_SII_PARAMS_NOT_FOUND = 0xA1, 128*495ae853SAndroid Build Coastguard Worker ERROR_INV_SEI_SII_PARAMS = 0xA2, 129*495ae853SAndroid Build Coastguard Worker ERROR_SEI_FGC_PARAMS_NOT_FOUND = 0xA3, 130*495ae853SAndroid Build Coastguard Worker ERROR_INV_SEI_FGC_PARAMS = 0xA4 131*495ae853SAndroid Build Coastguard Worker 132*495ae853SAndroid Build Coastguard Worker } h264_decoder_error_code_t; 133*495ae853SAndroid Build Coastguard Worker 134*495ae853SAndroid Build Coastguard Worker WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec, 135*495ae853SAndroid Build Coastguard Worker WORD32 num_mb_skip, 136*495ae853SAndroid Build Coastguard Worker UWORD8 u1_is_idr_slice, 137*495ae853SAndroid Build Coastguard Worker UWORD16 u2_frame_num, 138*495ae853SAndroid Build Coastguard Worker pocstruct_t *ps_cur_poc, 139*495ae853SAndroid Build Coastguard Worker WORD32 prev_slice_err); 140*495ae853SAndroid Build Coastguard Worker 141*495ae853SAndroid Build Coastguard Worker void ih264d_err_pic_dispbuf_mgr(dec_struct_t *ps_dec); 142*495ae853SAndroid Build Coastguard Worker #endif /* _IH264D_ERROR_HANDLER_H_ */ 143