diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2013-11-23 19:11:42 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2013-11-23 19:11:42 +0100 |
commit | de3abac8eda9addcf07b604828bc78dfb66a002a (patch) | |
tree | 281130e3865bfd178b86d6fabbd86fa674aaad3e /ext/openexr | |
parent | a90585c686a8499d9eecc7c5fd1d1df2d1580c47 (diff) | |
download | gstreamer-plugins-bad-de3abac8eda9addcf07b604828bc78dfb66a002a.tar.gz |
openexrdec: Consider the pixel aspect ratio stored in the file
Diffstat (limited to 'ext/openexr')
-rw-r--r-- | ext/openexr/gstopenexrdec.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/openexr/gstopenexrdec.cpp b/ext/openexr/gstopenexrdec.cpp index 7ec3fa17c..b14cbd2e2 100644 --- a/ext/openexr/gstopenexrdec.cpp +++ b/ext/openexr/gstopenexrdec.cpp @@ -459,12 +459,14 @@ gst_openexr_dec_negotiate (GstOpenEXRDec * self, RgbaInputFile * file) { GstVideoFormat format; gint width, height; + gfloat par; /* TODO: Use displayWindow here and also support output of ARGB_F16 */ format = GST_VIDEO_FORMAT_ARGB64; Box2i dw = file->dataWindow (); width = dw.max.x - dw.min.x + 1; height = dw.max.y - dw.min.y + 1; + par = file->pixelAspectRatio (); if (!self->output_state || self->output_state->info.finfo->format != format || @@ -476,7 +478,8 @@ gst_openexr_dec_negotiate (GstOpenEXRDec * self, RgbaInputFile * file) gst_video_decoder_set_output_state (GST_VIDEO_DECODER (self), format, width, height, self->input_state); - GST_DEBUG_OBJECT (self, "Have image of size %dx%d", width, height); + GST_DEBUG_OBJECT (self, "Have image of size %dx%d (par %f)", width, height, par); + gst_util_double_to_fraction (par, &self->output_state->info.par_n, &self->output_state->info.par_d); if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) return GST_FLOW_NOT_NEGOTIATED; |