1 /****************************************************************************** 2 * 3 * Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore 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 /** 19 ******************************************************************************* 20 * @file 21 * ihevcd_profile.h 22 * 23 * @brief 24 * Contains macros for profiling individual modules of decoder 25 * 26 * @author 27 * Naveen SR 28 * 29 * @par List of Functions: 30 * 31 * @remarks 32 * None 33 * 34 ******************************************************************************* 35 */ 36 37 #ifndef _IHEVCD_PROFILE_H_ 38 #define _IHEVCD_PROFILE_H_ 39 40 #include "ihevc_defs.h" 41 /* Define return; to disable individual module */ 42 #ifdef PROFILE_DIS_SAO_LEAF_LEVEL 43 #define PROFILE_DISABLE_SAO_LEAF_LEVEL() return; 44 #else 45 #define PROFILE_DISABLE_SAO_LEAF_LEVEL() ; 46 #endif 47 48 #ifdef PROFILE_DIS_SAO 49 #define PROFILE_DISABLE_SAO() return; 50 #else 51 #define PROFILE_DISABLE_SAO() ; 52 #endif 53 54 #ifdef PROFILE_DIS_DEBLK 55 #define PROFILE_DISABLE_DEBLK() return; 56 #else 57 #define PROFILE_DISABLE_DEBLK() ; 58 #endif 59 60 #ifdef PROFILE_DIS_IQ_IT_RECON_INTRA_PRED 61 #define PROFILE_DISABLE_IQ_IT_RECON_INTRA_PRED() return; 62 #else 63 #define PROFILE_DISABLE_IQ_IT_RECON_INTRA_PRED() ; 64 #endif 65 66 #ifdef PROFILE_DIS_INTER_PRED 67 #define PROFILE_DISABLE_INTER_PRED() return; 68 #else 69 #define PROFILE_DISABLE_INTER_PRED() ; 70 #endif 71 72 #ifdef PROFILE_DIS_PROCESS_CTB 73 #define PROFILE_DISABLE_PROCESS_CTB() return; 74 /* When processing is disabled, no point in format converion as well */ 75 #define PROFILE_DISABLE_FMT_CONV() return 0; 76 #else 77 #define PROFILE_DISABLE_PROCESS_CTB() ; 78 #define PROFILE_DISABLE_FMT_CONV(); 79 #endif 80 81 #ifdef PROFILE_DIS_BOUNDARY_STRENGTH 82 #define PROFILE_DISABLE_BOUNDARY_STRENGTH() return; 83 #else 84 #define PROFILE_DISABLE_BOUNDARY_STRENGTH() ; 85 #endif 86 87 #ifdef PROFILE_DIS_MV_PREDICTION 88 #define PROFILE_DISABLE_MV_PREDICTION() return; 89 #else 90 #define PROFILE_DISABLE_MV_PREDICTION() ; 91 #endif 92 93 //#define PROFILE_DISABLE_INTER_PRED_LUMA(clr_indx) {if(clr_indx == 0) continue;} 94 //#define PROFILE_DISABLE_INTER_PRED_CHROMA(clr_indx) {if(clr_indx == 1) continue;} 95 //#define PROFILE_DISABLE_INTER_PRED_LUMA_AVERAGING(clr_indx) {if(clr_indx == 0) continue;} 96 //#define PROFILE_DISABLE_INTER_PRED_CHROMA_AVERAGING(clr_indx) {if(clr_indx == 1) continue;} 97 98 #define PROFILE_DISABLE_INTER_PRED_LUMA(clr_indx) ; 99 #define PROFILE_DISABLE_INTER_PRED_CHROMA(clr_indx) ; 100 #define PROFILE_DISABLE_INTER_PRED_LUMA_AVERAGING(clr_indx) ; 101 #define PROFILE_DISABLE_INTER_PRED_CHROMA_AVERAGING(clr_indx) ; 102 103 #endif /* _IHEVCD_PROFILE_H_ */ 104