diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 0299dbb59388cf911c1313396c7ab90a20ea8b7b..229a3a3a0c6c954a68d8bfd82a703a45b1c8c9fe 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -2555,6 +2555,8 @@ int img_convert(AVPicture *dst, int dst_pix_fmt,
         else
             int_pix_fmt = PIX_FMT_RGB24;
     }
+    if (src_pix_fmt == int_pix_fmt)
+        return -1;
     if (avpicture_alloc(tmp, int_pix_fmt, dst_width, dst_height) < 0)
         return -1;
     ret = -1;