<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
M&aring;ns Rullg&aring;rd wrote:
<blockquote cite="mid:yw1xocwf7prc.fsf@thrashbarg.mansr.com" type="cite">
  <pre wrap="">Zubair Ali Khan <a class="moz-txt-link-rfc2396E" href="mailto:zkhan@d2tech.com">&lt;zkhan@d2tech.com&gt;</a> writes:

  </pre>
  <blockquote type="cite">
    <pre wrap="">I recently compiled x264 to be run on ARM Cortex A8 processor.
However, when I run the encode, I get a bus error, that is program
receives SIGBUS.

[libx264 @ 0x8abfc0]using cpu capabilities: none!
[libx264 @ 0x8abfc0]profile Baseline, level 1.2
Bus Error
    </pre>
  </blockquote>
  <pre wrap=""><!---->
You seem to be using x264 through FFmpeg.  Does it work standalone?
Does the FFmpeg build work for other codecs?

  </pre>
</blockquote>
Yes, running it from ffmpeg, I am using H.264 decoder from it, so I
decided to use its encoder interface as well. Please take a look at the
gdb output and let me know if I must run X264 outside ffmpeg.<br>
<blockquote cite="mid:yw1xocwf7prc.fsf@thrashbarg.mansr.com" type="cite">
  <pre wrap=""></pre>
  <blockquote type="cite">
    <pre wrap="">Further debugging shows that bus error occurs in encoder/set.c at
bs_write_ue( s, sps-&gt;i_log2_max_poc_lsb - 4 );

Some alignment issue for data location sps-&gt;i_log2_max_poc_lsb - 4 ?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
The Cortex-A8 processor supports unaligned accesses for most
instructions.  I don't see anything in the code that looks likely to
cause problems.  Can you provide some gdb output from the crash?
Specifically, run these commands:

bt
info registers
disas $pc-64 $pc+64

  </pre>
