From 25ee70c59a4a67b5cf30f480ad06209486b1ac81 Mon Sep 17 00:00:00 2001 From: Julian Scheel Date: Sat, 10 Jan 2009 13:01:06 +0000 Subject: Fix weird field_order_cnt encoding seen for example on Sky HD. --- src/libvdpau/dpb.c | 2 ++ src/libvdpau/nal.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/libvdpau/dpb.c b/src/libvdpau/dpb.c index 4236909db..f83a5d2da 100644 --- a/src/libvdpau/dpb.c +++ b/src/libvdpau/dpb.c @@ -65,6 +65,8 @@ struct decoded_picture* dpb_get_next_out_picture(struct dpb *dpb) (outpic == NULL || (pic->nal->top_field_order_cnt <= outpic->nal->top_field_order_cnt && pic->nal->bottom_field_order_cnt <= outpic->nal->bottom_field_order_cnt)|| + (outpic->nal->top_field_order_cnt < 0 && pic->nal->top_field_order_cnt > 0 && + outpic->nal->bottom_field_order_cnt < 0 && pic->nal->bottom_field_order_cnt > 0)|| outpic->nal->nal_unit_type == NAL_SLICE_IDR)) outpic = pic; } while ((pic = pic->next) != NULL); diff --git a/src/libvdpau/nal.h b/src/libvdpau/nal.h index 2fbbeff97..ee5a4bb05 100644 --- a/src/libvdpau/nal.h +++ b/src/libvdpau/nal.h @@ -418,8 +418,8 @@ struct nal_unit uint32_t long_term_pic_num; uint32_t long_term_frame_idx; - uint32_t top_field_order_cnt; - uint32_t bottom_field_order_cnt; + int32_t top_field_order_cnt; + int32_t bottom_field_order_cnt; uint8_t interlaced; uint8_t repeat_pic; -- cgit v1.2.3