MMAL/IL: Allow video render to take non aligned sliceheight
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Thu, 2 Mar 2017 00:33:00 +0000 (00:33 +0000)
committerpopcornmix <popcornmix@gmail.com>
Thu, 2 Mar 2017 00:34:04 +0000 (00:34 +0000)
Components can advertise to mmal_ril that they can take unaligned
nSliceHeight values.
The framework then won't align the sliceheight.

interface/vmcs_host/khronos/IL/OMX_Broadcom.h
interface/vmcs_host/khronos/IL/OMX_Index.h

index 99e766a7584a5326d2f509cf6f76581281ed54c2..5860ad7f1782f199a2ed14d2ece221fbee918e1d 100644 (file)
@@ -2606,5 +2606,22 @@ Deprecated. Do not use.
 Deprecated. Do not use.
 */
 
+/* OMX_IndexParamBrcmSupportsSlices: Sliced processing support */
+/*
+Mainly used by the MMAL framework.
+Some components support an nSliceHeight value of 16, to allow images
+to be passed in multiple chunks. All will support an nSliceHeight >=
+nFrameHeight (with some extra constraints).
+If a component supports nSliceHeight of 16, then it will respond to
+OMX_GetParameter on this index with no error and bEnabled set to OMX_TRUE.
+*/
+
+/* OMX_IndexParamBrcmSupportsUnalignedSliceheight: Unaligned nSliceHeight support */
+/*
+Most components require an nSliceHeight value which is a multiple of 16, but
+some components accepting any value >= nFrameHeight. Those ports/components will
+respond to OMX_GetParameter on this index with no error and bEnabled set to OMX_TRUE.
+*/
+
 #endif
 /* File EOF */
index a426846e68d0c9fdb8454ea83785c3c587e6f190..88918b34a8844d57d3ac04505c9197946a756f36 100644 (file)
@@ -521,11 +521,15 @@ typedef enum OMX_INDEXTYPE {
     OMX_IndexParamCameraRxConfig,                             /**< reference: OMX_PARAM_CAMERARXCONFIG_TYPE */
     OMX_IndexParamCameraRxTiming,                             /**< reference: OMX_PARAM_CAMERARXTIMING_TYPE */
     OMX_IndexParamDynamicParameterConfig,                     /**< reference: OMX_PARAM_U32TYPE */
+
+    // 0x7f000100
     OMX_IndexParamBrcmVideoAVCSPSTimingEnable,                /** reference: OMX_CONFIG_PORTBOOLEANTYPE */
     OMX_IndexParamBrcmBayerOrder,                             /** reference: OMX_PARAM_BAYERORDERTYPE */
     OMX_IndexParamBrcmMaxNumCallbacks,                        /**< reference: OMX_PARAM_U32TYPE */
     OMX_IndexParamBrcmJpegRestartInterval,                    /**< reference: OMX_PARAM_U32TYPE */
-    OMX_IndexParamBrcmSupportsSlices,                         /**< reference: OMX_CONFIG_PORT_BOOLEANTYPE */
+    OMX_IndexParamBrcmSupportsSlices,                         /**< reference: OMX_CONFIG_PORTBOOLEANTYPE */
+    OMX_IndexParamBrcmIspBlockOverride,                       /**< reference: OMX_PARAM_U32TYPE */
+    OMX_IndexParamBrcmSupportsUnalignedSliceheight,           /**< reference: OMX_CONFIG_PORTBOOLEANTYPE */
     OMX_IndexMax = 0x7FFFFFFF
 } OMX_INDEXTYPE;