aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264_sei.h
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2021-07-23 11:06:45 -0300
committerJames Almer <jamrial@gmail.com>2021-07-23 11:06:45 -0300
commit4ff73add5dbe6c319d693355be44df2e17a0b8bf (patch)
tree8e85d3357aca65d9fab4e26c8ae26552ba2c4465 /libavcodec/h264_sei.h
parente3b5ff17c2e54d557d2c897aa7e491ea4d3df708 (diff)
downloadffmpeg-4ff73add5dbe6c319d693355be44df2e17a0b8bf.tar.gz
avcodec/h264_sei: parse and export Film Grain Characteristics SEI messages
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/h264_sei.h')
-rw-r--r--libavcodec/h264_sei.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/libavcodec/h264_sei.h b/libavcodec/h264_sei.h
index 14cc559361..f9166b45df 100644
--- a/libavcodec/h264_sei.h
+++ b/libavcodec/h264_sei.h
@@ -165,6 +165,27 @@ typedef struct H264SEIAlternativeTransfer {
int preferred_transfer_characteristics;
} H264SEIAlternativeTransfer;
+typedef struct H264SEIFilmGrainCharacteristics {
+ 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 repetition_period;
+} H264SEIFilmGrainCharacteristics;
+
typedef struct H264SEIContext {
H264SEIPictureTiming picture_timing;
H264SEIAFD afd;
@@ -176,6 +197,7 @@ typedef struct H264SEIContext {
H264SEIDisplayOrientation display_orientation;
H264SEIGreenMetaData green_metadata;
H264SEIAlternativeTransfer alternative_transfer;
+ H264SEIFilmGrainCharacteristics film_grain_characteristics;
} H264SEIContext;
struct H264ParamSets;