</blockquote>
<br>
Here it is using gdbserver:<br>
<a class="moz-txt-link-abbreviated" href="mailto:zkhan@halibut:~/Desktop/gdb-6.8/gdb$">zkhan@halibut:~/Desktop/gdb-6.8/gdb$</a> ./gdb<br>
GNU gdb 6.8<br>
Copyright (C) 2008 Free Software Foundation, Inc.<br>
License GPLv3+: GNU GPL version 3 or later
<a class="moz-txt-link-rfc2396E" href="http://gnu.org/licenses/gpl.html">&lt;http://gnu.org/licenses/gpl.html&gt;</a><br>
This is free software: you are free to change and redistribute it.<br>
There is NO WARRANTY, to the extent permitted by law.&nbsp; Type "show
copying"<br>
and "show warranty" for details.<br>
This GDB was configured as "--host=i686-pc-linux-gnu
--target=arm-eabi-linux-gnu".<br>
Setting up the environment for debugging gdb.<br>
<br>
No symbol table is loaded.&nbsp; Use the "file" command.<br>
(gdb) file /home/zkhan/workspace/vid/exe<br>
Reading symbols from /home/zkhan/workspace/vid/exe...done.<br>
(gdb) target remote 172.16.100.21:10000<br>
Remote debugging using 172.16.100.21:10000<br>
0x00008120 in _start ()<br>
(gdb) b main<br>
During symbol reading, DW_AT_name missing from DW_TAG_base_type.<br>
During symbol reading, unsupported tag: 'DW_TAG_const_type'.<br>
Breakpoint 1 at 0x8b14: file videncdec.c, line 35.<br>
(gdb) c<br>
Continuing.<br>
<br>
Breakpoint 1, main () at videncdec.c:35<br>
35&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; avcodec_init();<br>
(gdb) c<br>
Continuing.<br>
<br>
Program received signal SIGBUS, Bus error.<br>
0x003f6270 in x264_sps_write (s=<br>
During symbol reading, incomplete CFI data; unspecified registers
(e.g., r0) at 0x3f575c.<br>
0x8abb88, sps=0x8abbc8) at ./common/bs.h:123<br>
123&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *(uint32_t*)s-&gt;p = endian_fix( s-&gt;cur_bits );<br>
(gdb) info registers<br>
r0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0&nbsp;&nbsp;&nbsp; 0<br>
r1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0xab0cc042&nbsp;&nbsp;&nbsp; 2869739586<br>
r2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0xc000&nbsp;&nbsp;&nbsp; 49152<br>
r3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0xc0000&nbsp;&nbsp;&nbsp; 786432<br>
r4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x8abb88&nbsp;&nbsp;&nbsp; 9091976<br>
r5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x3&nbsp;&nbsp;&nbsp; 3<br>
r6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x8abbc8&nbsp;&nbsp;&nbsp; 9092040<br>
r7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x3&nbsp;&nbsp;&nbsp; 3<br>
r8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x5&nbsp;&nbsp;&nbsp; 5<br>
r9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x4026b008&nbsp;&nbsp;&nbsp; 1076277256<br>
r10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0&nbsp;&nbsp;&nbsp; 0<br>
r11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0xbea439dc&nbsp;&nbsp;&nbsp; 3198433756<br>
r12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x401251ff&nbsp;&nbsp;&nbsp; 1074942463<br>
sp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0xbea43870&nbsp;&nbsp;&nbsp; 0xbea43870<br>
lr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x3&nbsp;&nbsp;&nbsp; 3<br>
pc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x3f6270&nbsp;&nbsp;&nbsp; 0x3f6270 &lt;x264_sps_write+2840&gt;<br>
fps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0&nbsp;&nbsp;&nbsp; 0<br>
cpsr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x60000010&nbsp;&nbsp;&nbsp; 1610612752<br>
(gdb) bt<br>
#0&nbsp; 0x003f6270 in x264_sps_write (s=0x8abb88, sps=0x8abbc8)<br>
&nbsp;&nbsp;&nbsp; at ./common/bs.h:123<br>
During symbol reading, DW_AT_type missing from DW_TAG_subrange_type.<br>
#1&nbsp; 0x003a8504 in x264_encoder_encode (h=0x8ab6c0, pp_nal=0x8ab6c0, <br>
&nbsp;&nbsp;&nbsp; pi_nal=0x10, pic_in=&lt;value optimized out&gt;, pic_out=0xbea439f8)<br>
&nbsp;&nbsp;&nbsp; at encoder/encoder.c:1579<br>
#2&nbsp; 0x00283574 in X264_frame (ctx=&lt;value optimized out&gt;,
buf=0x4026b008 "", <br>
&nbsp;&nbsp;&nbsp; bufsize=202752, data=&lt;value optimized out&gt;) at
libavcodec/libx264.c:91<br>
#3&nbsp; 0x0000d8f0 in avcodec_encode_video (avctx=0x8aafc0, <br>
&nbsp;&nbsp;&nbsp; buf=0xab0cc042 &lt;Address 0xab0cc042 out of bounds&gt;,
buf_size=202752, <br>
&nbsp;&nbsp;&nbsp; pict=0x8dfba0) at libavcodec/utils.c:495<br>
#4&nbsp; 0x0000955c in H264_encode (obj_ptr=0xbea43a20, out_ptr=0x4026b008, <br>
&nbsp;&nbsp;&nbsp; in_ptr=0x40245008, len=202752) at h264.c:129<br>
#5&nbsp; 0x00008c54 in main () at videncdec.c:82<br>
(gdb) disas $pc-64 $pc+64<br>
Dump of assembler code from 0x3f6230 to 0x3f62b0:<br>
0x003f6230 &lt;x264_sps_write+2776&gt;:&nbsp;&nbsp;&nbsp; rsb&nbsp;&nbsp;&nbsp; r3, r0, r1<br>
0x003f6234 &lt;x264_sps_write+2780&gt;:&nbsp;&nbsp;&nbsp; str&nbsp;&nbsp;&nbsp; r3, [r4, #16]<br>
0x003f6238 &lt;x264_sps_write+2784&gt;:&nbsp;&nbsp;&nbsp; b&nbsp;&nbsp;&nbsp; 0x3f6668
&lt;x264_sps_write+3856&gt;<br>
0x003f623c &lt;x264_sps_write+2788&gt;:&nbsp;&nbsp;&nbsp; rsb&nbsp;&nbsp;&nbsp; r0, r1, r0<br>
0x003f6240 &lt;x264_sps_write+2792&gt;:&nbsp;&nbsp;&nbsp; ldr&nbsp;&nbsp;&nbsp; r2, [r4, #12]<br>
0x003f6244 &lt;x264_sps_write+2796&gt;:&nbsp;&nbsp;&nbsp; lsl&nbsp;&nbsp;&nbsp; r2, r2, r1<br>
0x003f6248 &lt;x264_sps_write+2800&gt;:&nbsp;&nbsp;&nbsp; orr&nbsp;&nbsp;&nbsp; r2, r2, r7, lsr r0<br>
0x003f624c &lt;x264_sps_write+2804&gt;:&nbsp;&nbsp;&nbsp; ldr&nbsp;&nbsp;&nbsp; r12, [r4, #4]<br>
0x003f6250 &lt;x264_sps_write+2808&gt;:&nbsp;&nbsp;&nbsp; lsl&nbsp;&nbsp;&nbsp; r1, r2, #24<br>
0x003f6254 &lt;x264_sps_write+2812&gt;:&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp; r1, r1, r2, lsr #24<br>
0x003f6258 &lt;x264_sps_write+2816&gt;:&nbsp;&nbsp;&nbsp; lsl&nbsp;&nbsp;&nbsp; r3, r2, #8<br>
0x003f625c &lt;x264_sps_write+2820&gt;:&nbsp;&nbsp;&nbsp; and&nbsp;&nbsp;&nbsp; r3, r3, #16711680&nbsp;&nbsp;&nbsp;
; 0xff0000<br>
0x003f6260 &lt;x264_sps_write+2824&gt;:&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp; r1, r1, r3<br>
0x003f6264 &lt;x264_sps_write+2828&gt;:&nbsp;&nbsp;&nbsp; lsr&nbsp;&nbsp;&nbsp; r2, r2, #8<br>
0x003f6268 &lt;x264_sps_write+2832&gt;:&nbsp;&nbsp;&nbsp; and&nbsp;&nbsp;&nbsp; r2, r2, #65280&nbsp;&nbsp;&nbsp; ;
0xff00<br>
0x003f626c &lt;x264_sps_write+2836&gt;:&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp; r1, r1, r2<br>
0x003f6270 &lt;x264_sps_write+2840&gt;:&nbsp;&nbsp;&nbsp; str&nbsp;&nbsp;&nbsp; r1, [r12]<br>
0x003f6274 &lt;x264_sps_write+2844&gt;:&nbsp;&nbsp;&nbsp; ldr&nbsp;&nbsp;&nbsp; r3, [r4, #4]<br>
0x003f6278 &lt;x264_sps_write+2848&gt;:&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp; r3, r3, #4&nbsp;&nbsp;&nbsp; ; 0x4<br>
0x003f627c &lt;x264_sps_write+2852&gt;:&nbsp;&nbsp;&nbsp; str&nbsp;&nbsp;&nbsp; r3, [r4, #4]<br>
0x003f6280 &lt;x264_sps_write+2856&gt;:&nbsp;&nbsp;&nbsp; str&nbsp;&nbsp;&nbsp; r5, [r4, #12]<br>
<br>
Thanks<br>
Zubair Khan<br>
</body>
</html>