if (e == 1 && build == 1 && !strncmp(user_data+16, "x264 - core 0000", 16))
h->x264_build = 67;
- if (strlen(user_data + 16) > 0)
- av_log(logctx, AV_LOG_DEBUG, "user data:\"%s\"\n", user_data + 16);
-
av_free(user_data);
return 0;
}
static int decode_frame_packing_arrangement(H264SEIFramePacking *h,
GetBitContext *gb)
{
- h->frame_packing_arrangement_id = get_ue_golomb_long(gb);
- h->frame_packing_arrangement_cancel_flag = get_bits1(gb);
- h->present = !h->frame_packing_arrangement_cancel_flag;
+ h->arrangement_id = get_ue_golomb_long(gb);
+ h->arrangement_cancel_flag = get_bits1(gb);
+ h->present = !h->arrangement_cancel_flag;
if (h->present) {
- h->frame_packing_arrangement_type = get_bits(gb, 7);
+ h->arrangement_type = get_bits(gb, 7);
h->quincunx_sampling_flag = get_bits1(gb);
h->content_interpretation_type = get_bits(gb, 6);
- // the following skips: spatial_flipping_flag, frame0_flipped_flag,
- // field_views_flag, current_frame_is_frame0_flag,
+ // spatial_flipping_flag, frame0_flipped_flag, field_views_flag
+ skip_bits(gb, 3);
+ h->current_frame_is_frame0_flag = get_bits1(gb);
// frame0_self_contained_flag, frame1_self_contained_flag
- skip_bits(gb, 6);
+ skip_bits(gb, 2);
- if (!h->quincunx_sampling_flag && h->frame_packing_arrangement_type != 5)
+ if (!h->quincunx_sampling_flag && h->arrangement_type != 5)
skip_bits(gb, 16); // frame[01]_grid_position_[xy]
skip_bits(gb, 8); // frame_packing_arrangement_reserved_byte
- h->frame_packing_arrangement_repetition_period = get_ue_golomb_long(gb);
+ h->arrangement_repetition_period = get_ue_golomb_long(gb);
}
skip_bits1(gb); // frame_packing_arrangement_extension_flag
const char *ff_h264_sei_stereo_mode(const H264SEIFramePacking *h)
{
- if (h->frame_packing_arrangement_cancel_flag == 0) {
- switch (h->frame_packing_arrangement_type) {
+ if (h->arrangement_cancel_flag == 0) {
+ switch (h->arrangement_type) {
case H264_SEI_FPA_TYPE_CHECKERBOARD:
if (h->content_interpretation_type == 2)
return "checkerboard_rl";
default:
return "mono";
}
- } else if (h->frame_packing_arrangement_cancel_flag == 1) {
+ } else if (h->arrangement_cancel_flag == 1) {
return "mono";
} else {
return NULL;