mirror of
https://github.com/marqs85/ossc
synced 2025-04-07 05:46:02 +03:00
add Full VSYNC bypas option
This commit is contained in:
parent
2725351039
commit
fe3c6fdfa7
@ -415,6 +415,9 @@ status_t get_status(tvp_sync_input_t syncinput)
|
||||
if (memcmp(&tc.col, &cm.cc.col, sizeof(color_setup_t)))
|
||||
tvp_set_gain_offset(&tc.col);
|
||||
|
||||
if (tc.full_vs_bypass != cm.cc.full_vs_bypass)
|
||||
tvp_set_full_vs_bypass(tc.full_vs_bypass);
|
||||
|
||||
#ifdef ENABLE_AUDIO
|
||||
if ((tc.audio_dw_sampl != cm.cc.audio_dw_sampl) ||
|
||||
#ifdef MANUAL_CTS
|
||||
@ -964,7 +967,7 @@ int main()
|
||||
printf("### DIY VIDEO DIGITIZER / SCANCONVERTER INIT OK ###\n\n");
|
||||
sniprintf(row1, LCD_ROW_LEN+1, "OSSC fw. %u.%.2u" FW_SUFFIX1 FW_SUFFIX2, FW_VER_MAJOR, FW_VER_MINOR);
|
||||
#ifndef DEBUG
|
||||
strncpy(row2, "2014-2024 marqs", LCD_ROW_LEN+1);
|
||||
strncpy(row2, "2014-2025 marqs", LCD_ROW_LEN+1);
|
||||
#else
|
||||
strncpy(row2, "** DEBUG BUILD *", LCD_ROW_LEN+1);
|
||||
#endif
|
||||
|
@ -137,6 +137,7 @@ typedef struct {
|
||||
alt_u8 alc_h_filter;
|
||||
alt_u8 alc_v_filter;
|
||||
color_setup_t col;
|
||||
alt_u8 full_vs_bypass;
|
||||
|
||||
/* Audio settings */
|
||||
alt_u8 audio_dw_sampl;
|
||||
|
@ -223,6 +223,7 @@ MENU(menu_compatibility, P99_PROTECT({ \
|
||||
{ LNG("Full TX setup","フルTXセットアップ"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.full_tx_setup, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
||||
{ LNG("Allow TVP HPLL2x","TVP HPLL2xキョヨウ"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.tvp_hpll2x, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
||||
{ "AV3 use alt. RGB", OPT_AVCONFIG_SELECTION, { .sel = { &tc.av3_alt_rgb, OPT_WRAP, SETTING_ITEM(av3_alt_rgb_desc) } } },
|
||||
{ "Full VSYNC bypas", OPT_AVCONFIG_SELECTION, { .sel = { &tc.full_vs_bypass, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
||||
{ "Default HDMI VIC", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.default_vic, OPT_NOWRAP, 0, HDMI_1080p50, value_disp } } },
|
||||
}))
|
||||
|
||||
|
@ -38,7 +38,8 @@ const ypbpr_to_rgb_csc_t csc_coeffs[] = {
|
||||
};
|
||||
|
||||
static const alt_u8 Kvco[] = {75, 85, 150, 200};
|
||||
static const char *Kvco_str[] = { "Ultra low", "Low", "Medium", "High" };
|
||||
static const char* const Kvco_str[] = { "Ultra low", "Low", "Medium", "High" };
|
||||
static alt_u8 full_vs_bypass;
|
||||
|
||||
static void tvp_set_clamp_type(video_format fmt)
|
||||
{
|
||||
@ -201,6 +202,7 @@ void tvp_init()
|
||||
};
|
||||
|
||||
// Set default configuration (skip those which match register reset values)
|
||||
full_vs_bypass = 0;
|
||||
|
||||
// Configure external refclk, HPLL generated pclk
|
||||
tvp_sel_clk(REFCLK_EXT27, 0);
|
||||
@ -267,6 +269,10 @@ void tvp_set_gain_offset(color_setup_t *col) {
|
||||
tvp_writereg(TVP_B_FOFFSET_MSB, col->b_f_off);
|
||||
}
|
||||
|
||||
void tvp_set_full_vs_bypass(alt_u8 enable) {
|
||||
full_vs_bypass = enable;
|
||||
}
|
||||
|
||||
// Configure H-PLL (sampling rate, VCO gain and charge pump current)
|
||||
void tvp_setup_hpll(alt_u16 h_samplerate, alt_u16 pixs_per_line, alt_u16 refclks_per_line, alt_u8 plldivby2)
|
||||
{
|
||||
@ -447,11 +453,10 @@ void tvp_source_sel(tvp_input_t input, tvp_sync_input_t syncinput, video_format
|
||||
else
|
||||
tvp_writereg(TVP_MISCCTRL3, 0x00);
|
||||
|
||||
#ifdef SYNCBYPASS
|
||||
tvp_writereg(TVP_SYNCBYPASS, 0x03);
|
||||
#else
|
||||
tvp_writereg(TVP_SYNCBYPASS, 0x00);
|
||||
#endif
|
||||
if ((syncinput > TVP_SOG3) && (syncinput < TVP_CS_A))
|
||||
tvp_writereg(TVP_SYNCBYPASS, full_vs_bypass ? 0x02 : 0x00);
|
||||
else
|
||||
tvp_writereg(TVP_SYNCBYPASS, 0x00);
|
||||
|
||||
//TODO:
|
||||
//TVP_ADCSETUP
|
||||
|
@ -98,6 +98,8 @@ void tvp_init();
|
||||
|
||||
void tvp_set_gain_offset(color_setup_t *col);
|
||||
|
||||
void tvp_set_full_vs_bypass(alt_u8 enable);
|
||||
|
||||
void tvp_setup_hpll(alt_u16 h_samplerate, alt_u16 pixs_per_line, alt_u16 refclks_per_line, alt_u8 plldivby2);
|
||||
|
||||
void tvp_sel_csc(const ypbpr_to_rgb_csc_t *csc);
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user