You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
5.3 KiB
115 lines
5.3 KiB
4 months ago
|
/******************************************************************************
|
||
|
*
|
||
|
* 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_
|