19 #ifndef AVCODEC_CBS_SEI_H
20 #define AVCODEC_CBS_SEI_H
131 #define SEI_MESSAGE_RW(codec, name) \
132 .read = (SEIMessageReadFunction) cbs_ ## codec ## _read_ ## name, \
133 .write = (SEIMessageWriteFunction)cbs_ ## codec ## _write_ ## name
136 #define SEI_MESSAGE_TYPE_END { .type = -1 }
177 uint32_t payload_type,
189 uint32_t payload_type,
197 uint32_t payload_type);
refcounted data buffer API
static int FUNC() sei(CodedBitstreamContext *ctx, RWContext *rw, H264RawSEI *current)
int(* SEIMessageWriteFunction)(CodedBitstreamContext *ctx, struct PutBitContext *rw, void *current, SEIMessageState *sei)
int(* SEIMessageReadFunction)(CodedBitstreamContext *ctx, struct GetBitContext *rw, void *current, SEIMessageState *sei)
void ff_cbs_sei_free_message_list(SEIRawMessageList *list)
Free all SEI messages in a message list.
int ff_cbs_sei_alloc_message_payload(SEIRawMessage *message, const SEIMessageTypeDescriptor *desc)
Allocate a new payload for the given SEI message.
void ff_cbs_sei_delete_message_type(CodedBitstreamContext *ctx, CodedBitstreamFragment *au, uint32_t payload_type)
Delete all messages with the given payload type from an access unit.
const SEIMessageTypeDescriptor * ff_cbs_sei_find_type(CodedBitstreamContext *ctx, int payload_type)
Find the type descriptor for the given payload type.
int ff_cbs_sei_list_add(SEIRawMessageList *list)
Allocate a new empty SEI message in a message list.
int ff_cbs_sei_add_message(CodedBitstreamContext *ctx, CodedBitstreamFragment *au, int prefix, uint32_t payload_type, void *payload_data, AVBufferRef *payload_buf)
Add an SEI message to an access unit.
int ff_cbs_sei_find_message(CodedBitstreamContext *ctx, CodedBitstreamFragment *au, uint32_t payload_type, SEIRawMessage **message)
Iterate over messages with the given payload type in an access unit.
A reference to a data buffer.
Context structure for coded bitstream operations.
Coded bitstream fragment structure, combining one or more units.
uint8_t extension_present
SEIMessageWriteFunction write
SEIMessageReadFunction read
uint8_t preferred_transfer_characteristics
uint16_t max_pic_average_light_level
uint16_t max_content_light_level
uint16_t display_primaries_x[3]
uint16_t display_primaries_y[3]
uint32_t max_display_mastering_luminance
uint32_t min_display_mastering_luminance
int nb_messages_allocated
size_t extension_bit_length
AVBufferRef * payload_ref
AVBufferRef * extension_data_ref
uint8_t itu_t_t35_country_code_extension_byte
uint8_t itu_t_t35_country_code
uint8_t uuid_iso_iec_11578[16]