123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- /******************************************************************************/
- /**
- *
- * @file drv_gfx.h
- *
- * @brief This file specifies the APIs provided to control GFX(Graphics Input)
- *
- * @note Copyright (c) 2013 S2 Technology Co., Ltd. \n
- * All rights reserved.
- *
- * @author
- *
- ******************************************************************************/
- #ifndef __DRV_GFX_H__
- #define __DRV_GFX_H__
- /*******************************************************************************
- * Header include
- ******************************************************************************/
- #include "drv_types.h"
- #include "drv_pq_external.h"
- typedef enum _DRV_GFX_YUV_TYPE
- {
- eGFX_YUV_444_10bit=0,
- eGFX_YUV_444_8bit,
- eGFX_YUV_422_10bit,
- eGFX_YUV_422_8bit,
- } DRV_GFX_YUV_TYPE;
- typedef enum _DRV_GFX_YCBCR_RANGE
- {
- eGFX_YCBCR_235=0,
- eGFX_YCBCR_255,
- eGFX_YCBCR_NONE,
- } DRV_GFX_YCBCR_RANGE;
- void DRV_GFX_Enable(BOOL fEnable);
- void DRV_GFX_Reset(BOOL fEnable);
- void DRV_GFX_SetYUVTypeAndChromaFilter(DRV_GFX_YUV_TYPE eType, BOOL fEnable);
- UINT8 DRV_GFX_GetYUVType(DRV_GFX_YUV_TYPE eType);
- void DRV_GFX_SetMem_Y_Offset(UINT32 offset);
- UINT32 DRV_GFX_GetMem_Y_Offset(void);
- void DRV_GFX_SetMem_Y_Size(UINT32 size);
- void DRV_GFX_SetMem_UV_Offset(UINT32 offset);
- void DRV_GFX_SetMem_UV_Size(UINT32 size);
- void DRV_GFX_SetMem_Motion_Offset(UINT32 offset);
- void DRV_GFX_SetMem_Motion_Size(UINT32 size);
- void DRV_GFX_SetMem_MBW_Offset(UINT32 offset);
- void DRV_GFX_SetMem_MBW_Size(UINT32 size);
- void DRV_GFX_SetMem_Pack_Width(UINT32 y_width,UINT32 uv_width, UINT32 mo_width, UINT32 mbw_width);
- void DRV_GFX_SetMem_Y_StartAddress(UINT32 f0, UINT32 f1, UINT32 f2, UINT32 f3);
- void DRV_GFX_SetMem_UV_StartAddress(UINT32 f0, UINT32 f1, UINT32 f2, UINT32 f3);
- void DRV_GFX_SetMem_MotionMBW_StartAddress(UINT32 f0);
- void DRV_GFX_SetRGB2YCbCrRange(DRV_GFX_YCBCR_RANGE eRange);
- void DRV_GFX_SetDither(BOOL fEnable);
- void DRV_GFX_SetMem_YUV888SizeAndPackwidth(UINT32 y_size, UINT32 uv_size, UINT32 y_width, UINT32 uv_width);
- void DRV_GFX_SetMem_LastNum(UINT32 y_lastnum, UINT32 uv_lastnum, UINT32 mo_lastnum, UINT32 mbw_lastnum);
- void DRV_GFX_SetMem_LastNum_8bit(UINT32 y_lastnum, UINT32 uv_lastnum);
- void DRV_GFX_SetMotionDataWrite(BOOL fEnable);
- void DRV_GFX_SetDoubleFrameBuffer(BOOL fEnable);
- void DRV_GFX_SetUseVDIAddressing(BOOL fEnable);
- void DRV_GFX_SetMem_420Format(BOOL fEnable);
- void DRV_GFX_SetY8bit(BOOL fEnable);
- void DRV_GFX_SetMem_Pack_LastPopOperaMode(BOOL fEnable);
- void DRV_GFX_SetMQThr(UINT32 nValue);
- void DRV_GFX_SetColorCross_Offset(UINT32 y_dat_offset, UINT32 y_cnt_offset, UINT32 c_dat_offset, UINT32 c_cnt_offset);
- void DRV_GFX_SetColorCross_Size(UINT32 y_dat_size, UINT32 y_cnt_size, UINT32 c_dat_size, UINT32 c_cnt_size);
- void DRV_GFX_SetColorCross_Width(UINT32 y_dat_width, UINT32 y_cnt_width, UINT32 c_dat_width, UINT32 c_cnt_width);
- void DRV_GFX_SetHsyncMode(UINT8 cMode);
- /**
- * @brief Control GFX RGB to YCbCr matrix reference HW orignal 601 matrix or SW setting
- *
- * This function control GFX RGB to YCbCr matrix
- *
- * @param uEnable : value 0 mean convert by 601 matrix(HW orignal design), 1 mean GFX matrix will reference GFX_RGB2YCBCR_MAT_A11 ~ GFX_RGB2YCBCR_MAT_A34 setting
- *
- * @return : n/a
- */
- void DRV_GFX_SetRGB2YCbCrMatrixOpt(BOOL uEnable);
- /**
- * @brief Set parameter to the RGB to YCbCr matrix in GFX
- *
- * This function set parameter to the RGB to YCbCr matrix in GFX
- *
- * @param matrix coefficient
- *
- * @return : n/a
- */
- void DRV_GFX_SetMatrix(CSC_SETTING* pRGB2YCCMatrix);
- /**
- * @brief Set GFX memory request opteration
- *
- * This function design to prevent current lint send request before previos line send last request
- *
- * @param uEnable = 0 to disable function, 1 to prevent current lint send request before previos line send last request
- *
- * @return : n/a
- */
- void DRV_GFX_MemRequestOpt(BOOL uEnable);
- /**
- * @brief Set GFX Read/Write memory enable/disable
- *
- * This function design to control GFX read/write memory operation
- *
- * @param uEnable = 0 to disable GFX read/write memory operation, 0x3f to enable GFX read/write memory operation
- *
- * @return : n/a
- */
- void DRV_GFX_MemReadWriteEnable(BOOL uEnable);
- #endif
|