The qcom decoder requires that the output buffers be allocated by the component for hardware accelerated display to work.
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index de808e5..d01d6af 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -191,7 +191,7 @@
 
         status_t err = omx->allocate_node(componentName, &node);
         if (err == OK) {
-            LOGV("Successfully allocated OMX node '%s'", componentName);
+            LOGI("Successfully allocated OMX node '%s'", componentName);
             break;
         }
     }
@@ -216,6 +216,10 @@
         quirks |= kRequiresLoadedToIdleAfterAllocation;
         quirks |= kRequiresAllocateBufferOnInputPorts;
     }
+    if (!strncmp(componentName, "OMX.qcom.video.decoder.", 23)) {
+        // XXX Required on P....on only.
+        quirks |= kRequiresAllocateBufferOnOutputPorts;
+    }
 
     sp<OMXCodec> codec = new OMXCodec(
             omx, node, quirks, createEncoder, mime, componentName,