summaryrefslogtreecommitdiffstats
path: root/sys/vdpau/mpegutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vdpau/mpegutil.c')
-rw-r--r--sys/vdpau/mpegutil.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/sys/vdpau/mpegutil.c b/sys/vdpau/mpegutil.c
index 5348bd6a..b52ab6f8 100644
--- a/sys/vdpau/mpegutil.c
+++ b/sys/vdpau/mpegutil.c
@@ -256,20 +256,22 @@ mpeg_util_parse_picture_hdr (MPEGPictureHdr * hdr, GstBuffer * buffer)
if (!gst_bit_reader_get_bits_uint8 (&reader, &hdr->f_code[0][0], 3))
return FALSE;
hdr->f_code[0][1] = hdr->f_code[0][0];
+ } else {
+ hdr->full_pel_forward_vector = 0;
+ hdr->f_code[0][0] = hdr->f_code[0][1] = 0;
+ }
- if (hdr->pic_type == B_FRAME) {
- if (!gst_bit_reader_get_bits_uint8 (&reader,
- &hdr->full_pel_backward_vector, 1))
- return FALSE;
+ if (hdr->pic_type == B_FRAME) {
+ if (!gst_bit_reader_get_bits_uint8 (&reader,
+ &hdr->full_pel_backward_vector, 1))
+ return FALSE;
- if (!gst_bit_reader_get_bits_uint8 (&reader, &hdr->f_code[1][0], 3))
- return FALSE;
- hdr->f_code[1][1] = hdr->f_code[1][0];
- } else
- hdr->full_pel_backward_vector = 0;
+ if (!gst_bit_reader_get_bits_uint8 (&reader, &hdr->f_code[1][0], 3))
+ return FALSE;
+ hdr->f_code[1][1] = hdr->f_code[1][0];
} else {
- hdr->full_pel_forward_vector = 0;
hdr->full_pel_backward_vector = 0;
+ hdr->f_code[1][0] = hdr->f_code[1][1] = 0;
}
return TRUE;