diff options
author | Måns Rullgård <mans@mansr.com> | 2006-11-01 18:18:48 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2006-11-01 18:18:48 +0000 |
commit | 84278104e1fa2648b154cb0306ba722b7d3ddbcf (patch) | |
tree | 40a527db7db75a1ef106c71a51b03b78b69f4655 /libavcodec | |
parent | f45b744cb7b2a32188fccac902da597454a04ed9 (diff) | |
download | ffmpeg-84278104e1fa2648b154cb0306ba722b7d3ddbcf.tar.gz |
CODEC_CAP_DELAY support
Originally committed as revision 6856 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/x264.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/x264.c b/libavcodec/x264.c index c3db9f23cc..009cc97471 100644 --- a/libavcodec/x264.c +++ b/libavcodec/x264.c @@ -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 } }; |