[FFmpeg-devel] MPEG decoding on the iPhone is buggy

Yoni Levy yonilevy
Thu Oct 1 18:26:27 CEST 2009


2009/10/1 Ronald S. Bultje <rsbultje at gmail.com>
>
> The rule is to use plain vanilla SVN.
>
> I recommend to turn off optimizations and asm while compiling ffmpeg,
> so as to turn off any of the code produced by ffmpeg4iphone. then, try
> to reproduce it using plain ffmpeg in a terminal on your iphone.
>
> Yes this is complicated, but right now you're essentially asking us to
> look into a bug that is likely produced by a patch that didn't even
> originate from us, you're unlikely to findan easy solution. :-).
>

Hi Ronald,
I've checked out the latest SVN build and tried to compile with this config
line (notice arm optimizations are now off):

./configure --enable-cross-compile --target-os=darwin
--cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1
--extra-cflags="-arch armv6 -pipe -miphoneos-version-min=2.0 -isysroot
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk
-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/include/gcc/darwin/4.0"
arch=armv6
--extra-ldflags="-L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/IphoneOS2.1.sdk/usr/lib"
--prefix=build --disable-shared --enable-static --disable-mmx
--disable-iwmmxt --disable-neon --disable-armvfp --disable-armv5te
--disable-armv6 --disable-debug --disable-stripping --arch=arm
--disable-ffmpeg --disable-ffserver --disable-ffplay --disable-gpl
--disable-nonfree

I get an error with libavcodec/arm/dsputil_arm_s.S, which starts with this:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1
-DHAVE_AV_CONFIG_H -I.
-I"/Users/yonilevy/projects/vidvid/tryingFreshWithoutOpt/ffmpeg"
-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -arch armv6 -pipe -miphoneos-version-min=2.0 -isysroot
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk
-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/include/gcc/darwin/4.0
 -mdynamic-no-pic -MMD -MF libavcodec/arm/dsputil_arm_s.d -MT
libavcodec/arm/dsputil_arm_s.o -c -o libavcodec/arm/dsputil_arm_s.o
libavcodec/arm/dsputil_arm_s.Slibavcodec/arm/dsputil_arm_s.S:106:Rest of
line ignored. 1st junk character valued 92 (\).

The rest can be found here: http://pastebin.com/f10a2739b.
I then tried compiling with --enable-armv6 and got the same error.
Just to make sure the patches still work, I applied ffmpeg4iphone patches
and recompiled, it works.


2009/10/1 M?ns Rullg?rd <mans at mansr.com>

>
> I know it is difficult to build ffmpeg for the iphone, but you really
> must provide us a minimal test case to reproduce the problem.
>
> A standard ffmpeg build for armv6 passes regression tests.  This
> suggests the error is in the ffmpeg4iphone patches, not in ffmpeg svn.
>
>
My problem was not building ffmpeg, it was running it on my device which is
not jailbroken. But without the patches it seems I can't build it.



More information about the ffmpeg-devel mailing list