hc
2023-10-16 def2367077573b56f9fc4f824e5c0377a3a4175a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// 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
 ********************************************************************/