diff options
Diffstat (limited to 'libavcodec/vdpau_internal.h')
-rw-r--r-- | libavcodec/vdpau_internal.h | 33 |
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, |