summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpcodecs/vd_libmpeg2.c4
-rw-r--r--libmpdemux/video.c1
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;