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