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