From: Thibaut <tma...@no...> - 2004-09-16 12:42:37
|
i'm resending this message, my ISP seems to be blacklisted Hi Reinhard, ----Message d'origine---- >De: Reinhard Nissl <rnissl=40gmx.de> >A: xine-devel=40lists.sourceforge.net >Copie =E0: mroi=40users.sourceforge.net >Sujet: =5Bxine-devel=5D FIX: libmpeg2 sets wrong (mpeg1) aspect ratio for= mpeg2 streams >Date: Wed, 15 Sep 2004 00:56:19 +0200 > >Hi, > >the attached patch fixes the following problem: when libmpeg2 sets the as= pect = >ratio of the stream it doesn't know whether the stream is mpeg1 or mpeg2 = and = >therefore chooses mpeg1. The missing information about having a mpeg2 str= eam = >is available a little bit later but it's to late for setting the apect at= that = >time again. Right, this is a bug. When a sequence header (0xb3) is parsed, picture->mpeg1 is set to 1, then = if a header extension (0xb5) is parsed picture->mpeg1 is set to 0, it's ho= w a mpeg2 stream is detected. When a picture start code comes, you know if= it's a mpeg1 or mpeg2 frame. There is a problem because a frame format event is sent when a sequence he= ader is parsed, and at this time you don't know if it's mpeg1 or mpeg2 seq= uence and the default value is used. Your patch uses the type (mpeg1/mpeg2) of the previous sequence, i agree t= hat it should work, but i consider this as a hack. I think the event should be sent at the first picture start code of the se= quence, it's easy to detect the first picture, and at this time you know i= f it's mpeg1 or mpeg2. Question for engine guys, why is this event sent by decoders ? The information is not in sync with the output, and we have to duplicate t= his code to other decoders. IMHO it would be better to do this kind of stu= ff in the output loop. >The patch now assumes an mpeg2 stream by default and falls back to mpeg1 = if it = >doesn't see an mpeg2 packet between two aspect ratio packets. > >I've tested it with mpeg1 and mpeg2 streams and it seems to work. > >Bye. >-- = >Dipl.-Inform. (FH) Reinhard Nissl >mailto:rnissl=40gmx.de Thibaut |