VDPAU hardware acceleration has two modules. More...

Collaboration diagram for VDPAU Decoder and Renderer:

Files

file  vdpau.h
 Public libavcodec VDPAU header.
 

Data Structures

union  FFVdpPictureInfo
 
struct  AVVDPAUContext
 This structure is used to share data between the libavcodec library and the client video application. More...
 
struct  vdpau_render_state
 This structure is used as a callback between the FFmpeg decoder (vd_) and presentation (vo_) module. More...
 

Macros

#define FF_VDPAU_STATE_USED_FOR_RENDER   1
 The videoSurface is used for rendering. More...
 
#define FF_VDPAU_STATE_USED_FOR_REFERENCE   2
 The videoSurface is needed for reference/prediction. More...
 

Typedefs

typedef struct AVVDPAUContext AVVDPAUContext
 This structure is used to share data between the libavcodec library and the client video application. More...
 

Detailed Description

VDPAU hardware acceleration has two modules.

  • VDPAU decoding
  • VDPAU presentation

The VDPAU decoding module parses all headers using FFmpeg parsing mechanisms and uses VDPAU for the actual decoding.

As per the current implementation, the actual decoding and rendering (API calls) are done as part of the VDPAU presentation (vo_vdpau.c) module.

Macro Definition Documentation

#define FF_VDPAU_STATE_USED_FOR_REFERENCE   2

The videoSurface is needed for reference/prediction.

The codec manipulates this.

Definition at line 125 of file vdpau.h.

#define FF_VDPAU_STATE_USED_FOR_RENDER   1

The videoSurface is used for rendering.

Definition at line 119 of file vdpau.h.

Typedef Documentation

This structure is used to share data between the libavcodec library and the client video application.

The user shall zero-allocate the structure and make it available as AVCodecContext.hwaccel_context. Members can be set by the user once during initialization or through each AVCodecContext.get_buffer() function call. In any case, they must be valid prior to calling decoding functions.