summaryrefslogtreecommitdiff
path: root/src/libvdpau/dpb.c
diff options
context:
space:
mode:
authorJulian Scheel <julian@jusst.de>2009-01-10 13:01:06 +0000
committerJulian Scheel <julian@jusst.de>2009-01-10 13:01:06 +0000
commit25ee70c59a4a67b5cf30f480ad06209486b1ac81 (patch)
treee952e8ea1f42f3bf5295609b49d19769c5296693 /src/libvdpau/dpb.c
parent75c08203eda48da5adce7f26f507ecf033714ea6 (diff)
downloadxine-lib-25ee70c59a4a67b5cf30f480ad06209486b1ac81.tar.gz
xine-lib-25ee70c59a4a67b5cf30f480ad06209486b1ac81.tar.bz2
Fix weird field_order_cnt encoding seen for example on Sky HD.
Diffstat (limited to 'src/libvdpau/dpb.c')
-rw-r--r--src/libvdpau/dpb.c2
1 files changed, 2 insertions, 0 deletions
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);