[vlc-devel] [RFC PATCH] Direct rendering spu placement

Thomas Guillem thomas at gllm.fr
Mon Dec 29 18:46:40 CET 2014


Hello, I need your opinions about this patch/question.

I have an issue when displaying an HD video on a display of 1200x1920.

Here is the example: with a 1916x1076 video on a 1200x1920 display. The place
returned by vout_display_PlacePicture is 1200x673, which is good, but it's
smaller than the video size, so it's not used.

So, do you think it's safe to remove the following check ?
(fmt_spu.i_width * fmt_spu.i_height < place.width * place.height)"

I don't see any problems with having a spu size smaller than the video size.
---
 src/video_output/video_output.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 2a6fe2a..0d7dde9 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -883,14 +883,12 @@ static int ThreadDisplayRenderPicture(vout_thread_t *vout, bool is_forced)
         vout_display_PlacePicture(&place, &vd->source, vd->cfg, false);
 
         fmt_spu = vd->source;
-        if (fmt_spu.i_width * fmt_spu.i_height < place.width * place.height) {
-            fmt_spu.i_sar_num = vd->cfg->display.sar.num;
-            fmt_spu.i_sar_den = vd->cfg->display.sar.den;
-            fmt_spu.i_width          =
-            fmt_spu.i_visible_width  = place.width;
-            fmt_spu.i_height         =
-            fmt_spu.i_visible_height = place.height;
-        }
+        fmt_spu.i_sar_num = vd->cfg->display.sar.num;
+        fmt_spu.i_sar_den = vd->cfg->display.sar.den;
+        fmt_spu.i_width          =
+        fmt_spu.i_visible_width  = place.width;
+        fmt_spu.i_height         =
+        fmt_spu.i_visible_height = place.height;
         subpicture_chromas = vd->info.subpicture_chromas;
     } else {
         if (do_early_spu) {
-- 
2.1.3




More information about the vlc-devel mailing list