FFmpeg
|
#include "config.h"
#include <stdint.h>
#include <string.h>
#include <VideoToolbox/VideoToolbox.h>
#include "buffer.h"
#include "buffer_internal.h"
#include "common.h"
#include "hwcontext.h"
#include "hwcontext_internal.h"
#include "hwcontext_videotoolbox.h"
#include "mem.h"
#include "pixfmt.h"
#include "pixdesc.h"
Go to the source code of this file.
Data Structures | |
struct | VTFramesContext |
Functions | |
static int | vt_frames_get_constraints (AVHWDeviceContext *ctx, const void *hwconfig, AVHWFramesConstraints *constraints) |
enum AVPixelFormat | av_map_videotoolbox_format_to_pixfmt (uint32_t cv_fmt) |
Convert a VideoToolbox (actually CoreVideo) format to AVPixelFormat. More... | |
uint32_t | av_map_videotoolbox_format_from_pixfmt (enum AVPixelFormat pix_fmt) |
Convert an AVPixelFormat to a VideoToolbox (actually CoreVideo) format. More... | |
uint32_t | av_map_videotoolbox_format_from_pixfmt2 (enum AVPixelFormat pix_fmt, bool full_range) |
Same as av_map_videotoolbox_format_from_pixfmt function, but can map and return full range pixel formats via a flag. More... | |
static int | vt_pool_alloc (AVHWFramesContext *ctx) |
static void | videotoolbox_buffer_release (void *opaque, uint8_t *data) |
static AVBufferRef * | vt_pool_alloc_buffer (void *opaque, size_t size) |
static void | vt_frames_uninit (AVHWFramesContext *ctx) |
static int | vt_frames_init (AVHWFramesContext *ctx) |
static int | vt_get_buffer (AVHWFramesContext *ctx, AVFrame *frame) |
static int | vt_transfer_get_formats (AVHWFramesContext *ctx, enum AVHWFrameTransferDirection dir, enum AVPixelFormat **formats) |
static void | vt_unmap (AVHWFramesContext *ctx, HWMapDescriptor *hwmap) |
static int | vt_pixbuf_set_par (void *log_ctx, CVPixelBufferRef pixbuf, const AVFrame *src) |
CFStringRef | av_map_videotoolbox_chroma_loc_from_av (enum AVChromaLocation loc) |
Convert an AVChromaLocation to a VideoToolbox/CoreVideo chroma location string. More... | |
static int | vt_pixbuf_set_chromaloc (void *log_ctx, CVPixelBufferRef pixbuf, const AVFrame *src) |
CFStringRef | av_map_videotoolbox_color_matrix_from_av (enum AVColorSpace space) |
Convert an AVColorSpace to a VideoToolbox/CoreVideo color matrix string. More... | |
CFStringRef | av_map_videotoolbox_color_primaries_from_av (enum AVColorPrimaries pri) |
Convert an AVColorPrimaries to a VideoToolbox/CoreVideo color primaries string. More... | |
CFStringRef | av_map_videotoolbox_color_trc_from_av (enum AVColorTransferCharacteristic trc) |
Convert an AVColorTransferCharacteristic to a VideoToolbox/CoreVideo color transfer function string. More... | |
static int | vt_pixbuf_set_colorspace (void *log_ctx, CVPixelBufferRef pixbuf, const AVFrame *src) |
static int | vt_pixbuf_set_attachments (void *log_ctx, CVPixelBufferRef pixbuf, const AVFrame *src) |
int | av_vt_pixbuf_set_attachments (void *log_ctx, CVPixelBufferRef pixbuf, const AVFrame *src) |
static int | vt_map_frame (AVHWFramesContext *ctx, AVFrame *dst, const AVFrame *src, int flags) |
static int | vt_transfer_data_from (AVHWFramesContext *hwfc, AVFrame *dst, const AVFrame *src) |
static int | vt_transfer_data_to (AVHWFramesContext *hwfc, AVFrame *dst, const AVFrame *src) |
static int | vt_map_from (AVHWFramesContext *hwfc, AVFrame *dst, const AVFrame *src, int flags) |
static int | vt_device_create (AVHWDeviceContext *ctx, const char *device, AVDictionary *opts, int flags) |
Variables | |
struct { | |
uint32_t cv_fmt | |
bool full_range | |
enum AVPixelFormat pix_fmt | |
} | cv_pix_fmts [] |
static enum AVPixelFormat | supported_formats [] |
const HWContextType | ff_hwcontext_type_videotoolbox |
|
static |
Definition at line 112 of file hwcontext_videotoolbox.c.
enum AVPixelFormat av_map_videotoolbox_format_to_pixfmt | ( | uint32_t | cv_fmt | ) |
Convert a VideoToolbox (actually CoreVideo) format to AVPixelFormat.
Returns AV_PIX_FMT_NONE if no known equivalent was found.
Definition at line 137 of file hwcontext_videotoolbox.c.
Referenced by vt_map_frame().
uint32_t av_map_videotoolbox_format_from_pixfmt | ( | enum AVPixelFormat | pix_fmt | ) |
Convert an AVPixelFormat to a VideoToolbox (actually CoreVideo) format.
Returns 0 if no known equivalent was found.
Definition at line 147 of file hwcontext_videotoolbox.c.
Referenced by vt_pool_alloc().
uint32_t av_map_videotoolbox_format_from_pixfmt2 | ( | enum AVPixelFormat | pix_fmt, |
bool | full_range | ||
) |
Same as av_map_videotoolbox_format_from_pixfmt function, but can map and return full range pixel formats via a flag.
Definition at line 152 of file hwcontext_videotoolbox.c.
Referenced by av_map_videotoolbox_format_from_pixfmt(), and get_cv_pixel_format().
|
static |
Definition at line 162 of file hwcontext_videotoolbox.c.
Referenced by vt_frames_init().
|
static |
Definition at line 213 of file hwcontext_videotoolbox.c.
Referenced by vt_pool_alloc_buffer().
|
static |
Definition at line 218 of file hwcontext_videotoolbox.c.
Referenced by vt_frames_init().
|
static |
Definition at line 245 of file hwcontext_videotoolbox.c.
|
static |
Definition at line 254 of file hwcontext_videotoolbox.c.
|
static |
Definition at line 282 of file hwcontext_videotoolbox.c.
|
static |
Definition at line 296 of file hwcontext_videotoolbox.c.
|
static |
Definition at line 311 of file hwcontext_videotoolbox.c.
Referenced by vt_map_frame().
|
static |
Definition at line 318 of file hwcontext_videotoolbox.c.
Referenced by vt_pixbuf_set_attachments().
CFStringRef av_map_videotoolbox_chroma_loc_from_av | ( | enum AVChromaLocation | loc | ) |
Convert an AVChromaLocation to a VideoToolbox/CoreVideo chroma location string.
Returns 0 if no known equivalent was found.
Definition at line 375 of file hwcontext_videotoolbox.c.
Referenced by vt_pixbuf_set_chromaloc().
|
static |
Definition at line 395 of file hwcontext_videotoolbox.c.
Referenced by vt_pixbuf_set_attachments().
CFStringRef av_map_videotoolbox_color_matrix_from_av | ( | enum AVColorSpace | space | ) |
Convert an AVColorSpace to a VideoToolbox/CoreVideo color matrix string.
Returns 0 if no known equivalent was found.
Definition at line 411 of file hwcontext_videotoolbox.c.
Referenced by scale_vt_init(), vt_pixbuf_set_colorspace(), and vtenc_configure_encoder().
CFStringRef av_map_videotoolbox_color_primaries_from_av | ( | enum AVColorPrimaries | pri | ) |
Convert an AVColorPrimaries to a VideoToolbox/CoreVideo color primaries string.
Returns 0 if no known equivalent was found.
Definition at line 438 of file hwcontext_videotoolbox.c.
Referenced by scale_vt_init(), vt_pixbuf_set_colorspace(), and vtenc_configure_encoder().
CFStringRef av_map_videotoolbox_color_trc_from_av | ( | enum AVColorTransferCharacteristic | trc | ) |
Convert an AVColorTransferCharacteristic to a VideoToolbox/CoreVideo color transfer function string.
Returns 0 if no known equivalent was found.
Definition at line 463 of file hwcontext_videotoolbox.c.
Referenced by scale_vt_init(), vt_pixbuf_set_colorspace(), and vtenc_configure_encoder().
|
static |
Definition at line 510 of file hwcontext_videotoolbox.c.
Referenced by vt_pixbuf_set_attachments().
|
static |
Definition at line 567 of file hwcontext_videotoolbox.c.
Referenced by av_vt_pixbuf_set_attachments(), and vt_transfer_data_to().
Definition at line 583 of file hwcontext_videotoolbox.c.
Referenced by videotoolbox_postproc_frame().
|
static |
Definition at line 589 of file hwcontext_videotoolbox.c.
Referenced by vt_map_from(), vt_transfer_data_from(), and vt_transfer_data_to().
|
static |
Definition at line 645 of file hwcontext_videotoolbox.c.
|
static |
Definition at line 676 of file hwcontext_videotoolbox.c.
|
static |
Definition at line 711 of file hwcontext_videotoolbox.c.
|
static |
Definition at line 735 of file hwcontext_videotoolbox.c.
uint32_t cv_fmt |
Definition at line 41 of file hwcontext_videotoolbox.c.
Referenced by av_map_videotoolbox_format_to_pixfmt().
bool full_range |
Definition at line 42 of file hwcontext_videotoolbox.c.
Referenced by av_map_videotoolbox_format_from_pixfmt2(), dvbsub_parse_clut_segment(), and mov_write_colr_tag().
enum AVPixelFormat pix_fmt |
Definition at line 43 of file hwcontext_videotoolbox.c.
Referenced by av_map_videotoolbox_format_from_pixfmt(), and av_map_videotoolbox_format_from_pixfmt2().
const { ... } cv_pix_fmts[] |
Referenced by av_map_videotoolbox_format_from_pixfmt2(), and av_map_videotoolbox_format_to_pixfmt().
|
static |
Definition at line 81 of file hwcontext_videotoolbox.c.
Referenced by vt_frames_get_constraints(), and vt_frames_init().
const HWContextType ff_hwcontext_type_videotoolbox |
Definition at line 746 of file hwcontext_videotoolbox.c.