diff --git a/libavutil/imgutils.c b/libavutil/imgutils.c
index 75642d19133d5b5cb05e3b73c5beafaba96c5687..ef7d4138ae0213a1e42ba8fd92298383b5e9967e 100644
--- a/libavutil/imgutils.c
+++ b/libavutil/imgutils.c
@@ -188,7 +188,7 @@ int av_image_alloc(uint8_t *pointers[4], int linesizes[4],
 
     if ((ret = av_image_check_size(w, h, 0, NULL)) < 0)
         return ret;
-    if ((ret = av_image_fill_linesizes(linesizes, pix_fmt, w)) < 0)
+    if ((ret = av_image_fill_linesizes(linesizes, pix_fmt, align>7 ? FFALIGN(w, 8) : w)) < 0)
         return ret;
 
     for (i = 0; i < 4; i++)