@@ -3522,73 +3522,87 @@ GXRModeObj * VIDEO_GetPreferredMode(GXRModeObj *mode)
35223522 static GXRModeObj * rmode = NULL ;
35233523
35243524 if (rmode == NULL ) {
3525+ u32 tvMode = VIDEO_GetCurrentTvMode ();
3526+ u32 scanMode = VIDEO_GetScanMode ();
3527+
35253528#if defined(HW_RVL )
3526- u32 tvmode = CONF_GetVideo ();
3527- if (CONF_GetProgressiveScan () > 0 && VIDEO_HaveComponentCable ()) {
3528- switch (tvmode ) {
3529- case CONF_VIDEO_PAL :
3530- if (CONF_GetEuRGB60 () > 0 )
3531- rmode = & TVEurgb60Hz480Prog ;
3532- else
3533- rmode = & TVPal576ProgScale ;
3534- break ;
3535- default :
3536- rmode = & TVNtsc480Prog ;
3529+ if (CONF_GetProgressiveScan () > 0 && VIDEO_HaveComponentCable ())
3530+ scanMode = VI_PROGRESSIVE ;
3531+
3532+ switch (CONF_GetVideo ()) {
3533+ case CONF_VIDEO_NTSC :
3534+ tvMode = VI_NTSC ;
3535+ break ;
3536+ case CONF_VIDEO_PAL :
3537+ if (CONF_GetEuRGB60 () > 0 )
3538+ tvMode = VI_EURGB60 ;
3539+ else
3540+ tvMode = VI_PAL ;
3541+ break ;
3542+ case CONF_VIDEO_MPAL :
3543+ if (VIDEO_HaveComponentCable ())
3544+ tvMode = VI_NTSC ;
3545+ else
3546+ tvMode = VI_MPAL ;
3547+ break ;
3548+ }
3549+ #else
3550+ if (SYS_GetProgressiveScan () && VIDEO_HaveComponentCable ())
3551+ scanMode = VI_PROGRESSIVE ;
3552+
3553+ if (tvMode == VI_NTSC ) {
3554+ switch (SYS_GetVideoMode ()) {
3555+ case SYS_VIDEO_NTSC :
3556+ tvMode = VI_NTSC ;
35373557 break ;
3538- }
3539- } else {
3540- switch (tvmode ) {
3541- case CONF_VIDEO_PAL :
3542- if (CONF_GetEuRGB60 () > 0 )
3543- rmode = & TVEurgb60Hz480IntDf ;
3558+ case SYS_VIDEO_PAL :
3559+ if (SYS_GetEuRGB60 ())
3560+ tvMode = VI_EURGB60 ;
35443561 else
3545- rmode = & TVPal576IntDfScale ;
3562+ tvMode = VI_PAL ;
35463563 break ;
3547- case CONF_VIDEO_MPAL :
3564+ case SYS_VIDEO_MPAL :
35483565 if (VIDEO_HaveComponentCable ())
3549- rmode = & TVNtsc480IntDf ;
3566+ tvMode = VI_NTSC ;
35503567 else
3551- rmode = & TVMpal480IntDf ;
3552- break ;
3553- default :
3554- rmode = & TVNtsc480IntDf ;
3568+ tvMode = VI_MPAL ;
35553569 break ;
35563570 }
3557- }
3558- #else
3559- u32 tvmode = SYS_GetVideoMode ();
3560- if (SYS_GetProgressiveScan () && VIDEO_HaveComponentCable ()) {
3561- switch (tvmode ) {
3562- case SYS_VIDEO_PAL :
3563- if (SYS_GetEuRGB60 ())
3564- rmode = & TVEurgb60Hz480Prog ;
3565- else
3566- rmode = & TVPal576ProgScale ;
3571+ } else if (tvMode == VI_PAL && SYS_GetEuRGB60 ()) tvMode = VI_EURGB60 ;
3572+ #endif
3573+ if (scanMode == VI_PROGRESSIVE ) {
3574+ switch (tvMode ) {
3575+ case VI_PAL :
3576+ case VI_DEBUG_PAL :
3577+ rmode = & TVPal576ProgScale ;
3578+ break ;
3579+ case VI_EURGB60 :
3580+ rmode = & TVEurgb60Hz480Prog ;
3581+ break ;
3582+ case VI_MPAL :
3583+ rmode = & TVMpal480Prog ;
35673584 break ;
35683585 default :
35693586 rmode = & TVNtsc480Prog ;
35703587 break ;
35713588 }
35723589 } else {
3573- switch (tvmode ) {
3574- case SYS_VIDEO_PAL :
3575- if (SYS_GetEuRGB60 ())
3576- rmode = & TVEurgb60Hz480IntDf ;
3577- else
3578- rmode = & TVPal576IntDfScale ;
3590+ switch (tvMode ) {
3591+ case VI_PAL :
3592+ case VI_DEBUG_PAL :
3593+ rmode = & TVPal576IntDfScale ;
35793594 break ;
3580- case SYS_VIDEO_MPAL :
3581- if ( VIDEO_HaveComponentCable ())
3582- rmode = & TVNtsc480IntDf ;
3583- else
3584- rmode = & TVMpal480IntDf ;
3595+ case VI_EURGB60 :
3596+ rmode = & TVEurgb60Hz480IntDf ;
3597+ break ;
3598+ case VI_MPAL :
3599+ rmode = & TVMpal480IntDf ;
35853600 break ;
35863601 default :
35873602 rmode = & TVNtsc480IntDf ;
35883603 break ;
35893604 }
35903605 }
3591- #endif
35923606 }
35933607
35943608 if (mode != NULL ) {
0 commit comments