Opened 6 years ago

Closed 5 years ago

#266 closed defect (needs_more_info)

ARM: "size of array is negative" in mpegvideo_arm.c

Reported by: adfernandes Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Building for arm7 on the iPhone using branch bfd3b70ac3162f028bbfa5a8cd47d2715d49f77e:

ffmpeg/libavcodec/arm/mpegvideo_arm.c:28: error: size of array ‘x_Y_DC_SCALE’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:29: error: size of array ‘x_C_DC_SCALE’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:30: error: size of array ‘x_AC_PRED’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:31: error: size of array ‘x_BLOCK_LAST_INDEX’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:32: error: size of array ‘x_INTER_SCANTAB_RASTER_END’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:33: error: size of array ‘x_H263_AIC’ is negative

Built correctly using older branch e6ec9212c543c77ab3ddab90ac52021cfbbdac17.

Specific configuration and build info is:

~/Desktop/Development/external/open/build/ffmpeg/iOS/armv7 ~/Desktop/Development/external/open
+ ../../../../repo/ffmpeg/configure --prefix=/Users/andrew/Desktop/Development/external/open/local --enable-static --disable-shared --disable-gpl --disable-version3 --disable-nonfree --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --enable-avcodec --disable-avformat --disable-swscale --disable-postproc --disable-avfilter --disable-pthreads --disable-w32threads --disable-x11grab --disable-network --disable-gray --disable-swscale-alpha --disable-fastdiv --disable-small --enable-aandct --enable-dct --enable-fft --enable-golomb --enable-huffman --enable-lpc --enable-mdct --enable-rdft --disable-vaapi --disable-vdpau --disable-dxva2 --enable-runtime-cpudetect --enable-hardcoded-tables --enable-memalign-hack --disable-everything --enable-cross-compile --cross-prefix=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/../../usr/bin/ --arch=arm --target-os=darwin '--extra-cflags=-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk' '--extra-ldflags=-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk' --cpu=cortex-a8 --libdir=/Users/andrew/Desktop/Development/external/open/local/lib/iOS/armv7
install prefix            /Users/andrew/Desktop/Development/external/open/local
source path               /Users/andrew/Desktop/Development/external/open/repo/ffmpeg
C compiler                /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/../../usr/bin/gcc
ARCH                      arm (cortex-a8)
big-endian                no
runtime cpu detection     yes
ARMv5TE enabled           yes
ARMv6 enabled             yes
ARMv6T2 enabled           yes
ARM VFP enabled           yes
IWMMXT enabled            no
NEON enabled              yes
debug symbols             yes
strip symbols             yes
optimizations             yes
static                    yes
shared                    no
postprocessing support    no
new filter support        no
network support           no
threading support         no
SDL support               no
Sun medialib support      no
AVISynth enabled          no
libcelt enabled           no
frei0r enabled            no
libdc1394 support         no
libdirac enabled          no
libfaac enabled           no
libgsm enabled            no
libmp3lame enabled        no
libnut enabled            no
libopencore-amrnb support no
libopencore-amrwb support no
libopencv support         no
libopenjpeg enabled       no
librtmp enabled           no
libschroedinger enabled   no
libspeex enabled          no
libtheora enabled         no
libva enabled             no
libvo-aacenc support      no
libvo-amrwbenc support    no
libvorbis enabled         no
libvpx enabled            no
libx264 enabled           no
libxavs enabled           no
libxvid enabled           no
zlib enabled              no
bzlib enabled             no

Enabled decoders:

Enabled encoders:

Enabled hwaccels:

Enabled parsers:

Enabled demuxers:

Enabled muxers:

Enabled protocols:

Enabled filters:

Enabled bsfs:

Enabled indevs:

Enabled outdevs:

License: LGPL version 2.1 or later
Creating config.mak and config.h...

WARNING: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/../../usr/bin/pkg-config not found, library detection may fail.
WARNING: Compiler does not indicate floating-point ABI, guessing soft.
+ make install
CC	libavcodec/aandcttab.o
CC	libavcodec/allcodecs.o
AS	libavcodec/arm/dsputil_arm.o
AS	libavcodec/arm/dsputil_armv6.o
CC	libavcodec/arm/dsputil_init_arm.o
CC	libavcodec/arm/dsputil_init_armv5te.o
CC	libavcodec/arm/dsputil_init_armv6.o
CC	libavcodec/arm/dsputil_init_neon.o
CC	libavcodec/arm/dsputil_init_vfp.o
AS	libavcodec/arm/dsputil_neon.o
AS	libavcodec/arm/dsputil_vfp.o
CC	libavcodec/arm/fft_fixed_init_arm.o
AS	libavcodec/arm/fft_fixed_neon.o
CC	libavcodec/arm/fft_init_arm.o
AS	libavcodec/arm/fft_neon.o
CC	libavcodec/arm/fmtconvert_init_arm.o
AS	libavcodec/arm/fmtconvert_neon.o
AS	libavcodec/arm/fmtconvert_vfp.o
AS	libavcodec/arm/int_neon.o
AS	libavcodec/arm/jrevdct_arm.o
AS	libavcodec/arm/mdct_fixed_neon.o
AS	libavcodec/arm/mdct_neon.o
CC	libavcodec/arm/mpegvideo_arm.o
ffmpeg/libavcodec/arm/mpegvideo_arm.c:28: error: size of array ‘x_Y_DC_SCALE’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:29: error: size of array ‘x_C_DC_SCALE’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:30: error: size of array ‘x_AC_PRED’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:31: error: size of array ‘x_BLOCK_LAST_INDEX’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:32: error: size of array ‘x_INTER_SCANTAB_RASTER_END’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:33: error: size of array ‘x_H263_AIC’ is negative
make: *** [libavcodec/arm/mpegvideo_arm.o] Error 1

