131 lines
5.0 KiB
C
131 lines
5.0 KiB
C
// 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);
|
||
///////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
||
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
|
||
********************************************************************/
|