summaryrefslogtreecommitdiff
path: root/libavcodec/vdpau_internal.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-10-06 12:32:07 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-10-06 12:38:26 +0200
commit10b6d7462cbf0d13913c9d07e85c79210427d71e (patch)
treeff6dffb91bb5c46b7aefcc5296523dacf67c1abb /libavcodec/vdpau_internal.h
parentb64b719ad5c212e197009fa3f1e7aa96255cbd28 (diff)
parentce083282f0a8b7d63c4047c30b7bac498f9806dd (diff)
Merge commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd'
* commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd': vdpau: common support for managing the VdpDecoder in avcodec Conflicts: libavcodec/vdpau.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vdpau_internal.h')
-rw-r--r--libavcodec/vdpau_internal.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/libavcodec/vdpau_internal.h b/libavcodec/vdpau_internal.h
index 1debbe6e2b..d76845e3bf 100644
--- a/libavcodec/vdpau_internal.h
+++ b/libavcodec/vdpau_internal.h
@@ -55,6 +55,34 @@ union AVVDPAUPictureInfo {
#include "vdpau.h"
#endif
+typedef struct VDPAUHWContext {
+ AVVDPAUContext context;
+ VdpDevice device;
+ VdpGetProcAddress *get_proc_address;
+} VDPAUHWContext;
+
+typedef struct VDPAUContext {
+ /**
+ * VDPAU device handle
+ */
+ VdpDevice device;
+
+ /**
+ * VDPAU decoder handle
+ */
+ VdpDecoder decoder;
+
+ /**
+ * VDPAU device driver
+ */
+ VdpGetProcAddress *get_proc_address;
+
+ /**
+ * VDPAU decoder render callback
+ */
+ VdpDecoderRender *render;
+} VDPAUContext;
+
struct vdpau_picture_context {
/**
* VDPAU picture information.
@@ -76,8 +104,13 @@ struct vdpau_picture_context {
*/
VdpBitstreamBuffer *bitstream_buffers;
};
+
+int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile,
+ int level);
#endif
+int ff_vdpau_common_uninit(AVCodecContext *avctx);
+
int ff_vdpau_common_start_frame(struct vdpau_picture_context *pic,
const uint8_t *buffer, uint32_t size);
int ff_vdpau_common_end_frame(AVCodecContext *avctx, AVFrame *frame,