FFmpeg
Loading...
Searching...
No Matches
vaapi_av1.c File Reference
#include "libavutil/frame.h"
#include "libavutil/mem.h"
#include "hwaccel_internal.h"
#include "vaapi_decode.h"
#include "internal.h"
#include "av1dec.h"
#include "thread.h"

Go to the source code of this file.

Data Structures

struct  VAAPIAV1FrameRef
 
struct  VAAPIAV1DecContext
 

Functions

static VASurfaceID vaapi_av1_surface_id (AV1Frame *vf)
 
static int8_t vaapi_av1_get_bit_depth_idx (AVCodecContext *avctx)
 
static av_cold int vaapi_av1_decode_uninit (AVCodecContext *avctx)
 
static av_cold int vaapi_av1_decode_init (AVCodecContext *avctx)
 
static int vaapi_av1_start_frame (AVCodecContext *avctx, av_unused const AVBufferRef *buffer_ref, av_unused const uint8_t *buffer, av_unused uint32_t size)
 
static int vaapi_av1_end_frame (AVCodecContext *avctx)
 
static int vaapi_av1_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 

Variables

const FFHWAccel ff_av1_vaapi_hwaccel
 

Function Documentation

◆ vaapi_av1_surface_id()

static VASurfaceID vaapi_av1_surface_id ( AV1Frame * vf)
static

Definition at line 51 of file vaapi_av1.c.

Referenced by vaapi_av1_start_frame().

◆ vaapi_av1_get_bit_depth_idx()

static int8_t vaapi_av1_get_bit_depth_idx ( AVCodecContext * avctx)
static

Definition at line 59 of file vaapi_av1.c.

Referenced by vaapi_av1_start_frame().

◆ vaapi_av1_decode_uninit()

static av_cold int vaapi_av1_decode_uninit ( AVCodecContext * avctx)
static

Definition at line 77 of file vaapi_av1.c.

Referenced by vaapi_av1_decode_init().

◆ vaapi_av1_decode_init()

static av_cold int vaapi_av1_decode_init ( AVCodecContext * avctx)
static

Definition at line 91 of file vaapi_av1.c.

◆ vaapi_av1_start_frame()

static int vaapi_av1_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 117 of file vaapi_av1.c.

◆ vaapi_av1_end_frame()

static int vaapi_av1_end_frame ( AVCodecContext * avctx)
static

Definition at line 370 of file vaapi_av1.c.

◆ vaapi_av1_decode_slice()

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

Definition at line 403 of file vaapi_av1.c.

Variable Documentation

◆ ff_av1_vaapi_hwaccel

const FFHWAccel ff_av1_vaapi_hwaccel
Initial value:
= {
.p.name = "av1_vaapi",
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_AV1,
.p.pix_fmt = AV_PIX_FMT_VAAPI,
.start_frame = vaapi_av1_start_frame,
.end_frame = vaapi_av1_end_frame,
.decode_slice = vaapi_av1_decode_slice,
.frame_priv_data_size = sizeof(VAAPIDecodePicture),
.priv_data_size = sizeof(VAAPIAV1DecContext),
.caps_internal = HWACCEL_CAP_ASYNC_SAFE,
}
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
@ AV_CODEC_ID_AV1
Definition codec_id.h:275
@ 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
static int vaapi_av1_end_frame(AVCodecContext *avctx)
Definition vaapi_av1.c:370
static int vaapi_av1_start_frame(AVCodecContext *avctx, av_unused const AVBufferRef *buffer_ref, av_unused const uint8_t *buffer, av_unused uint32_t size)
Definition vaapi_av1.c:117
static av_cold int vaapi_av1_decode_init(AVCodecContext *avctx)
Definition vaapi_av1.c:91
static av_cold int vaapi_av1_decode_uninit(AVCodecContext *avctx)
Definition vaapi_av1.c:77
static int vaapi_av1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition vaapi_av1.c:403
int ff_vaapi_common_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)

Definition at line 450 of file vaapi_av1.c.