codecparsers: Actually store mpeg video bitrate value
authorEdward Hervey <edward@collabora.com>
Wed, 1 May 2013 14:37:54 +0000 (16:37 +0200)
committerEdward Hervey <edward@collabora.com>
Thu, 23 May 2013 12:59:33 +0000 (14:59 +0200)
And use the extension also (higher 12 bits)

gst-libs/gst/codecparsers/gstmpegvideoparser.c

index d8905d1..5cb75e1 100644 (file)
@@ -304,7 +304,7 @@ gst_mpeg_video_parse_sequence_header (GstMpegVideoSequenceHdr * seqhdr,
     seqhdr->bitrate = 0;
   } else {
     /* Value in header is in units of 400 bps */
-    seqhdr->bitrate *= 400;
+    seqhdr->bitrate = seqhdr->bitrate_value * 400;
   }
 
   READ_UINT8 (&br, bits, 1);
@@ -486,6 +486,7 @@ gst_mpeg_video_finalise_mpeg2_sequence_header (GstMpegVideoSequenceHdr * seqhdr,
     /* Extend width and height to 14 bits by adding the extension bits */
     seqhdr->width |= (seqext->horiz_size_ext << 12);
     seqhdr->height |= (seqext->vert_size_ext << 12);
+    seqhdr->bitrate += (seqext->bitrate_ext << 18) * 400;
   }
 
   w = seqhdr->width;