From 0b1faa62d0ce64bddbfd9abb5a9ce666943027d3 Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Mon, 18 Feb 2013 16:28:27 +0200 Subject: mpeg2: add support for video cropping. If the stream has a sequence_display_extenion, then attach the display_horizontal/display_vertical dimension as the cropping rectangle width/height to the GstVaapiPicture. Signed-off-by: Gwenole Beauchesne --- gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c') diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c b/gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c index bb67bd5c..fdc6596b 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c @@ -1471,6 +1471,17 @@ gst_vaapi_decoder_mpeg2_start_frame(GstVaapiDecoder *base_decoder, gst_vaapi_picture_replace(&priv->current_picture, picture); gst_vaapi_picture_unref(picture); + /* Update cropping rectangle */ + if (seq_display_ext) { + GstVaapiRectangle crop_rect; + crop_rect.x = 0; + crop_rect.y = 0; + crop_rect.width = seq_display_ext->display_horizontal_size; + crop_rect.height = seq_display_ext->display_vertical_size; + if (crop_rect.width <= priv->width && crop_rect.height <= priv->height) + gst_vaapi_picture_set_crop_rect(picture, &crop_rect); + } + status = ensure_quant_matrix(decoder, picture); if (status != GST_VAAPI_DECODER_STATUS_SUCCESS) { GST_ERROR("failed to reset quantizer matrix"); -- cgit v1.2.1