File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -97,6 +97,7 @@ void VIDEO_Set3D(bool threeD);
9797 */
9898u32 VIDEO_GetRetraceCount (void );
9999
100+ f32 VIDEO_GetRetraceRate (void );
100101
101102/*!
102103 * \fn u32 VIDEO_GetNextField(void)
Original file line number Diff line number Diff line change @@ -2897,15 +2897,33 @@ u32 VIDEO_GetRetraceCount(void)
28972897 return retraceCount ;
28982898}
28992899
2900+ f32 VIDEO_GetRetraceRate (void )
2901+ {
2902+ u32 level ;
2903+ f32 rate ;
2904+
2905+ _CPU_ISR_Disable (level );
2906+ rate = 13500000.0f ;
2907+ if (HorVer .nonInter == VI_PROGRESSIVE || HorVer .nonInter == VI_3D ) rate = 27000000.0f ;
2908+
2909+ rate /= currTiming -> hlw ;
2910+ rate /= currTiming -> nhlines ;
2911+ if (HorVer .fbMode == VI_XFBMODE_PSF ) rate /= 2.0f ;
2912+ _CPU_ISR_Restore (level );
2913+
2914+ return rate ;
2915+ }
2916+
29002917u32 VIDEO_GetNextField (void )
29012918{
29022919 u32 level ,field ;
29032920
29042921 _CPU_ISR_Disable (level );
2905- if (HorVer .fbMode < VI_XFBMODE_PSF ) {
2922+ if (HorVer .fbMode == VI_XFBMODE_PSF ) field = VI_FRAME ;
2923+ else {
29062924 field = __getCurrentFieldEvenOdd ();
29072925 field ^= (HorVer .adjustedDispPosY & 1 )^1 ;
2908- } else field = VI_FRAME ;
2926+ }
29092927 _CPU_ISR_Restore (level );
29102928
29112929 return field ;
You can’t perform that action at this time.
0 commit comments