Change History (13)

comment:1 Changed 5 years ago by adfernandes

There is a patch for Google's chromium that used to apply, but no longer works. There have been changes made such that macro-expansion requires that these be hard-coded integers, it seems.

comment:2 Changed 5 years ago by michael

Maybe you could find out which revission exactly broke it with git bisect.
We dont have a iphone build environment and plain gcc for armv7 has no problems

comment:3 Changed 5 years ago by adfernandes

Okay - it turns out that there are two errors here.

First, it was commit dba9852935f31d81d16bf26ee21d164d5d5f5764 that broke "gas-preprocessor" for Apple. Fortunately, I found that aumuell's fork has been patched to fix this (https://github.com/aumuell/gas-preprocessor) but so far neither yuvi's or mansr's forks of gas-preprocessor have pulled in the required patches.

Now, however, we get back to the original error:

CC libavcodec/arm/mpegvideo_arm.o
ffmpeg/libavcodec/arm/mpegvideo_arm.c:28: error: size of array ‘x_Y_DC_SCALE’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:29: error: size of array ‘x_C_DC_SCALE’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:30: error: size of array ‘x_AC_PRED’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:31: error: size of array ‘x_BLOCK_LAST_INDEX’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:32: error: size of array ‘x_INTER_SCANTAB_RASTER_END’ is negative
ffmpeg/libavcodec/arm/mpegvideo_arm.c:33: error: size of array ‘x_H263_AIC’ is negative

Using git-bisect to track that down, now.

Version 0, edited 5 years ago by adfernandes (next)

comment:4 Changed 5 years ago by adfernandes

Okay - I've tracked it down. The "size of array '...' is negative" was originally caused by commit 8c51620f219db0f408d2833c3e5d56cedaf0d95a.

It isn't obvious to me why this breaks the mpegvideo_arm.c offsets, though.

comment:5 Changed 5 years ago by adfernandes

This is also being tracked as https://roundup.libav.org/issue2689

comment:6 Changed 5 years ago by cehoyos

Could you confirm that your problem is still reproducible with latest git head?

comment:7 Changed 5 years ago by adfernandes

Yes, confirmed that "size of array ... is negative" in current head 9abbe8cc136e7fbc69004df3f1de9d54c40d969d of git://git.libav.org/libav.git.

comment:8 Changed 5 years ago by cehoyos

Could you confirm that your problem is still reproducible with latest FFmpeg git head?

comment:9 Changed 5 years ago by adfernandes

Makes it worse.

Building with git://git.videolan.org/ffmpeg.git current head f925b243818fa320b3c19e4e0554a07b49e8a2be.

Also using the "updated" gas-preporcessor patch from comment 3. Clearly there is some major breakage/divergence between FFmpeg and libav. Looks to me like that might be the problem.

Build log:

