FFmpeg  4.0
Macros | Enumerations | Functions
videotoolbox.c File Reference
#include "config.h"
#include "videotoolbox.h"
#include "libavutil/hwcontext_videotoolbox.h"
#include "vt_internal.h"
#include "libavutil/avutil.h"
#include "libavutil/hwcontext.h"
#include "bytestream.h"
#include "decode.h"
#include "h264dec.h"
#include "hevcdec.h"
#include "mpegvideo.h"
#include <TargetConditionals.h>

Go to the source code of this file.

Macros

#define kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder   CFSTR("RequireHardwareAcceleratedVideoDecoder")
 
#define VIDEOTOOLBOX_ESDS_EXTRADATA_PADDING   12
 
#define AV_W8(p, v)   *(p) = (v)
 

Enumerations

enum  { kCMVideoCodecType_HEVC = 'hvc1' }
 

Functions

static void videotoolbox_buffer_release (void *opaque, uint8_t *data)
 
static int videotoolbox_buffer_copy (VTContext *vtctx, const uint8_t *buffer, uint32_t size)
 
static int videotoolbox_postproc_frame (void *avctx, AVFrame *frame)
 
int ff_videotoolbox_alloc_frame (AVCodecContext *avctx, AVFrame *frame)
 
CFDataRef ff_videotoolbox_avcc_extradata_create (AVCodecContext *avctx)
 
CFDataRef ff_videotoolbox_hvcc_extradata_create (AVCodecContext *avctx)
 
static int videotoolbox_set_frame (AVCodecContext *avctx, AVFrame *frame)
 
int ff_videotoolbox_h264_start_frame (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int videotoolbox_h264_decode_params (AVCodecContext *avctx, int type, const uint8_t *buffer, uint32_t size)
 
int ff_videotoolbox_h264_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
int ff_videotoolbox_uninit (AVCodecContext *avctx)
 

Macro Definition Documentation

◆ kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder

#define kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder   CFSTR("RequireHardwareAcceleratedVideoDecoder")

Definition at line 37 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ VIDEOTOOLBOX_ESDS_EXTRADATA_PADDING

#define VIDEOTOOLBOX_ESDS_EXTRADATA_PADDING   12

Definition at line 44 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ AV_W8

#define AV_W8 (   p,
 
)    *(p) = (v)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
kCMVideoCodecType_HEVC 

Definition at line 41 of file videotoolbox.c.

Function Documentation

◆ videotoolbox_buffer_release()

static void videotoolbox_buffer_release ( void opaque,
uint8_t data 
)
static

Definition at line 46 of file videotoolbox.c.

Referenced by ff_videotoolbox_alloc_frame().

◆ videotoolbox_buffer_copy()

static int videotoolbox_buffer_copy ( VTContext vtctx,
const uint8_t buffer,
uint32_t  size 
)
static

Definition at line 54 of file videotoolbox.c.

Referenced by ff_videotoolbox_h264_start_frame(), and ff_videotoolbox_uninit().

◆ videotoolbox_postproc_frame()

static int videotoolbox_postproc_frame ( void avctx,
AVFrame frame 
)
static

Definition at line 74 of file videotoolbox.c.

Referenced by ff_videotoolbox_alloc_frame().

◆ ff_videotoolbox_alloc_frame()

int ff_videotoolbox_alloc_frame ( AVCodecContext avctx,
AVFrame frame 
)

Definition at line 89 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ ff_videotoolbox_avcc_extradata_create()

CFDataRef ff_videotoolbox_avcc_extradata_create ( AVCodecContext avctx)

Definition at line 121 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ ff_videotoolbox_hvcc_extradata_create()

CFDataRef ff_videotoolbox_hvcc_extradata_create ( AVCodecContext avctx)

Definition at line 160 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ videotoolbox_set_frame()

static int videotoolbox_set_frame ( AVCodecContext avctx,
AVFrame frame 
)
static

Definition at line 318 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ ff_videotoolbox_h264_start_frame()

int ff_videotoolbox_h264_start_frame ( AVCodecContext avctx,
const uint8_t buffer,
uint32_t  size 
)

Definition at line 338 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ videotoolbox_h264_decode_params()

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

Definition at line 352 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().

◆ ff_videotoolbox_h264_decode_slice()

int ff_videotoolbox_h264_decode_slice ( AVCodecContext avctx,
const uint8_t buffer,
uint32_t  size 
)

Definition at line 375 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit(), and videotoolbox_h264_decode_params().

◆ ff_videotoolbox_uninit()

int ff_videotoolbox_uninit ( AVCodecContext avctx)

Definition at line 402 of file videotoolbox.c.

Referenced by ff_videotoolbox_uninit().