isp: Add SW colour denoise configuration

This change adds a colour denoise config structure to allow us to set the
operating mode of the software colour denoise.  This essentially chooses
between the video and stills colour denoise variants.

The related kernel change is at:
https://github.com/raspberrypi/linux/pull/4069
This commit is contained in:
Naushir Patuck
2021-01-11 15:14:45 +00:00
committed by Dom Cobley
parent fba5ce7d15
commit 5aece5be06
3 changed files with 33 additions and 0 deletions

View File

@@ -154,6 +154,7 @@ enum {
MMAL_PARAMETER_GREEN_EQ, /**< Takes a @ref MMAL_PARAMETER_GREEN_EQ_T */
MMAL_PARAMETER_DPC, /**< Tales a @ref MMAP_PARAMETER_DPC_T */
MMAL_PARAMETER_GAMMA, /**< Tales a @ref MMAP_PARAMETER_GAMMA_T */
MMAL_PARAMETER_CDN, /**< Takes a @ref MMAL_PARAMETER_CDN_T */
};
/** Thumbnail configuration parameter type */
@@ -1036,6 +1037,19 @@ typedef struct MMAL_PARAMETER_BLACK_LEVEL_T {
uint16_t black_level_b; /**< Black level of blue channel (out of 16 bits). */
} MMAL_PARAMETER_BLACK_LEVEL_T;
typedef enum MMAL_PARAM_CDN_MODE_T {
MMAL_PARAM_CDN_FAST = 0,
MMAL_PARAM_CDN_HIGH_QUALITY = 1,
MMAL_PARAM_CDN_DUMMY = 0x7FFFFFFF
} MMAL_PARAM_CDN_MODE_T;
typedef struct MMAL_PARAMETER_CDN_T {
MMAL_PARAMETER_HEADER_T hdr;
MMAL_BOOL_T enable; /**< Enable colour denoise parameters. */
MMAL_PARAM_CDN_MODE_T mode; /**< Colour denoise mode of operation. */
} MMAL_PARAMETER_CDN_T;
typedef struct MMAL_PARAMETER_DENOISE_T {
MMAL_PARAMETER_HEADER_T hdr;

View File

@@ -2765,6 +2765,24 @@ typedef struct OMX_PARAM_BLACKLEVELTYPE {
OMX_U16 nBitDepth; /**< Bit depth - refer to comments in code where used */
} OMX_PARAM_BLACKLEVELTYPE;
/* OMX_IndexParamCdn: Manual colour denoise parameters. */
/*
Configures the colour denoise software stages running after the ISP pipeline.
*/
typedef enum OMX_CDNMODE {
OMX_CDN_FAST = 0,
OMX_CDN_HIGH_QUALITY = 1,
OMX_CDN_DUMMY = 0x7FFFFFFF
} OMX_CDNMODE;
typedef struct OMX_PARAM_CDNTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_BOOL bEnabled; /**< Enable colour denoise */
OMX_CDNMODE eMode; /**< Colour denoise operating mode. */
} OMX_PARAM_CDNTYPE;
/* OMX_IndexParamDenoise: Manual denoise parameters. */
/*
Configures the spatial denoise block within the ISP pipeline.

View File

@@ -544,6 +544,7 @@ typedef enum OMX_INDEXTYPE {
OMX_IndexParamGreenEq, /**< reference: OMX_PARAM_GREENEQTYPE */
OMX_IndexParamDpc, /**< reference: OMX_PARAM_DPCTYPE */
OMX_IndexParamGamma, /**< reference: OMX_PARAM_GAMMATYPE */
OMX_IndexParamCdn, /**< reference: OMX_PARAM_CDNTYPE */
OMX_IndexParamCodecHeadersWithFrame, /**< reference: OMX_CONFIG_BOOLEANTYPE */
OMX_IndexConfigBrcmVideoCheckTimestamps, /**< reference: OMX_CONFIG_BOOLEANTYPE */
OMX_IndexMax = 0x7FFFFFFF