[vlc-commits] video output: support rotated movies (SPU)

Matthias Keiser git at videolan.org
Thu Mar 13 19:20:48 CET 2014


vlc | branch: master | Matthias Keiser <matthias at tristan-inc.com> | Thu Mar 13 14:49:02 2014 +0100| [528e0f14f3af1a097f30c861297beed583c52bc0] | committer: Rémi Denis-Courmont

video output: support rotated movies (SPU)

Signed-off-by: Rémi Denis-Courmont <remi at remlab.net>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=528e0f14f3af1a097f30c861297beed583c52bc0
---

 src/video_output/video_output.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 64bef99..8088d95 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -917,7 +917,13 @@ static int ThreadDisplayRenderPicture(vout_thread_t *vout, bool is_forced)
     const bool do_dr_spu = !do_snapshot &&
                            vd->info.subpicture_chromas &&
                            *vd->info.subpicture_chromas != 0;
+
+    //FIXME: Denying do_early_spu if vd->source.orientation != ORIENT_NORMAL
+    //will have the effect that snapshots miss the subpictures. We do this
+    //because there is currently no way to transform subpictures to match
+    //the source format.
     const bool do_early_spu = !do_dr_spu &&
+                               vd->source.orientation == ORIENT_NORMAL &&
                               (vd->info.is_slow ||
                                sys->display.use_dr ||
                                do_snapshot ||
@@ -964,8 +970,10 @@ static int ThreadDisplayRenderPicture(vout_thread_t *vout, bool is_forced)
         }
     }
 
+    video_format_t fmt_spu_rot;
+    video_format_ApplyRotation(&fmt_spu, &fmt_spu_rot);
     subpicture_t *subpic = spu_Render(vout->p->spu,
-                                      subpicture_chromas, &fmt_spu,
+                                      subpicture_chromas, &fmt_spu_rot,
                                       &vd->source,
                                       render_subtitle_date, render_osd_date,
                                       do_snapshot);



More information about the vlc-commits mailing list