[MPlayer-cvslog] r30904 - in trunk/libmpdemux: mpeg_hdr.c video.c

cehoyos subversion at mplayerhq.hu
Mon Mar 15 23:32:12 CET 2010


Author: cehoyos
Date: Mon Mar 15 23:32:11 2010
New Revision: 30904

Log:
Calculate width and height in mp4_header_process_vop().
Fixes elementary streams with -vc ffodivxvdpau and the native demuxer.

Modified:
   trunk/libmpdemux/mpeg_hdr.c
   trunk/libmpdemux/video.c

Modified: trunk/libmpdemux/mpeg_hdr.c
==============================================================================
--- trunk/libmpdemux/mpeg_hdr.c	Mon Mar 15 23:28:08 2010	(r30903)
+++ trunk/libmpdemux/mpeg_hdr.c	Mon Mar 15 23:32:11 2010	(r30904)
@@ -258,6 +258,13 @@ int mp4_header_process_vol(mp_mpeg_heade
         picture->fps = (float) picture->timeinc_resolution / (float) picture->timeinc_unit;
     }
 
+    n++; //marker bit
+    picture->display_picture_width = getbits16(buffer, n, 13);
+    n += 13;
+    n++; //marker bit
+    picture->display_picture_height = getbits16(buffer, n, 13);
+    n += 13;
+
     //fprintf(stderr, "ASPECT: %d, PARW=%d, PARH=%d, TIMEINCRESOLUTION: %d, FIXED_TIMEINC: %d (number of bits: %d), FPS: %u\n",
     //	aspect, aspectw, aspecth, picture->timeinc_resolution, picture->timeinc_unit, picture->timeinc_bits, picture->fps);
 

Modified: trunk/libmpdemux/video.c
==============================================================================
--- trunk/libmpdemux/video.c	Mon Mar 15 23:28:08 2010	(r30903)
+++ trunk/libmpdemux/video.c	Mon Mar 15 23:32:11 2010	(r30904)
@@ -169,6 +169,8 @@ switch(video_codec){
      return 0;
    }
    mp4_header_process_vop(&picture, &(videobuffer[pos]));
+   sh_video->disp_w = picture.display_picture_width;
+   sh_video->disp_h = picture.display_picture_height;
    units[vop_cnt] = picture.timeinc_unit;
    vop_cnt++;
    //mp_msg(MSGT_DECVIDEO,MSGL_V, "TYPE: %d, unit: %d\n", picture.picture_type, picture.timeinc_unit);


More information about the MPlayer-cvslog mailing list