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  AVDOVICompression { AV_DOVI_COMPRESSION_NONE = 0, AV_DOVI_COMPRESSION_LIMITED = 1, AV_DOVI_COMPRESSION_RESERVED = 2, AV_DOVI_COMPRESSION_EXTENDED = 3 }
 
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 116 of file dovi_meta.h.

◆ AV_DOVI_MAX_EXT_BLOCKS

#define AV_DOVI_MAX_EXT_BLOCKS   32

Definition at line 351 of file dovi_meta.h.

Enumeration Type Documentation

◆ AVDOVICompression

Enumerator
AV_DOVI_COMPRESSION_NONE 
AV_DOVI_COMPRESSION_LIMITED 
AV_DOVI_COMPRESSION_RESERVED 
AV_DOVI_COMPRESSION_EXTENDED 

Definition at line 67 of file dovi_meta.h.

◆ AVDOVIMappingMethod

Enumerator
AV_DOVI_MAPPING_POLYNOMIAL 
AV_DOVI_MAPPING_MMR 

Definition at line 107 of file dovi_meta.h.

◆ AVDOVINLQMethod

Enumerator
AV_DOVI_NLQ_NONE 
AV_DOVI_NLQ_LINEAR_DZ 

Definition at line 130 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_dovi_configure_ext(), 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

◆ av_dovi_get_mapping()

static av_always_inline AVDOVIDataMapping* av_dovi_get_mapping ( const AVDOVIMetadata data)
static

◆ av_dovi_get_color()

static av_always_inline AVDOVIColorMetadata* av_dovi_get_color ( const AVDOVIMetadata data)
static

◆ av_dovi_get_ext()

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

◆ 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_get_metadata().