]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/nvenc.c
Deprecate avctx.coded_frame
[ffmpeg] / libavcodec / nvenc.c
index e725e3d8e6338f6af7cd8fd3768d679608ae24a9..35c04e847a5599e864777b5e6dfc3d218ec9d401 100644 (file)
@@ -771,8 +771,6 @@ av_cold int ff_nvenc_encode_close(AVCodecContext *avctx)
     NV_ENCODE_API_FUNCTION_LIST *nv = &ctx->nvel.nvenc_funcs;
     int i;
 
-    av_frame_free(&avctx->coded_frame);
-
     if (ctx->in) {
         for (i = 0; i < ctx->nb_surfaces; ++i) {
             nv->nvEncDestroyInputBuffer(ctx->nvenc_ctx, ctx->in[i].in);
@@ -819,10 +817,6 @@ av_cold int ff_nvenc_encode_init(AVCodecContext *avctx)
             return ret;
     }
 
-    avctx->coded_frame = av_frame_alloc();
-    if (!avctx->coded_frame)
-        return AVERROR(ENOMEM);
-
     return 0;
 }
 
@@ -881,9 +875,9 @@ static int nvenc_copy_frame(NV_ENC_LOCK_INPUT_BUFFER *in, const AVFrame *frame)
                             frame->width, frame->height);
         buf += off;
 
-        av_image_copy_plane(buf, in->pitch >> 1,
+        av_image_copy_plane(buf, in->pitch,
                             frame->data[1], frame->linesize[1],
-                            frame->width >> 1, frame->height >> 1);
+                            frame->width, frame->height >> 1);
         break;
     case AV_PIX_FMT_YUV444P:
         av_image_copy_plane(buf, in->pitch,
@@ -1043,6 +1037,8 @@ static int nvenc_get_frame(AVCodecContext *avctx, AVPacket *pkt)
     switch (params.pictureType) {
     case NV_ENC_PIC_TYPE_IDR:
         pkt->flags |= AV_PKT_FLAG_KEY;
+#if FF_API_CODED_FRAME
+FF_DISABLE_DEPRECATION_WARNINGS
     case NV_ENC_PIC_TYPE_INTRA_REFRESH:
     case NV_ENC_PIC_TYPE_I:
         avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
@@ -1056,6 +1052,8 @@ static int nvenc_get_frame(AVCodecContext *avctx, AVPacket *pkt)
     case NV_ENC_PIC_TYPE_BI:
         avctx->coded_frame->pict_type = AV_PICTURE_TYPE_BI;
         break;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
     }
 
     return 0;