diff options
-rw-r--r-- | libmpcodecs/vd_libmpeg2.c | 4 | ||||
-rw-r--r-- | libmpdemux/video.c | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/libmpcodecs/vd_libmpeg2.c b/libmpcodecs/vd_libmpeg2.c index f07e49614b..3db1ca85f0 100644 --- a/libmpcodecs/vd_libmpeg2.c +++ b/libmpcodecs/vd_libmpeg2.c @@ -157,6 +157,7 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){ int state=mpeg2_parse (mpeg2dec); int type, use_callback; mp_image_t* mpi_new; + unsigned long pw, ph; switch(state){ case STATE_BUFFER: @@ -170,6 +171,9 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){ } break; case STATE_SEQUENCE: + pw = info->sequence->display_width * info->sequence->pixel_width; + ph = info->sequence->display_height * info->sequence->pixel_height; + if(ph) sh->aspect = (float) pw / (float) ph; // video parameters inited/changed, (re)init libvo: if (info->sequence->width >> 1 == info->sequence->chroma_width && info->sequence->height >> 1 == info->sequence->chroma_height) { diff --git a/libmpdemux/video.c b/libmpdemux/video.c index 88801e7d0a..7d89425c9a 100644 --- a/libmpdemux/video.c +++ b/libmpdemux/video.c @@ -326,7 +326,6 @@ mpeg_header_parser: } // printf("picture.fps=%d\n",picture.fps); - sh_video->aspect = mpeg12_aspect_info(&picture); // display info: sh_video->format=picture.mpeg1?0x10000001:0x10000002; // mpeg video sh_video->fps=picture.fps; |