diff --git a/gst/videobox/gstvideobox.c b/gst/videobox/gstvideobox.c
index 745885c..9b8830c 100644
--- a/gst/videobox/gstvideobox.c
+++ b/gst/videobox/gstvideobox.c
@@ -865,6 +865,17 @@
       dest += dest_stride;
       src += src_stride;
     }
+  } else if (out_alpha && packed_in) {
+    for (i = 0; i < h; i++) {
+      for (j = 0; j < w; j++) {
+        dest[4 * j + p_out[0]] = i_alpha & 0xff;
+        dest[4 * j + p_out[1]] = src[in_bpp * j + p_in[1]];
+        dest[4 * j + p_out[2]] = src[in_bpp * j + p_in[2]];
+        dest[4 * j + p_out[3]] = src[in_bpp * j + p_in[3]];
+      }
+      dest += dest_stride;
+      src += src_stride;
+    }
   } else if (!packed_out && !packed_in) {
     w *= 4;
     for (i = 0; i < h; i++) {
