summaryrefslogtreecommitdiff
path: root/libavcodec/hevc_sei.h
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2021-07-23 14:10:00 -0300
committerJames Almer <jamrial@gmail.com>2021-08-06 09:56:44 -0300
commit82be9f277781afa7f90a2d93bfda818c1dc84551 (patch)
tree38bae1fd26c12189285d6570f0770185bb4707b7 /libavcodec/hevc_sei.h
parent794e15fd54db9cef85a02f21354090d718f81d22 (diff)
avcodec/hevc_sei: parse and export Film Grain Characteristics SEI messages
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/hevc_sei.h')
-rw-r--r--libavcodec/hevc_sei.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/libavcodec/hevc_sei.h b/libavcodec/hevc_sei.h
index 4b6bfddeb9..ac8c61c1f1 100644
--- a/libavcodec/hevc_sei.h
+++ b/libavcodec/hevc_sei.h
@@ -109,6 +109,27 @@ typedef struct HEVCSEITimeCode {
int32_t time_offset_value[3];
} HEVCSEITimeCode;
+typedef struct HEVCSEIFilmGrainCharacteristics {
+ int present;
+ int model_id;
+ int separate_colour_description_present_flag;
+ int bit_depth_luma;
+ int bit_depth_chroma;
+ int full_range;
+ int color_primaries;
+ int transfer_characteristics;
+ int matrix_coeffs;
+ int blending_mode_id;
+ int log2_scale_factor;
+ int comp_model_present_flag[3];
+ uint16_t num_intensity_intervals[3];
+ uint8_t num_model_values[3];
+ uint8_t intensity_interval_lower_bound[3][256];
+ uint8_t intensity_interval_upper_bound[3][256];
+ int16_t comp_model_value[3][256][6];
+ int persistence_flag;
+} HEVCSEIFilmGrainCharacteristics;
+
typedef struct HEVCSEI {
HEVCSEIPictureHash picture_hash;
HEVCSEIFramePacking frame_packing;
@@ -122,6 +143,7 @@ typedef struct HEVCSEI {
int active_seq_parameter_set_id;
HEVCSEIAlternativeTransfer alternative_transfer;
HEVCSEITimeCode timecode;
+ HEVCSEIFilmGrainCharacteristics film_grain_characteristics;
} HEVCSEI;
struct HEVCParamSets;