diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 040afa0189..9242047f5c 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -1011,15 +1011,17 @@ static void video_image_display(VideoState *is) } calculate_display_rect(&rect, is->xleft, is->ytop, is->width, is->height, vp->width, vp->height, vp->sar); + set_sdl_yuv_conversion_mode(vp->frame); if (!vp->uploaded) { - if (upload_texture(&is->vid_texture, vp->frame, &is->img_convert_ctx) < 0) + if (upload_texture(&is->vid_texture, vp->frame, &is->img_convert_ctx) < 0) { + set_sdl_yuv_conversion_mode(NULL); return; + } vp->uploaded = 1; vp->flip_v = vp->frame->linesize[0] < 0; } - set_sdl_yuv_conversion_mode(vp->frame); SDL_RenderCopyEx(renderer, is->vid_texture, NULL, &rect, 0, NULL, vp->flip_v ? SDL_FLIP_VERTICAL : 0); set_sdl_yuv_conversion_mode(NULL); if (sp) {