/******************************************************************************/ /** * * @file drv_slr.h * * @brief This file specifies the APIs provided to control SLR(Scaler) * * @note Copyright (c) 2013 S2 Technology Co., Ltd. \n * All rights reserved. * * @author * ******************************************************************************/ #ifndef __DRV_SLR_H__ #define __DRV_SLR_H__ /******************************************************************************* * Header include ******************************************************************************/ #include "drv_types.h" typedef enum _DRV_SLR_CONFIG { eSLR_CONFIG_PRE_NON_POST_NON, eSLR_CONFIG_PRE_H_POST_6HV, eSLR_CONFIG_PRE_6HV_POST_H, eSLR_CONFIG_PRE_H_6HV_POST_NON, eSLR_CONFIG_PRE_6HV_H_POST_NON, eSLR_CONFIG_PRE_NON_POST_H_6HV, eSLR_CONFIG_PRE_NON_POST_6HV_H, eSLR_CONFIG_PRE_H_POST_NON, eSLR_CONFIG_PRE_6HV_POST_NON, eSLR_CONFIG_PRE_NON_POST_H, eSLR_CONFIG_PRE_NON_POST_6HV, } DRV_SLR_CONFIG; DRV_SLR_CONFIG DRV_SLR_GetConfig(void); #if CONFIG_CHIPID == 0x330 void DRV_SLR_SetFactor_Width(DRV_SLR_CONFIG dSlrConfig, UINT16 ulPreHScalerInputWidth, UINT16 ulPreHScalerOutputWidth, UINT16 iPreHfactor, UINT16 ulPostScalerInputWidth, UINT16 ulPostScalerOutputWidth, UINT16 iPostHfactor, UINT16 wAspWinHSize); #else void DRV_SLR_SetFactor_Width(DRV_SLR_CONFIG dSlrConfig, UINT16 ulPreHScalerInputWidth, UINT16 ulPreHScalerOutputWidth, UINT16 iPreHfactor, UINT16 ulPostScalerInputWidth, UINT16 ulPostScalerOutputWidth, UINT16 iPostHfactor); #endif void DRV_SLR_SetFactor_HFactor_6HV(UINT16 iHfactor); UINT16 DRV_SLR_GetFactor_HFactor_6HV(void); void DRV_SLR_SetFactor_HFactor(UINT16 iHfactor); UINT16 DRV_SLR_GetFactor_HFactor(void); void DRV_SLR_SetFactor_InputWidth(UINT16 ulScalerInputWidth); void DRV_SLR_SetFactor_OutputWidth(UINT16 ulScalerOutputWidth); void DRV_SLR_SetFactor_InputWidth_6HV(UINT16 ulScalerInputWidth); void DRV_SLR_SetFactor_OutputWidth_6HV(UINT16 ulScalerOutputWidth); void DRV_SLR_SetFactor_Height(DRV_SLR_CONFIG dSlrConfig, UINT16 ulScalerInputHeight, UINT16 ulScalerOutputHeight, UINT16 iVfactor, BOOL bInterlaceMode, UINT8 ucInput3dType, UINT16 ulInputCaptureVSize, UINT16 ulOutputVSize); void DRV_SLR_SetFactor_InputHeight(UINT16 ulScalerInputHeight); void DRV_SLR_SetFactor_OutputHeight(UINT16 ulScalerOutputHeight); void DRV_SLR_SetFactor_Bob_VFactor(UINT16 iVfactor); UINT16 DRV_SLR_GetFactor_VFactor(void); void DRV_SLR_SetFactor_VScalingDown_Range(UINT8 range, BOOL bInterlaceMode, UINT16 ulInputCaptureVSize, UINT16 ulOutputVSize); void DRV_SLR_ResetScaler(void); void DRV_SLR_EnableShrinkage_6HV(BOOL bEn6HV); void DRV_SLR_EnableShrinkage_H(BOOL bEnH); void DRV_SLR_EnableExpansion_6HV(BOOL bEn6HV); void DRV_SLR_EnableExpansion_H(BOOL bEn6HV); void DRV_SLR_Deinterlace_EnableForce3DDeint(BOOL bEnable); void DRV_SLR_DeInterlace_EnableFirstLine(BOOL bEnable); void DRV_SLR_DeInterlace_EnableMAD(BOOL bEnable); void DRV_SLR_EnableVFlip(BOOL bEnable); void DRV_SLR_SetFactor_Pararomic(UINT16 left, UINT16 left0, UINT16 right, UINT16 right0, UINT16 inc, UINT16 hfactor0); void DRV_SLR_SetFactor_Pararomic_6HV(UINT16 left, UINT16 left0, UINT16 right, UINT16 right0, UINT16 inc, UINT16 hfactor0); void DRV_SLR_SetFifoCtl(UINT8 ucSource, UINT32 ulDSInputWidth, BOOL bIsPCSource, BOOL bCVD2_slr_422_en); #if CONFIG_CHIPID != 0x330 void DRV_SLR_SetFetchWindow(UINT16 hds, UINT16 hde, UINT16 vds, UINT16 vde); #endif void DRV_SLR_BubbleRatio(UINT8 denValue,UINT8 numValue); #endif