> > I suspect kino declares BE audio data to be LE in the DV export (or indeed > > any) pipe. No idea what's the cause of the XV and mpeg2enc endianness > > problems though. > > The audio problems seem to be caused (at least) by big-endian length > fields in an otherwise little-endian WAV file. I'm not too familiar with > the various video encodings. I'll have another close look on it over the > week-end, but might have to pass on the problem to upstream for a fix.
I can confirm the XV problem is the same old problem that a patch had been posted for in http://jira.schirmacher.de/jira-kino/browse/KINO-76. I've added some #ifdef __BIG_ENDIAN__ around that, the following patch should finally fix the display issue: --- src/frame.cc.org 2005-02-14 16:59:13.798585200 +0100 +++ src/frame.cc 2005-02-14 17:14:01.196680184 +0100 @@ -1052,7 +1052,11 @@ for ( int x = 0; x < width; x += 2 ) { +#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN + *reinterpret_cast<uint32_t*>( dest ) = Cr[ 0 ] + ( Y[ 0 ] << 8 ) + ( Cb[ 1 ] << 16 ) + ( Y[ 0 ] << 24 ); +#else *reinterpret_cast<uint32_t*>( dest ) = Y[ 0 ] + ( Cb[ 0 ] << 8 ) + ( Y[ 1 ] << 16 ) + ( Cr[ 0 ] << 24 ); +#endif dest += 4; Y += 2; @@ -1071,8 +1075,13 @@ for ( int x = 0; x < width; x += 4 ) { +#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN + *reinterpret_cast<uint32_t*>( dest ) = Cr[ 0 ] + ( Y[ 0 ] << 8 ) + ( Cb[ 1 ] << 16 ) + ( Y[ 0 ] << 24 ); + *reinterpret_cast<uint32_t*>( dest + 4 ) = Cr[ 2 ] + ( Y[ 0 ] << 8 ) + ( Cb[ 3 ] << 16 ) + ( Y[ 0 ] << 24 ); +#else *reinterpret_cast<uint32_t*>( dest ) = Y[ 0 ] + ( Cb[ 0 ] << 8 ) + ( Y[ 1 ] << 16 ) + ( Cr[ 0 ] << 24 ); *reinterpret_cast<uint32_t*>( dest + 4 ) = Y[ 2 ] + ( Cb[ 0 ] << 8 ) + ( Y[ 3 ] << 16 ) + ( Cr[ 0 ] << 24 ); +#endif dest += 8; Y += 4; Waiting for your audio export fix now :-) Michael -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]