diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-27 19:54:36 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-27 19:54:36 +0000 |
commit | 48469913280e1595ca207be68fd7651ebf466e16 (patch) | |
tree | 86ecdf3a5d8ba3f987a9c9d04c7ef4c48801c349 /libmpdemux | |
parent | 7d71e0dcb63cbc01e2eaf4a011c992d3ed813de3 (diff) | |
download | mpv-48469913280e1595ca207be68fd7651ebf466e16.tar.bz2 mpv-48469913280e1595ca207be68fd7651ebf466e16.tar.xz |
aspect ratio patch by Rik Snel
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3801 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/demux_y4m.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libmpdemux/demux_y4m.c b/libmpdemux/demux_y4m.c index 298cbce006..9aa2158bd6 100644 --- a/libmpdemux/demux_y4m.c +++ b/libmpdemux/demux_y4m.c @@ -116,7 +116,7 @@ int demux_y4m_fill_buffer(demuxer_t *demux) { void demux_open_y4m(demuxer_t* demuxer){ y4m_priv_t* priv = demuxer->priv; - y4m_ratio_t framerate; + y4m_ratio_t ratio; sh_video_t* sh=new_sh_video(demuxer,0); int err; @@ -186,13 +186,17 @@ void demux_open_y4m(demuxer_t* demuxer){ mp_msg(MSGT_DEMUXER, MSGL_FATAL, "error parsing YUV4MPEG header: %s\n", y4m_strerr(err)); if(!sh->fps) { - framerate = y4m_si_get_framerate(priv->si); - if (framerate.d != 0) - sh->fps=(float)framerate.n/(float)framerate.d; + ratio = y4m_si_get_framerate(priv->si); + if (ratio.d != 0) + sh->fps=(float)ratio.n/(float)ratio.d; else sh->fps=15.0f; } sh->frametime=1.0f/sh->fps; + + ratio = y4m_si_get_sampleaspect(priv->si); + if (ratio.d != 0 && ratio.n != 0) + sh->aspect = (float)ratio.n/(float)ratio.d; sh->disp_w = y4m_si_get_width(priv->si); sh->disp_h = y4m_si_get_height(priv->si); @@ -224,7 +228,7 @@ void demux_open_y4m(demuxer_t* demuxer){ void demux_close_y4m(demuxer_t *demuxer) { - y4m_priv_t* priv; + y4m_priv_t* priv = demuxer->priv; if (!priv->is_older) y4m_fini_stream_info(((y4m_priv_t*)demuxer->priv)->si); |