hwcontext_dxva2: make sure the sw frame format is the right one during transfer
authorAnton Khirnov <anton@khirnov.net>
Mon, 7 Nov 2016 13:12:17 +0000 (14:12 +0100)
committerAnton Khirnov <anton@khirnov.net>
Fri, 18 Nov 2016 09:31:53 +0000 (10:31 +0100)
libavutil/hwcontext_dxva2.c

index 3fe19a6..ccf03c8 100644 (file)
@@ -315,6 +315,9 @@ static int dxva2_transfer_data_to(AVHWFramesContext *ctx, AVFrame *dst,
     AVFrame *map;
     int ret;
 
+    if (src->format != ctx->sw_format)
+        return AVERROR(ENOSYS);
+
     map = av_frame_alloc();
     if (!map)
         return AVERROR(ENOMEM);
@@ -339,6 +342,9 @@ static int dxva2_transfer_data_from(AVHWFramesContext *ctx, AVFrame *dst,
     ptrdiff_t src_linesize[4], dst_linesize[4];
     int ret, i;
 
+    if (dst->format != ctx->sw_format)
+        return AVERROR(ENOSYS);
+
     map = av_frame_alloc();
     if (!map)
         return AVERROR(ENOMEM);