📄 image_effect.c
字号:
SET_EDGE_GAIN_KNEESEL(3);
SET_EDGE_GAIN_LINE(0);
SET_EDGE_GAIN_H2(31);
SET_EDGE_GAIN_H(0);
SET_EDGE_SPECI_PONLY(1);
SET_EDGE_SPECI_GAIN(0);
SET_EDGE_GAIN_VB(31);
DISABLE_EDGE_GAIN_SPECIABS;
DISABLE_EDGE_GAIN_SPECIINV;
ENABLE_OPD_GAMMA_OUT_INVERSION;
SET_EDGE_CORE_H(0);
SET_EDGE_V_CTRL_E_TH1_V(4);
ENABLE_EMBOSS1;
ENABLE_EMBOSS2;
SET_INTERPOLATION_THRE_LEDGE(127);
/* Color Matrix*/
SET_COLOR_MATRIX1(0,0,0);
SET_COLOR_MATRIX2(0,0,0);
SET_COLOR_MATRIX3(0,0,0);
/* Flare setting */
SET_GAMMA_RGB_FLARE_SIGN_R_LOW;
SET_GAMMA_RGB_FLARE_R(0);
SET_GAMMA_RGB_FLARE_SIGN_G_LOW;
SET_GAMMA_RGB_FLARE_G(0);
SET_GAMMA_RGB_FLARE_SIGN_B_LOW;
SET_GAMMA_RGB_FLARE_B(0);
/* Contrast Gain setting */
SET_AWB_R_GAIN(128);
SET_AWB_G_GAIN(128);
SET_AWB_B_GAIN(128);
/* Contrast setting */
SET_Y_CONTRAST_GAIN(127);
/* Brightness setting */
SET_Y_BRIGHT_OFFSET(255);
/* Y Edge */
DISABLE_Y_EDGE;
}
/*************************************************************************
* FUNCTION
* effect_enc_coppercarving
*
* DESCRIPTION
* This function provides copper carving effect in PREVIEW, CAPTURE and
* MPEG4 ENCODE mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_enc_coppercarving(void)
{
/* Hue setting */
SET_HUE_U_GAIN(0);
SET_HUE_V_GAIN(0);
SET_HUE_U_OFFSET(188);
SET_HUE_V_OFFSET(40);
/* Edge setting */
ENABLE_RGB_EDGE_GAIN;
ENABLE_EDGE_EFFECT_OIL;
SET_EDGE_GAIN_KNEESEL(3);
SET_EDGE_GAIN_H2(15);
SET_EDGE_GAIN_H(0);
SET_EDGE_GAIN_VB(15);
ENABLE_EMBOSS1;
ENABLE_EMBOSS2;
SET_INTERPOLATION_THRE_LEDGE(127);
/* Color Matrix*/
SET_COLOR_MATRIX1(0,0,0);
SET_COLOR_MATRIX2(0,0,0);
SET_COLOR_MATRIX3(0,0,0);
/* Flare setting */
SET_GAMMA_RGB_FLARE_SIGN_R_LOW;
SET_GAMMA_RGB_FLARE_R(63);
SET_GAMMA_RGB_FLARE_SIGN_G_LOW;
SET_GAMMA_RGB_FLARE_G(63);
SET_GAMMA_RGB_FLARE_SIGN_B_LOW;
SET_GAMMA_RGB_FLARE_B(63);
/* Contrast Gain setting */
SET_AWB_R_GAIN(255);
SET_AWB_G_GAIN(255);
SET_AWB_B_GAIN(255);
}
/*************************************************************************
* FUNCTION
* effect_enc_embossment
*
* DESCRIPTION
* This function provides embossment effect in PREVIEW, CAPTURE and
* MPEG4 ENCODE mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_enc_embossment(void)
{
/* Hue setting */
SET_HUE_U_GAIN(0);
SET_HUE_V_GAIN(0);
/* Edge setting */
ENABLE_RGB_EDGE_GAIN;
DISABLE_EDGE_EFFECT_OIL;
SET_EDGE_GAIN_KNEESEL(3);
SET_EDGE_GAIN_LINE(2);
SET_EDGE_GAIN_H2(31);
SET_EDGE_GAIN_H(0);
SET_EDGE_SPECI_PONLY(0);
SET_EDGE_SPECI_GAIN(0);
SET_EDGE_GAIN_VB(31);
DISABLE_EDGE_GAIN_SPECIABS;
DISABLE_EDGE_GAIN_SPECIINV;
DISABLE_OPD_GAMMA_OUT_INVERSION;
SET_EDGE_CORE_H(8);
SET_EDGE_V_CTRL_E_TH1_V(8);
ENABLE_EMBOSS1;
ENABLE_EMBOSS2;
SET_INTERPOLATION_THRE_LEDGE(127);
/* Color Matrix*/
SET_COLOR_MATRIX1(0,0,0);
SET_COLOR_MATRIX2(0,0,0);
SET_COLOR_MATRIX3(0,0,0);
/* Flare setting */
SET_GAMMA_RGB_FLARE_SIGN_R_LOW;
SET_GAMMA_RGB_FLARE_R(63);
SET_GAMMA_RGB_FLARE_SIGN_G_LOW;
SET_GAMMA_RGB_FLARE_G(63);
SET_GAMMA_RGB_FLARE_SIGN_B_LOW;
SET_GAMMA_RGB_FLARE_B(63);
/* Contrast Gain setting */
SET_AWB_R_GAIN(255);
SET_AWB_G_GAIN(255);
SET_AWB_B_GAIN(255);
}
/*************************************************************************
* FUNCTION
* effect_enc_bluecarving
*
* DESCRIPTION
* This function provides blue carving effect in PREVIEW, CAPTURE and
* MPEG4 ENCODE mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_enc_bluecarving(void)
{
/* Hue setting */
SET_HUE_U_GAIN(0);
SET_HUE_V_GAIN(0);
SET_HUE_U_OFFSET(88);
SET_HUE_V_OFFSET(158);
/* Edge setting */
ENABLE_RGB_EDGE_GAIN;
DISABLE_EDGE_EFFECT_OIL;
SET_EDGE_GAIN_KNEESEL(3);
SET_EDGE_GAIN_LINE(2);
SET_EDGE_GAIN_H2(31);
SET_EDGE_GAIN_H(0);
SET_EDGE_SPECI_PONLY(0);
SET_EDGE_SPECI_GAIN(0);
SET_EDGE_GAIN_VB(31);
DISABLE_EDGE_GAIN_SPECIABS;
DISABLE_EDGE_GAIN_SPECIINV;
DISABLE_OPD_GAMMA_OUT_INVERSION;
SET_EDGE_CORE_H(8);
SET_EDGE_V_CTRL_E_TH1_V(8);
ENABLE_EMBOSS1;
ENABLE_EMBOSS2;
SET_INTERPOLATION_THRE_LEDGE(127);
/* Color Matrix*/
SET_COLOR_MATRIX1(0,0,0);
SET_COLOR_MATRIX2(0,0,0);
SET_COLOR_MATRIX3(0,0,0);
/* Flare setting */
SET_GAMMA_RGB_FLARE_SIGN_R_LOW;
SET_GAMMA_RGB_FLARE_R(0);
SET_GAMMA_RGB_FLARE_SIGN_G_LOW;
SET_GAMMA_RGB_FLARE_G(0);
SET_GAMMA_RGB_FLARE_SIGN_B_LOW;
SET_GAMMA_RGB_FLARE_B(0);
/* Contrast Gain setting */
SET_AWB_R_GAIN(128);
SET_AWB_G_GAIN(128);
SET_AWB_B_GAIN(128);
}
/*************************************************************************
* FUNCTION
* effect_enc_contrast
*
* DESCRIPTION
* This function provides high contrast effect in PREVIEW, CAPTURE and
* MPEG4 ENCODE mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_enc_contrast(void)
{
/* Hue setting */
SET_HUE_U_GAIN(0);
SET_HUE_V_GAIN(0);
/* Edge setting */
ENABLE_RGB_EDGE_GAIN;
ENABLE_EDGE_EFFECT_OIL;
SET_EDGE_GAIN_KNEESEL(0);
SET_EDGE_GAIN_LINE(0);
SET_EDGE_GAIN_H2(0);
SET_EDGE_GAIN_H(0);
SET_EDGE_SPECI_PONLY(0);
SET_EDGE_SPECI_GAIN(0);
SET_EDGE_GAIN_VB(0);
SET_EDGE_CORE_H(0);
SET_EDGE_V_CTRL_E_TH1_V(35);
/* Contrast setting */
SET_Y_CONTRAST_GAIN(127);
/* Brightness setting */
SET_Y_BRIGHT_OFFSET(255);
}
/*************************************************************************
* FUNCTION
* effect_enc_jean
*
* DESCRIPTION
* This function provides jean effect in PREVIEW, CAPTURE and
* MPEG4 ENCODE mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_enc_jean(void)
{
/* Hue setting */
SET_HUE_U_GAIN(0);
SET_HUE_V_GAIN(0);
SET_HUE_U_OFFSET(88);
SET_HUE_V_OFFSET(158);
/* Edge setting */
ENABLE_RGB_EDGE_GAIN;
DISABLE_EDGE_EFFECT_OIL;
SET_EDGE_GAIN_KNEESEL(3);
SET_EDGE_GAIN_LINE(15);
SET_EDGE_GAIN_H2(31);
SET_EDGE_GAIN_H(15);
SET_EDGE_SPECI_PONLY(0);
SET_EDGE_SPECI_GAIN((kal_uint32)2);
SET_EDGE_GAIN_VB(31);
SET_EDGE_CORE_H(0);
SET_EDGE_V_CTRL_E_TH1_V(4);
ENABLE_EMBOSS2;
}
/*************************************************************************
* FUNCTION
* effect_enc_sketch
*
* DESCRIPTION
* This function provides sketch effect in PREVIEW, CAPTURE and
* MPEG4 ENCODE mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_enc_sketch(void)
{
/* Hue setting */
SET_HUE_U_GAIN(0);
SET_HUE_V_GAIN(0);
/* Edge setting */
ENABLE_RGB_EDGE_GAIN;
DISABLE_EDGE_EFFECT_OIL;
SET_EDGE_GAIN_KNEESEL(0);
SET_EDGE_GAIN_LINE(15);
SET_EDGE_GAIN_H2(31);
SET_EDGE_GAIN_H(0);
SET_EDGE_SPECI_PONLY(0);
SET_EDGE_SPECI_GAIN(0);
SET_EDGE_GAIN_VB(31);
ENABLE_EDGE_GAIN_SPECIABS;
DISABLE_EDGE_GAIN_SPECIINV;
DISABLE_OPD_GAMMA_OUT_INVERSION;
SET_EDGE_CORE_H(0);
SET_EDGE_V_CTRL_E_TH1_V(4);
ENABLE_EMBOSS1;
ENABLE_EMBOSS2;
SET_INTERPOLATION_THRE_LEDGE(127);
/* Color Matrix*/
SET_COLOR_MATRIX1(0,0,0);
SET_COLOR_MATRIX3(0,0,0);
}
/*************************************************************************
* FUNCTION
* effect_enc_oil
*
* DESCRIPTION
* This function provides oil effect in PREVIEW, CAPTURE and
* MPEG4 ENCODE mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_enc_oil(void)
{
/* Hue setting */
SET_HUE_U_GAIN(50);
SET_HUE_V_GAIN(50);
/* Edge setting */
ENABLE_RGB_EDGE_GAIN;
ENABLE_EDGE_EFFECT_OIL;
SET_EDGE_GAIN_KNEESEL(3);
SET_EDGE_GAIN_LINE(15);
SET_EDGE_GAIN_H2(31);
SET_EDGE_GAIN_H(15);
SET_EDGE_SPECI_PONLY(0);
SET_EDGE_SPECI_GAIN(1);
SET_EDGE_GAIN_VB(31);
SET_EDGE_CORE_H(0);
SET_EDGE_V_CTRL_E_TH1_V(35);
DISABLE_EMBOSS1;
ENABLE_EMBOSS2;
}
/*************************************************************************
* FUNCTION
* effect_dec_grayscale
*
* DESCRIPTION
* This function provides gray scale effect in VIDEO PLAYBACK, IMAGE PLAYBACK
* and POST-PORCESSING mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_dec_grayscale(void)
{
IMGPROC_PIXEL_EFFECT_STURCT pixel_effect_para;
/* config Image Processor */
pixel_effect_para.hsa=IMGPROC_HSA_GRAY;
pixel_effect_para.cba=0;
pixel_effect_para.inv=0;
pixel_effect_para.clr=0;
pixel_effect_para.gma=0;
#if (defined(MT6219)||defined(MT6226)||defined(MT6226M)||defined(MT6227))
/* config Image DMA */
IMGDMA_Init();
IMGDMA_Open(SCENARIO_IMG_EFFECT_ID);
IMGPROC_SetPixelEffect( &pixel_effect_para, SCENARIO_IMG_EFFECT_ID);
/* start Image Processor */
IMGPROC_Start(SCENARIO_IMG_EFFECT_ID);
/* start Image DMA */
IMGDMA_IBW1Config( &ibw1_para, 1, SCENARIO_IMG_EFFECT_ID);
IMGDMA_IBR1Config( &ibr1_para, 1, SCENARIO_IMG_EFFECT_ID);
/* wait Image DMA */
imgdma_wait_done();
/* close Image DMA */
IMGDMA_Close(SCENARIO_IMG_EFFECT_ID);
#elif (defined(MT6228)||defined(MT6229)||defined(MT6230))
ipp_config_data.pixel_effect_para=pixel_effect_para;
config_pixel_effect_data_path(&ipp_config_data);
/* wait Image DMA */
imgdma_wait_done();
#endif
}
/*************************************************************************
* FUNCTION
* effect_dec_sepia
*
* DESCRIPTION
* This function provides sepia effect in VIDEO PLAYBACK, IMAGE PLAYBACK
* and POST-PORCESSING mode.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void effect_dec_sepia(void)
{
IMGPROC_PIXEL_EFFECT_STURCT pixel_effect_para;
/* config Image Processor */
pixel_effect_para.hsa=IMGPROC_HSA_COLORIZE;
pixel_effect_para.cba=0;
pixel_effect_para.inv=0;
pixel_effect_para.clr=0;
pixel_effect_para.gma=0;
#if (defined(MT6219)||defined(MT6226)||defined(MT6226M)||defined(MT6227))
/* config Image DMA */
IMGDMA_Init();
IMGDMA_Open(SCENARIO_IMG_EFFECT_ID);
IMGPROC_SetPixelEffect( &pixel_effect_para, SCENARIO_IMG_EFFECT_ID);
DRV_WriteReg32(IMGPROC_COLORIZEU, -30);
DRV_WriteReg32(IMGPROC_COLORIZEV, 36);
/* start Image Processor */
IMGPROC_Start(SCENARIO_IMG_EFFECT_ID);
/* start Image DMA */
IMGDMA_IBW1Config( &ibw1_para, 1, SCENARIO_IMG_EFFECT_ID);
IMGDMA_IBR1Config( &ibr1_para, 1, SCENARIO_IMG_EFFECT_ID);
/* wait Image DMA */
imgdma_wait_done();
/* close Image DMA */
IMGDMA_Close(SCENARIO_IMG_EFFECT_ID);
#elif (defined(MT6228)||defined(MT6229)||defined(MT6230))
ipp_config_data.pixel_effect_para=pixel_effect_para;
DRV_WriteReg32(IMGPROC_COLORIZEU, -30);
DRV_WriteReg32(IMGPROC_COLORIZEV, 36);
config_pixel_effect_data_path(&ipp_config_data);
/* wait Image DMA */
imgdma_wait_done();
#endif
}
/*************************************************************************
* FUNCTION
* effect_dec_sepiagreen
*
* DESCRIPTION
* This function provides green sepia effect in VIDEO PLAYBACK, IMAGE PLAYBACK
* and POST-PORCESSING mode.
*
* PARAMETERS
* None
*
* RETURNS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -