From da6f02087bfee96959a327e22dedc0820824392f Mon Sep 17 00:00:00 2001 From: Pierre Baillet Date: Tue, 19 Dec 2000 17:51:32 +0000 Subject: [PATCH] - fixed the ratio/position problem in YUV, now patching Stable. --- include/video_output.h | 1 + plugins/sdl/vout_sdl.c | 16 ++++++++-------- src/video_output/video_output.c | 6 ++++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/include/video_output.h b/include/video_output.h index 69321d798e..0326318f5b 100644 --- a/include/video_output.h +++ b/include/video_output.h @@ -185,6 +185,7 @@ typedef struct vout_thread_s boolean_t b_scale; /* allow picture scaling */ mtime_t render_time; /* last picture render time */ + /* Idle screens management */ mtime_t last_display_date; /* last non idle display date */ mtime_t last_idle_date; /* last idle display date */ diff --git a/plugins/sdl/vout_sdl.c b/plugins/sdl/vout_sdl.c index c1cafa731d..54d71a0698 100644 --- a/plugins/sdl/vout_sdl.c +++ b/plugins/sdl/vout_sdl.c @@ -233,8 +233,8 @@ void vout_SDLDisplay( vout_thread_t *p_vout ) SDL_YV12_OVERLAY, p_vout->p_sys->p_display ); - intf_Msg("[YUV acceleration] : %d\n", - p_vout->p_sys->p_overlay->hw_overlay); + intf_Msg("[YUV acceleration] : %d,\n", + p_vout->p_sys->p_overlay->hw_overlay); } SDL_LockYUVOverlay(p_vout->p_sys->p_overlay); @@ -254,12 +254,12 @@ void vout_SDLDisplay( vout_thread_t *p_vout ) p_vout->p_rendered_pic->p_u, p_vout->p_sys->p_overlay->h * p_vout->p_sys->p_overlay->pitches[2] / 2); - - disp.x = 0; - disp.y = 0; - disp.w = p_vout->i_width; - disp.h = p_vout->i_height; - + + disp.w = (&p_vout->p_buffer[p_vout->i_buffer_index])->i_pic_width; + disp.h = (&p_vout->p_buffer[p_vout->i_buffer_index])->i_pic_height; + disp.x = (p_vout->i_width - disp.w)/2; + disp.y = (p_vout->i_height - disp.h)/2; + SDL_DisplayYUVOverlay( p_vout->p_sys->p_overlay , &disp ); SDL_UnlockYUVOverlay(p_vout->p_sys->p_overlay); } diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 4a93b4593f..27fabbc701 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -1069,6 +1069,9 @@ static void RunThread( vout_thread_t *p_vout) b_display = p_vout->b_active; p_vout->last_display_date = display_date; p_vout->p_rendered_pic = p_pic; + + + /* FIXME: if b_need_render == 0 we need to do something with * the subpictures one day. */ @@ -1571,6 +1574,7 @@ static void SetBufferPicture( vout_thread_t *p_vout, picture_t *p_pic ) /* Set picture position */ i_pic_x = (p_vout->i_width - i_pic_width) / 2; i_pic_y = (p_vout->i_height - i_pic_height) / 2; + } else { @@ -1670,7 +1674,9 @@ static void RenderPicture( vout_thread_t *p_vout, picture_t *p_pic ) #ifdef DEBUG_VOUT render_time = mdate(); #endif + + /* * Choose appropriate rendering function and render picture */ -- 2.39.5