Jason Tackaberry wrote: > Author: tack > Date: Mon May 21 23:08:28 2007 > New Revision: 2681 > > Modified: > trunk/popcorn/src/backends/xine/child.py > > Log: > Commented out some dubious code and some wrong code, and added some notes > about that.
Since it is my code, let me explain. > Modified: trunk/popcorn/src/backends/xine/child.py > ============================================================================== > --- trunk/popcorn/src/backends/xine/child.py (original) > +++ trunk/popcorn/src/backends/xine/child.py Mon May 21 23:08:28 2007 > @@ -157,16 +157,23 @@ > Return the frame output position, dimensions and aspect > """ > if self._vo_settings: > - if self._vo_settings[0] and self._vo_settings[1][:2] == (width, > height): > + #if self._vo_settings[0] and self._vo_settings[1][:2] == (width, > height): > # Use cached values. Dimensions have not changed between the > # last frame. The aspect may be different now because we > messed with > # it. This is a bug somehow and it happens. So we return the > cached > # values and reset self._vo_settings[0] so we recalculate > when > # the aspect changes the next time. > - self._vo_settings = False, (width, height, aspect) > - return self._vo_settings_calculated > + > + # (from tack) why don't we want to recalculate here? We > need to, > + # and it's not a bug that you'd get the same frame size but a > + # different aspect. Consider an NTSC DVD: the frame size is > + # always 720x480, but the aspect is either 16/9 or 4/3. By > not > + # calculating the dimensions here we are breaking aspect. > + #self._vo_settings = False, (width, height, aspect) > + #return self._vo_settings_calculated It is a special case with self._vo_settings[0] = True. I had the straneg bug that aspect changes between two frames between two values. I have no idea why. So this code only is active between a full calculation and the next frame. Later frames are handled by: > if self._vo_settings[1] == (width, height, aspect): > # use cache when nothing has changed > + print " <-", self._vo_settings_calculated > return self._vo_settings_calculated This includes the aspect. Do you have files where the aspect changes two times between frames? > # keep given video aspect in calculation (in most cases 1.0) > - aspect *= vid_a > + # Why multiply by vid_a? This isn't right. > + # aspect *= vid_a So what is? I had a video where this is what I needed to make it work. We need to calculate with vid_a at some point. Dischi -- One nuclear bomb can ruin your whole day.
pgpqBazgQhhVy.pgp
Description: PGP signature
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ Freevo-cvslog mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freevo-cvslog
