h264: use pixel-aspect-ratio from SPS header.
authorSimon Farnsworth <simon.farnsworth@onelan.co.uk>
Thu, 27 Sep 2012 17:05:46 +0000 (18:05 +0100)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Wed, 10 Oct 2012 09:29:00 +0000 (11:29 +0200)
Propagate pixel-aspect-ratio determined by the GStreamer codecparser
from the sequence headers.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
gst-libs/gst/vaapi/gstvaapidecoder_h264.c

index fc6cbf8..d0ff1ec 100644 (file)
@@ -689,6 +689,7 @@ end:
 static GstVaapiDecoderStatus
 decode_sps(GstVaapiDecoderH264 *decoder, GstH264NalUnit *nalu)
 {
+    GstVaapiDecoder * const base_decoder = GST_VAAPI_DECODER(decoder);
     GstVaapiDecoderH264Private * const priv = decoder->priv;
     GstH264SPS * const sps = &priv->last_sps;
     GstH264ParserResult result;
@@ -703,6 +704,11 @@ decode_sps(GstVaapiDecoderH264 *decoder, GstH264NalUnit *nalu)
     if (result != GST_H264_PARSER_OK)
         return get_status(result);
 
+    gst_vaapi_decoder_set_pixel_aspect_ratio(
+        base_decoder,
+        sps->vui_parameters.par_n,
+        sps->vui_parameters.par_d
+    );
     return ensure_context(decoder, sps);
 }