/**
 * @file hv_comm_TimingDatabase.h
 * @brief Header file of mute module.
 *
 * @verbatim
 * ==============================================================================
 *                        ##### How to use #####
 * ==============================================================================
 *
 * @endverbatim
 *
 * @author HiView SoC Software Team
 * @version 1.0.0
 * @date 2022-08-22
 */

#ifndef _HV_COMMON_TIMINGDATABASE_H
#define _HV_COMMON_TIMINGDATABASE_H

#include "hv_vos_Comm.h"
#include "hv_comm_DataType.h"


#ifdef __cplusplus
extern "C" {
#endif

#define PIXEL_CLK_DELTA_MAX 1000       /* KHz */

typedef struct _ResolutionType
{
    USHORT16 usHactive;
    USHORT16 usVactive;
    USHORT16 usHtotal;
    USHORT16 usVtotal;
    UINT32   uiFreqKHz;
} ResolutionType;

/**
 * @brief Check if CE timing
 * @param[in] usHactive
 * @param[in] usVactive
 * @param[in] usHtotal
 * @param[in] usVtotal
 * @param[in] uiFreqKHz
 * @return HV_TRUE: CE timing, HV_FALSE: IT timing.
 */
BOOL Hv_Common_Timing_IsCe(USHORT16 usHactive, USHORT16 usVactive, USHORT16 usHtotal, USHORT16 usVtotal, UINT32 uiFreqKHz);

#ifdef __cplusplus
}
#endif
#endif /* _HV_COMMON_TIMER_H */
