|
|
|
@ -1245,42 +1245,6 @@ end: |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if FF_API_OLD_ENCODE_VIDEO |
|
|
|
|
int attribute_align_arg avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, |
|
|
|
|
const AVFrame *pict) |
|
|
|
|
{ |
|
|
|
|
AVPacket pkt; |
|
|
|
|
int ret, got_packet = 0; |
|
|
|
|
|
|
|
|
|
if (buf_size < FF_MIN_BUFFER_SIZE) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "buffer smaller than minimum size\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
av_init_packet(&pkt); |
|
|
|
|
pkt.data = buf; |
|
|
|
|
pkt.size = buf_size; |
|
|
|
|
|
|
|
|
|
ret = avcodec_encode_video2(avctx, &pkt, pict, &got_packet); |
|
|
|
|
if (!ret && got_packet && avctx->coded_frame) { |
|
|
|
|
avctx->coded_frame->pts = pkt.pts; |
|
|
|
|
avctx->coded_frame->key_frame = !!(pkt.flags & AV_PKT_FLAG_KEY); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* free any side data since we cannot return it */ |
|
|
|
|
if (pkt.side_data_elems > 0) { |
|
|
|
|
int i; |
|
|
|
|
for (i = 0; i < pkt.side_data_elems; i++) |
|
|
|
|
av_free(pkt.side_data[i].data); |
|
|
|
|
av_freep(&pkt.side_data); |
|
|
|
|
pkt.side_data_elems = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ret ? ret : pkt.size; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
int attribute_align_arg avcodec_encode_video2(AVCodecContext *avctx, |
|
|
|
|
AVPacket *avpkt, |
|
|
|
|
const AVFrame *frame, |
|
|
|
|