Fix: ignore vga_mode=ypbpr unless direct video is active (#1105)

* Fix YPbPr gating and refresh CSC after direct_video auto-detect

* Fix direct_video ypbpr bug
This commit is contained in:
misteraddons
2026-02-25 22:18:12 -07:00
committed by GitHub
parent d0cf945ae2
commit 1024e7e73b

View File

@@ -1205,7 +1205,7 @@ static void hdmi_config_set_csc()
const float pi = float(M_PI);
int ypbpr = (cfg.vga_mode_int == 1) && cfg.direct_video;
int ypbpr = (cfg.vga_mode_int == 1) && (cfg.direct_video == 1);
// out-of-scope defines, not used with ypbpr
int16_t csc_int16[12];
@@ -1404,7 +1404,7 @@ static void hdmi_config_set_csc()
static void hdmi_config_init()
{
int ypbpr = (cfg.vga_mode_int == 1) && cfg.direct_video;
int ypbpr = (cfg.vga_mode_int == 1) && (cfg.direct_video == 1);
// address, value
uint8_t init_data[] = {
@@ -2476,6 +2476,9 @@ static void video_mode_load()
// Not a DAC, use normal HDMI mode
cfg.direct_video = 0;
}
// direct_video=2 resolves here, so refresh HDMI CSC with final mode.
hdmi_config_set_csc();
}
if (cfg.direct_video && cfg.vsync_adjust)