File tree Expand file tree Collapse file tree 2 files changed +31
-1
lines changed
Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -199,6 +199,14 @@ u32 VIDEO_HaveComponentCable(void);
199199
200200GXRModeObj * VIDEO_GetPreferredMode (GXRModeObj * mode );
201201
202+ /*!
203+ * \fn u32 VIDEO_GetVideoScanMode(void)
204+ * \brief Get video scan mode. This function returns 0 when interlaced, 1 when non interlaced and 2 when progressive
205+ *
206+ * \return 0 when interlaced, 1 when non interlaced and 2 when progressive
207+ */
208+ u32 VIDEO_GetVideoScanMode (void );
209+
202210#ifdef __cplusplus
203211 }
204212#endif /* __cplusplus */
Original file line number Diff line number Diff line change @@ -2090,7 +2090,12 @@ static void __VIInit(u32 vimode)
20902090 //reset the interface
20912091 cnt = 0 ;
20922092 _viReg [1 ] = 0x02 ;
2093- while (cnt < 1000 ) cnt ++ ;
2093+ while (cnt < 1000 )
2094+ {
2095+ __asm__ __volatile__ ("" ::: "memory" );
2096+ cnt ++ ;
2097+ }
2098+
20942099 _viReg [1 ] = 0x00 ;
20952100
20962101 // now begin to setup the interface
@@ -2958,3 +2963,20 @@ u32 VIDEO_HaveComponentCable(void)
29582963{
29592964 return (_viReg [55 ]& 0x01 );
29602965}
2966+
2967+ u32 VIDEO_GetVideoScanMode (void )
2968+ {
2969+ u32 level ;
2970+ u32 mode ;
2971+
2972+ _CPU_ISR_Disable (level );
2973+
2974+ // Check Clock Select Register for progressive clock
2975+ if (_viReg [54 ] & 1 )
2976+ mode = VI_PROGRESSIVE ;
2977+ else
2978+ mode = (_viReg [1 ] >> 2 & 1 ) ? VI_NON_INTERLACE : VI_INTERLACE ;
2979+
2980+ _CPU_ISR_Restore (level );
2981+ return mode ;
2982+ }
You can’t perform that action at this time.
0 commit comments