# HG changeset patch # User nicodvb # Date 1113044400 0 # Node ID 28ba6bfcf2dcac2b07d220949b8863282016c864 # Parent 9ec12f960724a010d993282c614cba3fb5c2feb4 assign picture->(width,height) when parsing h264 diff -r 9ec12f960724 -r 28ba6bfcf2dc libmpdemux/mpeg_hdr.c --- a/libmpdemux/mpeg_hdr.c Fri Apr 08 21:35:31 2005 +0000 +++ b/libmpdemux/mpeg_hdr.c Sat Apr 09 11:00:00 2005 +0000 @@ -297,8 +297,9 @@ int h264_parse_sps(mp_mpeg_header_t * picture, unsigned char * buf, int len) { - unsigned int n = 0, m = 0, v, i, j; + unsigned int n = 0, v, i, j, mbh; unsigned char *dest; + int frame_mbs_only; dest = (unsigned char*) malloc(len); if(! dest) @@ -343,9 +344,11 @@ } read_golomb(buf, &n); getbits(buf, n++, 1); - read_golomb(buf, &n); - read_golomb(buf, &n); - if(!getbits(buf, n++, 1)) + picture->display_picture_width = 16 *(read_golomb(buf, &n)+1); + mbh = read_golomb(buf, &n)+1; + frame_mbs_only = getbits(buf, n++, 1); + picture->display_picture_height = 16 * (2 - frame_mbs_only) * mbh; + if(!frame_mbs_only) getbits(buf, n++, 1); getbits(buf, n++, 1); if(getbits(buf, n++, 1))