uint8_t log2_max_mv_length_vertical;
} H265RawVUI;
-typedef struct H265RawPSExtensionData {
+typedef struct H265RawExtensionData {
uint8_t *data;
size_t bit_length;
AVBufferRef *data_ref;
-} H265RawPSExtensionData;
+} H265RawExtensionData;
typedef struct H265RawVPS {
H265RawNALUnitHeader nal_unit_header;
H265RawHRDParameters hrd_parameters[HEVC_MAX_LAYER_SETS];
uint8_t vps_extension_flag;
- H265RawPSExtensionData extension_data;
+ H265RawExtensionData extension_data;
} H265RawVPS;
typedef struct H265RawSTRefPicSet {
uint8_t sps_scc_extension_flag;
uint8_t sps_extension_4bits;
- H265RawPSExtensionData extension_data;
+ H265RawExtensionData extension_data;
// Range extension.
uint8_t transform_skip_rotation_enabled_flag;
uint8_t pps_scc_extension_flag;
uint8_t pps_extension_4bits;
- H265RawPSExtensionData extension_data;
+ H265RawExtensionData extension_data;
// Range extension.
uint8_t log2_max_transform_skip_block_size_minus2;
uint8_t preferred_transfer_characteristics;
} H265RawSEIAlternativeTransferCharacteristics;
+typedef struct H265RawSEIAlphaChannelInfo {
+ uint8_t alpha_channel_cancel_flag;
+ uint8_t alpha_channel_use_idc;
+ uint8_t alpha_channel_bit_depth_minus8;
+ uint16_t alpha_transparent_value;
+ uint16_t alpha_opaque_value;
+ uint8_t alpha_channel_incr_flag;
+ uint8_t alpha_channel_clip_flag;
+ uint8_t alpha_channel_clip_type_flag;
+} H265RawSEIAlphaChannelInfo;
+
typedef struct H265RawSEIPayload {
uint32_t payload_type;
uint32_t payload_size;
H265RawSEIContentLightLevelInfo content_light_level;
H265RawSEIAlternativeTransferCharacteristics
alternative_transfer_characteristics;
+ H265RawSEIAlphaChannelInfo alpha_channel_info;
struct {
uint8_t *data;
size_t data_length;
AVBufferRef *data_ref;
} other;
} payload;
+ H265RawExtensionData extension_data;
} H265RawSEIPayload;
typedef struct H265RawSEI {