Loading...
Searching...
No Matches
hwcontext_videotoolbox.h File Reference

An API-specific header for AV_HWDEVICE_TYPE_VIDEOTOOLBOX. More...

`#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.
uint32_t | av_map_videotoolbox_format_from_pixfmt (enum AVPixelFormat pix_fmt)
| Convert an AVPixelFormat to a VideoToolbox (actually CoreVideo) format.
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.
CFStringRef | av_map_videotoolbox_chroma_loc_from_av (enum AVChromaLocation loc)
| Convert an AVChromaLocation to a VideoToolbox/CoreVideo chroma location string.
CFStringRef | av_map_videotoolbox_color_matrix_from_av (enum AVColorSpace space)
| Convert an AVColorSpace to a VideoToolbox/CoreVideo color matrix string.
CFStringRef | av_map_videotoolbox_color_primaries_from_av (enum AVColorPrimaries pri)
| Convert an AVColorPrimaries to a VideoToolbox/CoreVideo color primaries string.
CFStringRef | av_map_videotoolbox_color_trc_from_av (enum AVColorTransferCharacteristic trc)
| Convert an AVColorTransferCharacteristic to a VideoToolbox/CoreVideo color transfer function string.
int | av_vt_pixbuf_set_attachments (void *log_ctx, CVPixelBufferRef pixbuf, const struct AVFrame *src)
| Set CVPixelBufferRef's metadata based on an AVFrame.

## 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.

## 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.

## 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.

## 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.

## 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.

## 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.

## 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.

## 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.