Commit d545fa56 authored by Baptiste Coudurier's avatar Baptiste Coudurier

fix x264 encoding when delay is > number of input frames

Originally committed as revision 23197 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent c2341b85
...@@ -102,12 +102,14 @@ static int X264_frame(AVCodecContext *ctx, uint8_t *buf, ...@@ -102,12 +102,14 @@ static int X264_frame(AVCodecContext *ctx, uint8_t *buf,
x4->pic.i_type = X264_TYPE_AUTO; x4->pic.i_type = X264_TYPE_AUTO;
} }
do {
if (x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL, &pic_out) < 0) if (x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL, &pic_out) < 0)
return -1; return -1;
bufsize = encode_nals(ctx, buf, bufsize, nal, nnal, 0); bufsize = encode_nals(ctx, buf, bufsize, nal, nnal, 0);
if (bufsize < 0) if (bufsize < 0)
return -1; return -1;
} while (!bufsize && !frame && x264_encoder_delayed_frames(x4->enc));
/* FIXME: libx264 now provides DTS, but AVFrame doesn't have a field for it. */ /* FIXME: libx264 now provides DTS, but AVFrame doesn't have a field for it. */
x4->out_pic.pts = pic_out.i_pts; x4->out_pic.pts = pic_out.i_pts;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment