[Android] Unaligned memory access on HTC OneX

XilasZ xilasz at gmail.com
Fri Oct 5 10:02:50 CEST 2012


As some of you may know, Tegra3 on the HTC OneX is a quad core, but there
is a big issue (at least on my device) :

Core0 can do unaligned memory access, but the others can't, unaligned
access on core1/core2/core3 will trigger a SIGBUS signal which will crash
the app.
libav use unaligned memory access when decoding on arm, i got random SIGBUS
crashes when playing h264 videos.
We checked this with mru, it's not a bug in libav or vlc, so it's either
the cpu itself or the kernel (version 2.6.39.4 on my device).

To workaround this, i use the attached patch, which disable unaligned
memory access. I never had a single SIGBUS crash since.

I didn't notice any performance change, I guess it might be slower.
I think we can do a little bench (edward ? :) ), and push it if it's
acceptable.

What do you think ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/android/attachments/20121005/01641521/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-contrib-ffmpeg-add-disable-fast-unaligned-option.patch
Type: application/octet-stream
Size: 2020 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/android/attachments/20121005/01641521/attachment.obj>


More information about the Android mailing list