++ pwd
+ PREFIX=/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/local
+ for dir in build local
+ rm -rf build
+ mkdir build
+ for dir in build local
+ rm -rf local
+ mkdir local
+ FFMPEG_CONFIGURE_COMMON='            --prefix=/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/local              --enable-static                 --disable-shared                --disable-gpl                   --disable-version3              --disable-nonfree               --disable-doc                   --disable-ffmpeg                --disable-ffplay                --disable-ffprobe               --disable-ffserver              --disable-avdevice              --enable-avcodec                --disable-avformat              --disable-swscale               --disable-postproc              --disable-avfilter              --disable-pthreads              --disable-w32threads            --disable-x11grab               --disable-network               --disable-gray                  --disable-swscale-alpha         --enable-fastdiv                --disable-small                 --enable-aandct                 --enable-dct                    --enable-fft                    --enable-golomb                 --enable-huffman                --enable-lpc                    --enable-mdct                   --enable-rdft                   --disable-vaapi                 --disable-vdpau                 --disable-dxva2                 --enable-runtime-cpudetect      --enable-hardcoded-tables       --enable-memalign-hack          --disable-everything'
+ ISYSROOT=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk
++ pwd
+ export PATH=/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Maple.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin:/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/gas-preprocessor
+ PATH=/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Maple.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin:/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/gas-preprocessor
+ ARCH_FLAG='-arch armv7'
+ mkdir -p local/lib/iOS/armv7
+ mkdir -p build/ffmpeg/iOS/armv7
+ pushd build/ffmpeg/iOS/armv7
~/Desktop/Development/external/open/TMP_ffmpeg/build/ffmpeg/iOS/armv7 ~/Desktop/Development/external/open/TMP_ffmpeg
+ ../../../../repo/ffmpeg/configure --prefix=/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/local --enable-static --disable-shared --disable-gpl --disable-version3 --disable-nonfree --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --enable-avcodec --disable-avformat --disable-swscale --disable-postproc --disable-avfilter --disable-pthreads --disable-w32threads --disable-x11grab --disable-network --disable-gray --disable-swscale-alpha --enable-fastdiv --disable-small --enable-aandct --enable-dct --enable-fft --enable-golomb --enable-huffman --enable-lpc --enable-mdct --enable-rdft --disable-vaapi --disable-vdpau --disable-dxva2 --enable-runtime-cpudetect --enable-hardcoded-tables --enable-memalign-hack --disable-everything --enable-cross-compile --cross-prefix=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/../../usr/bin/ --arch=arm --target-os=darwin '--extra-cflags=-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk' '--extra-ldflags=-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk' --cpu=cortex-a8 --libdir=/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/local/lib/iOS/armv7
install prefix            /Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/local
source path               /Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg
C compiler                /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/../../usr/bin/gcc
ARCH                      arm (cortex-a8)
big-endian                no
runtime cpu detection     yes
ARMv5TE enabled           yes
ARMv6 enabled             yes
ARMv6T2 enabled           yes
ARM VFP enabled           yes
IWMMXT enabled            no
NEON enabled              yes
debug symbols             yes
strip symbols             yes
optimize for size         no
optimizations             yes
static                    yes
shared                    no
postprocessing support    no
new filter support        no
network support           no
threading support         no
SDL support               no
Sun medialib support      no
AVISynth enabled          no
libcelt enabled           no
frei0r enabled            no
libdc1394 support         no
libdirac enabled          no
libfaac enabled           no
libgsm enabled            no
libmp3lame enabled        no
libnut enabled            no
libopencore-amrnb support no
libopencore-amrwb support no
libopencv support         no
libopenjpeg enabled       no
librtmp enabled           no
libschroedinger enabled   no
libspeex enabled          no
libtheora enabled         no
libva enabled             no
libvo-aacenc support      no
libvo-amrwbenc support    no
libvorbis enabled         no
libvpx enabled            no
libx264 enabled           no
libxavs enabled           no
libxvid enabled           no
zlib enabled              no
bzlib enabled             no

Enabled decoders:

Enabled encoders:

Enabled hwaccels:

Enabled parsers:

Enabled demuxers:

Enabled muxers:

Enabled protocols:

Enabled filters:

Enabled bsfs:

Enabled indevs:

Enabled outdevs:

License: LGPL version 2.1 or later
Creating config.mak and config.h...

