summaryrefslogtreecommitdiff
path: root/src/libvdpau/h264_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libvdpau/h264_parser.c')
-rw-r--r--src/libvdpau/h264_parser.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/libvdpau/h264_parser.c b/src/libvdpau/h264_parser.c
index 531aa6229..f7d12d322 100644
--- a/src/libvdpau/h264_parser.c
+++ b/src/libvdpau/h264_parser.c
@@ -311,7 +311,7 @@ void calculate_pic_order(struct nal_parser *parser)
} else {
- printf("FIXME: Unsupported poc_type\n");
+ printf("FIXME: Unsupported poc_type: %d\n", sps->pic_order_cnt_type);
}
}
@@ -883,10 +883,13 @@ void decode_ref_pic_marking(uint32_t memory_management_control_operation,
struct decoded_picture* pic = dpb_get_picture(dpb, pic_num_x);
if (pic != NULL) {
if (pic->nal->slc->field_pic_flag == 0)
- dpb_set_unused_ref_picture(dpb, pic_num_x);
+ dpb_set_unused_ref_picture_a(dpb, pic);
else {
- dpb_set_unused_ref_picture(dpb, pic_num_x);
- printf("FIXME: We might need do delete more from the DPB...\n");
+ if(!pic->top_is_reference)
+ dpb_set_unused_ref_picture_a(dpb, pic);
+ else
+ pic->top_is_reference = 0;
+ //printf("FIXME: We might need do delete more from the DPB...\n");
// FIXME: some more handling needed here?! See 8.2.5.4.1, p. 120
}
}