omxil: Add a new qualcomm specific custom pixel format
authorMartin Storsjö <martin@martin.st>
Tue, 9 Jul 2013 14:59:44 +0000 (17:59 +0300)
committerMartin Storsjö <martin@martin.st>
Sun, 22 Sep 2013 17:05:15 +0000 (20:05 +0300)
This is pretty much normal NV12, but with stride and plane
heights aligned to 32 (according to a commit on code aurora
forum). The actual values are signalled in the normal stride
and slice height fields, so therefore it can be treated as
normal NV12 as far as our code is concerned.

This is returned on the Sony Xperia Z1 (Snapdragon 800) -
mediacodec works (with a quirk mentioned in the previous commit),
while our omxil/iomx code fails to allocate buffers.

Signed-off-by: Martin Storsjö <martin@martin.st>
modules/codec/omxil/omxil_utils.h
modules/codec/omxil/utils.c

index 8f113b4..1a99dfc 100644 (file)
@@ -241,4 +241,5 @@ unsigned int GetAudioParamSize(OMX_INDEXTYPE index);
 #define OMX_QCOM_COLOR_FormatYVU420SemiPlanar 0x7FA30C00
 #define OMX_TI_COLOR_FormatYUV420PackedSemiPlanar 0x7F000100
 #define QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka 0x7FA30C03
+#define OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m 0x7FA30C04
 #define OMX_IndexVendorSetYUV420pMode 0x7f000003
index 4736b7e..b6cacbb 100644 (file)
@@ -430,6 +430,7 @@ static const struct
     { VLC_CODEC_NV21, OMX_QCOM_COLOR_FormatYVU420SemiPlanar, 3, 1, 1 },
     { VLC_CODEC_NV12, OMX_TI_COLOR_FormatYUV420PackedSemiPlanar, 3, 1, 2 },
     { VLC_CODEC_NV12, QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka, 3, 1, 1 },
+    { VLC_CODEC_NV12, OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m, 3, 1, 1 },
     { VLC_CODEC_YUYV, OMX_COLOR_FormatYCbYCr, 4, 2, 0 },
     { VLC_CODEC_YVYU, OMX_COLOR_FormatYCrYCb, 4, 2, 0 },
     { VLC_CODEC_UYVY, OMX_COLOR_FormatCbYCrY, 4, 2, 0 },