<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Hi,</div><div><br></div><div>Is there another way to flush delayed frames, after which there is no need calling x264_encoder_open() to open new handle, and continue to encode new video frame?</div><br><div>Thanks!</div><div><br></div><div>B.R.</div><div><br></div><div>Andrew</div><br><div style="position:relative;zoom:1"></div><div id="divNeteaseMailCard"></div><br><pre><br>At 2015-07-30 01:47:32, "BugMaster" <BugMaster@narod.ru> wrote:
>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).
>
>
>_______________________________________________
>x264-devel mailing list
>x264-devel@videolan.org
>https://mailman.videolan.org/listinfo/x264-devel
</pre></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>