FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
VDPAU_Decoding

Functions

static int vdpau_error (VdpStatus status)
 
AVVDPAUContextav_alloc_vdpaucontext (void)
 allocation function for AVVDPAUContext
 
int ff_vdpau_common_init (AVCodecContext *avctx, VdpDecoderProfile profile, int level)
 
int ff_vdpau_common_uninit (AVCodecContext *avctx)
 
static int ff_vdpau_common_reinit (AVCodecContext *avctx)
 
int ff_vdpau_common_start_frame (struct vdpau_picture_context *pic_ctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
 
int ff_vdpau_common_end_frame (AVCodecContext *avctx, AVFrame *frame, struct vdpau_picture_context *pic_ctx)
 
int ff_vdpau_add_buffer (struct vdpau_picture_context *pic_ctx, const uint8_t *buf, uint32_t size)
 
void ff_vdpau_h264_set_reference_frames (H264Context *h)
 
void ff_vdpau_add_data_chunk (uint8_t *data, const uint8_t *buf, int buf_size)
 
int av_vdpau_get_profile (AVCodecContext *avctx, VdpDecoderProfile *profile)
 Get a decoder profile that should be used for initializing a VDPAU decoder.
 
AVVDPAUContextav_vdpau_alloc_context (void)
 Allocate an AVVDPAUContext.
 
int av_vdpau_bind_context (AVCodecContext *avctx, VdpDevice device, VdpGetProcAddress *get_proc, unsigned flags)
 Associate a VDPAU device with a codec context for hardware acceleration.
 

Detailed Description

Function Documentation

static int vdpau_error ( VdpStatus  status)
static

Definition at line 43 of file vdpau.c.

Referenced by ff_vdpau_common_end_frame(), ff_vdpau_common_init(), and ff_vdpau_common_uninit().

AVVDPAUContext* av_alloc_vdpaucontext ( void  )

allocation function for AVVDPAUContext

Allows extending the struct without breaking API/ABI

Definition at line 67 of file vdpau.c.

int ff_vdpau_common_init ( AVCodecContext avctx,
VdpDecoderProfile  profile,
int  level 
)

Definition at line 74 of file vdpau.c.

Referenced by vdpau_h264_init(), and vdpau_vc1_init().

int ff_vdpau_common_uninit ( AVCodecContext avctx)

Definition at line 172 of file vdpau.c.

static int ff_vdpau_common_reinit ( AVCodecContext avctx)
static

Definition at line 195 of file vdpau.c.

Referenced by ff_vdpau_common_end_frame().

int ff_vdpau_common_start_frame ( struct vdpau_picture_context *  pic_ctx,
av_unused const uint8_t buffer,
av_unused uint32_t  size 
)
int ff_vdpau_common_end_frame ( AVCodecContext avctx,
AVFrame frame,
struct vdpau_picture_context *  pic_ctx 
)

Definition at line 220 of file vdpau.c.

Referenced by vdpau_h264_end_frame().

int ff_vdpau_add_buffer ( struct vdpau_picture_context *  pic_ctx,
const uint8_t buf,
uint32_t  size 
)
void ff_vdpau_h264_set_reference_frames ( H264Context h)

Definition at line 303 of file vdpau.c.

Referenced by ff_h264_field_end().

void ff_vdpau_add_data_chunk ( uint8_t data,
const uint8_t buf,
int  buf_size 
)

Definition at line 371 of file vdpau.c.

Referenced by decode_nal_units().

int av_vdpau_get_profile ( AVCodecContext avctx,
VdpDecoderProfile *  profile 
)

Get a decoder profile that should be used for initializing a VDPAU decoder.

Should be called from the AVCodecContext.get_format() callback.

Parameters
avctxthe codec context being used for decoding the stream
profilea pointer into which the result will be written on success. The contents of profile are undefined if this function returns an error.
Returns
0 on success (non-negative), a negative AVERROR on failure.

Definition at line 638 of file vdpau.c.

Referenced by vdpau_old_init().

AVVDPAUContext* av_vdpau_alloc_context ( void  )

Allocate an AVVDPAUContext.

Returns
Newly-allocated AVVDPAUContext or NULL on failure.

Definition at line 681 of file vdpau.c.

Referenced by av_alloc_vdpaucontext(), and vdpau_alloc().

int av_vdpau_bind_context ( AVCodecContext avctx,
VdpDevice  device,
VdpGetProcAddress *  get_proc_address,
unsigned  flags 
)

Associate a VDPAU device with a codec context for hardware acceleration.

This function is meant to be called from the get_format() codec callback, or earlier. It can also be called after avcodec_flush_buffers() to change the underlying VDPAU device mid-stream (e.g. to recover from non-transparent display preemption).

Note
get_format() must return AV_PIX_FMT_VDPAU if this function completes successfully.
Parameters
avctxdecoding context whose get_format() callback is invoked
deviceVDPAU device handle to use for hardware acceleration
get_proc_addressVDPAU device driver
flagszero of more OR'd AV_HWACCEL_FLAG_* flags
Returns
0 on success, an AVERROR code on failure.

Definition at line 686 of file vdpau.c.

Referenced by vdpau_alloc().