// SPDX-License-Identifier: GPL-2.0 /******************************************************************************** * * Copyright (C) 2017 NEXTCHIP Inc. All rights reserved. * Module : The decoder's video format module * Description : Video format * Author : * Date : * Version : Version 2.0 * ******************************************************************************** * History : * * ********************************************************************************/ #ifndef _NVP6158_VIDEO_HI_ #define _NVP6158_VIDEO_HI_ #include "nvp6158_common.h" /* =============================================== * APP -> DRV * =============================================== */ typedef struct _video_input_init { unsigned char ch; unsigned char format; unsigned char dist; unsigned char input; unsigned char val; unsigned char interface; } video_input_init; typedef struct _video_init_all { video_input_init ch_param[4]; NVP6158_DVP_MODE mode; } video_init_all; /******************************************************************** * define and enum ********************************************************************/ typedef enum _nvp6158_outmode_sel { NVP6158_OUTMODE_1MUX_SD = 0, NVP6158_OUTMODE_1MUX_HD, NVP6158_OUTMODE_1MUX_FHD, NVP6158_OUTMODE_1MUX_FHD_DDR, NVP6158_OUTMODE_2MUX_SD, NVP6158_OUTMODE_2MUX_HD, NVP6158_OUTMODE_2MUX_MIX, NVP6158_OUTMODE_2MUX_FHD, NVP6158_OUTMODE_4MUX_SD, NVP6158_OUTMODE_4MUX_HD, NVP6158_OUTMODE_4MUX_MIX, NVP6158_OUTMODE_1MUX_297MHz, NVP6158_OUTMODE_1MUX_BT1120S_720P, NVP6158_OUTMODE_1MUX_BT1120S_1080P, NVP6158_OUTMODE_2MUX_BT1120S, NVP6158_OUTMODE_2MUX_BT1120S_720P, NVP6158_OUTMODE_2MUX_BT1120S_1080P, NVP6158_OUTMODE_4MUX_BT1120S, NVP6158_OUTMODE_4MUX_BT1120S_DDR, NVP6158_OUTMODE_4MUX_BT1120S_720P, NVP6158_OUTMODE_4MUX_BT1120S_1080P, NVP6158_OUTMODE_BUTT } NVP6158_OUTMODE_SEL; typedef enum _nvp6158_det_sel { NVP6158_DET_MODE_AUTO = 0, NVP6158_DET_MODE_AHD, NVP6158_DET_MODE_CVI, NVP6158_DET_MODE_TVI, NVP6158_DET_MODE_OTHER, NVP6158_DET_MODE_BUTT } NVP6158_DET_SEL; /******************************************************************** * structure ********************************************************************/ /******************************************************************** * external api ********************************************************************/ void nvp6158_common_init(unsigned char chip); int nvp6158_set_portmode(const unsigned char chip, const unsigned char portsel, const unsigned char portmode, const unsigned char chid); int nvp6158_set_chnmode(const unsigned char ch, const unsigned char chnmode); int nvp6168_set_chnmode(const unsigned char ch, const unsigned char chnmode); void nvp6158_set_portcontrol(unsigned char chip, unsigned char portsel, unsigned char enclk, unsigned char endata); void nvp6158_set_chn_commonvalue(const unsigned char ch, const unsigned char chnmode); unsigned int nvp6158_video_fmt_det(const unsigned char ch, NVP6158_INFORMATION_S *ps_nvp6158_vfmts); unsigned int nvp6168_video_fmt_det(const unsigned char ch, NVP6158_INFORMATION_S *ps_nvp6158_vfmts); unsigned char nvp6158_video_fmt_debounce(unsigned char ch, unsigned char keep_fmt, unsigned int keep_sync_width); unsigned int nvp6158_getvideoloss(void); void nvp6158_video_set_contrast(unsigned char ch, unsigned int value, unsigned int v_format); void nvp6158_video_set_brightness(unsigned char ch, unsigned int value, unsigned int v_format); void nvp6158_video_set_saturation(unsigned char ch, unsigned int value, unsigned int v_format); void nvp6158_video_set_hue(unsigned char ch, unsigned int value, unsigned int v_format); void nvp6158_video_set_sharpness(unsigned char ch, unsigned int value); void nvp6158_video_set_ugain(unsigned char ch, unsigned int value); void nvp6158_video_set_vgain(unsigned char ch, unsigned int value); void nvp6158_video_set_adcclk(unsigned char ch, unsigned char value); unsigned char nvp6158_video_get_adcclk(unsigned char ch); void nvp6158_hide_ch(unsigned char ch); void nvp6158_show_ch(unsigned char ch); void nvp6158_vd_chnreset(unsigned char ch); int nvp6158_GetAgcLockStatus(unsigned char ch); int nvp6158_GetFSCLockStatus(unsigned char ch); void nvp6158_ResetFSCLock(unsigned char ch); void nvp6158_chn_killcolor(unsigned char ch, unsigned char onoff); int nvp6158_acp_SetVFmt(unsigned char ch, const unsigned char vfmt); void nvp6158_video_input_new_format_set(const unsigned char ch, const unsigned char chnmode); void nvp6158_dump_reg(unsigned char ch, unsigned char bank); NC_FORMAT_STANDARD NVP6158_GetFmtStd_from_Fmtdef(NC_VIVO_CH_FORMATDEF vivofmt); void nvp6158_additional_for3MoverDef(unsigned char chip); void nvp6158_video_powerdown(unsigned char ch); void nvp6158_set_colorpattern(void); void nvp6158_set_colorpattern2(void); void nvp6158_set_colorpattern3(void); void nvp6158_channel_reset(unsigned char ch); #endif // End of _NVP6158_VIDEO_HI_ /******************************************************************** * End of file ********************************************************************/