Allocate alpha alongside YUV (if necessary) during y4m decode to avoid incorrect alphaRowBytes math
diff --git a/apps/shared/y4m.c b/apps/shared/y4m.c
index f7270f9..695561e 100644
--- a/apps/shared/y4m.c
+++ b/apps/shared/y4m.c
@@ -356,6 +356,9 @@
     avif->yuvRange = frame.range;
     avif->yuvChromaSamplePosition = frame.chromaSamplePosition;
     avifImageAllocatePlanes(avif, AVIF_PLANES_YUV);
+    if (frame.hasAlpha) {
+        avifImageAllocatePlanes(avif, AVIF_PLANES_A);
+    }
 
     avifPixelFormatInfo info;
     avifGetPixelFormatInfo(avif->yuvFormat, &info);
@@ -378,7 +381,6 @@
         }
     }
     if (frame.hasAlpha) {
-        avifImageAllocatePlanes(avif, AVIF_PLANES_A);
         if (fread(avif->alphaPlane, 1, planeBytes[3], frame.inputFile) != planeBytes[3]) {
             fprintf(stderr, "Failed to read y4m plane (not enough data): %s\n", frame.displayFilename);
             goto cleanup;