| /****************************************************************************** |
| * |
| * 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_ |