FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
vdpau_hevc.c File Reference
#include <vdpau/vdpau.h>
#include "avcodec.h"
#include "internal.h"
#include "hevc.h"
#include "vdpau.h"
#include "vdpau_internal.h"

Go to the source code of this file.

Functions

static int vdpau_hevc_start_frame (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int vdpau_hevc_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int vdpau_hevc_end_frame (AVCodecContext *avctx)
 
static int vdpau_hevc_init (AVCodecContext *avctx)
 

Variables

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

Function Documentation

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

Provides the value corresponding to the nuh_temporal_id of the frame to be decoded.

Scaling lists, in diagonal order, to be used for this frame.

Scaling List for 4x4 quantization matrix, indexed as ScalingList4x4[matrixId][i].

Scaling List for 8x8 quantization matrix, indexed as ScalingList8x8[matrixId][i].

Scaling List for 16x16 quantization matrix, indexed as ScalingList16x16[matrixId][i].

Scaling List for 32x32 quantization matrix, indexed as ScalingList32x32[matrixId][i].

Scaling List DC Coefficients for 16x16, indexed as ScalingListDCCoeff16x16[matrixId].

Scaling List DC Coefficients for 32x32, indexed as ScalingListDCCoeff32x32[matrixId].

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

Per spec, when zero, assume short_term_ref_pic_set_sps_flag is also zero.

Only needed if long_term_ref_pics_present_flag is set. Ignored otherwise.

Definition at line 31 of file vdpau_hevc.c.

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

Definition at line 372 of file vdpau_hevc.c.

static int vdpau_hevc_end_frame ( AVCodecContext avctx)
static

Definition at line 390 of file vdpau_hevc.c.

static int vdpau_hevc_init ( AVCodecContext avctx)
static

Definition at line 403 of file vdpau_hevc.c.

Variable Documentation

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

Definition at line 370 of file vdpau_hevc.c.

Referenced by vdpau_hevc_decode_slice().

AVHWAccel ff_hevc_vdpau_hwaccel
Initial value:
= {
.name = "hevc_vdpau",
.pix_fmt = AV_PIX_FMT_VDPAU,
.start_frame = vdpau_hevc_start_frame,
.end_frame = vdpau_hevc_end_frame,
.decode_slice = vdpau_hevc_decode_slice,
.frame_priv_data_size = sizeof(struct vdpau_picture_context),
.priv_data_size = sizeof(VDPAUContext),
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
int ff_vdpau_common_uninit(AVCodecContext *avctx)
Definition: vdpau.c:228
static int vdpau_hevc_end_frame(AVCodecContext *avctx)
Definition: vdpau_hevc.c:390
static int vdpau_hevc_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition: vdpau_hevc.c:372
static int vdpau_hevc_init(AVCodecContext *avctx)
Definition: vdpau_hevc.c:403
static int vdpau_hevc_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition: vdpau_hevc.c:31
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.
Definition: pixfmt.h:209

Definition at line 425 of file vdpau_hevc.c.