summaryrefslogtreecommitdiff
path: root/src/libvdpau/dpb.h
diff options
context:
space:
mode:
authorJulian Scheel <julian@jusst.de>2008-12-14 13:23:48 +0000
committerJulian Scheel <julian@jusst.de>2008-12-14 13:23:48 +0000
commit7f85cddaec67cf3dd8d30e08cf86057efa626411 (patch)
tree93473d32ea16a9816ef3bb321fb9033b5f6cc05b /src/libvdpau/dpb.h
parent3c82138cae76f29d2b5601702e6547551b8782c2 (diff)
downloadxine-lib-7f85cddaec67cf3dd8d30e08cf86057efa626411.tar.gz
xine-lib-7f85cddaec67cf3dd8d30e08cf86057efa626411.tar.bz2
PTS reorder preparations.
Diffstat (limited to 'src/libvdpau/dpb.h')
-rw-r--r--src/libvdpau/dpb.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/libvdpau/dpb.h b/src/libvdpau/dpb.h
index 06f894e44..c747a38af 100644
--- a/src/libvdpau/dpb.h
+++ b/src/libvdpau/dpb.h
@@ -8,6 +8,8 @@
#ifndef DPB_H_
#define DPB_H_
+#define MAX_DPB_SIZE 10
+
#include "nal.h"
#include "video_out.h"
@@ -21,6 +23,8 @@ struct decoded_picture {
uint8_t top_is_reference;
uint8_t bottom_is_reference;
+ uint8_t delayed_output;
+
struct decoded_picture *next;
};
@@ -34,10 +38,20 @@ struct decoded_picture* init_decoded_picture(struct nal_unit *src_nal,
VdpVideoSurface surface, vo_frame_t *img);
void free_decoded_picture(struct decoded_picture *pic);
+struct decoded_picture* dpb_get_next_out_picture(struct dpb *dpb);
+
struct decoded_picture* dpb_get_picture(struct dpb *dpb, uint32_t picnum);
struct decoded_picture* dpb_get_picture_by_ltpn(struct dpb *dpb, uint32_t longterm_picnum);
struct decoded_picture* dpb_get_picture_by_ltidx(struct dpb *dpb, uint32_t longterm_idx);
-int dpb_remove_picture(struct dpb *dpb, uint32_t picnum);
+
+int dpb_set_unused_ref_picture(struct dpb *dpb, uint32_t picnum);
+int dpb_set_unused_ref_picture_byltpn(struct dpb *dpb, uint32_t longterm_picnum);
+int dpb_set_unused_ref_picture_bylidx(struct dpb *dpb, uint32_t longterm_idx);
+
+int dpb_set_output_picture(struct dpb *dpb, struct decoded_picture *outpic);
+
+int dpb_remove_picture(struct dpb *dpb, struct decoded_picture *rempic);
+int dpb_remove_picture_by_picnum(struct dpb *dpb, uint32_t picnum);
int dpb_remove_picture_by_ltpn(struct dpb *dpb, uint32_t longterm_picnum);
int dpb_remove_picture_by_ltidx(struct dpb *dpb, uint32_t longterm_idx);
int dpb_remove_ltidx_gt(struct dpb *dpb, uint32_t longterm_max);