On Sun, 24 Jan 2010 02:26:29 +0100, gregor herrmann wrote:

> (The messing around with duration, vrate, bitrate, vframes etc. in
> the code confuses me.)

Sometimes trial and error leads to interesting results: With ...

#v+
--- Info/MPEG/System.pm (revision 51501)
+++ Info/MPEG/System.pm (working copy)
@@ -376,7 +376,7 @@
 
     if ( $type == 1 ) {
        my $highbit   = (   $self->get_byte( $offset     ) >> 3  ) & 0x01;
-       my $low4bytes = ( ( $self->get_byte( $offset     ) >> 1  ) & 0x30 ) << 
30;
+       my $low4bytes = ( ( $self->get_byte( $offset     ) >> 1  ) & 0x62 ) << 
62;
        $low4bytes   |= (   $self->get_byte( $offset + 1 ) << 22 );
        $low4bytes   |= ( ( $self->get_byte( $offset + 2 ) >> 1  ) << 15 );
        $low4bytes   |= (   $self->get_byte( $offset + 3 ) << 7  );
#v- 

... the tests pass both on i386 and amd64.
Whatever that tells us :)

Cheers,
gregor

-- 
 .''`.   http://info.comodo.priv.at/ -- GPG Key IDs: 0x00F3CFE4, 0x8649AA06
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe
   `-    NP: Tanita Tikaram: Men And Women

Attachment: signature.asc
Description: Digital signature

Reply via email to