21#ifndef VLC_ANCILLARY_H
22#define VLC_ANCILLARY_H 1
68#define VLC_ANCILLARY_ID(a,b,c,d) VLC_FOURCC(a,b,c,d)
134#define VLC_ANCILLARY_ID_DOVI VLC_FOURCC('D','o','V','i')
184#define VLC_ANCILLARY_ID_HDR10PLUS VLC_FOURCC('H','D','R','+')
212#define VLC_ANCILLARY_ID_ICC VLC_FOURCC('i','C','C','P')
#define VLC_API
Definition: fourcc_gen.c:31
float nonlinear_matrix[9]
Definition: vlc_ancillary.h:147
float maxscl[3]
Definition: vlc_ancillary.h:194
uint8_t el_bit_depth
Definition: vlc_ancillary.h:142
struct vlc_video_hdr_dynamic_metadata_t vlc_video_hdr_dynamic_metadata_t
uint16_t source_max_pq
Definition: vlc_ancillary.h:150
float average_maxrgb
Definition: vlc_ancillary.h:195
struct vlc_video_hdr_dynamic_metadata_t::@187 histogram[15]
uint64_t dz_slope
Definition: vlc_ancillary.h:171
struct vlc_icc_profile_t vlc_icc_profile_t
uint8_t percentage
Definition: vlc_ancillary.h:198
float linear_matrix[9]
Definition: vlc_ancillary.h:148
float percentile
Definition: vlc_ancillary.h:199
enum vlc_dovi_nlq_method_t nlq_method_idc
Definition: vlc_ancillary.h:143
uint8_t coef_log2_denom
Definition: vlc_ancillary.h:140
int64_t mmr_constant[8]
Definition: vlc_ancillary.h:163
float knee_point_x
Definition: vlc_ancillary.h:203
void vlc_ancillary_Release(struct vlc_ancillary *ancillary)
Release an ancillary.
Definition: ancillary.c:58
vlc_dovi_reshape_method_t
Dolby Vision metadata description.
Definition: vlc_ancillary.h:124
struct vlc_ancillary * vlc_ancillary_Hold(struct vlc_ancillary *ancillary)
Hold an ancillary.
Definition: ancillary.c:69
float targeted_luminance
Definition: vlc_ancillary.h:191
enum vlc_dovi_reshape_method_t mapping_idc[8]
Definition: vlc_ancillary.h:159
int64_t poly_coef[8][3]
Definition: vlc_ancillary.h:161
float fraction_bright_pixels
Definition: vlc_ancillary.h:201
uint64_t dz_threshold
Definition: vlc_ancillary.h:172
struct vlc_video_dovi_metadata_t vlc_video_dovi_metadata_t
void * vlc_ancillary_GetData(const struct vlc_ancillary *ancillary)
Definition: ancillary.c:76
size_t size
Definition: vlc_ancillary.h:217
uint8_t bl_bit_depth
Definition: vlc_ancillary.h:141
uint8_t data[]
Definition: vlc_ancillary.h:218
int64_t mmr_coef[8][3][7]
Definition: vlc_ancillary.h:164
uint8_t tone_mapping_flag
Definition: vlc_ancillary.h:202
void(* vlc_ancillary_free_cb)(void *data)
Callback to free an ancillary data.
Definition: vlc_ancillary.h:74
uint8_t num_pivots
Definition: vlc_ancillary.h:157
uint16_t source_min_pq
Definition: vlc_ancillary.h:149
uint16_t pivots[9]
Definition: vlc_ancillary.h:158
uint64_t hdr_in_max
Definition: vlc_ancillary.h:170
struct vlc_video_dovi_metadata_t::vlc_dovi_reshape_t curves[3]
uint8_t num_bezier_anchors
Definition: vlc_ancillary.h:205
struct vlc_ancillary * vlc_ancillary_CreateWithFreeCb(void *data, vlc_ancillary_id id, vlc_ancillary_free_cb free_cb)
Create an ancillary.
Definition: ancillary.c:40
uint8_t mmr_order[8]
Definition: vlc_ancillary.h:162
static struct vlc_ancillary * vlc_ancillary_Create(void *data, vlc_ancillary_id id)
Helper to create an ancillary holding an allocated data.
Definition: vlc_ancillary.h:92
float bezier_curve_anchors[15]
Definition: vlc_ancillary.h:206
float nonlinear_offset[3]
Definition: vlc_ancillary.h:146
uint8_t offset_depth
Definition: vlc_ancillary.h:168
uint8_t num_histogram
Definition: vlc_ancillary.h:196
uint8_t country_code
Definition: vlc_ancillary.h:189
uint8_t poly_order[8]
Definition: vlc_ancillary.h:160
uint8_t application_version
Definition: vlc_ancillary.h:190
vlc_dovi_nlq_method_t
Definition: vlc_ancillary.h:130
uint16_t offset
Definition: vlc_ancillary.h:169
float knee_point_y
Definition: vlc_ancillary.h:204
struct vlc_video_dovi_metadata_t::vlc_dovi_nlq_t nlq[3]
uint32_t vlc_ancillary_id
ID of an ancillary.
Definition: vlc_ancillary.h:68
@ VLC_DOVI_RESHAPE_POLYNOMIAL
Definition: vlc_ancillary.h:125
@ VLC_DOVI_RESHAPE_MMR
Definition: vlc_ancillary.h:126
@ VLC_DOVI_NLQ_LINEAR_DZ
Definition: vlc_ancillary.h:132
@ VLC_DOVI_NLQ_NONE
Definition: vlc_ancillary.h:131
Definition: ancillary.c:31
vlc_ancillary_free_cb free_cb
Definition: ancillary.c:36
void * data
Definition: ancillary.c:35
Definition: vlc_ancillary.h:216
This file is a collection of common definitions and types.