Phil Ehrens wrote:
> Stefan Scheffler wrote:
> > Am Sun, 28 Oct 2007 11:38:18 +0100
> > schrieb Francesco Romani <[EMAIL PROTECTED]>:
> > 
> > > 
> > > On Sun, 2007-10-28 at 00:14 -0400, E. Hakan Duran wrote:
> > > 
> > > Hi,
> > > 
> > > [...]
> > > > transcode -i ovulation.mov -y dv -M 2 -o ovulation.avi
> > > > 
> > > > This command returned the following error:
> > > > 
> > > > transcode v1.0.4 (C) 2001-2003 Thomas Oestreich, 2003-2004 T.
> > > > Bitterberg, 2004-2007 Transcode Team
> > > > [codecs] Warning: Could not find audio Decoder for fourcc mp4a
> > > > [codecs] Warning: quicktime_decode_audio_stub called
> > > > [transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms |
> > > > 0 ms [transcode] auto-probing source ovulation.mov (ok)
> > > > [transcode] V: import format    | unknown QuickTime (V=mov|A=mov)
> > > > [transcode] V: AV demux/sync    | (2) initial MPEG sequence /
> > > > enforce frame rate
> > > > [transcode] V: import frame     | 320x240  1.33:1
> > > > [transcode] V: bits/pixel       | 1.562
> > > > [transcode] V: decoding fps,frc | 15.000,13
> > > > [transcode] V: Y'CbCr           | YV12/I420
> > > > [transcode] A: import format    | 0x1     PCM          [22050,16,1]
> > > > [transcode] A: export format    | 0x55    MPEG layer-3
> > > > [22050,16,1]  128 kbps [transcode] V: encoding fps,frc | 15.000,13
> > > > [transcode] A: bytes per frame  | 2940 (2940.000000)
> > > > [transcode] A: adjustment       | [EMAIL PROTECTED]
> > > > [transcode] V: IA32/AMD64 accel | sse2 (sse2 sse mmxext mmx asm C)
> > > > tc_memcpy: using sse for memcpy
> > > > [transcode] V: video buffer     | 10 @ 320x240
> > > > [import_mov.so] v0.1.2 (2002-05-16) (video) * | (audio) *
> > > > [export_dv.so] v0.5 (2003-07-24) (video) Digital Video | (audio)
> > > > MPEG/AC3/PCM [codecs] Warning: Could not find audio Decoder for
> > > > fourcc mp4a [codecs] Warning: quicktime_decode_audio_stub called
> > > > [import_mov.so] codec=mp4a, rate=22050 Hz, bits=16, channels=1,
> > > > samples=252928 error: quicktime audio codec 'mp4a' not supported!
> > > > audio import module error: OPEN failed
> > > > [transcode] critical: failed to open input source
> > > 
> > > Uhm, looks like a libquicktime issue, and unfortunately I'm not
> > > confident in that field. 
> > 
> > I guess Mandrivas libquicktime is build without faad
> > support.
> 
> Well, my libquicktime is built with faad support, and it acts
> totally wonky in transcode as well. I suspect libquicktime has
> a thread safety issue.

Ah, actually, the problem is in ffmpeg. The latest release of
faad2 changed some symbol names, and ffmpeg hasn't figured this
out yet:


#if 1                                                                           
/* MACROS FOR BACKWARDS COMPATIBILITY */                                        
/* structs */                                                                   
#define faacDecHandle                  NeAACDecHandle                           
#define faacDecConfiguration           NeAACDecConfiguration                    
#define faacDecConfigurationPtr        NeAACDecConfigurationPtr                 
#define faacDecFrameInfo               NeAACDecFrameInfo                        
/* functions */                                                                 
#define faacDecGetErrorMessage         NeAACDecGetErrorMessage                  
#define faacDecSetConfiguration        NeAACDecSetConfiguration                 
#define faacDecGetCurrentConfiguration NeAACDecGetCurrentConfiguration          
#define faacDecInit                    NeAACDecInit                             
#define faacDecInit2                   NeAACDecInit2                            
#define faacDecInitDRM                 NeAACDecInitDRM                          
#define faacDecPostSeekReset           NeAACDecPostSeekReset                    
#define faacDecOpen                    NeAACDecOpen                             
#define faacDecClose                   NeAACDecClose                            
#define faacDecDecode                  NeAACDecDecode                           
#define AudioSpecificConfig            NeAACDecAudioSpecificConfig              
#endif

The wrong symbols are used in the ffmpeg file libavcodec/libfaad.c,
but it is easy to fix by doing a global replacement:

a/faacDec/NeAACDec/g

At which point the segfaults go away.

Reply via email to