ext/mpeg2dec/gstmpeg2dec.c: Assume 4:3 DAR rather than 4:3 PAR (#345184).

Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Assume 4:3 DAR rather than 4:3 PAR (#345184).
This commit is contained in:
Tim-Philipp Müller 2006-06-19 15:16:43 +00:00
parent 17514d1696
commit 86b9de35d3
2 changed files with 31 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2006-06-19 Tim-Philipp Müller <tim at centricular dot net>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Assume 4:3 DAR rather than 4:3 PAR (#345184).
2006-06-19 Tim-Philipp Müller <tim at centricular dot net>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):

View file

@ -543,9 +543,32 @@ gst_mpeg2dec_negotiate_format (GstMpeg2dec * mpeg2dec)
}
if (mpeg2dec->pixel_width == 0 || mpeg2dec->pixel_height == 0) {
GST_WARNING_OBJECT (mpeg2dec, "Unknown pixel-aspect-ratio - assuming 4:3");
mpeg2dec->pixel_width = 4;
mpeg2dec->pixel_height = 3;
GValue par = { 0, }
, dar = {
0,}
, dimensions = {
0,};
/* assume display aspect ratio (DAR) of 4:3 */
g_value_init (&dar, GST_TYPE_FRACTION);
gst_value_set_fraction (&dar, 4, 3);
g_value_init (&dimensions, GST_TYPE_FRACTION);
gst_value_set_fraction (&dimensions, mpeg2dec->height, mpeg2dec->width);
g_value_init (&par, GST_TYPE_FRACTION);
if (!gst_value_fraction_multiply (&par, &dar, &dimensions)) {
gst_value_set_fraction (&dimensions, 1, 1);
}
mpeg2dec->pixel_width = gst_value_get_fraction_numerator (&par);
mpeg2dec->pixel_height = gst_value_get_fraction_denominator (&par);
GST_WARNING_OBJECT (mpeg2dec, "Unknown pixel-aspect-ratio, assuming %d:%d",
mpeg2dec->pixel_width, mpeg2dec->pixel_height);
g_value_unset (&par);
g_value_unset (&dar);
g_value_unset (&dimensions);
}
caps = gst_caps_new_simple ("video/x-raw-yuv",