/****************************************************************************** * * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ***************************************************************************** * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore */ /** ****************************************************************************** * @file ihevce_trace.h * * @brief * This file contains entropy and cabac trace related structures and macros * * @author * Ittiam ****************************************************************************** */ #ifndef _IHEVCE_TRACE_H_ #define _IHEVCE_TRACE_H_ #define ENABLE_TRACE 0 /*****************************************************************************/ /* Constant Macros */ /*****************************************************************************/ /* strings assigned for prefix names */ // clang-format off #define SEQ_LEVEL "SEQ" /*!< prefix string for sequence params */ #define HRD_LEVEL "HRD" /*!< prefix string for hrd params */ #define PIC_LEVEL "PIC_INFO" /*!< prefix string for picture params */ #define SLICE_LEVEL "SLICE" /*!< prefix string for slice params */ #define MB_LEVEL "MB" /*!< prefix string for MB params */ #define ECD_DATA "ECD" #define LYR_COEFF_LEVEL "LYR" /*!< prefix string for current layer tx levels */ #define ACC_COEFF_LEVEL "LYR" /*!< prefix string for accumulated tx levels/coeffs */ #define ACC_COEFFS "LYR" /*!< prefix string for accumulated coeffs */ #define LYR_DIFF_SIG "LYR" /*!< prefix string for MB params */ #define LYR_IP_SIG "LYR" /*!< prefix string for MB params */ #define RES_CHANGE_SIG "RES CGE" #define REF_BASE_DEBLK "REF BASE" /*!< refix string for ref base parameters */ #define TARGET_DEBLK "TGT" /*!< prefix string for target layer parameters */ #define TARGET_MC "TGT" /*!< prefix string for target layer parameters */ #define DUMMY "NOT VALID" // clang-format on #define TRACE(a) ihevce_trace((a)) /*****************************************************************************/ /* Enums */ /*****************************************************************************/ typedef enum { IHEVCE_FALSE = 0, IHEVCE_TRUE = 1 } IHEVCE_BOOL_T; // clang-format off typedef enum { TRACE_SEQ = 0x00000001, /*!< sequence params dump enable */ TRACE_PIC = 0x00000002, /*!< picparams dump enable */ TRACE_SLICE = 0x00000004, /*!< slice params dump enable */ TRACE_MB_PARAMS = 0x00000008, /*!< mb level decoded dump enable */ TRACE_MB_INF_PARAMS = 0x00000010, /*!< mb level inferred dumping enable */ TRACE_ECD_DATA = 0x00000020, /*!< ECD data dump */ TRACE_LYR_COEFF_LEVEL = 0x00000040, /*!< Current layer coeff levels */ TRACE_ACC_COEFF_LEVEL = 0x00000080, /*!< Accumulated coffs/level */ TRACE_ACC_COEFFS = 0x00000100, /*!< Accumulated coeffs */ TRACE_LYR_DIFF_SIG = 0x00000200, /*!< layer level differential signal */ TRACE_LYR_IP_SIG = 0x00000400, /*!< layer level Intra pred signal */ TRACE_INTRA_UPSMPL_SIG= 0x00000800, /*!< Intra upsampled data */ TRACE_RES_UPSMPL_SIG = 0x00001000, /*!< Residual upsampled data */ TRACE_BS_INFO = 0x00002000, /*!< BS information */ TRACE_RES_CGE_MV = 0x00100000, /*!< Res change Motion vectors */ TRACE_RES_CGE_MODE = 0x00200000, /*!< Res change MB modes */ TRACE_RES_CGE_DATA = 0x00400000, /*!< Res change data */ TRACE_TGT_MC_PRED = 0x00800000, /*!< moiton comp pred sugnal dump enable */ TRACE_TGT_LYR_DEBLK = 0x08000000, /*!< Input to target layer deblocking */ TRACE_REF_BASE_DEBLK = 0x10000000, /*!< deblocked data dumping enable */ TRACE_ALL = 0xFFFFFFFF /*!< all params dumping enable */ }TRACE_PREFIX_T; // clang-format on /*****************************************************************************/ /* Globals */ /*****************************************************************************/ extern const char *g_api1_prefix_name[32]; /* Dummy macros when trace is disabled */ #define ENTROPY_TRACE(syntax_string, value) #define AEV_TRACE(string, value, range) /*****************************************************************************/ /* Extern Function Declarations */ /*****************************************************************************/ WORD32 ihevce_trace(UWORD32 u4_prefix); #endif //_IHEVCE_TRACE_H_