vlc | branch: master | Laurent Aimar <fen...@videolan.org> | Wed Nov  3 
21:14:48 2010 +0100| [edaffcc841187d4f864f6ee56b52139b94d6cdc3] | committer: 
Laurent Aimar 

Modified vout_SetDisplayAspect() to take a DAR instead of a SAR.

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

 include/vlc_vout_wrapper.h      |    2 +-
 src/video_output/display.c      |   12 +++++++++++-
 src/video_output/video_output.c |    7 -------
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/include/vlc_vout_wrapper.h b/include/vlc_vout_wrapper.h
index 3dcd434..13e63c2 100644
--- a/include/vlc_vout_wrapper.h
+++ b/include/vlc_vout_wrapper.h
@@ -85,7 +85,7 @@ VLC_EXPORT(void, vout_SetDisplayFullscreen, (vout_display_t 
*, bool is_fullscree
 VLC_EXPORT(void, vout_SetDisplayFilled, (vout_display_t *, bool is_filled));
 VLC_EXPORT(void, vout_SetDisplayZoom, (vout_display_t *, int num, int den));
 VLC_EXPORT(void, vout_SetWindowState, (vout_display_t *, unsigned state));
-VLC_EXPORT(void, vout_SetDisplayAspect, (vout_display_t *, unsigned sar_num, 
unsigned sar_den));
+VLC_EXPORT(void, vout_SetDisplayAspect, (vout_display_t *, unsigned dar_num, 
unsigned dar_den));
 VLC_EXPORT(void, vout_SetDisplayCrop, (vout_display_t *, unsigned crop_num, 
unsigned crop_den, unsigned x, unsigned y, unsigned width, unsigned height));
 VLC_EXPORT(vout_opengl_t *, vout_GetDisplayOpengl, (vout_display_t *));
 
diff --git a/src/video_output/display.c b/src/video_output/display.c
index 6e7e3d5..20af935 100644
--- a/src/video_output/display.c
+++ b/src/video_output/display.c
@@ -1128,10 +1128,20 @@ void vout_SetWindowState(vout_display_t *vd, unsigned 
state)
     vlc_mutex_unlock(&osys->lock);
 }
 
-void vout_SetDisplayAspect(vout_display_t *vd, unsigned sar_num, unsigned 
sar_den)
+void vout_SetDisplayAspect(vout_display_t *vd, unsigned dar_num, unsigned 
dar_den)
 {
     vout_display_owner_sys_t *osys = vd->owner.sys;
 
+    unsigned sar_num, sar_den;
+    if (dar_num > 0 && dar_den > 0) {
+        sar_num = dar_num * osys->source.i_visible_height;
+        sar_den = dar_den * osys->source.i_visible_width;
+        vlc_ureduce(&sar_num, &sar_den, sar_num, sar_den, 0);
+    } else {
+        sar_num = 0;
+        sar_den = 0;
+    }
+
     if (osys->sar.num != sar_num || osys->sar.den != sar_den) {
         osys->ch_sar = true;
         osys->sar.num = sar_num;
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 4ded44e..e0ac73e 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1175,13 +1175,6 @@ static void ThreadChangeZoom(vout_thread_t *vout, int 
num, int den)
 static void ThreadChangeAspectRatio(vout_thread_t *vout,
                                     unsigned num, unsigned den)
 {
-    const video_format_t *source = &vout->p->original;
-
-    if (num > 0 && den > 0) {
-        num *= source->i_visible_height;
-        den *= source->i_visible_width;
-        vlc_ureduce(&num, &den, num, den, 0);
-    }
     vout_SetDisplayAspect(vout->p->display.vd, num, den);
 }
 

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to