theoradec: PARs of 0:x, x:0 and 0:0 are all allowed and map to 1:1

Fixes #609252.
This commit is contained in:
Benjamin M. Schwartz 2010-02-08 11:21:35 +01:00 committed by Tim-Philipp Müller
parent 6b8175d96a
commit a09d9fdece

View file

@ -757,9 +757,7 @@ theora_handle_type_packet (GstTheoraDec * dec, ogg_packet * packet)
/* calculate par
* the info.aspect_* values reflect PAR;
* 0:0 is allowed and can be interpreted as 1:1, so correct for it.
* x:0 for other x isn't technically allowed, but it's seen in the wild and
* is reasonable to treat the same.
* 0:x and x:0 are allowed and can be interpreted as 1:1.
*/
if (dec->have_par) {
/* we had a par on the sink caps, override the encoded par */
@ -771,7 +769,7 @@ theora_handle_type_packet (GstTheoraDec * dec, ogg_packet * packet)
par_num = dec->info.aspect_numerator;
par_den = dec->info.aspect_denominator;
}
if (par_den == 0) {
if (par_num == 0 || par_den == 0) {
par_num = par_den = 1;
}
/* theora has: