diff --git a/software/sys_controller/it6613/it6613_drv.c b/software/sys_controller/it6613/it6613_drv.c index 42fde5e..cf5aced 100644 --- a/software/sys_controller/it6613/it6613_drv.c +++ b/software/sys_controller/it6613/it6613_drv.c @@ -3401,6 +3401,8 @@ SetGPInfoFrame(BYTE *pInfoFrameData) return ER_FAIL ; } + DISABLE_NULL_PKT(); + Switch_HDMITX_Bank(1) ; HDMITX_WriteI2C_Byte(REG_TX_PKT_HB00, (0x80+pInfoFrame->info.Type)); diff --git a/software/sys_controller/ossc/av_controller.c b/software/sys_controller/ossc/av_controller.c index d4d7d81..591b54c 100644 --- a/software/sys_controller/ossc/av_controller.c +++ b/software/sys_controller/ossc/av_controller.c @@ -185,6 +185,7 @@ inline void TX_enable(tx_mode_t mode) SetAVMute(TRUE); DisableVideoOutput(); EnableAVIInfoFrame(FALSE, NULL); + EnableGPInfoFrame(FALSE, NULL); //Setup TX configuration //TODO: set pclk target and VIC dynamically @@ -192,8 +193,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); + if (tc.hdmi_vrr) + HDMITX_SetVRRInfoFrame(tc.hdmi_vrr); + if (tc.hdmi_hdr) + HDMITX_SetHDRInfoFrame(tc.hdmi_hdr ? 3 : 0); cm.cc.hdmi_itc = tc.hdmi_itc; cm.cc.hdmi_hdr = tc.hdmi_hdr; cm.cc.hdmi_vrr = tc.hdmi_vrr; @@ -1162,16 +1165,16 @@ int main() HDMITX_SetAVIInfoFrame(vmode_out.vic, (tc.tx_mode == TX_HDMI_RGB) ? F_MODE_RGB444 : F_MODE_YUV444, 0, 0, tc.hdmi_itc, vm_conf.hdmitx_pixr_ifr); cm.cc.hdmi_itc = tc.hdmi_itc; } - if (tc.hdmi_hdr != cm.cc.hdmi_hdr) { - printf("setting HDR flag to %d\n", tc.hdmi_hdr); - 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.hdmi_hdr != cm.cc.hdmi_hdr) { + printf("setting HDR flag to %d\n", tc.hdmi_hdr); + HDMITX_SetHDRInfoFrame(tc.hdmi_hdr ? 3 : 0); + cm.cc.hdmi_hdr = tc.hdmi_hdr; + } } if (tc.av3_alt_rgb != cm.cc.av3_alt_rgb) { printf("Changing AV3 RGB source\n");