IL ISP: Add white balance and digital gain to ISP component
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Mon, 2 Oct 2017 14:54:12 +0000 (15:54 +0100)
committerpopcornmix <popcornmix@gmail.com>
Fri, 6 Oct 2017 17:44:55 +0000 (18:44 +0100)
interface/vmcs_host/khronos/IL/OMX_Broadcom.h

index bdb46268b396e0df9c8db18b74d6fe34a54c3c04..697f1ca8f75e7f3cb6154d0d5b15c809ca510a8a 100644 (file)
@@ -2383,6 +2383,7 @@ typedef struct OMX_PARAM_BRCMVIDEODECODECONFIGVD3TYPE {
 Codec specific configuration block to set up internal state in a non-standard manner.
 */
 
+/* OMX_IndexConfigCustomAwbGains: Manual AWB Gains. */
 typedef struct OMX_CONFIG_CUSTOMAWBGAINSTYPE {
    OMX_U32 nSize;                      /**< size of the structure in bytes, including
                                             configuration data */
@@ -2391,6 +2392,8 @@ typedef struct OMX_CONFIG_CUSTOMAWBGAINSTYPE {
    OMX_U32 xGainB;                     /**< Blue gain - 16p16 */
 } OMX_CONFIG_CUSTOMAWBGAINSTYPE;
 
+/* OMX_IndexConfigCustomAwbGains: Manual AWB Gains. */
+
 /* OMX_IndexConfigBrcmRenderStats: Render port statistics */
 typedef struct OMX_CONFIG_BRCMRENDERSTATSTYPE {
    OMX_U32 nSize;
@@ -2596,6 +2599,20 @@ The IL standard does not support a way to specify the Bayer order of Bayer image
 This control adds that missing functionality.
 */
 
+/* OMX_IndexParamBrcmLensShadingOverride: Override or set a lens shading table.*/
+/*
+Allows the lens shading grid to be set.
+Configuration is based on a similar system to the OMAP3 ISP.
+A grid of gains is required for each of the 4 Bayer channels, with each value covering
+a nGridCellSize square of pixels.
+nWidth and nHeight should be equal or greater than the sensor resolution. In the
+case of the camera component, the firmware will crop the table based on the preconfigured
+mode set. nStride allows additional horizontal padding to be including in the table.
+nMemHandleTable needs to be set to a MEM_HANDLE_T, allocated via VC-SM or similar allocator.
+nRefTransform should be set to the transform in force when the reference table was
+captured. This allows correct compensation when the sensor is subsequently used with
+an alternate transform.
+*/
 typedef struct OMX_PARAM_LENSSHADINGOVERRIDETYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
@@ -2648,9 +2665,13 @@ typedef struct OMX_PARAM_CUSTOMCCMTYPE {
 
    OMX_BOOL bEnabled;          /**< Enable the custom CCM. */
    OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */
-   OMX_S32 nColorOffset[3];    /**<  */
+   OMX_S32 nColorOffset[3];    /**< CCM offsets */
 } OMX_PARAM_CUSTOMCCMTYPE;
 
+/* OMX_IndexConfigCameraDigitalGain: Manual digital gain. */
+/*
+Configures the digital gain within the ISP pipeline.
+*/
 typedef struct OMX_CONFIG_CAMERAGAINTYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;