i am currently doing a video telephony application via ffmpeg and encountered a SIGSEGV whenever i increase my resolution<div>from QCIF to CIF or VGA. here is a backtrace:</div><div><br></div><div><div>Program received signal SIGSEGV, Segmentation fault.</div>
<div>[Switching to Thread 0xb0d77b70 (LWP 6549)]</div><div>0x01080b52 in x264_me_search_ref () from /usr/local/lib/libx264.so.83</div><div>(gdb) bt</div><div>#0  0x01080b52 in x264_me_search_ref () from /usr/local/lib/libx264.so.83</div>
<div>#1  0x01077f60 in ?? () from /usr/local/lib/libx264.so.83</div><div>#2  0x0107b049 in x264_macroblock_analyse () from /usr/local/lib/libx264.so.83</div><div>#3  0x010a34f2 in ?? () from /usr/local/lib/libx264.so.83</div>
<div>#4  0x010bf94b in ?? () from /usr/local/lib/libx264.so.83</div><div>#5  0x0109d5fb in ?? () from /usr/local/lib/libx264.so.83</div><div>#6  0x010a1441 in x264_encoder_encode () from /usr/local/lib/libx264.so.83</div>
<div>#7  0x00539b47 in ?? () from /usr/local/lib/libavcodec.so.52</div><div>#8  0x0806de81 in H264Encoder::EncodeFrame (this=0x8614498, </div><div>    in=0xb0495008 &quot;SSSTTTVVVWXXYYZZ[\\\\\\]]^^^__aaccdeeeefffggggfeefghijjjjkklll&quot;, &#39;m&#39; &lt;repeats 19 times&gt;, &quot;llkkkkllmmmmmmmm&quot;, &#39;l&#39; &lt;repeats 20 times&gt;, &quot;kkjjjjjjkklll&quot;, &#39;m&#39; &lt;repeats 13 times&gt;, &quot;nnoopooooooooonnmlkkkkkkkkkjjjjjjjj&quot;, &#39;k&#39; &lt;repeats 14 times&gt;, &quot;jjjjjjjkkkl&quot;..., len=460800) </div>
</div><div><div><br></div><div>*H264Encoder::EncodeFrame is a function in my app</div><div><br></div><div>here is my encoding parameters:</div><div><div>        ctx-&gt;rc_max_rate        = (int) (((float)bitrate)*0.9/1000.0);</div>
<div>        ctx-&gt;rc_min_rate        = ctx-&gt;rc_max_rate;</div><div>        ctx-&gt;rc_buffer_size     = ctx-&gt;rc_max_rate;</div></div><div><div>        ctx-&gt;intra_refresh      = 1;    //params.b_intra_refresh</div>
<div>        ctx-&gt;sliced_threads     = 1;    //params.b_sliced_threads</div><div>        ctx-&gt;me_range           = 16;    //analyse.i_me_range</div><div>        ctx-&gt;qmin               = 10;   //rc.i_qp_min</div>
<div>        ctx-&gt;qcompress          = 0.6;    //rc.f_qcompress</div><div>        ctx-&gt;max_qdiff          = 12;    //rc.i_qp_step</div><div>        ctx-&gt;b_quant_factor     = 1.3; //minimum 1.26 params.rc.f_pb_factor</div>
<div>        ctx-&gt;i_quant_factor     = 1.4; //minimum 0.78 1/params.rc.f_ip_factor</div><div>        ctx-&gt;max_b_frames       = 0;    //params.i_bframe </div><div>        ctx-&gt;keyint_min         = 10;   //min-keyint</div>
<div>        ctx-&gt;coder_type         = 0;    //params.b_cabac</div><div>        ctx-&gt;gop_size           = 60;   //keyint or keyint_max</div><div>        ctx-&gt;b_annexb           = 0;    //disable start code prefix</div>
<div>        ctx-&gt;level              = 30;</div><div>        ctx-&gt;rtp_payload_size   = MTU-100; //params.i_slice_max_size</div><div>        ctx-&gt;weighted_p_pred    = 0;    //params.analyse.i_weighted_pred </div><div>
        ctx-&gt;directpred         = 1;    //params.analyse.i_direct_mv_pred</div><div>        ctx-&gt;flags |= CODEC_FLAG_PASS1;                 //PASS1 </div><div>        ctx-&gt;flags &amp;= ~CODEC_FLAG_4MV;                  //advanced prediction</div>
</div><div><br></div><div>whenever i disable b_intra_refresh, everything works perfectly. however i wanted to enable </div><div>intra_refresh as i see a huge performance boost with it on QCIF resolution. especially on a lossy network.</div>
<div><br clear="all">Kelvin Chua<br>
</div></div>