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