- /* Choose the chroma we will try first. */
- switch( p_vout->render.i_chroma )
- {
- case VLC_FOURCC('Y','U','Y','2'):
- case VLC_FOURCC('Y','U','N','V'):
- p_vout->output.i_chroma = VLC_FOURCC('Y','U','Y','2');
- i_sdl_chroma = SDL_YUY2_OVERLAY;
- break;
- case VLC_FOURCC('U','Y','V','Y'):
- case VLC_FOURCC('U','Y','N','V'):
- case VLC_FOURCC('Y','4','2','2'):
- p_vout->output.i_chroma = VLC_FOURCC('U','Y','V','Y');
- i_sdl_chroma = SDL_UYVY_OVERLAY;
- break;
- case VLC_FOURCC('Y','V','Y','U'):
- p_vout->output.i_chroma = VLC_FOURCC('Y','V','Y','U');
- i_sdl_chroma = SDL_YVYU_OVERLAY;
- break;
- case VLC_FOURCC('Y','V','1','2'):
- case VLC_FOURCC('I','4','2','0'):
- case VLC_FOURCC('I','Y','U','V'):
- default:
- p_vout->output.i_chroma = VLC_FOURCC('Y','V','1','2');
- i_sdl_chroma = SDL_YV12_OVERLAY;
- break;
+/**
+ * Display a picture
+ */
+static void PictureDisplay(vout_display_t *vd, picture_t *p_pic)
+{
+ vout_display_sys_t *sys = vd->sys;
+
+ if (sys->overlay) {
+ SDL_Rect disp;
+ disp.x = sys->place.x;
+ disp.y = sys->place.y;
+ disp.w = sys->place.width;
+ disp.h = sys->place.height;
+
+ SDL_UnlockYUVOverlay(sys->overlay);
+ SDL_DisplayYUVOverlay(sys->overlay , &disp);
+ SDL_LockYUVOverlay(sys->overlay);
+ } else {
+ SDL_Flip(sys->display);