WARNING: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/../../usr/bin/pkg-config not found, library detection may fail.
WARNING: Compiler does not indicate floating-point ABI, guessing soft.
+ make install
CC	libavcodec/aandcttab.o
CC	libavcodec/allcodecs.o
AS	libavcodec/arm/dsputil_arm.o
AS	libavcodec/arm/dsputil_armv6.o
CC	libavcodec/arm/dsputil_init_arm.o
CC	libavcodec/arm/dsputil_init_armv5te.o
CC	libavcodec/arm/dsputil_init_armv6.o
CC	libavcodec/arm/dsputil_init_neon.o
CC	libavcodec/arm/dsputil_init_vfp.o
AS	libavcodec/arm/dsputil_neon.o
AS	libavcodec/arm/dsputil_vfp.o
CC	libavcodec/arm/fft_fixed_init_arm.o
AS	libavcodec/arm/fft_fixed_neon.o
CC	libavcodec/arm/fft_init_arm.o
AS	libavcodec/arm/fft_neon.o
CC	libavcodec/arm/fmtconvert_init_arm.o
AS	libavcodec/arm/fmtconvert_neon.o
AS	libavcodec/arm/fmtconvert_vfp.o
AS	libavcodec/arm/int_neon.o
AS	libavcodec/arm/jrevdct_arm.o
AS	libavcodec/arm/mdct_fixed_neon.o
AS	libavcodec/arm/mdct_neon.o
CC	libavcodec/arm/mpegvideo_arm.o
CC	libavcodec/arm/mpegvideo_armv5te.o
AS	libavcodec/arm/mpegvideo_armv5te_s.o
AS	libavcodec/arm/mpegvideo_neon.o
AS	libavcodec/arm/rdft_neon.o
AS	libavcodec/arm/simple_idct_arm.o
AS	libavcodec/arm/simple_idct_armv5te.o
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:471:bad expression -- `movs a2,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:478:bad expression -- `movs ip,ip,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:486:bad expression -- `movs a3,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:493:bad expression -- `movs a4,a4,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:511:bad expression -- `movs a2,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:518:bad expression -- `movs ip,ip,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:529:bad expression -- `movs a2,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:536:bad expression -- `movs a4,a4,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:549:bad expression -- `movs a2,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:556:bad expression -- `movs ip,ip,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:567:bad expression -- `movs a2,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:574:bad expression -- `movs a4,a4,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:587:bad expression -- `movs a2,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:594:bad expression -- `movs ip,ip,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:603:bad expression -- `movs a2,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:610:bad expression -- `movs a4,a4,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:748:shift expression expected -- `adds a2,v1,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:756:shift expression expected -- `adds v1,v1,ip,lsr,#8'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:771:shift expression expected -- `adds a3,a2,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:778:shift expression expected -- `adds a4,a4,ip,lsr,#8'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:796:shift expression expected -- `adds a2,v3,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:804:shift expression expected -- `adds v3,v3,ip,lsr,#8'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:817:shift expression expected -- `adds a3,a2,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:824:shift expression expected -- `adds a4,a4,ip,lsr,#8'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:840:shift expression expected -- `adds a2,v3,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:848:shift expression expected -- `adds v3,v3,ip,lsr,#8'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:861:shift expression expected -- `adds a3,a2,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:868:shift expression expected -- `adds a4,a4,ip,lsr,#8'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:884:shift expression expected -- `adds a2,v3,a2,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:892:shift expression expected -- `adds v3,v3,ip,lsr,#8'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:905:shift expression expected -- `adds a3,a2,a3,asr,#20'
/Users/andrew/Desktop/Development/external/open/TMP_ffmpeg/repo/ffmpeg/libavcodec/arm/simple_idct_armv5te.S:912:shift expression expected -- `adds a4,a4,ip,lsr,#8'
make: *** [libavcodec/arm/simple_idct_armv5te.o] Error 1

comment:10 Changed 5 years ago by cehoyos

Do you agree that the original problem you reported was fixed and that you found another problem (that again, unfortunately, can only be reproduced with the iPhone SDK)?

If yes, please consider opening a new ticket, it would be great (and makes a fix likely) if you could run git bisect again (together with make libavcodec/arm/simple_idct_armv5te.o) to find the revision that broke the compilation of simple_idct_armv5te.S

comment:11 Changed 5 years ago by adfernandes

Uhhhmm... I have no idea if the originally-reported problem is fixed or not. Whether you mark it as fixed or not in the tracker is your call.

Personally, this should be a meta-bug saying "ffmpeg will not compile on iPhone".

I'm a little confused here as to whether this is an ffmpeg or libav problem. I know that there is some sort of politics going on here, but I have no idea what they are. I emailed Måns Rullgård since he committed all the ARM stuff, and he told me to submit a bug to libav since that was where "all the development was happening, anyway".

So I submitted that bug, and it was subsequently frozen as they changed bug-trackers.

I love ffmpeg and think that it and its forks are frantastic, and I'm very grateful for the work that has gone into them. However, if the iphone is not a supported target, it is simply not supported. I will likely just rip out the parts of arm assembly that I need (appropriately licensed, of course) and leave it at that. (All I really need is the fft and rdft stuff, anyway).

I wish I could do more, but I simply do not have the time.

comment:12 Changed 5 years ago by cehoyos

  • Status changed from new to open

You reported a problem (here, on the FFmpeg bug tracker) that the compilation of mpegvideo_arm.c fails.
From a later report I conclude that this problem was fixed (the line "CC libavcodec/arm/mpegvideo_arm.o" is not followed by problems, but you can type "make libavcodec/arm/mpegvideo_arm.o" to make sure).

It seems that now, the compilation of libavcodec/arm/simple_idct_armv5te.S fails.

I can assure you we want to support the iPhone SDK, but that probably will also need a bit of your time.

Could you test with latest FFmpeg git HEAD, confirm that compilation of mpegvideo_arm.c succeeds and compilation of simple_idct_armv5te.S fails? (You could also try "touch libavcodec/arm/simple_idct_armv5te.o && make" to find out if compilation fails for any other files.)

comment:13 Changed 5 years ago by cehoyos

  • Resolution set to needs_more_info
  • Status changed from open to closed

Please reopen if more information is available.

Note: See TracTickets for help on using tickets.