64-bit bug in faac?

David Myers myers at aedifice.net
Sun Jun 4 16:01:56 PDT 2006

I've been experimenting with transcoding MPEG-2 transport streams to MP4 
files (mpeg-4 video, AAC audio), using ffmpeg and faac.  But there 
appears to be a 64-bit bug in faac.  When I run the ffmpeg process from 
an i386 machine, the generated file is clean, and a Mac Mini running 
QuickTime can play the file without problems.  But when I do the exact 
same transcode from my amd64 server, the resulting audio is bad.  I get 
a constant stream of

   FAAD: Failed to decode frame: Invalid number of channels

when I try to play the file using mplayer.  After some delay, the video 
portion will play (using any of my players: mplayer/i386, mplayer/amd64, 
and QuickTime), but not the audio.  Note that 'mp4info' (from the 
mpeg4ip port) indicates that the audio track is there, and that it has 
two channels...

Anybody else seen this?  Any workarounds?

This bug is only in faac; running faad (the decoder piece) on either 
i386 or amd64 with a known-good MP4 file works fine.  Though I note that 
faad is at version 2.0 in the ports collection, while faac is still 1.24.

For reference, this is the command I run (identically on both i386 and 

   ffmpeg -i $mpgfile -f mp4 -vcodec mpeg4 -b $bitrate -hq -acodec aac 
-ab 128 $mp4file

Many thanks.


More information about the freebsd-multimedia mailing list