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