FFmpeg
Loading...
Searching...
No Matches
vaapi_vvc.c File Reference
#include <va/va.h>
#include <va/va_dec_vvc.h>
#include "vvc/dec.h"
#include "vvc/refs.h"
#include "hwaccel_internal.h"
#include "vaapi_decode.h"

Go to the source code of this file.

Data Structures

struct  VAAPIDecodePictureVVC
 

Functions

static void init_vaapi_pic (VAPictureVVC *va_pic)
 
static void fill_vaapi_pic (VAPictureVVC *va_pic, const VVCFrame *pic)
 
static void fill_vaapi_reference_frames (const VVCFrameContext *h, VAPictureParameterBufferVVC *pp)
 
static int vaapi_vvc_start_frame (AVCodecContext *avctx, av_unused const AVBufferRef *buffer_ref, av_unused const uint8_t *buffer, av_unused uint32_t size)
 
static uint8_t get_ref_pic_index (const VVCContext *h, const VVCFrame *frame)
 
static int get_slice_data_byte_offset (const uint8_t *buffer, uint32_t size, const SliceContext *sc)
 
static int vaapi_vvc_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int vaapi_vvc_end_frame (AVCodecContext *avctx)
 

Variables

const FFHWAccel ff_vvc_vaapi_hwaccel
 

Function Documentation

◆ init_vaapi_pic()

static void init_vaapi_pic ( VAPictureVVC * va_pic)
static

Definition at line 38 of file vaapi_vvc.c.

Referenced by fill_vaapi_reference_frames().

◆ fill_vaapi_pic()

static void fill_vaapi_pic ( VAPictureVVC * va_pic,
const VVCFrame * pic )
static

Definition at line 45 of file vaapi_vvc.c.

Referenced by fill_vaapi_reference_frames(), and vaapi_vvc_start_frame().

◆ fill_vaapi_reference_frames()

static void fill_vaapi_reference_frames ( const VVCFrameContext * h,
VAPictureParameterBufferVVC * pp )
static

Definition at line 55 of file vaapi_vvc.c.

Referenced by vaapi_vvc_start_frame().

◆ vaapi_vvc_start_frame()

static int vaapi_vvc_start_frame ( AVCodecContext * avctx,
av_unused const AVBufferRef * buffer_ref,
av_unused const uint8_t * buffer,
av_unused uint32_t size )
static

Definition at line 82 of file vaapi_vvc.c.

◆ get_ref_pic_index()

static uint8_t get_ref_pic_index ( const VVCContext * h,
const VVCFrame * frame )
static

Definition at line 464 of file vaapi_vvc.c.

◆ get_slice_data_byte_offset()

static int get_slice_data_byte_offset ( const uint8_t * buffer,
uint32_t size,
const SliceContext * sc )
static

Definition at line 484 of file vaapi_vvc.c.

Referenced by vaapi_vvc_decode_slice().

◆ vaapi_vvc_decode_slice()

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

Definition at line 509 of file vaapi_vvc.c.

◆ vaapi_vvc_end_frame()

static int vaapi_vvc_end_frame ( AVCodecContext * avctx)
static

Definition at line 623 of file vaapi_vvc.c.

Variable Documentation

◆ ff_vvc_vaapi_hwaccel

const FFHWAccel ff_vvc_vaapi_hwaccel
Initial value:
= {
.p.name = "vvc_vaapi",
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_VVC,
.p.pix_fmt = AV_PIX_FMT_VAAPI,
.start_frame = &vaapi_vvc_start_frame,
.end_frame = &vaapi_vvc_end_frame,
.decode_slice = &vaapi_vvc_decode_slice,
.frame_priv_data_size = sizeof(VAAPIDecodePictureVVC),
.frame_params = &ff_vaapi_common_frame_params,
.priv_data_size = sizeof(VAAPIDecodeContext),
.caps_internal = HWACCEL_CAP_ASYNC_SAFE,
}
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
@ AV_CODEC_ID_VVC
Definition codec_id.h:247
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
#define HWACCEL_CAP_ASYNC_SAFE
Header providing the internals of AVHWAccel.
static av_cold void uninit(AVBitStreamFilterContext *ctx)
@ AV_PIX_FMT_VAAPI
Hardware acceleration through VA-API, data[3] contains a VASurfaceID.
Definition pixfmt.h:126
int ff_vaapi_common_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
int ff_vaapi_decode_init(AVCodecContext *avctx)
int ff_vaapi_decode_uninit(AVCodecContext *avctx)
static int vaapi_vvc_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition vaapi_vvc.c:509
static int vaapi_vvc_end_frame(AVCodecContext *avctx)
Definition vaapi_vvc.c:623
static int vaapi_vvc_start_frame(AVCodecContext *avctx, av_unused const AVBufferRef *buffer_ref, av_unused const uint8_t *buffer, av_unused uint32_t size)
Definition vaapi_vvc.c:82

Definition at line 644 of file vaapi_vvc.c.