summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/video_thread.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-01-03 17:14:28 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-01-03 17:14:28 +0000
commita5fc3f4df4bec2b6ae1c22fb83cf495f31773122 (patch)
treeba78abac0ee9e5d564907d9e8bee4020d98cb9a8 /apps/plugins/mpegplayer/video_thread.c
parentd1cb32a93f26ef42ae864b911bbd425c49cc4109 (diff)
downloadrockbox-a5fc3f4df4bec2b6ae1c22fb83cf495f31773122.zip
rockbox-a5fc3f4df4bec2b6ae1c22fb83cf495f31773122.tar.gz
rockbox-a5fc3f4df4bec2b6ae1c22fb83cf495f31773122.tar.bz2
rockbox-a5fc3f4df4bec2b6ae1c22fb83cf495f31773122.tar.xz
Initial WVS for mpegplayer. Adjusts to the user's preferred font and uses FF/RW preferences set for playback. Picked a random color for the base WVS color but it could be configured. Some engine tweaks to accomodate it since certain nescessities are clearer now. Fix a clipped YUV output bug in the SIM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15991 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/mpegplayer/video_thread.c')
-rw-r--r--apps/plugins/mpegplayer/video_thread.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/plugins/mpegplayer/video_thread.c b/apps/plugins/mpegplayer/video_thread.c
index aeaf942..950d49a 100644
--- a/apps/plugins/mpegplayer/video_thread.c
+++ b/apps/plugins/mpegplayer/video_thread.c
@@ -75,7 +75,10 @@ static void draw_fps(struct video_thread_data *td)
fps / 100, fps % 100, td->num_skipped,
td->info->display_picture->temporal_reference);
rb->lcd_putsxy(0, 0, str);
+
+ vo_lock();
rb->lcd_update_rect(0, 0, LCD_WIDTH, 8);
+ vo_unlock();
td->last_showfps = *rb->current_tick;
}
@@ -522,7 +525,9 @@ static void video_thread_msg(struct video_thread_data *td)
else
{
IF_COP(invalidate_icache());
+ vo_lock();
rb->lcd_update();
+ vo_unlock();
}
#else
GRAY_FLUSH_ICACHE();
@@ -580,6 +585,10 @@ static void video_thread_msg(struct video_thread_data *td)
}
break;
+ case VIDEO_SET_CLIP_RECT:
+ vo_set_clip_rect((const struct vo_rect *)td->ev.data);
+ break;
+
case VIDEO_PRINT_FRAME:
/* Print the last frame decoded */
if (td->info != NULL && td->info->display_fbuf != NULL)