FFmpeg
Loading...
Searching...
No Matches
videotoolbox_vp9.c File Reference
#include "config.h"
#include "videotoolbox.h"
#include "libavutil/hwcontext_videotoolbox.h"
#include "libavutil/mem.h"
#include "vt_internal.h"
#include "libavutil/avassert.h"
#include "libavutil/avutil.h"
#include "libavutil/frame.h"
#include "libavutil/hwcontext.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/pixdesc.h"
#include "decode.h"
#include "hwaccel_internal.h"
#include "internal.h"
#include "vp9shared.h"

Go to the source code of this file.

Enumerations

enum  VPX_CHROMA_SUBSAMPLING { VPX_SUBSAMPLING_420_VERTICAL = 0 , VPX_SUBSAMPLING_420_COLLOCATED_WITH_LUMA = 1 , VPX_SUBSAMPLING_422 = 2 , VPX_SUBSAMPLING_444 = 3 }
 

Functions

static int get_vpx_chroma_subsampling (enum AVPixelFormat pixel_format, enum AVChromaLocation chroma_location)
 
CFDataRef ff_videotoolbox_vpcc_extradata_create (AVCodecContext *avctx)
 
static int videotoolbox_vp9_start_frame (AVCodecContext *avctx, const AVBufferRef *buffer_ref, const uint8_t *buffer, uint32_t size)
 
static int videotoolbox_vp9_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int videotoolbox_vp9_end_frame (AVCodecContext *avctx)
 

Variables

const FFHWAccel ff_vp9_videotoolbox_hwaccel
 

Enumeration Type Documentation

◆ VPX_CHROMA_SUBSAMPLING

Enumerator
VPX_SUBSAMPLING_420_VERTICAL 
VPX_SUBSAMPLING_420_COLLOCATED_WITH_LUMA 
VPX_SUBSAMPLING_422 
VPX_SUBSAMPLING_444 

Definition at line 39 of file videotoolbox_vp9.c.

Function Documentation

◆ get_vpx_chroma_subsampling()

static int get_vpx_chroma_subsampling ( enum AVPixelFormat pixel_format,
enum AVChromaLocation chroma_location )
static

Definition at line 47 of file videotoolbox_vp9.c.

Referenced by ff_videotoolbox_vpcc_extradata_create().

◆ ff_videotoolbox_vpcc_extradata_create()

CFDataRef ff_videotoolbox_vpcc_extradata_create ( AVCodecContext * avctx)

Definition at line 65 of file videotoolbox_vp9.c.

◆ videotoolbox_vp9_start_frame()

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

Definition at line 106 of file videotoolbox_vp9.c.

◆ videotoolbox_vp9_decode_slice()

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

Definition at line 114 of file videotoolbox_vp9.c.

◆ videotoolbox_vp9_end_frame()

static int videotoolbox_vp9_end_frame ( AVCodecContext * avctx)
static

Definition at line 123 of file videotoolbox_vp9.c.

Variable Documentation

◆ ff_vp9_videotoolbox_hwaccel

const FFHWAccel ff_vp9_videotoolbox_hwaccel
Initial value:
= {
.p.name = "vp9_videotoolbox",
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_VP9,
.priv_data_size = sizeof(VTContext),
}
@ AV_CODEC_ID_VP9
Definition codec_id.h:217
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
@ AV_PIX_FMT_VIDEOTOOLBOX
hardware decoding through Videotoolbox
Definition pixfmt.h:305
int ff_videotoolbox_alloc_frame(AVCodecContext *avctx, AVFrame *frame)
static int videotoolbox_vp9_end_frame(AVCodecContext *avctx)
static int videotoolbox_vp9_start_frame(AVCodecContext *avctx, const AVBufferRef *buffer_ref, const uint8_t *buffer, uint32_t size)
static int videotoolbox_vp9_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
int ff_videotoolbox_common_init(AVCodecContext *avctx)
int ff_videotoolbox_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
int ff_videotoolbox_uninit(AVCodecContext *avctx)

Definition at line 131 of file videotoolbox_vp9.c.