diff options
author | Sreerenj Balachandran <sreerenj.balachandran@intel.com> | 2013-06-04 16:12:27 +0300 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2013-06-04 17:29:31 +0200 |
commit | 866f60cce6ec61407b3b2f5e9dc42610da9bba61 (patch) | |
tree | b310e153fc5887bbcbf033ce2d5612c8aa709d04 /ext | |
parent | 04472f6c33d950693181773f57ba2ea2d2e3ad66 (diff) |
mpeg2dec: make the aspect ratio calculation more accurate.
Utilize the libmpeg2 api: mpeg2_guess_aspect() to guess the
aspect-ratio if we don't have a valid upstream PAR.
https://bugzilla.gnome.org/show_bug.cgi?id=685103
Diffstat (limited to 'ext')
-rw-r--r-- | ext/mpeg2dec/gstmpeg2dec.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/ext/mpeg2dec/gstmpeg2dec.c b/ext/mpeg2dec/gstmpeg2dec.c index 6ae89391..87308dd1 100644 --- a/ext/mpeg2dec/gstmpeg2dec.c +++ b/ext/mpeg2dec/gstmpeg2dec.c @@ -625,10 +625,18 @@ handle_sequence (GstMpeg2dec * mpeg2dec, const mpeg2_info_t * info) if (GST_VIDEO_INFO_PAR_N (vinfo) == 1 && GST_VIDEO_INFO_PAR_D (vinfo) == 1 && sequence->pixel_width != 0 && sequence->pixel_height != 0) { - GST_DEBUG_OBJECT (mpeg2dec, "Setting PAR %d x %d", - sequence->pixel_width, sequence->pixel_height); +#if MPEG2_RELEASE >= MPEG2_VERSION(0,5,0) + guint pixel_width, pixel_height; + if (mpeg2_guess_aspect (sequence, &pixel_width, &pixel_height)) { + vinfo->par_n = pixel_width; + vinfo->par_d = pixel_height; + } +#else vinfo->par_n = sequence->pixel_width; vinfo->par_d = sequence->pixel_height; +#endif + GST_DEBUG_OBJECT (mpeg2dec, "Setting PAR %d x %d", + vinfo->par_n, vinfo->par_d); } vinfo->fps_n = 27000000; vinfo->fps_d = sequence->frame_period; |