CODEC_CAP_DELAY support

Originally committed as revision 6856 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Måns Rullgård 2006-11-01 18:18:48 +00:00
parent f45b744cb7
commit 84278104e1

View File

@ -78,6 +78,7 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
x4->pic.img.i_csp = X264_CSP_I420;
x4->pic.img.i_plane = 3;
if (frame) {
for(i = 0; i < 3; i++){
x4->pic.img.plane[i] = frame->data[i];
x4->pic.img.i_stride[i] = frame->linesize[i];
@ -85,8 +86,10 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
x4->pic.i_pts = frame->pts;
x4->pic.i_type = X264_TYPE_AUTO;
}
if(x264_encoder_encode(x4->enc, &nal, &nnal, &x4->pic, &pic_out))
if(x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL,
&pic_out))
return -1;
bufsize = encode_nals(buf, bufsize, nal, nnal);
@ -291,5 +294,6 @@ AVCodec x264_encoder = {
.init = X264_init,
.encode = X264_frame,
.close = X264_close,
.capabilities = CODEC_CAP_DELAY,
.pix_fmts = (enum PixelFormat[]) { PIX_FMT_YUV420P, -1 }
};