34 1, 1, 1, 2, 2, 3, 3, 2, 3
67 unsigned int i, num_clock_ts;
77 for (i = 0; i < num_clock_ts; i++) {
79 unsigned int full_timestamp_flag;
88 if (full_timestamp_flag) {
144 int user_data_type_code;
151 if (user_data_type_code == 0x3) {
161 if (cc_count && size >= cc_count * 3) {
166 if (new_size > INT_MAX)
174 for (i = 0; i < cc_count; i++) {
185 for (i = 0; i < size - 1; i++)
194 uint32_t country_code;
195 uint32_t user_identifier;
202 if (country_code == 0xFF) {
212 switch (user_identifier) {
213 case MKBETAG(
'D',
'T',
'G',
'1'):
215 case MKBETAG(
'G',
'A',
'9',
'4'):
237 for (i = 0; i < size + 16; i++)
241 e = sscanf(user_data + 16,
"x264 - core %d", &build);
242 if (e == 1 && build > 0)
244 if (e == 1 && build == 1 && !strncmp(user_data+16,
"x264 - core 0000", 16))
247 if (strlen(user_data + 16) > 0)
280 "non-existing SPS %d referenced in buffering period\n", sps_id);
287 for (sched_sel_idx = 0; sched_sel_idx < sps->
cpb_cnt; sched_sel_idx++) {
295 for (sched_sel_idx = 0; sched_sel_idx < sps->
cpb_cnt; sched_sel_idx++) {
497 return "checkerboard_rl";
499 return "checkerboard_lr";
502 return "col_interleaved_rl";
504 return "col_interleaved_lr";
507 return "row_interleaved_rl";
509 return "row_interleaved_lr";
registered user data as specified by Rec. ITU-T T.35
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
int sei_cpb_removal_delay
cpb_removal_delay in picture timing SEI message, see H.264 C.1.2
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
static void skip_bits_long(GetBitContext *s, int n)
int initial_cpb_removal_delay[32]
Initial timestamps for CPBs.
int sei_reguserdata_afd_present
User data registered by Rec.
int frame_packing_arrangement_repetition_period
int frame_packing_arrangement_id
void ff_h264_reset_sei(H264Context *h)
Reset SEI values at the beginning of the frame.
static int decode_picture_timing(H264Context *h)
SEI_FpaType frame_packing_arrangement_type
#define FF_DEBUG_PICT_INFO
static int get_bits_count(const GetBitContext *s)
H.264 / AVC / MPEG4 part10 codec.
static int get_bits_left(GetBitContext *gb)
static int decode_unregistered_user_data(H264Context *h, int size)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
AVS_Value void * user_data
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
GreenMetaData sei_green_metadata
int content_interpretation_type
static int decode_registered_user_data_afd(H264Context *h, int size)
int sei_anticlockwise_rotation
int initial_cpb_removal_delay_length
initial_cpb_removal_delay_length_minus1 + 1
const char * ff_h264_sei_stereo_mode(H264Context *h)
Get stereo_mode string from the h264 frame_packing_arrangement.
int sei_frame_packing_present
frame_packing_arrangment SEI message
static int decode_recovery_point(H264Context *h)
static int decode_registered_user_data_closed_caption(H264Context *h, int size)
static unsigned int show_bits(GetBitContext *s, int n)
Show 1-25 bits.
static int decode_display_orientation(H264Context *h)
frame packing arrangement
uint8_t active_format_description
static unsigned get_ue_golomb_long(GetBitContext *gb)
Read an unsigned Exp-Golomb code in the range 0 to UINT32_MAX-1.
SPS * sps_buffers[MAX_SPS_COUNT]
int vcl_hrd_parameters_present_flag
Libavcodec external API header.
static int get_ue_golomb_31(GetBitContext *gb)
read unsigned exp golomb code, constraint to a max of 31.
int dpb_output_delay_length
dpb_output_delay_length_minus1 + 1
int frame_packing_arrangement_type
static unsigned int get_bits1(GetBitContext *s)
SEI_PicStructType sei_pic_struct
pic_struct in picture timing SEI message
static void skip_bits1(GetBitContext *s)
static void skip_bits(GetBitContext *s, int n)
#define FF_DEBUG_GREEN_MD
attribute_deprecated int dtg_active_format
DTG active format information (additional aspect ratio information only used in DVB MPEG-2 transport ...
int frame_packing_arrangement_cancel_flag
is previous arrangement canceled, -1 if never received
static unsigned int get_bits_long(GetBitContext *s, int n)
Read 0-32 bits.
int sei_buffering_period_present
Buffering period SEI flag.
static const uint8_t sei_num_clock_ts_table[9]
int quincunx_sampling_flag
int pic_struct_present_flag
#define FF_DISABLE_DEPRECATION_WARNINGS
common internal api header.
int nal_hrd_parameters_present_flag
static int decode_buffering_period(H264Context *h)
int log2_max_frame_num
log2_max_frame_num_minus4 + 4
static int decode_GreenMetadata(H264Context *h)
int av_reallocp(void *ptr, size_t size)
Allocate or reallocate a block of memory.
int sei_ct_type
Bit set of clock types for fields/frames in picture timing SEI message.
#define MKBETAG(a, b, c, d)
int ff_h264_decode_sei(H264Context *h)
Decode SEI.
#define FF_DEBUG_STARTCODE
#define FF_ENABLE_DEPRECATION_WARNINGS
int sei_display_orientation_present
display orientation SEI message
static int decode_registered_user_data(H264Context *h, int size)
int content_interpretation_type
static const uint8_t * align_get_bits(GetBitContext *s)
buffering period (H.264, D.1.1)
int cpb_cnt
See H.264 E.1.2.
int cpb_removal_delay_length
cpb_removal_delay_length_minus1 + 1
int sei_recovery_frame_cnt
recovery_frame_cnt from SEI message
int sei_dpb_output_delay
dpb_output_delay in picture timing SEI message, see H.264 C.2.2
recovery point (frame # to decoder sync)
static int decode_frame_packing_arrangement(H264Context *h)