isp: add application control of sharpen block

This commit is contained in:
David Plowman
2019-12-16 11:59:43 +00:00
committed by popcornmix
parent f2f1eb651c
commit 336ef2b1d2
3 changed files with 25 additions and 0 deletions

View File

@@ -150,6 +150,7 @@ enum {
MMAL_PARAMETER_ANALOG_GAIN, /**< Takes a @ref MMAL_PARAMETER_RATIONAL_T */
MMAL_PARAMETER_DIGITAL_GAIN, /**< Takes a @ref MMAL_PARAMETER_RATIONAL_T */
MMAL_PARAMETER_DENOISE, /**< Takes a @ref MMAL_PARAMETER_DENOISE_T */
MMAL_PARAMETER_SHARPEN, /**< Takes a @ref MMAL_PARAMETER_SHARPEN_T */
MMAL_PARAMETER_GREEN_EQ, /**< Takes a @ref MMAL_PARAMETER_GREEN_EQ_T */
};
@@ -1014,6 +1015,15 @@ typedef struct MMAL_PARAMETER_DENOISE_T {
MMAL_RATIONAL_T strength; /**< Denoise strength. */
} MMAL_PARAMETER_DENOISE_T;
typedef struct MMAL_PARAMETER_SHARPEN_T {
MMAL_PARAMETER_HEADER_T hdr;
MMAL_BOOL_T enable; /**< Enable sharpening parameters. */
MMAL_RATIONAL_T threshold; /**< Threshold when sharpening starts. */
MMAL_RATIONAL_T strength; /**< Rate at which sharpening ramps. */
MMAL_RATIONAL_T limit; /**< Limit to total sharpening. */
} MMAL_PARAMETER_SHARPEN_T;
typedef struct MMAL_PARAMETER_GREEN_EQ_T {
MMAL_PARAMETER_HEADER_T hdr;

View File

@@ -2765,6 +2765,20 @@ typedef struct OMX_PARAM_DENOISETYPE {
OMX_U32 nStrength; /**< Strength of denoising, Q16 format with 0 = off */
} OMX_PARAM_DENOISETYPE;
/* OMX_IndexParamSharpen: Manual sharpen parameters. */
/*
Configures the sharpening block within the ISP pipeline.
*/
typedef struct OMX_PARAM_SHARPENTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_BOOL bEnabled; /**< Enable sharpening */
OMX_U32 nThreshold; /**< Threshold factor at which sharpening starts, 8p8 */
OMX_U32 nStrength; /**< Strength factor controlling the rate at which it ramps, 8p8 */
OMX_U32 nLimit; /**< Maxmimum amount of sharpening, use 0 to disable, 8p8 */
} OMX_PARAM_SHARPENTYPE;
/* OMX_IndexParamGreenEq: Manual Green Equalisation parameters. */
/*
Configures the Green Equalisation block within the ISP pipeline.

View File

@@ -540,6 +540,7 @@ typedef enum OMX_INDEXTYPE {
OMX_IndexConfigBrcmDroppableRunLength, /**< reference: OMX_PARAM_U32TYPE */
OMX_IndexParamMinimumAlignment, /**< reference: OMX_PARAM_MINALIGNTYPE */
OMX_IndexParamDenoise, /**< reference: OMX_PARAM_DENOISETYPE */
OMX_IndexParamSharpen, /**< reference: OMX_PARAM_SHARPENTYPE */
OMX_IndexParamGreenEq, /**< reference: OMX_PARAM_GREENEQTYPE */
OMX_IndexMax = 0x7FFFFFFF
} OMX_INDEXTYPE;