1*a97c2a1fSXin Li /****************************************************************************** 2*a97c2a1fSXin Li * 3*a97c2a1fSXin Li * Copyright (C) 2015 The Android Open Source Project 4*a97c2a1fSXin Li * 5*a97c2a1fSXin Li * Licensed under the Apache License, Version 2.0 (the "License"); 6*a97c2a1fSXin Li * you may not use this file except in compliance with the License. 7*a97c2a1fSXin Li * You may obtain a copy of the License at: 8*a97c2a1fSXin Li * 9*a97c2a1fSXin Li * http://www.apache.org/licenses/LICENSE-2.0 10*a97c2a1fSXin Li * 11*a97c2a1fSXin Li * Unless required by applicable law or agreed to in writing, software 12*a97c2a1fSXin Li * distributed under the License is distributed on an "AS IS" BASIS, 13*a97c2a1fSXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*a97c2a1fSXin Li * See the License for the specific language governing permissions and 15*a97c2a1fSXin Li * limitations under the License. 16*a97c2a1fSXin Li * 17*a97c2a1fSXin Li ***************************************************************************** 18*a97c2a1fSXin Li * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*a97c2a1fSXin Li */ 20*a97c2a1fSXin Li /*****************************************************************************/ 21*a97c2a1fSXin Li /* */ 22*a97c2a1fSXin Li /* File Name : c_coding_example.h */ 23*a97c2a1fSXin Li /* */ 24*a97c2a1fSXin Li /* Description : This file contains all the necessary examples to */ 25*a97c2a1fSXin Li /* establish a consistent use of Ittiam C coding */ 26*a97c2a1fSXin Li /* standards (based on Indian Hill C Standards) */ 27*a97c2a1fSXin Li /* */ 28*a97c2a1fSXin Li /* List of Functions : <List the functions defined in this file> */ 29*a97c2a1fSXin Li /* */ 30*a97c2a1fSXin Li /* Issues / Problems : None */ 31*a97c2a1fSXin Li /* */ 32*a97c2a1fSXin Li /* Revision History : */ 33*a97c2a1fSXin Li /* */ 34*a97c2a1fSXin Li /* DD MM YYYY Author(s) Changes (Describe the changes made) */ 35*a97c2a1fSXin Li /* 10 01 2005 Ittiam Draft */ 36*a97c2a1fSXin Li /* */ 37*a97c2a1fSXin Li /*****************************************************************************/ 38*a97c2a1fSXin Li #ifndef __IMPEG2D_DEBUG_H__ 39*a97c2a1fSXin Li #define __IMPEG2D_DEBUG_H__ 40*a97c2a1fSXin Li 41*a97c2a1fSXin Li 42*a97c2a1fSXin Li /*************************************************************************/ 43*a97c2a1fSXin Li /* DEBUG */ 44*a97c2a1fSXin Li /*************************************************************************/ 45*a97c2a1fSXin Li #define DEBUG_MB 0 46*a97c2a1fSXin Li 47*a97c2a1fSXin Li 48*a97c2a1fSXin Li #if DEBUG_MB 49*a97c2a1fSXin Li void impeg2d_trace_mb_start(UWORD32 mb_x, UWORD32 mb_y); 50*a97c2a1fSXin Li void impeg2d_frm_num_set(void); 51*a97c2a1fSXin Li UWORD32 impeg2d_frm_num_get(void); 52*a97c2a1fSXin Li 53*a97c2a1fSXin Li #define IMPEG2D_TRACE_MB_START(mb_x, mb_y) void impeg2d_trace_mb_start(UWORD32 mb_x, UWORD32 mb_y); 54*a97c2a1fSXin Li #define IMPEG2D_FRM_NUM_SET() void impeg2d_frm_num_set(void); 55*a97c2a1fSXin Li #define IMPEG2D_FRM_NUM_GET() UWORD32 impeg2d_frm_num_get(void); 56*a97c2a1fSXin Li #else 57*a97c2a1fSXin Li #define IMPEG2D_TRACE_MB_START(mb_x, mb_y) 58*a97c2a1fSXin Li #define IMPEG2D_FRM_NUM_SET() 59*a97c2a1fSXin Li #define IMPEG2D_FRM_NUM_GET() 60*a97c2a1fSXin Li #endif 61*a97c2a1fSXin Li 62*a97c2a1fSXin Li 63*a97c2a1fSXin Li #define STATISTICS 0 64*a97c2a1fSXin Li 65*a97c2a1fSXin Li #if STATISTICS 66*a97c2a1fSXin Li void impeg2d_idct_inp_statistics(WORD16 *pi2_idct_inp, WORD32 non_zero_cols, WORD32 non_zero_rows); 67*a97c2a1fSXin Li void impeg2d_iqnt_inp_statistics(WORD16 *pi2_iqnt_inp, WORD32 non_zero_cols, WORD32 non_zero_rows); 68*a97c2a1fSXin Li void impeg2d_print_statistics(void); 69*a97c2a1fSXin Li #define IMPEG2D_IDCT_INP_STATISTICS(pi2_idct_inp, non_zero_cols, non_zero_rows) impeg2d_idct_inp_statistics(pi2_idct_inp, non_zero_cols, non_zero_rows) 70*a97c2a1fSXin Li #define IMPEG2D_IQNT_INP_STATISTICS(pi2_iqnt_inp, non_zero_cols, non_zero_rows) impeg2d_iqnt_inp_statistics(pi2_iqnt_inp, non_zero_cols, non_zero_rows) 71*a97c2a1fSXin Li #define IMPEG2D_PRINT_STATISTICS() impeg2d_print_statistics() 72*a97c2a1fSXin Li #else 73*a97c2a1fSXin Li #define IMPEG2D_IDCT_INP_STATISTICS(pi2_idct_inp, non_zero_cols, non_zero_rows) 74*a97c2a1fSXin Li #define IMPEG2D_IQNT_INP_STATISTICS(pi2_iqnt_inp, non_zero_cols, non_zero_rows) 75*a97c2a1fSXin Li #define IMPEG2D_PRINT_STATISTICS() 76*a97c2a1fSXin Li #endif 77*a97c2a1fSXin Li 78*a97c2a1fSXin Li 79*a97c2a1fSXin Li #if 0 80*a97c2a1fSXin Li #define PROFILE_DIS_SKIP_MB 81*a97c2a1fSXin Li #define PROFILE_DIS_MC 82*a97c2a1fSXin Li #define PROFILE_DIS_INVQUANT 83*a97c2a1fSXin Li #define PROFILE_DIS_IDCT 84*a97c2a1fSXin Li #define PROFILE_DIS_MEMSET_RESBUF 85*a97c2a1fSXin Li #endif 86*a97c2a1fSXin Li 87*a97c2a1fSXin Li 88*a97c2a1fSXin Li #ifdef PROFILE_DIS_SKIP_MB 89*a97c2a1fSXin Li #define PROFILE_DISABLE_SKIP_MB() return; 90*a97c2a1fSXin Li #else 91*a97c2a1fSXin Li #define PROFILE_DISABLE_SKIP_MB() 92*a97c2a1fSXin Li #endif 93*a97c2a1fSXin Li 94*a97c2a1fSXin Li #ifdef PROFILE_DIS_MC 95*a97c2a1fSXin Li #define PROFILE_DISABLE_MC_IF0 if(0) 96*a97c2a1fSXin Li #define PROFILE_DISABLE_MC_RETURN return; 97*a97c2a1fSXin Li #else 98*a97c2a1fSXin Li #define PROFILE_DISABLE_MC_IF0 99*a97c2a1fSXin Li #define PROFILE_DISABLE_MC_RETURN 100*a97c2a1fSXin Li #endif 101*a97c2a1fSXin Li 102*a97c2a1fSXin Li #ifdef PROFILE_DIS_INVQUANT 103*a97c2a1fSXin Li #define PROFILE_DISABLE_INVQUANT_IF0 if(0) 104*a97c2a1fSXin Li #else 105*a97c2a1fSXin Li #define PROFILE_DISABLE_INVQUANT_IF0 106*a97c2a1fSXin Li #endif 107*a97c2a1fSXin Li 108*a97c2a1fSXin Li #ifdef PROFILE_DIS_IDCT 109*a97c2a1fSXin Li #define PROFILE_DISABLE_IDCT_IF0 if(0) 110*a97c2a1fSXin Li #else 111*a97c2a1fSXin Li #define PROFILE_DISABLE_IDCT_IF0 112*a97c2a1fSXin Li #endif 113*a97c2a1fSXin Li 114*a97c2a1fSXin Li #ifdef PROFILE_DIS_MEMSET_RESBUF 115*a97c2a1fSXin Li #define PROFILE_DISABLE_MEMSET_RESBUF_IF0 if(0) 116*a97c2a1fSXin Li #else 117*a97c2a1fSXin Li #define PROFILE_DISABLE_MEMSET_RESBUF_IF0 118*a97c2a1fSXin Li #endif 119*a97c2a1fSXin Li 120*a97c2a1fSXin Li 121*a97c2a1fSXin Li #endif /* __IMPEG2D_DEBUG_H__ */ 122