FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Files | Data Structures | Macros | Typedefs | Functions
VDPAU Decoder and Renderer
Hardware Accelerators bridge

VDPAU hardware acceleration has two modules. More...

Files

file  vdpau.h
 Public libavcodec VDPAU header.
 

Data Structures

union  AVVDPAUPictureInfo
 
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_API_CAP_VDPAU   1
 
#define FF_API_BUFS_VDPAU   1
 
#define FF_VDPAU_STATE_USED_FOR_RENDER   1
 The videoSurface is used for rendering.
 
#define FF_VDPAU_STATE_USED_FOR_REFERENCE   2
 The videoSurface is needed for reference/prediction.
 

Typedefs

typedef int(* AVVDPAU_Render2 )(struct AVCodecContext *, struct AVFrame *, const VdpPictureInfo *, uint32_t, const VdpBitstreamBuffer *)
 

Functions

AVVDPAUContextav_alloc_vdpaucontext (void)
 allocation function for AVVDPAUContext
 
AVVDPAU_Render2 av_vdpau_hwaccel_get_render2 (const AVVDPAUContext *)
 
void av_vdpau_hwaccel_set_render2 (AVVDPAUContext *, AVVDPAU_Render2)
 

Detailed Description

VDPAU hardware acceleration has two modules.

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_API_CAP_VDPAU   1

Definition at line 58 of file vdpau.h.

#define FF_API_BUFS_VDPAU   1

Definition at line 61 of file vdpau.h.

#define FF_VDPAU_STATE_USED_FOR_RENDER   1

The videoSurface is used for rendering.

Definition at line 154 of file vdpau.h.

#define FF_VDPAU_STATE_USED_FOR_REFERENCE   2

The videoSurface is needed for reference/prediction.

The codec manipulates this.

Definition at line 160 of file vdpau.h.

Typedef Documentation

typedef int(* AVVDPAU_Render2)(struct AVCodecContext *, struct AVFrame *, const VdpPictureInfo *, uint32_t, const VdpBitstreamBuffer *)

Definition at line 76 of file vdpau.h.

Function Documentation

AVVDPAUContext* av_alloc_vdpaucontext ( void  )

allocation function for AVVDPAUContext

Allows extending the struct without breaking API/ABI

Definition at line 41 of file vdpau.c.

AVVDPAU_Render2 av_vdpau_hwaccel_get_render2 ( const AVVDPAUContext )
void av_vdpau_hwaccel_set_render2 ( AVVDPAUContext ,
AVVDPAU_Render2   
)