aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc_sei.h
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-06-27 16:33:24 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-12-01 11:00:40 +0100
commit33239ebd076d936d51d35f47b3f9837987472b5a (patch)
tree9285a08318de4766fe17fa068a2aebb4b0020c46 /libavcodec/hevc_sei.h
parent0d84725cb92f2e0b3793dda1ee3a759a64812ec2 (diff)
downloadffmpeg-33239ebd076d936d51d35f47b3f9837987472b5a.tar.gz
avcodec/h2645_sei: Factor parsing common SEI messages out
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/hevc_sei.h')
-rw-r--r--libavcodec/hevc_sei.h54
1 files changed, 2 insertions, 52 deletions
diff --git a/libavcodec/hevc_sei.h b/libavcodec/hevc_sei.h
index ef987f6781..8ea0245802 100644
--- a/libavcodec/hevc_sei.h
+++ b/libavcodec/hevc_sei.h
@@ -27,6 +27,7 @@
#include "get_bits.h"
#include "hevc.h"
+#include "h2645_sei.h"
#include "sei.h"
@@ -48,25 +49,10 @@ typedef struct HEVCSEIFramePacking {
int current_frame_is_frame0_flag;
} HEVCSEIFramePacking;
-typedef struct HEVCSEIDisplayOrientation {
- int present;
- int anticlockwise_rotation;
- int hflip, vflip;
-} HEVCSEIDisplayOrientation;
-
typedef struct HEVCSEIPictureTiming {
int picture_struct;
} HEVCSEIPictureTiming;
-typedef struct HEVCSEIA53Caption {
- AVBufferRef *buf_ref;
-} HEVCSEIA53Caption;
-
-typedef struct HEVCSEIUnregistered {
- AVBufferRef **buf_ref;
- int nb_buf_ref;
-} HEVCSEIUnregistered;
-
typedef struct HEVCSEIMasteringDisplay {
int present;
uint16_t display_primaries[3][2];
@@ -75,14 +61,6 @@ typedef struct HEVCSEIMasteringDisplay {
uint32_t min_luminance;
} HEVCSEIMasteringDisplay;
-typedef struct HEVCSEIDynamicHDRPlus {
- AVBufferRef *info;
-} HEVCSEIDynamicHDRPlus;
-
-typedef struct HEVCSEIDynamicHDRVivid {
- AVBufferRef *info;
-} HEVCSEIDynamicHDRVivid;
-
typedef struct HEVCSEIContentLight {
int present;
uint16_t max_content_light_level;
@@ -114,42 +92,14 @@ 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 {
+ H2645SEI common;
HEVCSEIPictureHash picture_hash;
- HEVCSEIFramePacking frame_packing;
- HEVCSEIDisplayOrientation display_orientation;
HEVCSEIPictureTiming picture_timing;
- HEVCSEIA53Caption a53_caption;
- HEVCSEIUnregistered unregistered;
HEVCSEIMasteringDisplay mastering_display;
- HEVCSEIDynamicHDRPlus dynamic_hdr_plus;
- HEVCSEIDynamicHDRVivid dynamic_hdr_vivid;
HEVCSEIContentLight content_light;
int active_seq_parameter_set_id;
- HEVCSEIAlternativeTransfer alternative_transfer;
HEVCSEITimeCode timecode;
- HEVCSEIFilmGrainCharacteristics film_grain_characteristics;
} HEVCSEI;
struct HEVCParamSets;