[x264-devel] one question about x264 flush delayed frames

BugMaster BugMaster at narod.ru
Wed Jul 29 19:47:32 CEST 2015


On Wed, 29 Jul 2015 18:56:33 +0800 (CST), qw wrote:
> Hi,

> I found one issue about x264 flush operation. Normally,
> multi-threads is used, and coded video data is not output immediately.

> x264_encoder_encode() is used to encode raw frame, and is also used
> to flush delayed frames with pic_in==NULL. If x264 flushes delayed
> frames, and continues encode raw frames, there is deadlock when
> calling x264_encoder_encode(). The reason is that, lookahead thread,
> i.e. x264_lookahead_thread() doesn't exist after flush operation.

> Can x264 encoder continue to encode raw frames after flush delayed frames?

> Thanks!

> B.R.

> andrew

Hi. This should already be fixed by this commit:
http://git.videolan.org/gitweb.cgi?p=x264.git;a=commit;h=0b0210857ef13214f12861dec672006455a556d6
So update your libx264. As for the question. No, after flushing
delayed frames you can't continue encode another frames in same x264_t
context, you need close it (x264_encoder_close) and open new (x264_encoder_open).




More information about the x264-devel mailing list