Home | History | Annotate | Download | only in decoder
      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