FFmpeg  4.0
Macros | Functions | Variables
vdpau_h264.c File Reference
#include <vdpau/vdpau.h>
#include "avcodec.h"
#include "internal.h"
#include "h264dec.h"
#include "h264_ps.h"
#include "hwaccel.h"
#include "mpegutils.h"
#include "vdpau.h"
#include "vdpau_internal.h"

Go to the source code of this file.

Macros

#define H264_RF_COUNT   FF_ARRAY_ELEMS(info->referenceFrames)
 

Functions

static int32_t h264_foc (int foc)
 
static void vdpau_h264_clear_rf (VdpReferenceFrameH264 *rf)
 
static void vdpau_h264_set_rf (VdpReferenceFrameH264 *rf, H264Picture *pic, int pic_structure)
 
static void vdpau_h264_set_reference_frames (AVCodecContext *avctx)
 
static int vdpau_h264_start_frame (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int vdpau_h264_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int vdpau_h264_end_frame (AVCodecContext *avctx)
 
static int vdpau_h264_init (AVCodecContext *avctx)
 

Variables

static const uint8_t start_code_prefix [3] = { 0x00, 0x00, 0x01 }
 
const AVHWAccel ff_h264_vdpau_hwaccel
 

Macro Definition Documentation

◆ H264_RF_COUNT

#define H264_RF_COUNT   FF_ARRAY_ELEMS(info->referenceFrames)

Function Documentation

◆ h264_foc()

static int32_t h264_foc ( int  foc)
static

Definition at line 35 of file vdpau_h264.c.

Referenced by vdpau_h264_set_rf(), and vdpau_h264_start_frame().

◆ vdpau_h264_clear_rf()

static void vdpau_h264_clear_rf ( VdpReferenceFrameH264 *  rf)
static

Definition at line 42 of file vdpau_h264.c.

Referenced by vdpau_h264_set_reference_frames().

◆ vdpau_h264_set_rf()

static void vdpau_h264_set_rf ( VdpReferenceFrameH264 *  rf,
H264Picture pic,
int  pic_structure 
)
static

Definition at line 53 of file vdpau_h264.c.

Referenced by vdpau_h264_set_reference_frames().

◆ vdpau_h264_set_reference_frames()

static void vdpau_h264_set_reference_frames ( AVCodecContext avctx)
static

Definition at line 70 of file vdpau_h264.c.

Referenced by vdpau_h264_start_frame().

◆ vdpau_h264_start_frame()

static int vdpau_h264_start_frame ( AVCodecContext avctx,
const uint8_t buffer,
uint32_t  size 
)
static

Definition at line 121 of file vdpau_h264.c.

◆ vdpau_h264_decode_slice()

static int vdpau_h264_decode_slice ( AVCodecContext avctx,
const uint8_t buffer,
uint32_t  size 
)
static

Definition at line 182 of file vdpau_h264.c.

◆ vdpau_h264_end_frame()

static int vdpau_h264_end_frame ( AVCodecContext avctx)
static

Definition at line 202 of file vdpau_h264.c.

◆ vdpau_h264_init()

static int vdpau_h264_init ( AVCodecContext avctx)
static

Definition at line 218 of file vdpau_h264.c.

Variable Documentation

◆ start_code_prefix

const uint8_t start_code_prefix[3] = { 0x00, 0x00, 0x01 }
static

Definition at line 180 of file vdpau_h264.c.

Referenced by vdpau_h264_decode_slice().

◆ ff_h264_vdpau_hwaccel

const AVHWAccel ff_h264_vdpau_hwaccel
Initial value:
= {
.name = "h264_vdpau",
.pix_fmt = AV_PIX_FMT_VDPAU,
.start_frame = vdpau_h264_start_frame,
.end_frame = vdpau_h264_end_frame,
.decode_slice = vdpau_h264_decode_slice,
.frame_priv_data_size = sizeof(struct vdpau_picture_context),
.priv_data_size = sizeof(VDPAUContext),
.caps_internal = HWACCEL_CAP_ASYNC_SAFE,
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
int ff_vdpau_common_uninit(AVCodecContext *avctx)
Definition: vdpau.c:280
static int vdpau_h264_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition: vdpau_h264.c:121
static int vdpau_h264_end_frame(AVCodecContext *avctx)
Definition: vdpau_h264.c:202
static int vdpau_h264_init(AVCodecContext *avctx)
Definition: vdpau_h264.c:218
int ff_vdpau_common_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
Definition: vdpau.c:114
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.
Definition: pixfmt.h:193
static int vdpau_h264_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition: vdpau_h264.c:182
#define HWACCEL_CAP_ASYNC_SAFE
Definition: hwaccel.h:26

Definition at line 265 of file vdpau_h264.c.