[SCM] libav/experimental: CODEC_CAP_DELAY support

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:52:50 UTC 2013


The following commit has been merged in the experimental branch:
commit 84278104e1fa2648b154cb0306ba722b7d3ddbcf
Author: Måns Rullgård <mans at mansr.com>
Date:   Wed Nov 1 18:18:48 2006 +0000

    CODEC_CAP_DELAY support
    
    Originally committed as revision 6856 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/x264.c b/libavcodec/x264.c
index c3db9f2..009cc97 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 }
 };

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list