]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/rawenc.c
avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
[ffmpeg] / libavcodec / rawenc.c
index c23225fe60d7359347b9abc4f89fe962612b193f..d83705645cb31d063ac62941ad9388967d4c4a7b 100644 (file)
@@ -29,6 +29,7 @@
 #include "internal.h"
 #include "libavutil/pixdesc.h"
 #include "libavutil/intreadwrite.h"
+#include "libavutil/imgutils.h"
 #include "libavutil/internal.h"
 
 static av_cold int raw_encode_init(AVCodecContext *avctx)
@@ -49,15 +50,18 @@ FF_ENABLE_DEPRECATION_WARNINGS
 static int raw_encode(AVCodecContext *avctx, AVPacket *pkt,
                       const AVFrame *frame, int *got_packet)
 {
-    int ret = avpicture_get_size(frame->format, frame->width, frame->height);
+    int ret = av_image_get_buffer_size(frame->format,
+                                       frame->width, frame->height, 1);
 
     if (ret < 0)
         return ret;
 
     if ((ret = ff_alloc_packet2(avctx, pkt, ret, ret)) < 0)
         return ret;
-    if ((ret = avpicture_layout((const AVPicture *)frame, frame->format, frame->width,
-                                frame->height, pkt->data, pkt->size)) < 0)
+    if ((ret = av_image_copy_to_buffer(pkt->data, pkt->size,
+                                       (const uint8_t **)frame->data, frame->linesize,
+                                       frame->format,
+                                       frame->width, frame->height, 1)) < 0)
         return ret;
 
     if(avctx->codec_tag == AV_RL32("yuv2") && ret > 0 &&