[x264-devel] possible bug with b_intra_refresh

Kelvin Chua kelchy at gmail.com
Mon Apr 12 06:30:59 CEST 2010


hi jason,

no, i'm not changing resolution mid flight.
i'm doing several tests, with or without intra-refresh

still have not tried doing it directly with x264 as i am trying to
achieve a multi-codec support app

Kelvin Chua


On Mon, Apr 12, 2010 at 11:34 AM, Jason Garrett-Glaser <
darkshikari at gmail.com> wrote:

> On Sun, Apr 11, 2010 at 7:59 PM, Kelvin Chua <kelchy at gmail.com> wrote:
> > 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.
>
> What?  x264 doesn't support switching resolutions in mid-flight.
>
> > 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
>
> Have you tried using libx264 directly instead of through libavcodec?
> We don't generally support using libx264 through libavcodec as it has
> a history of causing all kinds of problems (and it's also a big
> hassle).
>
> Dark Shikari
> _______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> http://mailman.videolan.org/listinfo/x264-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20100412/6cdac727/attachment.htm>


More information about the x264-devel mailing list