24 #include <vdpau/vdpau.h> 
   43     info->forward_reference  = VDP_INVALID_HANDLE;
 
   44     info->backward_reference = VDP_INVALID_HANDLE;
 
   49         assert(ref != VDP_INVALID_HANDLE);
 
   50         info->backward_reference = 
ref;
 
   54         info->forward_reference  = 
ref;
 
   57     info->slice_count                = 0;
 
   68     info->full_pel_forward_vector    = s->
full_pel[0];
 
   69     info->full_pel_backward_vector   = s->
full_pel[1];
 
   75     for (i = 0; i < 64; ++i) {
 
   77         info->non_intra_quantizer_matrix[i] = s->
inter_matrix[i];
 
   99 #if CONFIG_MPEG1_VDPAU_HWACCEL 
  103                                 VDP_DECODER_LEVEL_MPEG1_NA);
 
  107     .
name           = 
"mpeg1_vdpau",
 
  115     .
init           = vdpau_mpeg1_init,
 
  122 #if CONFIG_MPEG2_VDPAU_HWACCEL 
  129         profile = VDP_DECODER_PROFILE_MPEG2_MAIN;
 
  132         profile = VDP_DECODER_PROFILE_MPEG2_SIMPLE;
 
  142     .
name           = 
"mpeg2_vdpau",
 
  150     .init           = vdpau_mpeg2_init,
 
const char const char void * val
#define FF_PROFILE_MPEG2_MAIN
static av_cold int init(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)
static int vdpau_mpeg_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Public libavcodec VDPAU header. 
int ff_vdpau_common_uninit(AVCodecContext *avctx)
int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile, int level)
const AVHWAccel ff_mpeg1_vdpau_hwaccel
VdpPictureInfoMPEG1Or2 mpeg
const char * name
Name of the hardware accelerated codec. 
Picture * current_picture_ptr
pointer to the current picture 
void * hwaccel_picture_private
Hardware accelerator private data. 
int ff_vdpau_common_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
preferred ID for MPEG-1/2 video decoding 
uint16_t inter_matrix[64]
int concealment_motion_vectors
Libavcodec external API header. 
int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx)
main external API structure. 
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface. 
const AVHWAccel ff_mpeg2_vdpau_hwaccel
int pict_type
AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ... 
static int ref[MAX_W *MAX_W]
int ff_vdpau_add_buffer(struct vdpau_picture_context *pic_ctx, const uint8_t *buf, uint32_t size)
Picture last_picture
copy of the previous picture structure. 
#define HWACCEL_CAP_ASYNC_SAFE
union VDPAUPictureInfo info
VDPAU picture information. 
#define FF_PROFILE_MPEG2_SIMPLE
Picture next_picture
copy of the next picture structure. 
uint16_t intra_matrix[64]
matrix transmitted in the bitstream 
static int vdpau_mpeg_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
static uintptr_t ff_vdpau_get_surface_id(AVFrame *pic)
Extract VdpVideoSurface from an AVFrame.