From 8ebf60124a5a7e695bfab3eb7596bb76ad5e4b33 Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Fri, 27 Jun 2014 10:37:38 +0300 Subject: [PATCH] encoder: h264: fix timing_info_present_flag value in subset SPS. When the seq_parameter_set_data() syntax structure is present in a subset sequence parameter set and vui_parameters_present_flag is equal to 1, then timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1). --- gst-libs/gst/vaapi/gstvaapiencoder_h264.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c index 8eee95d..f986d5e 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c @@ -1698,7 +1698,9 @@ fill_sequence (GstVaapiEncoderH264 * encoder, GstVaapiEncSequence * sequence) if (seq_param->vui_parameters_present_flag) { seq_param->vui_fields.bits.aspect_ratio_info_present_flag = FALSE; seq_param->vui_fields.bits.bitstream_restriction_flag = FALSE; - seq_param->vui_fields.bits.timing_info_present_flag = TRUE; + /* if vui_parameters_present_flag is TRUE and sps data belongs to + * subset sps, timing_info_preset_flag should be zero (H.7.4.2.1.1) */ + seq_param->vui_fields.bits.timing_info_present_flag = !encoder->view_idx; if (seq_param->vui_fields.bits.timing_info_present_flag) { seq_param->num_units_in_tick = GST_VAAPI_ENCODER_FPS_D (encoder); seq_param->time_scale = GST_VAAPI_ENCODER_FPS_N (encoder) * 2; -- 2.7.4