summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_y4m.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-27 19:54:36 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-27 19:54:36 +0000
commit48469913280e1595ca207be68fd7651ebf466e16 (patch)
tree86ecdf3a5d8ba3f987a9c9d04c7ef4c48801c349 /libmpdemux/demux_y4m.c
parent7d71e0dcb63cbc01e2eaf4a011c992d3ed813de3 (diff)
downloadmpv-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/demux_y4m.c')
-rw-r--r--libmpdemux/demux_y4m.c14
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);