[vlc-devel] [PATCH] vout: do not blend SPU early based on resolution

Rémi Denis-Courmont remi at remlab.net
Wed Dec 26 09:42:42 CET 2018

In general, the best SPU quality should be achieved by rendering
directly to the intended display resolution rather than scaling.

This also avoids certain problems:

- If there is no blending for the source chroma, blending fails
  depending on the display resolution. This is a real problem now with
  opaque chromas and "weird" high-depth chromas.
- If the source resolution is really large, rendering to it is a waste
  of processing power.
 src/video_output/video_output.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index d7c234b4f1..ff36e50ac0 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1066,8 +1066,7 @@ static int ThreadDisplayRenderPicture(vout_thread_t *vout, bool is_forced)
                                vd->source.orientation == ORIENT_NORMAL &&
                               (vd->info.is_slow ||
                                sys->display.use_dr ||
-                               do_snapshot ||
-                               vd->fmt.i_width * vd->fmt.i_height <= vd->source.i_width * vd->source.i_height);
+                               do_snapshot);
     const vlc_fourcc_t *subpicture_chromas;
     video_format_t fmt_spu;

More information about the vlc-devel mailing list