mirror of
https://github.com/marqs85/ossc
synced 2026-10-30 11:47:26 +03:00
add support for Lumacode and VRR flag
This commit is contained in:
1 parent
b45e0fb517
commit
e49106b635
6 files changed
+8484
-8690
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -185,8 +185,10 @@ inline void TX_enable(tx_mode_t mode)
|
||||
if (mode != TX_DVI) {
|
||||
HDMITX_SetAVIInfoFrame(vmode_out.vic, (mode == TX_HDMI_RGB) ? F_MODE_RGB444 : F_MODE_YUV444, 0, 0, tc.hdmi_itc, vm_conf.hdmitx_pixr_ifr);
|
||||
HDMITX_SetHDRInfoFrame(tc.hdmi_hdr ? 3 : 0);
|
||||
HDMITX_SetVRRInfoFrame(tc.hdmi_vrr);
|
||||
cm.cc.hdmi_itc = tc.hdmi_itc;
|
||||
cm.cc.hdmi_hdr = tc.hdmi_hdr;
|
||||
cm.cc.hdmi_vrr = tc.hdmi_vrr;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_AUDIO
|
||||
@@ -460,6 +462,7 @@ void update_sc_config(mode_data_t *vm_in, mode_data_t *vm_out, vm_proc_config_t
|
||||
misc_config.mask_color = avconfig->mask_color;
|
||||
misc_config.reverse_lpf = avconfig->reverse_lpf;
|
||||
misc_config.shmask_mode = avconfig->shmask_mode;
|
||||
misc_config.lumacode_mode = avconfig->lumacode_mode;
|
||||
/*misc_config.lm_deint_mode = 0;
|
||||
misc_config.nir_even_offset = 0;
|
||||
misc_config.ypbpr_cs = (avconfig->ypbpr_cs == 0) ? ((vm_in->type & VIDEO_HDTV) ? 1 : 0) : avconfig->ypbpr_cs-1;
|
||||
@@ -612,6 +615,7 @@ void program_mode()
|
||||
|
||||
tvp_source_setup(target_type,
|
||||
pll_h_total,
|
||||
vmode_in.timings.h_total,
|
||||
cm.clkcnt,
|
||||
0,
|
||||
(alt_u8)h_synclen_px,
|
||||
@@ -1140,6 +1144,11 @@ int main()
|
||||
HDMITX_SetHDRInfoFrame(tc.hdmi_hdr ? 3 : 0);
|
||||
cm.cc.hdmi_hdr = tc.hdmi_hdr;
|
||||
}
|
||||
if (tc.hdmi_vrr != cm.cc.hdmi_vrr) {
|
||||
printf("setting VRR flag to %d\n", tc.hdmi_vrr);
|
||||
HDMITX_SetVRRInfoFrame(tc.hdmi_vrr);
|
||||
cm.cc.hdmi_vrr = tc.hdmi_vrr;
|
||||
}
|
||||
}
|
||||
if (tc.av3_alt_rgb != cm.cc.av3_alt_rgb) {
|
||||
printf("Changing AV3 RGB source\n");
|
||||
|
||||
@@ -119,6 +119,7 @@ typedef struct {
|
||||
alt_u8 mask_color;
|
||||
alt_u8 reverse_lpf;
|
||||
alt_u8 shmask_mode;
|
||||
alt_u8 lumacode_mode;
|
||||
|
||||
/* AFE settings */
|
||||
alt_u8 sync_vth;
|
||||
@@ -144,6 +145,7 @@ typedef struct {
|
||||
alt_u8 tx_mode;
|
||||
alt_u8 hdmi_itc;
|
||||
alt_u8 hdmi_hdr;
|
||||
alt_u8 hdmi_vrr;
|
||||
alt_u8 full_tx_setup;
|
||||
alt_u8 av3_alt_rgb;
|
||||
avinput_t link_av;
|
||||
|
||||
@@ -80,6 +80,7 @@ static const char *auto_input_desc[] = { "Off", "Current input", "All inputs" };
|
||||
static const char *mask_color_desc[] = { "Black", "Blue", "Green", "Cyan", "Red", "Magenta", "Yellow", "White" };
|
||||
static const char *av3_alt_rgb_desc[] = { "Off", "AV1", "AV2" };
|
||||
static const char *shmask_mode_desc[] = { "Off", "A-Grille", "TV", "PVM" };
|
||||
static const char *lumacode_mode_desc[] = { "Off", "C64", "Spectrum", "NES" };
|
||||
|
||||
static void sync_vth_disp(alt_u8 v) { sniprintf(menu_row2, LCD_ROW_LEN+1, "%d mV", (v*1127)/100); }
|
||||
static void intclks_to_time_disp(alt_u8 v) { sniprintf(menu_row2, LCD_ROW_LEN+1, "%u.%.2u us", (unsigned)(((1000000U*v)/(TVP_INTCLK_HZ/1000))/1000), (unsigned)((((1000000U*v)/(TVP_INTCLK_HZ/1000))%1000)/10)); }
|
||||
@@ -154,6 +155,7 @@ MENU(menu_vinputproc, P99_PROTECT({ \
|
||||
{ "Clamp/ALC offset", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.clamp_offset, OPT_NOWRAP, CLAMP_OFFSET_MIN, CLAMP_OFFSET_MAX, signed_disp } } },
|
||||
{ "ALC V filter", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.alc_v_filter, OPT_NOWRAP, 0, ALC_V_FILTER_MAX, alc_v_filter_disp } } },
|
||||
{ "ALC H filter", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.alc_h_filter, OPT_NOWRAP, 0, ALC_H_FILTER_MAX, alc_h_filter_disp } } },
|
||||
{ "Lumacode", OPT_AVCONFIG_SELECTION, { .sel = { &tc.lumacode_mode, OPT_WRAP, SETTING_ITEM(lumacode_mode_desc) } } },
|
||||
}))
|
||||
|
||||
MENU(menu_sampling, P99_PROTECT({ \
|
||||
@@ -190,6 +192,7 @@ MENU(menu_output, P99_PROTECT({ \
|
||||
{ LNG("TX mode","TXモード"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.tx_mode, OPT_WRAP, SETTING_ITEM(tx_mode_desc) } } },
|
||||
{ "HDMI ITC", OPT_AVCONFIG_SELECTION, { .sel = { &tc.hdmi_itc, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
||||
{ "HDMI HDR flag", OPT_AVCONFIG_SELECTION, { .sel = { &tc.hdmi_hdr, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
||||
{ "HDMI VRR flag", OPT_AVCONFIG_SELECTION, { .sel = { &tc.hdmi_vrr, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
||||
}))
|
||||
|
||||
MENU(menu_scanlines, P99_PROTECT({ \
|
||||
@@ -245,7 +248,9 @@ MENU(menu_settings, P99_PROTECT({ \
|
||||
{ LNG("<Reset settings>","<セッテイヲショキカ >"), OPT_FUNC_CALL, { .fun = { set_default_avconfig, NULL } } },
|
||||
#ifndef DEBUG
|
||||
{ LNG("<Import sett. >","<セッテイヨミコミ >"), OPT_FUNC_CALL, { .fun = { import_userdata, NULL } } },
|
||||
#if 0
|
||||
{ LNG("<Export sett. >","<セッテイカキコミ >"), OPT_FUNC_CALL, { .fun = { export_userdata, NULL } } },
|
||||
#endif
|
||||
{ LNG("<Fw. update >","<ファームウェアアップデート>"), OPT_FUNC_CALL, { .fun = { fw_update, NULL } } },
|
||||
#endif
|
||||
}))
|
||||
|
||||
Reference in new issue
Block a user