Open GoogleCodeExporter opened 9 years ago
Tom - you've been doing some ios things. Can you repro?
Original comment by johannko...@google.com
on 17 Jul 2014 at 6:49
My test app is decode only (for now, anyway). This is encoding, isn't it?
Anyway, @tomtheengineer: I'm unable to run this project because I don't have an
armv7 iOS device (I have only armv7s and arm64). Would you mind updating your
test case to use VPX.framework?
To create VPX.framework:
1. Clone a recent libvpx
2. Make a directory somewhere
3. /path/to/libvpx/build/make/iosbuild.sh
-- This will produce VPX.framework, which includes all libvpx targets necessary
for currently existing iDevices and the simulators
The only departure from typical libvpx usage is the include paths. Instead of
including "vpx/vpxinclude.h", you include "VPX/vpx/vpxinclude.h".
Original comment by tomfine...@google.com
on 17 Jul 2014 at 9:07
The armv7 instruction set should be supported on the 3GS through 5s:
http://en.wikipedia.org/wiki/List_of_iOS_devices
The entirety of the code is in vp8_arm_alignment_bug in AppDelegate.m and it
only calls vp8 decode functions.
Original comment by tomtheen...@gmail.com
on 17 Jul 2014 at 9:31
Perhaps this is a situation that's occurring because I'm working with
non-jailbroken iDevices and running directly from xcode:
At any rate, I'm not able to build your test project (and I also have the
selfish ulterior motive of wanting someone else to try VPX.framework). Error
output:
iphone 5s/arm64:
ld: warning: ignoring file /Users/tomfinegan/Downloads/vp8 arm alignment
bug/libvpx/lib/libvpx.a, file was built for archive which is not the
architecture being linked (arm64): /Users/tomfinegan/Downloads/vp8 arm
alignment bug/libvpx/lib/libvpx.a
Undefined symbols for architecture arm64:
"_vpx_codec_vp8_dx", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_dec_init_ver", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_decode", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_get_frame", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_destroy", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
iphone 5c/armv7s:
ld: warning: ignoring file /Users/tomfinegan/Downloads/vp8 arm alignment
bug/libvpx/lib/libvpx.a, file was built for archive which is not the
architecture being linked (armv7s): /Users/tomfinegan/Downloads/vp8 arm
alignment bug/libvpx/lib/libvpx.a
Undefined symbols for architecture armv7s:
"_vpx_codec_vp8_dx", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_dec_init_ver", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_decode", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_get_frame", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
"_vpx_codec_destroy", referenced from:
-[AppDelegate vp8_arm_alignment_bug] in AppDelegate.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Not bothering with ipad air output since it's the same as the iphone 5s.
Original comment by tomfine...@google.com
on 17 Jul 2014 at 9:40
I can reproduce the problem after updating your project to use the framework.
Updated project and framework attached in case anyone wants them.
Original comment by tomfine...@google.com
on 17 Jul 2014 at 9:45
Attachments:
I'm also using non-jailbroken devices. ;)
It looks like my project was configured to build the following architectures:
"arm64 armv7 armv7s", but the static libvpx I included was only armv7. You can
change the target architectures under "Build Settings" in the project.
Original comment by tomtheen...@gmail.com
on 17 Jul 2014 at 9:48
Ok, I lied: I cannot reproduce this.
I've modified your project to call vp8_arm_alignment_bug() 10000 times in a
loop, and I cannot reproduce an error.
Regarding this:
> I can reproduce the problem after updating your project to use the framework.
I was thrown off by test target output in the xcode console. Sorry.
Original comment by tomfine...@google.com
on 17 Jul 2014 at 9:58
Can you try it with the static libvpx that I included in the original project?
(You can modify the target architectures in the project to only build for armv7
as I described in #5)
Original comment by tomtheen...@gmail.com
on 17 Jul 2014 at 10:04
In addition to removing armv7s and arm64 ONLY_ACTIVE_ARCH must not be set to
YES.
Now I can reproduce: with your lib and using the armv7 lib that would have been
within the framework.
Thread 1, Queue : com.apple.main-thread
#0 0x0003dd46 in vp8_sixtap_predict4x4_neon ()
#1 0x0003b358 in build_inter_predictors_b ()
#2 0x0003ae32 in vp8_build_inter_predictors_mb ()
#3 0x000447bc in vp8_decode_frame ()
#4 0x0004590a in vp8dx_receive_compressed_data ()
#5 0x0003fbb2 in vp8_decode ()
#6 0x00039a9e in vpx_codec_decode ()
#7 0x00038c74 in -[AppDelegate vp8_arm_alignment_bug] at
/Users/tomfinegan/Downloads/vp8 arm alignment bug/vp8 arm alignment
bug/AppDelegate.mm:372
#8 0x00038d9e in -[AppDelegate application:didFinishLaunchingWithOptions:] at
/Users/tomfinegan/Downloads/vp8 arm alignment bug/vp8 arm alignment
bug/AppDelegate.mm:383
#9 0x321a3ca0 in -[UIApplication
_handleDelegateCallbacksWithOptions:isSuspended:restoreState:] ()
#10 0x321a35f2 in -[UIApplication
_callInitializationDelegatesForURL:payload:suspended:] ()
#11 0x3219dca8 in -[UIApplication
_runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] ()
#12 0x32139c76 in -[UIApplication handleEvent:withNewEvent:] ()
#13 0x32138dd8 in -[UIApplication sendEvent:] ()
#14 0x3219d3e4 in _UIApplicationHandleEvent ()
#15 0x347a6b54 in _PurpleEventCallback ()
#16 0x347a673e in PurpleEventCallback ()
#17 0x2f8cd806 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#18 0x2f8cd7a2 in __CFRunLoopDoSource1 ()
#19 0x2f8cbf6e in __CFRunLoopRun ()
#20 0x2f836728 in CFRunLoopRunSpecific ()
#21 0x2f83650a in CFRunLoopRunInMode ()
#22 0x3219c60a in -[UIApplication _run] ()
#23 0x32197870 in UIApplicationMain ()
#24 0x00039980 in main at /Users/tomfinegan/Downloads/vp8 arm alignment bug/vp8
arm alignment bug/main.m:16
Original comment by tomfine...@google.com
on 17 Jul 2014 at 10:28
Thanks for setting up the repro. I'll look into this next week.
Original comment by johannko...@google.com
on 17 Jul 2014 at 10:48
Original comment by johannko...@google.com
on 17 Jul 2014 at 10:48
you probably want to disable this function for the time being while you
investigate. it'd be great if we could get a repro case on non-iOS hardware too
Original comment by jz...@google.com
on 18 Jul 2014 at 1:31
Original comment by johannko...@google.com
on 6 Nov 2014 at 12:58
Original comment by fgalli...@google.com
on 30 Jan 2015 at 8:40
Original issue reported on code.google.com by
tomtheen...@gmail.com
on 23 Jun 2014 at 8:57Attachments: