FFmpeg
Data Structures | Macros | Enumerations | Functions
dovi_meta.h File Reference
#include <stdint.h>
#include <stddef.h>
#include "rational.h"
#include "csp.h"

Go to the source code of this file.

Data Structures

struct  AVDOVIDecoderConfigurationRecord
 
struct  AVDOVIRpuDataHeader
 Dolby Vision RPU data header. More...
 
struct  AVDOVIReshapingCurve
 
struct  AVDOVINLQParams
 Coefficients of the non-linear inverse quantization. More...
 
struct  AVDOVIDataMapping
 Dolby Vision RPU data mapping parameters. More...
 
struct  AVDOVIColorMetadata
 Dolby Vision RPU colorspace metadata parameters. More...
 
struct  AVDOVIDmLevel1
 
struct  AVDOVIDmLevel2
 
struct  AVDOVIDmLevel3
 
struct  AVDOVIDmLevel4
 
struct  AVDOVIDmLevel5
 
struct  AVDOVIDmLevel6
 
struct  AVDOVIDmLevel8
 
struct  AVDOVIDmLevel9
 
struct  AVDOVIDmLevel10
 
struct  AVDOVIDmLevel11
 
struct  AVDOVIDmLevel254
 
struct  AVDOVIDmLevel255
 
struct  AVDOVIDmData
 Dolby Vision metadata extension block. More...
 
struct  AVDOVIMetadata
 Combined struct representing a combination of header, mapping and color metadata, for attaching to frames as side data. More...
 

Macros

#define AV_DOVI_MAX_PIECES   8
 Coefficients of a piece-wise function. More...
 
#define AV_DOVI_MAX_EXT_BLOCKS   32
 

Enumerations

enum  AVDOVIMappingMethod { AV_DOVI_MAPPING_POLYNOMIAL = 0, AV_DOVI_MAPPING_MMR = 1 }
 
enum  AVDOVINLQMethod { AV_DOVI_NLQ_NONE = -1, AV_DOVI_NLQ_LINEAR_DZ = 0 }
 

Functions

AVDOVIDecoderConfigurationRecordav_dovi_alloc (size_t *size)
 Allocate a AVDOVIDecoderConfigurationRecord structure and initialize its fields to default values. More...
 
static av_always_inline AVDOVIRpuDataHeaderav_dovi_get_header (const AVDOVIMetadata *data)
 
static av_always_inline AVDOVIDataMappingav_dovi_get_mapping (const AVDOVIMetadata *data)
 
static av_always_inline AVDOVIColorMetadataav_dovi_get_color (const AVDOVIMetadata *data)
 
static av_always_inline AVDOVIDmDataav_dovi_get_ext (const AVDOVIMetadata *data, int index)
 
AVDOVIDmDataav_dovi_find_level (const AVDOVIMetadata *data, uint8_t level)
 Find an extension block with a given level, or NULL. More...
 
AVDOVIMetadataav_dovi_metadata_alloc (size_t *size)
 Allocate an AVDOVIMetadata structure and initialize its fields to default values. More...
 

Detailed Description

DOVI configuration

Definition in file dovi_meta.h.

Macro Definition Documentation

◆ AV_DOVI_MAX_PIECES

#define AV_DOVI_MAX_PIECES   8

Coefficients of a piece-wise function.

The pieces of the function span the value ranges between two adjacent pivot values.

Definition at line 105 of file dovi_meta.h.

◆ AV_DOVI_MAX_EXT_BLOCKS

#define AV_DOVI_MAX_EXT_BLOCKS   32

Definition at line 338 of file dovi_meta.h.

Enumeration Type Documentation

◆ AVDOVIMappingMethod

Enumerator
AV_DOVI_MAPPING_POLYNOMIAL 
AV_DOVI_MAPPING_MMR 

Definition at line 96 of file dovi_meta.h.

◆ AVDOVINLQMethod

Enumerator
AV_DOVI_NLQ_NONE 
AV_DOVI_NLQ_LINEAR_DZ 

Definition at line 119 of file dovi_meta.h.

Function Documentation

◆ av_dovi_alloc()

AVDOVIDecoderConfigurationRecord* av_dovi_alloc ( size_t *  size)

Allocate a AVDOVIDecoderConfigurationRecord structure and initialize its fields to default values.

Returns
the newly allocated struct or NULL on failure

Definition at line 26 of file dovi_meta.c.

Referenced by ff_isom_parse_dvcc_dvvc(), and ff_parse_mpeg2_descriptor().

◆ av_dovi_get_header()

static av_always_inline AVDOVIRpuDataHeader* av_dovi_get_header ( const AVDOVIMetadata data)
static

Definition at line 342 of file dovi_meta.h.

Referenced by dump_dovi_metadata(), ff_dovi_attach_side_data(), and print_dovi_metadata().

◆ av_dovi_get_mapping()

static av_always_inline AVDOVIDataMapping* av_dovi_get_mapping ( const AVDOVIMetadata data)
static

Definition at line 348 of file dovi_meta.h.

Referenced by dump_dovi_metadata(), ff_dovi_attach_side_data(), and print_dovi_metadata().

◆ av_dovi_get_color()

static av_always_inline AVDOVIColorMetadata* av_dovi_get_color ( const AVDOVIMetadata data)
static

Definition at line 354 of file dovi_meta.h.

Referenced by dump_dovi_metadata(), ff_dovi_attach_side_data(), and print_dovi_metadata().

◆ av_dovi_get_ext()

static av_always_inline AVDOVIDmData* av_dovi_get_ext ( const AVDOVIMetadata data,
int  index 
)
static

Definition at line 360 of file dovi_meta.h.

Referenced by av_dovi_find_level(), and ff_dovi_attach_side_data().

◆ av_dovi_find_level()

AVDOVIDmData* av_dovi_find_level ( const AVDOVIMetadata data,
uint8_t  level 
)

Find an extension block with a given level, or NULL.

In the case of multiple extension blocks, only the first is returned.

Definition at line 67 of file dovi_meta.c.

◆ av_dovi_metadata_alloc()

AVDOVIMetadata* av_dovi_metadata_alloc ( size_t *  size)

Allocate an AVDOVIMetadata structure and initialize its fields to default values.

Parameters
sizeIf this parameter is non-NULL, the size in bytes of the allocated struct will be written here on success
Returns
the newly allocated struct or NULL on failure

Definition at line 47 of file dovi_meta.c.

Referenced by ff_dovi_attach_side_data().