1/****************************************************************************** 2 * 3 * Copyright (C) 2015 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************************** 18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*/ 20#ifndef _IH264D_DEBUG_H_ 21#define _IH264D_DEBUG_H_ 22 23/*! 24 ************************************************************************** 25 * \file ih264d_debug.h 26 * 27 * \brief 28 * Contains declarations used for debugging 29 * 30 * \date 31 * 2/12/2002 32 * 33 * \author AI 34 ************************************************************************** 35 */ 36#ifdef DEBUG_DEC 37#define H264_DEC_DEBUG_PRINT(...) printf("\n[H264_DEBUG] %s/%d:: ", __FUNCTION__, __LINE__);printf(__VA_ARGS__) 38#else //DEBUG_DEC 39#define H264_DEC_DEBUG_PRINT(...) {} 40#endif //DEBUG_DEC 41#define STRENGTH_DEBLOCKING 0 //sanjeev 42#define DEBUG_RECONSTRUCT_LUMA 0 43#define DEBUG_RECONSTRUCT_CHROMA 0 44 45#define DEBUG_IDCT 0 46#define DEBUG_LUMA_IDCT 0 47#define DEBUG_REF_IDCT 0 48 49#define BIN_BIT_RATIO 0 50#define MB_PART_HIST 0 51 52#define MB_INTRA_PREDICTION 1 53 54#ifdef WIN32 55#define CHK_PURIFY 0 56#else 57#define CHK_PURIFY 0 58#endif 59 60#if MB_INTRA_PREDICTION 61#define MB_INTRA_CHROMA_PREDICTION_ON 1 62#define MB_INTRA_4x4_PREDICTION_ON 1 63#define MB_INTRA_16x16_PREDICTION_ON 1 64#endif 65 66#define TRACE 0 67#define DEBUG_CABAC 0 68#define DEBUG_ABS_MVD 0 69#define DEBUG_INTRA_PRED_MODES 0 70#define DEBUG_DEBLOCKING 0 71 72#define COPYTHECONTEXT(s,val) 73#define PRINT_TRACE 74#define PRINT_TRACE_CAB 75#define SWITCHOFFTRACE 76#define SWITCHONTRACE 77#define SWITCHOFFTRACECABAC 78#define SWITCHONTRACECABAC 79 80#define INC_BIN_COUNT(ps_cab_env) 81#define INC_DECISION_BINS(ps_cab_env) 82#define INC_BYPASS_BINS(ps_cab_env) 83#define INC_SYM_COUNT(ps_cab_env) 84#define PRINT_BIN_BIT_RATIO(ps_dec) 85#define RESET_BIN_COUNTS(ps_cab_env) 86 87 88#ifdef PROFILE_DIS_DEBLK 89#define PROFILE_DISABLE_DEBLK() return; 90#else 91#define PROFILE_DISABLE_DEBLK() ; 92#endif 93 94#ifdef PROFILE_DIS_IQ_IT_RECON 95#define PROFILE_DISABLE_IQ_IT_RECON() if (0) 96#define PROFILE_DISABLE_IQ_IT_RECON_RETURN() return; 97#else 98#define PROFILE_DISABLE_IQ_IT_RECON() ; 99#define PROFILE_DISABLE_IQ_IT_RECON_RETURN() ; 100#endif 101 102#ifdef PROFILE_DIS_INTRA_PRED 103#define PROFILE_DISABLE_INTRA_PRED() if (0) 104#else 105#define PROFILE_DISABLE_INTRA_PRED() ; 106#endif 107 108#ifdef PROFILE_DIS_UNPACK 109#define PROFILE_DISABLE_UNPACK_LUMA() return 0; 110#define PROFILE_DISABLE_UNPACK_CHROMA() return ; 111#else 112#define PROFILE_DISABLE_UNPACK_LUMA() ; 113#define PROFILE_DISABLE_UNPACK_CHROMA() ; 114#endif 115 116#ifdef PROFILE_DIS_INTER_PRED 117#define PROFILE_DISABLE_INTER_PRED() return; 118#else 119#define PROFILE_DISABLE_INTER_PRED() ; 120#endif 121 122#ifdef PROFILE_DIS_BOUNDARY_STRENGTH 123#define PROFILE_DISABLE_BOUNDARY_STRENGTH() return; 124#else 125#define PROFILE_DISABLE_BOUNDARY_STRENGTH() ; 126#endif 127 128#ifdef PROFILE_DIS_MB_PART_INFO 129#define PROFILE_DISABLE_MB_PART_INFO() return 0; 130#else 131#define PROFILE_DISABLE_MB_PART_INFO() ; 132#endif 133 134#endif /* _IH264D_DEBUG_H_ */ 135 136