FFmpeg
4.0
|
#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) |
#define kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder CFSTR("RequireHardwareAcceleratedVideoDecoder") |
Definition at line 37 of file videotoolbox.c.
Referenced by ff_videotoolbox_uninit().
#define VIDEOTOOLBOX_ESDS_EXTRADATA_PADDING 12 |
Definition at line 44 of file videotoolbox.c.
Referenced by ff_videotoolbox_uninit().
#define AV_W8 | ( | p, | |
v | |||
) | *(p) = (v) |
Definition at line 119 of file videotoolbox.c.
Referenced by ff_videotoolbox_avcc_extradata_create(), and ff_videotoolbox_hvcc_extradata_create().
anonymous enum |
Enumerator | |
---|---|
kCMVideoCodecType_HEVC |
Definition at line 41 of file videotoolbox.c.
Definition at line 46 of file videotoolbox.c.
Referenced by ff_videotoolbox_alloc_frame().
|
static |
Definition at line 54 of file videotoolbox.c.
Referenced by ff_videotoolbox_h264_start_frame(), and ff_videotoolbox_uninit().
Definition at line 74 of file videotoolbox.c.
Referenced by 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().
CFDataRef ff_videotoolbox_avcc_extradata_create | ( | AVCodecContext * | avctx | ) |
Definition at line 121 of file videotoolbox.c.
Referenced by ff_videotoolbox_uninit().
CFDataRef ff_videotoolbox_hvcc_extradata_create | ( | AVCodecContext * | avctx | ) |
Definition at line 160 of file videotoolbox.c.
Referenced by ff_videotoolbox_uninit().
|
static |
Definition at line 318 of file videotoolbox.c.
Referenced by ff_videotoolbox_uninit().
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().
|
static |
Definition at line 352 of file videotoolbox.c.
Referenced by ff_videotoolbox_uninit().
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().
int ff_videotoolbox_uninit | ( | AVCodecContext * | avctx | ) |
Definition at line 402 of file videotoolbox.c.
Referenced by ff_videotoolbox_uninit().