[x264-devel] [PATCH 22/24] RFC: arm: Implement x264_mbtree_propagate_{cost, list}_neon

vlad.ivanov at lab-systems.ru vlad.ivanov at lab-systems.ru
Wed Oct 14 14:45:31 CEST 2015


Hello,

the patch mentioned in the subject can cause a bus error exception under certain conditions when running x264 on ARM. x264_mbtree_propagate_list_internal_neon causes an exception at this line: 

>ld1         {v2.8h},  [x2], #16     // lowres_cost

This is how this line looks in gdb:

><x264_mbtree_propagate_list_internal_neon+52>   vld1.16            {d16-d19}, [r0 :128]!
># NEON operands should be aligned to 128 bits (0x10)
>print /x $r0
>0xb3394958

“Certain conditions” means it only fails with a specific input video: foreman_cif.yuv. I assume the issue is somehow related to the resolution of the video — there is no problem with QCIF and VGA videos.

Additional information:

Alignment exception handling mode:

user at host:/opt/x264$ cat /proc/cpu/alignment
User:           13
System:         4 (icmp_echo+0x2c/0x68)
Skipped:        13
Half:           0
Word:           0
DWord:          0
Multi:          4
User faults:    3 (fixup+warn)

(as far as I know, NEON-related misaligned accesses cannot be fixed by kernel)

Platform:
XC7Z020-CLG484-1 (zedboard)

Kernel:
Linux analog 3.17.0-gd302e45 #1 SMP PREEMPT Fri Feb 6 14:27:54 EET 2015 armv7l armv7l armv7l GNU/Linux

user at host:/opt/x264$ lsb_release -a
No LSB modules are available.
Distributor ID: Linaro
Description:    Linaro 14.04
Release:        14.04
Codename:       trusty

Git revision:
75992107adcc8317ba2888e3957a7d56f16b5cd4

Configure options:
./configure --enable-static --disable-interlaced --disable-opencl
platform:      ARM
byte order:    little-endian
system:        LINUX
cli:           yes
libx264:       internal
shared:        no
static:        yes
asm:           yes
interlaced:    no
avs:           avxsynth
lavf:          no
ffms:          no
mp4:           no
gpl:           yes
thread:        posix
opencl:        no
filters:       crop select_every
debug:         no
gprof:         no
strip:         no
PIC:           no
bit depth:     8
chroma format: all

Let me know if you need any additional information.

Regards,

Vlad Ivanov


More information about the x264-devel mailing list