drv_slr.h 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /******************************************************************************/
  2. /**
  3. *
  4. * @file drv_slr.h
  5. *
  6. * @brief This file specifies the APIs provided to control SLR(Scaler)
  7. *
  8. * @note Copyright (c) 2013 S2 Technology Co., Ltd. \n
  9. * All rights reserved.
  10. *
  11. * @author
  12. *
  13. ******************************************************************************/
  14. #ifndef __DRV_SLR_H__
  15. #define __DRV_SLR_H__
  16. /*******************************************************************************
  17. * Header include
  18. ******************************************************************************/
  19. #include "drv_types.h"
  20. typedef enum _DRV_SLR_CONFIG
  21. {
  22. eSLR_CONFIG_PRE_NON_POST_NON,
  23. eSLR_CONFIG_PRE_H_POST_6HV,
  24. eSLR_CONFIG_PRE_6HV_POST_H,
  25. eSLR_CONFIG_PRE_H_6HV_POST_NON,
  26. eSLR_CONFIG_PRE_6HV_H_POST_NON,
  27. eSLR_CONFIG_PRE_NON_POST_H_6HV,
  28. eSLR_CONFIG_PRE_NON_POST_6HV_H,
  29. eSLR_CONFIG_PRE_H_POST_NON,
  30. eSLR_CONFIG_PRE_6HV_POST_NON,
  31. eSLR_CONFIG_PRE_NON_POST_H,
  32. eSLR_CONFIG_PRE_NON_POST_6HV,
  33. } DRV_SLR_CONFIG;
  34. DRV_SLR_CONFIG DRV_SLR_GetConfig(void);
  35. #if CONFIG_CHIPID == 0x330
  36. void DRV_SLR_SetFactor_Width(DRV_SLR_CONFIG dSlrConfig, UINT16 ulPreHScalerInputWidth, UINT16 ulPreHScalerOutputWidth, UINT16 iPreHfactor, UINT16 ulPostScalerInputWidth, UINT16 ulPostScalerOutputWidth, UINT16 iPostHfactor, UINT16 wAspWinHSize);
  37. #else
  38. void DRV_SLR_SetFactor_Width(DRV_SLR_CONFIG dSlrConfig, UINT16 ulPreHScalerInputWidth, UINT16 ulPreHScalerOutputWidth, UINT16 iPreHfactor, UINT16 ulPostScalerInputWidth, UINT16 ulPostScalerOutputWidth, UINT16 iPostHfactor);
  39. #endif
  40. void DRV_SLR_SetFactor_HFactor_6HV(UINT16 iHfactor);
  41. UINT16 DRV_SLR_GetFactor_HFactor_6HV(void);
  42. void DRV_SLR_SetFactor_HFactor(UINT16 iHfactor);
  43. UINT16 DRV_SLR_GetFactor_HFactor(void);
  44. void DRV_SLR_SetFactor_InputWidth(UINT16 ulScalerInputWidth);
  45. void DRV_SLR_SetFactor_OutputWidth(UINT16 ulScalerOutputWidth);
  46. void DRV_SLR_SetFactor_InputWidth_6HV(UINT16 ulScalerInputWidth);
  47. void DRV_SLR_SetFactor_OutputWidth_6HV(UINT16 ulScalerOutputWidth);
  48. void DRV_SLR_SetFactor_Height(DRV_SLR_CONFIG dSlrConfig, UINT16 ulScalerInputHeight, UINT16 ulScalerOutputHeight, UINT16 iVfactor, BOOL bInterlaceMode, UINT8 ucInput3dType, UINT16 ulInputCaptureVSize, UINT16 ulOutputVSize);
  49. void DRV_SLR_SetFactor_InputHeight(UINT16 ulScalerInputHeight);
  50. void DRV_SLR_SetFactor_OutputHeight(UINT16 ulScalerOutputHeight);
  51. void DRV_SLR_SetFactor_Bob_VFactor(UINT16 iVfactor);
  52. UINT16 DRV_SLR_GetFactor_VFactor(void);
  53. void DRV_SLR_SetFactor_VScalingDown_Range(UINT8 range, BOOL bInterlaceMode, UINT16 ulInputCaptureVSize, UINT16 ulOutputVSize);
  54. void DRV_SLR_ResetScaler(void);
  55. void DRV_SLR_EnableShrinkage_6HV(BOOL bEn6HV);
  56. void DRV_SLR_EnableShrinkage_H(BOOL bEnH);
  57. void DRV_SLR_EnableExpansion_6HV(BOOL bEn6HV);
  58. void DRV_SLR_EnableExpansion_H(BOOL bEn6HV);
  59. void DRV_SLR_Deinterlace_EnableForce3DDeint(BOOL bEnable);
  60. void DRV_SLR_DeInterlace_EnableFirstLine(BOOL bEnable);
  61. void DRV_SLR_DeInterlace_EnableMAD(BOOL bEnable);
  62. void DRV_SLR_EnableVFlip(BOOL bEnable);
  63. void DRV_SLR_SetFactor_Pararomic(UINT16 left, UINT16 left0, UINT16 right, UINT16 right0, UINT16 inc, UINT16 hfactor0);
  64. void DRV_SLR_SetFactor_Pararomic_6HV(UINT16 left, UINT16 left0, UINT16 right, UINT16 right0, UINT16 inc, UINT16 hfactor0);
  65. void DRV_SLR_SetFifoCtl(UINT8 ucSource, UINT32 ulDSInputWidth, BOOL bIsPCSource, BOOL bCVD2_slr_422_en);
  66. #if CONFIG_CHIPID != 0x330
  67. void DRV_SLR_SetFetchWindow(UINT16 hds, UINT16 hde, UINT16 vds, UINT16 vde);
  68. #endif
  69. void DRV_SLR_BubbleRatio(UINT8 denValue,UINT8 numValue);
  70. #endif