Mercurial > libavcodec.hg
comparison x264.c @ 4114:903017d72ffe libavcodec
CODEC_CAP_DELAY support
author | mru |
---|---|
date | Wed, 01 Nov 2006 18:18:48 +0000 |
parents | ffe1b004ecc7 |
children | 4e1b1a37e9d6 |
comparison
equal
deleted
inserted
replaced
4113:4ce3923d5806 | 4114:903017d72ffe |
---|---|
76 x264_picture_t pic_out; | 76 x264_picture_t pic_out; |
77 | 77 |
78 x4->pic.img.i_csp = X264_CSP_I420; | 78 x4->pic.img.i_csp = X264_CSP_I420; |
79 x4->pic.img.i_plane = 3; | 79 x4->pic.img.i_plane = 3; |
80 | 80 |
81 if (frame) { | |
81 for(i = 0; i < 3; i++){ | 82 for(i = 0; i < 3; i++){ |
82 x4->pic.img.plane[i] = frame->data[i]; | 83 x4->pic.img.plane[i] = frame->data[i]; |
83 x4->pic.img.i_stride[i] = frame->linesize[i]; | 84 x4->pic.img.i_stride[i] = frame->linesize[i]; |
84 } | 85 } |
85 | 86 |
86 x4->pic.i_pts = frame->pts; | 87 x4->pic.i_pts = frame->pts; |
87 x4->pic.i_type = X264_TYPE_AUTO; | 88 x4->pic.i_type = X264_TYPE_AUTO; |
88 | 89 } |
89 if(x264_encoder_encode(x4->enc, &nal, &nnal, &x4->pic, &pic_out)) | 90 |
91 if(x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL, | |
92 &pic_out)) | |
90 return -1; | 93 return -1; |
91 | 94 |
92 bufsize = encode_nals(buf, bufsize, nal, nnal); | 95 bufsize = encode_nals(buf, bufsize, nal, nnal); |
93 if(bufsize < 0) | 96 if(bufsize < 0) |
94 return -1; | 97 return -1; |
289 .id = CODEC_ID_H264, | 292 .id = CODEC_ID_H264, |
290 .priv_data_size = sizeof(X264Context), | 293 .priv_data_size = sizeof(X264Context), |
291 .init = X264_init, | 294 .init = X264_init, |
292 .encode = X264_frame, | 295 .encode = X264_frame, |
293 .close = X264_close, | 296 .close = X264_close, |
297 .capabilities = CODEC_CAP_DELAY, | |
294 .pix_fmts = (enum PixelFormat[]) { PIX_FMT_YUV420P, -1 } | 298 .pix_fmts = (enum PixelFormat[]) { PIX_FMT_YUV420P, -1 } |
295 }; | 299 }; |