mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
CODEC_CAP_DELAY support
Originally committed as revision 6856 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
f45b744cb7
commit
84278104e1
@ -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_csp = X264_CSP_I420;
|
||||||
x4->pic.img.i_plane = 3;
|
x4->pic.img.i_plane = 3;
|
||||||
|
|
||||||
|
if (frame) {
|
||||||
for(i = 0; i < 3; i++){
|
for(i = 0; i < 3; i++){
|
||||||
x4->pic.img.plane[i] = frame->data[i];
|
x4->pic.img.plane[i] = frame->data[i];
|
||||||
x4->pic.img.i_stride[i] = frame->linesize[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_pts = frame->pts;
|
||||||
x4->pic.i_type = X264_TYPE_AUTO;
|
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;
|
return -1;
|
||||||
|
|
||||||
bufsize = encode_nals(buf, bufsize, nal, nnal);
|
bufsize = encode_nals(buf, bufsize, nal, nnal);
|
||||||
@ -291,5 +294,6 @@ AVCodec x264_encoder = {
|
|||||||
.init = X264_init,
|
.init = X264_init,
|
||||||
.encode = X264_frame,
|
.encode = X264_frame,
|
||||||
.close = X264_close,
|
.close = X264_close,
|
||||||
|
.capabilities = CODEC_CAP_DELAY,
|
||||||
.pix_fmts = (enum PixelFormat[]) { PIX_FMT_YUV420P, -1 }
|
.pix_fmts = (enum PixelFormat[]) { PIX_FMT_YUV420P, -1 }
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user