FFmpeg
Data Structures | Functions
hwcontext_videotoolbox.h File Reference
#include <stdint.h>
#include <VideoToolbox/VideoToolbox.h>
#include "frame.h"
#include "pixfmt.h"

Go to the source code of this file.

Data Structures

struct  AVVTFramesContext
 

Functions

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...
 
CFStringRef av_map_videotoolbox_chroma_loc_from_av (enum AVChromaLocation loc)
 Convert an AVChromaLocation to a VideoToolbox/CoreVideo chroma location string. More...
 
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...
 
int av_vt_pixbuf_set_attachments (void *log_ctx, CVPixelBufferRef pixbuf, const struct AVFrame *src)
 Set CVPixelBufferRef's metadata based on an AVFrame. More...
 

Detailed Description

An API-specific header for AV_HWDEVICE_TYPE_VIDEOTOOLBOX.

This API supports frame allocation using a native CVPixelBufferPool instead of an AVBufferPool.

If the API user sets a custom pool, AVHWFramesContext.pool must return AVBufferRefs whose data pointer is a CVImageBufferRef or CVPixelBufferRef. Note that the underlying CVPixelBuffer could be retained by OS frameworks depending on application usage, so it is preferable to let CoreVideo manage the pool using the default implementation.

Currently AVHWDeviceContext.hwctx are always NULL.

Definition in file hwcontext_videotoolbox.h.

Function Documentation

◆ av_map_videotoolbox_format_to_pixfmt()

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 144 of file hwcontext_videotoolbox.c.

Referenced by vt_map_frame().

◆ av_map_videotoolbox_format_from_pixfmt()

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 173 of file hwcontext_videotoolbox.c.

◆ av_map_videotoolbox_format_from_pixfmt2()

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 178 of file hwcontext_videotoolbox.c.

Referenced by av_map_videotoolbox_format_from_pixfmt(), and get_cv_pixel_format().

◆ av_map_videotoolbox_chroma_loc_from_av()

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 399 of file hwcontext_videotoolbox.c.

Referenced by vt_pixbuf_set_chromaloc().

◆ av_map_videotoolbox_color_matrix_from_av()

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 438 of file hwcontext_videotoolbox.c.

Referenced by scale_vt_init(), vt_pixbuf_set_colorspace(), and vtenc_configure_encoder().

◆ av_map_videotoolbox_color_primaries_from_av()

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 465 of file hwcontext_videotoolbox.c.

Referenced by scale_vt_init(), vt_pixbuf_set_colorspace(), and vtenc_configure_encoder().

◆ av_map_videotoolbox_color_trc_from_av()

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 490 of file hwcontext_videotoolbox.c.

Referenced by scale_vt_init(), vt_pixbuf_set_colorspace(), and vtenc_configure_encoder().

◆ av_vt_pixbuf_set_attachments()

int av_vt_pixbuf_set_attachments ( void *  log_ctx,
CVPixelBufferRef  pixbuf,
const struct AVFrame src 
)

Set CVPixelBufferRef's metadata based on an AVFrame.

Sets/unsets the CVPixelBuffer attachments to match as closely as possible the AVFrame metadata. To prevent inconsistent attachments, the attachments for properties that could not be matched or are unspecified in the given AVFrame are unset. So if any attachments already covered by AVFrame metadata need to be set to a specific value, this should happen after calling this function.

Returns < 0 in case of an error.