mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			
		
			
				
	
	
		
			811 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			C
		
	
	
			
		
		
	
	
			811 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			C
		
	
	
| /* Copyright (c) 2018-2019 Sigmastar Technology Corp.
 | ||
|  All rights reserved.
 | ||
| 
 | ||
|  Unless otherwise stipulated in writing, any and all information contained
 | ||
| herein regardless in any format shall remain the sole proprietary of
 | ||
| Sigmastar Technology Corp. and be kept in strict confidence
 | ||
| (Sigmastar Confidential Information) by the recipient.
 | ||
| Any unauthorized act including without limitation unauthorized disclosure,
 | ||
| copying, use, reproduction, sale, distribution, modification, disassembling,
 | ||
| reverse engineering and compiling of the contents of Sigmastar Confidential
 | ||
| Information is unlawful and strictly prohibited. Sigmastar hereby reserves the
 | ||
| rights to any and all damages, losses, costs and expenses resulting therefrom.
 | ||
| */
 | ||
| 
 | ||
| #ifndef _MI_IVE_H_
 | ||
| #define _MI_IVE_H_
 | ||
| 
 | ||
| #ifdef __cplusplus
 | ||
| #if __cplusplus
 | ||
| extern "C"{
 | ||
| #endif
 | ||
| #endif /* End of #ifdef __cplusplus */
 | ||
| 
 | ||
| #include "mi_ive_datatype.h"
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Create
 | ||
| *   Description  : Create IVE handle
 | ||
| *   Parameters   : MI_IVE_HANDLE            hHandle         Handle ID of a task
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Create(MI_IVE_HANDLE hHandle);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Destroy
 | ||
| *   Description  : Destroy IVE handle
 | ||
| *   Parameters   : MI_IVE_HANDLE            hHandle         Handle ID of a task
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Destroy(MI_IVE_HANDLE hHandle);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Filter
 | ||
| *   Description  : 5x5 template filter.
 | ||
| *   Parameters   : MI_IVE_HANDLE            hHandle         Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t       *pstSrc             Input source data.
 | ||
| *                                                               The U8C1,SP420 and SP422 input formats are supported.
 | ||
| *                  MI_IVE_DstImage_t       *pstDst             Output result, of same type with the input.
 | ||
| *                  MI_IVE_FilterCtrl_t     *pstFltCtrl         Control parameters of filter
 | ||
| *                  MI_BOOL                  bInstant            Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Filter(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_FilterCtrl_t *pstFltCtrl,MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Csc
 | ||
| *   Description  : YUV2RGB\YUV2HSV\YUV2LAB\RGB2YUV color space conversion are supported.
 | ||
| *   Parameters   : MI_IVE_HANDLE         hHandle       Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t    *pstSrc           Input source data:
 | ||
| *                                                          1. SP420\SP422 type for YUV2RGB\YUV2HSV\YUV2LAB;
 | ||
| *                                                          2. U8C3_PACKAGE\U8C3_PLANAR type for RGB2YUV;
 | ||
| *                  MI_IVE_DstImage_t    *pstDst           Output result:
 | ||
| *                                                          1. U8C3_PACKAGE\U8C3_PLANAR typed for YUV2RGB\YUV2HSV\YUV2LAB;
 | ||
| *                                                          2. SP420\SP422 type for RGB2YUV;
 | ||
| *                  MI_IVE_CscCtrl_t     *pstCscCtrl       Control parameters for CSC
 | ||
| *                  MI_BOOL               bInstant         Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Csc(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_CscCtrl_t *pstCscCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_FilterAndCsc
 | ||
| *   Description  : Only support YUV2RGB color space conversion.
 | ||
| *   Parameters   : MI_IVE_HANDLE                 hHandle        Handle ID of a task.
 | ||
| *                  MI_IVE_SrcImage_t            *pstSrc            Input source data.Only SP420\SP422 type are supported.
 | ||
| *                  MI_IVE_DstImage_t            *pstDst            Output result.Only U8C3_PACKAGE\U8C3_PLANAR are supported.
 | ||
| *                  MI_IVE_FilterAndCscCtrl_t  *pstFltCscCtrl     Control parameters.
 | ||
| *                  MI_BOOL                       bInstant          Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_FilterAndCsc(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|         MI_IVE_DstImage_t *pstDst, MI_IVE_FilterAndCscCtrl_t *pstFltCscCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Sobel
 | ||
| *   Description  : SOBEL is used to extract the gradient information.
 | ||
| *   Parameters   : MI_IVE_HANDLE           hHandle      Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t      *pstSrc          Input source data. Only the U8C1 input image is supported.
 | ||
| *                  MI_IVE_DstImage_t      *pstDstH         The (horizontal) result of input image filtered by the input mask;
 | ||
| *                  MI_IVE_DstImage_t      *pstDstV         The (vertical) result  of input image filtered by the transposed mask;
 | ||
| *                  MI_IVE_SobelCtrl_t     *pstSobelCtrl    Control parameters
 | ||
| *                  MI_BOOL                 bInstant        Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Sobel(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|         MI_IVE_DstImage_t *pstDstH, MI_IVE_DstImage_t *pstDstV,
 | ||
|         MI_IVE_SobelCtrl_t *pstSobelCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_MagAndAng
 | ||
| *   Description  : MagAndAng is used to extract the edge information.
 | ||
| *   Parameters   : MI_IVE_HANDLE              hHandle         Handle ID of a task
 | ||
| *                  MI_IVE_SRC_INFO_S          *pstSrc             Input source data. Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_MemInfo_t          *pstDstMag          Output magnitude.
 | ||
| *                  MI_IVE_MemInfo_t          *pstDstAng          Output angle.
 | ||
| *                                                              If the output mode is set to magnitude only,
 | ||
| *                                                              this item can be set to null.
 | ||
| *                  MI_IVE_MagAndAngCtrl_t  *pstMagAndAngCtrl   Control parameters
 | ||
| *                  MI_BOOL                    bInstant           Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_MagAndAng(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|         MI_IVE_DstImage_t *pstDstMag, MI_IVE_DstImage_t *pstDstAng,
 | ||
|         MI_IVE_MagAndAngCtrl_t *pstMagAndAngCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Dilate
 | ||
| *   Description  : 5x5 template dilate. Only the U8C1 binary image input is supported.Or else the result is not expected.
 | ||
| *   Parameters   : MI_IVE_HANDLE             hHandle          Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t        *pstSrc              Input binary image, which consists of 0 or 255;
 | ||
| *                  MI_IVE_DstImage_t        *pstDst              Output result.
 | ||
| *                  MI_IVE_DilateCtrl_t      *pstDilateCtrl       Control parameters.
 | ||
| *                  MI_BOOL                   bInstant            Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The input value, output value, and mask value must be 0 or 255.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Dilate(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_DilateCtrl_t *pstDilateCtrl,MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Erode
 | ||
| *   Parameters   : 5x5 template erode. Only the U8C1 binary image input is supported.Or else the result is not correct.
 | ||
| *   Input        : MI_IVE_HANDLE               hHandle       Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t          *pstSrc           Input binary image, which consists of 0 or 255;
 | ||
| *                  MI_IVE_DstImage_t          *pstDst           Output result.
 | ||
| *                  MI_IVE_ErodeCtrl_t         *pstErodeCtrl     Control parameters
 | ||
| *                  MI_BOOL                     bInstant         Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The input value, output value, and mask value must be 0 or 255.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Erode(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_ErodeCtrl_t *pstErodeCtrl,MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Thresh
 | ||
| *   Description  : Thresh operation to the input image.
 | ||
| *   Parameters   : MI_IVE_HANDLE           hHandle       Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t      *pstSrc           Input source data. Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t      *pstDst           Output result
 | ||
| *                  MI_IVE_ThreshCtrl_t    *pstThrCtrl    Control parameters
 | ||
| *                  MI_BOOL                 bInstant         Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Thresh(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_ThreshCtrl_t *pstThrCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_And
 | ||
| *   Description  : Binary images' And operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle       Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1          The input source1. Only U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2          The input source2.Only U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst           Output result of " src1 & src2 ".
 | ||
| *                  MI_BOOL              bInstant         Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of two input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_And(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1,
 | ||
|     MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstImage_t *pstDst, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Sub
 | ||
| *   Description  : Two gray images' Sub operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle   Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1      Minuend of the input source.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2      Subtrahend of the input source.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst       Output result of src1 minus src2
 | ||
| *                  MI_IVE_SubCtrl_t      *pstSubCtrl   Control parameter
 | ||
| *                  MI_BOOL              bInstant     Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of two input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Sub(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1,
 | ||
|     MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstImage_t *pstDst, MI_IVE_SubCtrl_t *pstSubCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Or
 | ||
| *   Description  : Two binary images' Or operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle    Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1       Input source1. Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2       Input source2. Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst        Output result src1 or src2
 | ||
| *                  MI_BOOL              bInstant        Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of two input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Or(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1,
 | ||
|     MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstImage_t *pstDst, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_INTEG
 | ||
| *   Description  : Calculate the input gray image's integral image.
 | ||
| *   Parameters   : MI_IVE_HANDLE           hHandle        Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t      *pstSrc            Input source data.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t      *pstDst            Output result.Can be U32C1 or U64C1, relied on the control parameter.
 | ||
| *                  MI_IVE_IntegCtrl_t     *pstIntegCtrl      Integ Control
 | ||
| *                  MI_BOOL                  bInstant          Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The pixel can be 32bit or 64 bit relied on the control parameter.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Integ(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_IntegCtrl_t *pstIntegCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Hist
 | ||
| *   Description  : Calculate the input gray image's histogram.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle      Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc          Input source data. Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstMemInfo_t  *pstDst          Output result.
 | ||
| *                  MI_BOOL              bInstant        Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Hist(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstMemInfo_t *pstDst, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_ThreshS16
 | ||
| *   Description  : S16 image's THRESH operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE              hHandle             Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t         *pstSrc                 Input source data.Only the S16 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t         *pstDst                 Output result.
 | ||
| *                  MI_IVE_ThreshS16Ctrl_t   *pstThrS16Ctrl          Control parameters
 | ||
| *                  MI_BOOL                  bInstant               Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of the input data must be 2-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_ThreshS16(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_ThreshS16Ctrl_t *pstThrS16Ctrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_ThreshU16
 | ||
| *   Description  : U16 image's THRESH operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE                hHandle        Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t           *pstSrc            Input source data. Only the U16 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t           *pstDst            Output result
 | ||
| *                  MI_IVE_ThreshU16Ctrl_t     *pstThrU16Ctrl     Control parameters
 | ||
| *                  MI_BOOL                    bInstant          Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of the input data must be 2-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_ThreshU16(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_ThreshU16Ctrl_t *pstThrU16Ctrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_16BitTo8Bit
 | ||
| *   Description  : Scale the input 16bit data to the output 8bit data.
 | ||
| *   Parameters   : MI_IVE_HANDLE                hHandle              Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t           *pstSrc                  Input source data.Only U16C1\S16C1 input is supported.
 | ||
| *                  MI_IVE_DstImage_t           *pstDst                  Output result
 | ||
| *                  MI_IVE_16BITTO8BIT_CTRL_S    *pst16BitTo8BitCtrl      control parameter
 | ||
| *                  MI_BOOL                    bInstant                Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of the input data must be 2-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_16BitTo8Bit(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_16bitTo8BitCtrl_t *pst16BitTo8BitCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_OrdStatFilter
 | ||
| *   Description  : Order Statistic Filter. It can be used as median\max\min value filter.
 | ||
| *   Parameters   : MI_IVE_HANDLE                   hHandle          Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t              *pstSrc              Input source data. Only U8C1 input is supported
 | ||
| *                  MI_IVE_DstImage_t              *pstDst              Output result
 | ||
| *                  MI_IVE_OrdStatFilter_t   *pstOrdStatFltCtrl   Control parameter
 | ||
| *                  MI_BOOL                         bInstant            Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_OrdStatFilter(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_OrdStatFilter_t *pstOrdStatFltCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Map
 | ||
| *   Description  : Map a image to another through a lookup table.
 | ||
| *   Parameters   : MI_IVE_HANDLE           hHandle  Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t      *pstSrc          Input source. Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcMemInfo_t   *pstMap          Input lookup table. Must be an U8 array of size 256.
 | ||
| *                  MI_IVE_DstImage_t      *pstDst          Output result.
 | ||
| *                  MI_BOOL                  bInstant        Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Map(MI_IVE_HANDLE hHandle,MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_SrcMemInfo_t *pstMap, MI_IVE_DstImage_t *pstDst,MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_EqualizeHist
 | ||
| *   Description  : Enhance the input image's contrast through histogram equalization.
 | ||
| *   Parameters   : MI_IVE_HANDLE                 hHandle              Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t            *pstSrc                  Input source.Only U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t            *pstDst                  Output result.
 | ||
| *                  MI_IVE_EQUALIZEHIST_CTRL_S    *pstEqualizeHistCtrl     EqualizeHist control parameter.
 | ||
| *                  MI_BOOL                     bInstant                Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The physical addresses of map data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_EqualizeHist(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_EqualizeHistCtrl_t *pstEqualizeHistCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Add
 | ||
| *   Description  : Two gray images' Add operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle      Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1         Augend of the input source.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2         Addend of the input source.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst          Output result of src1 plus src2
 | ||
| *                  MI_IVE_AddCtrl_t      *pstAddCtrl      Control parameter
 | ||
| *                  MI_BOOL                bInstant        Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of two input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Add(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1,
 | ||
|     MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstImage_t *pstDst, MI_IVE_AddCtrl_t *pstAddCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Xor
 | ||
| *   Description  : Two binary images' Xor operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE           hHandle    Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t      *pstSrc1       The input source1.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcImage_t      *pstSrc2       The input source2.
 | ||
| *                  MI_IVE_DstImage_t      *pstDst        Output result
 | ||
| *                  MI_BOOL                  bInstant      Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of two input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Xor(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1,
 | ||
|     MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstImage_t *pstDst, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Ncc
 | ||
| *   Description  : Calculate two gray images' NCC (Normalized Cross Correlation).
 | ||
| *   Parameters   : MI_IVE_HANDLE            hHandle     Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t       *pstSrc1        Input source1. Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcImage_t       *pstSrc2        Input source2. Must be of the same type<70><65>size of source1.
 | ||
| *                  MI_IVE_DstMemInfo_t    *pstDst         Output result
 | ||
| *                  MI_BOOL                  bInstant       Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Ncc(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1,
 | ||
|     MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstMemInfo_t *pstDst, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Ccl
 | ||
| *   Description  : Connected Component Labeling. Only 8-Connected method is supported.
 | ||
| *   Parameters   : MI_IVE_HANDLE         hHandle      Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrcDst       Input source
 | ||
| *                  MI_IVE_DstMemInfo_t   *pstBlob         Output result of detected region;
 | ||
| *                  MI_IVE_CclCtrl_t      *pstCclCtrl      CCL control parameter
 | ||
| *                  MI_BOOL               bInstant        Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 720x640 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Ccl(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrcDst,
 | ||
|     MI_IVE_DstMemInfo_t *pstBlob, MI_IVE_CclCtrl_t *pstCclCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Gmm
 | ||
| *   Description  : Separate foreground and background using GMM(Gaussian Mixture Model) method;
 | ||
| *                  Gray or RGB GMM are supported.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle  Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc       Input source. Only support U8C1 or U8C3_PACKAGE input.
 | ||
| *                  MI_IVE_DstImage_t     *pstFg        Output foreground (Binary) image.
 | ||
| *                  MI_IVE_DstImage_t     *pstBg        Output background image. Of the sampe type of pstSrc.
 | ||
| *                  MI_IVE_MemInfo_t      *pstModel     Model data.
 | ||
| *                  MI_IVE_GmmCtrl_t      *pstGmmCtrl   Control parameter.
 | ||
| *                  MI_BOOL                bInstant     Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 720x576 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Gmm(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc, MI_IVE_DstImage_t *pstFg,
 | ||
|     MI_IVE_DstImage_t *pstBg, MI_IVE_MemInfo_t *pstModel, MI_IVE_GmmCtrl_t *pstGmmCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_CannyHysEdge
 | ||
| *   Description  : The first part of canny Edge detection. Including step: gradient calculation,
 | ||
| *                  magnitude and angle calculation, hysteresis threshold, NMS(Non-Maximum Suppression)
 | ||
| *   Parameters   : MI_IVE_HANDLE           hHandle        Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t      *pstSrc            Input source. Only the U8C1 input format is supported
 | ||
| *                  MI_IVE_DstImage_t      *pstEdge           Output result.
 | ||
| *                  MI_IVE_DstMemInfo_t   *pstStack          OutPut stack for CannyEdge
 | ||
| *                  MI_IVE_CannyHysEdgeCtrl_t     *pstCannyHysEdgeCtrl      Control parameter.
 | ||
| *                  MI_BOOL                  bInstant          Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned. .
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_CannyHysEdge(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc, MI_IVE_DstImage_t *pstEdge,
 | ||
|        MI_IVE_DstMemInfo_t *pstStack, MI_IVE_CannyHysEdgeCtrl_t *pstCannyHysEdgeCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_CannyEdge
 | ||
| *   Description  : The second part of canny Edge detection: trace strong edge by weak edge.
 | ||
| *   Parameters   : MI_IVE_SrcImage_t      *pstEdge        Input and Output source. Only the U8C1 format is supported
 | ||
| *                  MI_IVE_MemInfo_t   *pstStack       stack for CannyEdge
 | ||
| *                  MI_BOOL             bInstant       Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_CannyEdge(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstEdge, MI_IVE_MemInfo_t *pstStack, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Lbp
 | ||
| *   Description  : LBP calculation using the original method and a extensional method.
 | ||
| *   Parameters   : MI_IVE_HANDLE         hHandle     Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t    *pstSrc         Input source.Only the U8C1 inpu format is supported.
 | ||
| *                  MI_IVE_DstImage_t    *pstDst         Output result
 | ||
| *                  MI_IVE_LbpCtrrl_t     *pstLbpCtrl     Control parameter
 | ||
| *                  MI_BOOL             bInstant       Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Lbp(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1, MI_IVE_SrcImage_t *pstSrc2,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_IVE_LbpCtrrl_t *pstLbpCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_NormGrad
 | ||
| *   Description  : Gradient calculation and the output is normalized to S8.
 | ||
| *   Parameters   : MI_IVE_HANDLE             hHandle        Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t        *pstSrc            Input source data
 | ||
| *                  MI_IVE_DstImage_t        *pstDstH           The (horizontal) result of input image filtered by the input mask;
 | ||
| *                  MI_IVE_DstImage_t        *pstDstV           The (vertical) result  of input image filtered by the transposed mask;
 | ||
| *                  MI_IVE_DstImage_t        *pstDstHV          Output the horizontal and vertical component in single image in package format.
 | ||
| *                  MI_IVE_NormGradCtrl_t   *pstNormGradCtrl   Control parameter
 | ||
| *                  MI_BOOL                 bInstant          Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1024 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_NormGrad(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDstH, MI_IVE_DstImage_t *pstDstV, MI_IVE_DstImage_t *pstDstHV,
 | ||
|     MI_IVE_NormGradCtrl_t *pstNormGradCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_LkOpticalFlow
 | ||
| *   Description  : Calculate LK-Optical Flow in single-layer of the pyramid.
 | ||
| *   Parameters   : MI_IVE_HANDLE                  hHandle          Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t             *pstSrcPre           Pre-frame input source.Must be U8C1 image
 | ||
| *                  MI_IVE_SrcImage_t             *pstSrcCur         Cur-frame input source.Same size<7A><65>type with pstPreSrc.
 | ||
| *                  MI_IVE_SrcMemInfo_t          *pstPoint           Intresting points coordinates in the cur-layer
 | ||
| *                                                                   for LKOpticalFlow tracking.
 | ||
| *                  MI_IVE_MemInfo_t              *pstMv               Accumlative movements of the interesting points in pre-layers
 | ||
| *                                                                   or init 0s for the first-layer as input.                                                                init 0s .
 | ||
| *                                                                   Movements of the interesting points being tracked in cur-layer
 | ||
| *                                                                   as output.
 | ||
| *                  MI_IVE_LKOPTICALFLOW_CTRL_S    *pstLkOptiFlowCtrl   Control parameters.
 | ||
| *                  MI_BOOL                      bInstant            Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 720x576 pixels.
 | ||
| *                  The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| ****************************************************************************/
 | ||
| MI_S32 MI_IVE_LkOpticalFlow(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrcPre, MI_IVE_SrcImage_t *pstSrcCur,
 | ||
|     MI_IVE_SrcMemInfo_t *pstPoint, MI_IVE_MemInfo_t *pstMv, MI_IVE_LkOpticalFlowCtrl_t *pstLkOptiFlowCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Sad
 | ||
| *   Description  : Sum of absolute differences.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle   Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1      The input source1.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2      The input source2.Only the U8C1 input format is supported.
 | ||
| *                  MI_IVE_DstImage_t     *pstSad       Output result of sad value.Only the U8C1/U16C1 format is supported.
 | ||
| *                  MI_IVE_DstImage_t     *pstThr       Output result of thresh.Only the U8C1 format is supported.
 | ||
| *                  MI_IVE_SadCtrl_t        *pstSadCtrl   Control parameter
 | ||
| *                  MI_BOOL             bInstant      Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of two input sources must be the same.
 | ||
| *                    Not support in hi3516a
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Sad(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1,
 | ||
|     MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstImage_t *pstSad, MI_IVE_DstImage_t *pstThr,
 | ||
|     MI_IVE_SadCtrl_t *pstSadCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Resize
 | ||
| *   Description  : Resize image
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle   Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc                 Input source.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst                Output result
 | ||
| *                  MVE_IVE_ResizeCtrl_t  *pstResizeCtrl      Control parameters.
 | ||
| *                  MI_BOOL             bInstant      Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec     : The size of the input data ranges from 32x12 pixels to 1920x1080 pixels.
 | ||
| *                  The input and output height must be 2-pixel-aligned with mode YUV420SP.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Resize(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst, MVE_IVE_ResizeCtrl_t *pstResizeCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Bernsen
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                hHandle                 Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t          *pstSrc                  Input source.
 | ||
| *                        MI_IVE_DstImage_t          *pstDst                  Output result
 | ||
| *                        MVE_IVE_BernsenCtrl_t    *pstBernsenCtrl      Control parameters.
 | ||
| *                        MI_BOOL                          bInstant                 Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec       :     The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                        The stride must be 16-pixel-aligned.
 | ||
| *                        The type of source  and destination must be U8C1.
 | ||
| *                        The input size and output size must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Bernsen(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstImage_t *pstDst,MVE_IVE_BernsenCtrl_t *pstBernsenCtrl,MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_AdpThresh
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                hHandle                 Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t          *pstSrc                  Input source.
 | ||
| *                        MI_IVE_SrcImage_t          *pstInteg               Input integral image of source.
 | ||
| *                        MI_IVE_DstImage_t          *pstDst                  Output result
 | ||
| *                        MVE_IVE_AdpThreshCtrl_t    *pstAdpThrCtrl      Control parameters.
 | ||
| *                        MI_BOOL                          bInstant                 Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec       :     The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                        The type of source  and destination must be U8C1.
 | ||
| *                        The stride must be 16-pixel-aligned.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_AdpThresh(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_SrcImage_t *pstInteg, MI_IVE_DstImage_t *pstDst, MVE_IVE_AdpThreshCtrl_t *pstAdpThrCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_LineFilterHor
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                      hHandle                         Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t                *pstSrcDst                     Input and output source.
 | ||
| *                        MVE_IVE_LineFilterHorCtrl_t    *pstLineFilterHorCtrl       Control parameters.
 | ||
| *                        MI_BOOL                                bInstant                         Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         :   The type of input source must be U8C1.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_LineFilterHor(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrcDst,
 | ||
|     MVE_IVE_LineFilterHorCtrl_t *pstLineFilterHorCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_LineFilterVer
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                      hHandle                         Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t                *pstSrcDst                     Input and output source.
 | ||
| *                        MVE_IVE_LineFilterVerCtrl_t    *pstLineFilterVerCtrl        Control parameters.
 | ||
| *                        MI_BOOL                                bInstant                         Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         :  The type of input source must be U8C1.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_LineFilterVer(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrcDst,
 | ||
|     MVE_IVE_LineFilterVerCtrl_t *pstLineFilterVerCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_NoiseRemoveHor
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                              hHandle                                  Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t                        *pstSrcDst                              Input and output source.
 | ||
| *                        MVE_IVE_NoiseRemoveHorCtrl_t    *pstNoiseRemoveHorCtrl        Control parameters.
 | ||
| *                        MI_BOOL                                        bInstant                                  Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         :   The type of input source must be U8C1.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_NoiseRemoveHor(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrcDst,
 | ||
|     MVE_IVE_NoiseRemoveHorCtrl_t *pstNoiseRemoveHorCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_NoiseRemoveVer
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                              hHandle                                  Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t                        *pstSrcDst                              Input and output source.
 | ||
| *                        MVE_IVE_NoiseRemoveVerCtrl_t     *pstNoiseRemoveVerCtrl         Control parameters.
 | ||
| *                        MI_BOOL                                        bInstant                                  Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         :   The type of input source must be U8C1.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_NoiseRemoveVer(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrcDst,
 | ||
|     MVE_IVE_NoiseRemoveVerCtrl_t *pstNoiseRemoveVerCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Acc
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                              hHandle                                Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t                        *pstSrc0                              First input source.
 | ||
| *                        MI_IVE_SrcImage_t                        *pstSrc1                              Second input source.
 | ||
| *                        MVE_IVE_AccCtrl_t                         *pstAccCtrl                          Control parameters.
 | ||
| *                        MI_BOOL                                        bInstant                               Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec       :     The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                        The stride must be 16-pixel-aligned.
 | ||
| *                        The size of two input source must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Acc(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc0,
 | ||
|     MI_IVE_SrcImage_t *pstSrc1, MI_IVE_DstImage_t *pstDst, MVE_IVE_AccCtrl_t *pstAccCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_MVE_BAT
 | ||
| *   Description  :
 | ||
| *   Parameters : MI_IVE_HANDLE                              hHandle                                Handle ID of a task
 | ||
| *                        MI_IVE_SrcImage_t                        *pstSrc                                 Input source.
 | ||
| *                        MI_IVE_DstMemInfo_t                    *pstDstH                              First output.
 | ||
| *                        MI_IVE_DstMemInfo_t                    *pstDstV                              Second output.
 | ||
| *                        MVE_IVE_BatCtrl_t                         *pstCtrl                                Control parameters.
 | ||
| *                        MI_BOOL                                        bInstant                               Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec       :     The physical addresses of the input data and output data must be 16-byte-aligned.
 | ||
| *                       The stride must be 16-pixel-aligned.
 | ||
| *                       The type of input source must be U8C1.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_BAT(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc,
 | ||
|     MI_IVE_DstMemInfo_t *pstDstH, MI_IVE_DstMemInfo_t *pstDstV, MVE_IVE_BatCtrl_t *pstCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Matrix_Transform
 | ||
| *   Description  : Matrix transform operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle   Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1      Input source 1.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2      Input source 2.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc3      Input source 3.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst1       Output result 1
 | ||
| *                  MI_IVE_DstImage_t     *pstDst2       Output result 2
 | ||
| *                  MI_IVE_DstImage_t     *pstDst3       Output result 3
 | ||
| *                  MI_IVE_MatrTranfCtrl_t      *pstMatrTranfCtrl   Control parameter
 | ||
| *                  MI_BOOL              bInstant     Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Matrix_Transform(MI_IVE_HANDLE hHandle,
 | ||
|     MI_IVE_SrcImage_t *pstSrc1, MI_IVE_SrcImage_t *pstSrc2, MI_IVE_SrcImage_t *pstSrc3,
 | ||
|     MI_IVE_DstImage_t *pstDst1, MI_IVE_DstImage_t *pstDst2, MI_IVE_DstImage_t *pstDst3,
 | ||
|     MI_IVE_MatrTranfCtrl_t *pstMatrTranfCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Image_Dot
 | ||
| *   Description  : Matrix transform operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle   Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1      Input source 1.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2      Input source 2.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst       Output result.
 | ||
| *                  MI_BOOL              bInstant     Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Image_Dot(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1, MI_IVE_SrcImage_t *pstSrc2,
 | ||
|     MI_IVE_DstImage_t *pstDst, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_AlphaBlending
 | ||
| *   Description  : Matrix transform operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle      Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1      Input source 1.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2      Input source 2.
 | ||
| *                  MI_IVE_SrcImage_t     *pstAlpha     Input alpha table.
 | ||
| *                  MI_IVE_DstImage_t     *pstDst1      Output result
 | ||
| *                  MI_BOOL               bInstant      Reserved
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_AlphaBlending(MI_IVE_HANDLE hHandle,
 | ||
|      MI_IVE_SrcImage_t *pstSrc1, MI_IVE_SrcImage_t *pstSrc2, MI_IVE_SrcImage_t *pstAlpha,
 | ||
|      MI_IVE_DstImage_t *pstDst, MI_BOOL bInstant);
 | ||
| 
 | ||
| /*****************************************************************************
 | ||
| *   Prototype    : MI_IVE_Shift_Detector
 | ||
| *   Description  : Matrix transform operation.
 | ||
| *   Parameters   : MI_IVE_HANDLE          hHandle   Handle ID of a task
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc1      Input source 1.
 | ||
| *                  MI_IVE_SrcImage_t     *pstSrc2      Input source 2.
 | ||
| *                  MI_IVE_DstImage_t     *pstDstX      Output result 1.
 | ||
| *                  MI_IVE_DstImage_t     *pstDstY      Output result 2.
 | ||
| *                  MI_IVE_SHIFT_DETECT_CTRL_t    *pstCtrl    Control parameters.
 | ||
| *                  MI_BOOL              bInstant     Reserved
 | ||
| 
 | ||
| *   Return Value : MI_SUCCESS: Success;Error codes: Failure.
 | ||
| *   Spec         : The size of the input data ranges from 64x64 pixels to 1920x1080 pixels.
 | ||
| *                  The stride must be 16-pixel-aligned.
 | ||
| *                  The types, widths, heights of input sources must be the same.
 | ||
| *   History:
 | ||
| *****************************************************************************/
 | ||
| MI_S32 MI_IVE_Shift_Detector(MI_IVE_HANDLE hHandle, MI_IVE_SrcImage_t *pstSrc1, MI_IVE_SrcImage_t *pstSrc2, MI_IVE_DstImage_t *pstDstX, MI_IVE_DstImage_t *pstDstY, MI_IVE_SHIFT_DETECT_CTRL_t *pstCtrl, MI_BOOL bInstant);
 | ||
| 
 | ||
| 
 | ||
| #ifdef __cplusplus
 | ||
| #if __cplusplus
 | ||
| }
 | ||
| #endif
 | ||
| #endif
 | ||
| #endif/*_MI_IVE_H_*/
 |