diff options
Diffstat (limited to 'apps/plugins/video.c')
-rw-r--r-- | apps/plugins/video.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/apps/plugins/video.c b/apps/plugins/video.c index 63d03312b9..e63ef1c373 100644 --- a/apps/plugins/video.c +++ b/apps/plugins/video.c | |||
@@ -157,6 +157,9 @@ static struct | |||
157 | int nSeekAcc; // accelleration value for seek | 157 | int nSeekAcc; // accelleration value for seek |
158 | int nSeekPos; // current file position for seek | 158 | int nSeekPos; // current file position for seek |
159 | bool bDiskSleep; // disk is suspended | 159 | bool bDiskSleep; // disk is suspended |
160 | #if FREQ == 12000000 /* Ondio speed kludge */ | ||
161 | int nFrameTimeAdjusted; | ||
162 | #endif | ||
160 | } gPlay; | 163 | } gPlay; |
161 | 164 | ||
162 | // buffer information | 165 | // buffer information |
@@ -528,7 +531,11 @@ int SeekTo(int fd, int nPos) | |||
528 | { | 531 | { |
529 | gPlay.bVideoUnderrun = false; | 532 | gPlay.bVideoUnderrun = false; |
530 | // start display interrupt | 533 | // start display interrupt |
534 | #if FREQ == 12000000 /* Ondio speed kludge */ | ||
535 | rb->plugin_register_timer(gPlay.nFrameTimeAdjusted, 1, timer4_isr); | ||
536 | #else | ||
531 | rb->plugin_register_timer(gFileHdr.video_frametime, 1, timer4_isr); | 537 | rb->plugin_register_timer(gFileHdr.video_frametime, 1, timer4_isr); |
538 | #endif | ||
532 | } | 539 | } |
533 | 540 | ||
534 | return 0; | 541 | return 0; |
@@ -704,8 +711,13 @@ int PlayTick(int fd) | |||
704 | } | 711 | } |
705 | if (gPlay.bHasVideo) | 712 | if (gPlay.bHasVideo) |
706 | { // start the video | 713 | { // start the video |
714 | #if FREQ == 12000000 /* Ondio speed kludge */ | ||
715 | rb->plugin_register_timer( | ||
716 | gPlay.nFrameTimeAdjusted, 1, timer4_isr); | ||
717 | #else | ||
707 | rb->plugin_register_timer( | 718 | rb->plugin_register_timer( |
708 | gFileHdr.video_frametime, 1, timer4_isr); | 719 | gFileHdr.video_frametime, 1, timer4_isr); |
720 | #endif | ||
709 | } | 721 | } |
710 | } | 722 | } |
711 | break; | 723 | break; |
@@ -862,14 +874,12 @@ int main(char* filename) | |||
862 | gFileHdr.video_format = VIDEOFORMAT_RAW; | 874 | gFileHdr.video_format = VIDEOFORMAT_RAW; |
863 | gFileHdr.video_width = LCD_WIDTH; | 875 | gFileHdr.video_width = LCD_WIDTH; |
864 | gFileHdr.video_height = LCD_HEIGHT; | 876 | gFileHdr.video_height = LCD_HEIGHT; |
865 | gFileHdr.video_frametime = FREQ / FPS; | 877 | gFileHdr.video_frametime = 11059200 / FPS; |
866 | gFileHdr.bps_peak = gFileHdr.bps_average = LCD_WIDTH * LCD_HEIGHT * FPS; | 878 | gFileHdr.bps_peak = gFileHdr.bps_average = LCD_WIDTH * LCD_HEIGHT * FPS; |
867 | } | 879 | } |
868 | #if FREQ == 12000000 | 880 | |
869 | /* temporary sync fix for Ondio, as .rvf is tailored to the recorder CPU freq | 881 | #if FREQ == 12000000 /* Ondio speed kludge, 625 / 576 == 12000000 / 11059200 */ |
870 | * 625 / 576 == 12000000 / 11059200 */ | 882 | gPlay.nFrameTimeAdjusted = (gFileHdr.video_frametime * 625) / 576; |
871 | else | ||
872 | gFileHdr.video_frametime = (gFileHdr.video_frametime * 625) / 576; | ||
873 | #endif | 883 | #endif |
874 | 884 | ||
875 | // continue buffer init: align the end, calc low water, read sizes | 885 | // continue buffer init: align the end, calc low water, read sizes |