FFmpeg 7.1.1
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions
hdr_dynamic_metadata.h File Reference
#include "frame.h"
#include "rational.h"

Go to the source code of this file.

Data Structures

struct  AVHDRPlusPercentile
 Represents the percentile at a specific percentage in a distribution. More...
 
struct  AVHDRPlusColorTransformParams
 Color transform parameters at a processing window in a dynamic metadata for SMPTE 2094-40. More...
 
struct  AVDynamicHDRPlus
 This struct represents dynamic metadata for color volume transform - application 4 of SMPTE 2094-40:2016 standard. More...
 

Macros

#define AV_HDR_PLUS_MAX_PAYLOAD_SIZE   907
 

Enumerations

enum  AVHDRPlusOverlapProcessOption { AV_HDR_PLUS_OVERLAP_PROCESS_WEIGHTED_AVERAGING = 0 , AV_HDR_PLUS_OVERLAP_PROCESS_LAYERING = 1 }
 Option for overlapping elliptical pixel selectors in an image. More...
 

Functions

AVDynamicHDRPlusav_dynamic_hdr_plus_alloc (size_t *size)
 Allocate an AVDynamicHDRPlus structure and set its fields to default values.
 
AVDynamicHDRPlusav_dynamic_hdr_plus_create_side_data (AVFrame *frame)
 Allocate a complete AVDynamicHDRPlus and add it to the frame.
 
int av_dynamic_hdr_plus_from_t35 (AVDynamicHDRPlus *s, const uint8_t *data, size_t size)
 Parse the user data registered ITU-T T.35 to AVbuffer (AVDynamicHDRPlus).
 
int av_dynamic_hdr_plus_to_t35 (const AVDynamicHDRPlus *s, uint8_t **data, size_t *size)
 Serialize dynamic HDR10+ metadata to a user data registered ITU-T T.35 buffer, excluding the first 48 bytes of the header, and beginning with the application mode.
 

Macro Definition Documentation

◆ AV_HDR_PLUS_MAX_PAYLOAD_SIZE

#define AV_HDR_PLUS_MAX_PAYLOAD_SIZE   907

Definition at line 356 of file hdr_dynamic_metadata.h.

Enumeration Type Documentation

◆ AVHDRPlusOverlapProcessOption

Option for overlapping elliptical pixel selectors in an image.

Enumerator
AV_HDR_PLUS_OVERLAP_PROCESS_WEIGHTED_AVERAGING 
AV_HDR_PLUS_OVERLAP_PROCESS_LAYERING 

Definition at line 30 of file hdr_dynamic_metadata.h.

Function Documentation

◆ av_dynamic_hdr_plus_alloc()

AVDynamicHDRPlus * av_dynamic_hdr_plus_alloc ( size_t *  size)

Allocate an AVDynamicHDRPlus structure and set its fields to default values.

The resulting struct can be freed using av_freep().

Returns
An AVDynamicHDRPlus filled with default values or NULL on failure.

◆ av_dynamic_hdr_plus_create_side_data()

AVDynamicHDRPlus * av_dynamic_hdr_plus_create_side_data ( AVFrame frame)

Allocate a complete AVDynamicHDRPlus and add it to the frame.

Parameters
frameThe frame which side data is added to.
Returns
The AVDynamicHDRPlus structure to be filled by caller or NULL on failure.

◆ av_dynamic_hdr_plus_from_t35()

int av_dynamic_hdr_plus_from_t35 ( AVDynamicHDRPlus s,
const uint8_t *  data,
size_t  size 
)

Parse the user data registered ITU-T T.35 to AVbuffer (AVDynamicHDRPlus).

The T.35 buffer must begin with the application mode, skipping the country code, terminal provider codes, and application identifier.

Parameters
sA pointer containing the decoded AVDynamicHDRPlus structure.
dataThe byte array containing the raw ITU-T T.35 data.
sizeSize of the data array in bytes.
Returns
>= 0 on success. Otherwise, returns the appropriate AVERROR.

◆ av_dynamic_hdr_plus_to_t35()

int av_dynamic_hdr_plus_to_t35 ( const AVDynamicHDRPlus s,
uint8_t **  data,
size_t *  size 
)

Serialize dynamic HDR10+ metadata to a user data registered ITU-T T.35 buffer, excluding the first 48 bytes of the header, and beginning with the application mode.

Parameters
sA pointer containing the decoded AVDynamicHDRPlus structure.
[in,out]dataA pointer to pointer to a byte buffer to be filled with the serialized metadata. If *data is NULL, a buffer be will be allocated and a pointer to it stored in its place. The caller assumes ownership of the buffer. May be NULL, in which case the function will only store the required buffer size in *size.
[in,out]sizeA pointer to a size to be set to the returned buffer's size. If *data is not NULL, *size must contain the size of the input buffer. May be NULL only if *data is NULL.
Returns
>= 0 on success. Otherwise, returns the appropriate AVERROR.