Qualcomm FastCV Library  1.7.1
fastcv.h
Go to the documentation of this file.
00001 #ifndef FASTCV_H
00002 #define FASTCV_H
00003 
00109 //==============================================================================
00110 // Defines
00111 //==============================================================================
00112 
00113 #ifdef __GNUC__
00114 
00115    #define FASTCV_ALIGN32( VAR ) (VAR)  __attribute__ ((aligned(4)))
00116 
00117    #define FASTCV_ALIGN64( VAR )  (VAR) __attribute__ ((aligned(8)))
00118 
00119    #define FASTCV_ALIGN128( VAR ) (VAR) __attribute__ ((aligned(16)))
00120    #ifdef BUILDING_SO
00121 
00122    #define FASTCV_API __attribute__ ((visibility ("default")))
00123    #else
00124 
00125    #define FASTCV_API
00126    #endif
00127 #else
00128 
00129    #define FASTCV_ALIGN32( VAR ) __declspec(align(4)) (VAR)
00130 
00131    #define FASTCV_ALIGN64( VAR ) __declspec(align(8)) (VAR)
00132 
00133    #define FASTCV_ALIGN128( VAR ) __declspec(align(16)) (VAR)
00134    #ifdef BUILDING_DLL
00135 
00136    #define FASTCV_API __declspec(dllexport)
00137    #else
00138 
00139    #define FASTCV_API
00140    #endif
00141 #endif
00142 
00143 //==============================================================================
00144 // Included modules
00145 //==============================================================================
00146 
00147 #include <stddef.h>
00148 #include <stdint.h>
00149 typedef float  float32_t;
00150 typedef double float64_t;
00151 
00152 //==============================================================================
00153 // Declarations
00154 //==============================================================================
00155 
00156 
00157 //------------------------------------------------------------------------------
00161 //------------------------------------------------------------------------------
00162 typedef enum
00163 {
00166    FASTCV_OP_LOW_POWER       = 0,
00167 
00169    FASTCV_OP_PERFORMANCE     = 1,
00170 
00172    FASTCV_OP_CPU_OFFLOAD     = 2,
00173 
00175    FASTCV_OP_CPU_PERFORMANCE = 3,
00176 
00178    FASTCV_OP_RESERVED        = 0x80000000
00179 
00180 } fcvOperationMode;
00181 
00182 //------------------------------------------------------------------------------
00185 //------------------------------------------------------------------------------
00186 typedef enum
00187 {
00189    FASTCV_FLIP_HORIZ    = 1,
00190 
00192    FASTCV_FLIP_VERT     = 2,
00193 
00195    FASTCV_FLIP_BOTH     = 3
00196 
00197 } fcvFlipDir;
00198 
00199 //------------------------------------------------------------------------------
00202 //------------------------------------------------------------------------------
00203 typedef enum
00204 {
00206    FASTCV_ROTATE_90     = 1,
00207 
00209    FASTCV_ROTATE_180    = 2,
00210 
00212    FASTCV_ROTATE_270    = 3
00213 
00214 } fcvRotateDegree;
00215 
00216 //------------------------------------------------------------------------------
00219 //------------------------------------------------------------------------------
00220 
00221 typedef enum
00222 {
00224    FASTCV_INTERPOLATION_TYPE_NEAREST_NEIGHBOR = 0,
00225 
00227    FASTCV_INTERPOLATION_TYPE_BILINEAR,
00228 
00230    FASTCV_INTERPOLATION_TYPE_AREA
00231 
00232 } fcvInterpolationType;
00233 
00234 //------------------------------------------------------------------------------
00237 //------------------------------------------------------------------------------
00238 
00239 typedef enum
00240 {
00245    FASTCV_CONVERT_POLICY_WRAP = 0,
00246 
00250    FASTCV_CONVERT_POLICY_SATURATE
00251 
00252 } fcvConvertPolicy;
00253 
00254 //------------------------------------------------------------------------------
00257 //------------------------------------------------------------------------------
00258 
00259 typedef enum
00260 {
00262    FASTCV_BORDER_UNDEFINED = 0,
00263 
00265    FASTCV_BORDER_CONSTANT,
00266 
00268    FASTCV_BORDER_REPLICATE
00269 
00270 } fcvBorderType;
00271 
00272 //------------------------------------------------------------------------------
00275 //------------------------------------------------------------------------------
00276 
00277 typedef enum
00278 {
00280    FASTCV_NORM_L1,
00281 
00283    FASTCV_NORM_L2
00284 
00285 } fcvNormType;
00286 
00287 //------------------------------------------------------------------------------
00290 //------------------------------------------------------------------------------
00291 
00292 typedef enum
00293 {
00295     FASTCV_CHANNEL_0,
00296 
00298     FASTCV_CHANNEL_1,
00299 
00301     FASTCV_CHANNEL_2,
00302 
00304     FASTCV_CHANNEL_3,
00305 
00307     FASTCV_CHANNEL_R,
00308 
00310     FASTCV_CHANNEL_G,
00311 
00313     FASTCV_CHANNEL_B,
00314 
00316     FASTCV_CHANNEL_A,
00317 
00319     FASTCV_CHANNEL_Y,
00320 
00322     FASTCV_CHANNEL_U,
00323 
00325     FASTCV_CHANNEL_V
00326 
00327 }  fcvChannelType;
00328 
00329 //------------------------------------------------------------------------------
00332 //------------------------------------------------------------------------------
00333 
00334 typedef enum
00335 {
00337     FASTCV_RGB,
00338 
00340     FASTCV_RGBX,
00341 
00345     FASTCV_NV12,
00346 
00350     FASTCV_NV21,
00351 
00355     FASTCV_UYVY,
00356 
00360     FASTCV_YUYV,
00361 
00364     FASTCV_IYUV,
00365 
00368     FASTCV_YUV4
00369 
00370 } fcvImageFormat;
00371 
00372 
00373 //------------------------------------------------------------------------------
00376 //------------------------------------------------------------------------------
00377 typedef enum
00378 {
00380    FASTCV_SUCCESS = 0,
00381 
00383    FASTCV_EFAIL,
00384 
00386    FASTCV_EUNALIGNPARAM,
00387 
00389    FASTCV_EBADPARAM,
00390 
00392    FASTCV_EINVALSTATE,
00393 
00395    FASTCV_ENORES,
00396 
00398    FASTCV_EUNSUPPORTED,
00399 
00401    FASTCV_EHWQDSP,
00402 
00404    FASTCV_EHWGPU
00405 
00406 } fcvStatus;
00407 
00408 
00409 //------------------------------------------------------------------------------
00412 //------------------------------------------------------------------------------
00413 typedef enum
00414 {
00415    FASTCV_SVM_LINEAR,
00416    FASTCV_SVM_POLY,
00417    FASTCV_SVM_RBF,
00418    FASTCV_SVM_SIGMOID
00419 } fcvSVMKernelType;
00420 
00421 
00422 //------------------------------------------------------------------------------
00425 //------------------------------------------------------------------------------
00426 typedef enum
00427 {
00428     FASTCV_PYRAMID_SCALE_HALF,
00429     FASTCV_PYRAMID_SCALE_ORB
00430 } fcvPyramidScale;
00431 
00432 
00433 //------------------------------------------------------------------------------
00436 //------------------------------------------------------------------------------
00437 typedef enum
00438 {
00440     FASTCV_TERM_CRITERIA_ITERATIONS,
00441 
00443     FASTCV_TERM_CRITERIA_EPSILON,
00444 
00446     FASTCV_TERM_CRITERIA_BOTH,
00447 } fcvTerminationCriteria;
00448 
00449 //------------------------------------------------------------------------------
00452 //------------------------------------------------------------------------------
00453 typedef enum
00454 {
00456    FASTCV_HOG_NORM_REGULAR = 0,
00457 
00459    FASTCV_HOG_NORM_RENORMALIZATION = 1,
00460 
00462    FASTCV_HOG_NORM_FHOG = 2,
00463 
00464 } fcvHOGNormMethod;
00465 
00466 
00467 //------------------------------------------------------------------------------
00470 //------------------------------------------------------------------------------
00471 typedef enum
00472 {
00475    FASTCV_UNBIASED_VARIANCE_ESTIMATOR = 0,
00476 
00479    FASTCV_BIASED_VARIANCE_ESTIMATOR = 1,
00480 
00481 } fcvVarianceEstimator;
00482 
00483 //------------------------------------------------------------------------------
00486 //------------------------------------------------------------------------------
00487 typedef struct
00488 {
00491    const float32_t*               from;
00492    /*~ FIELD fcvCorrespondences.from
00493        VARRAY LENGTH ( fcvCorrespondences.numCorrespondences * \
00494        (fcvCorrespondences.fromStride ? fcvCorrespondences.fromStride : 3) ) */
00495 
00498    const float32_t*               to;
00499    /*~ FIELD fcvCorrespondences.to
00500        VARRAY LENGTH ( fcvCorrespondences.numCorrespondences * \
00501        (fcvCorrespondences.toStride ? fcvCorrespondences.toStride : 2) ) */
00502 
00507    uint32_t                       fromStride;
00508 
00513    uint32_t                       toStride;
00514 
00516    uint32_t                       numCorrespondences;
00517 
00521    const uint16_t*                indices;
00522    /*~ FIELD fcvCorrespondences.indices VARRAY LENGTH (fcvCorrespondences.numIndices) */
00523 
00525    uint32_t                       numIndices;
00526 } fcvCorrespondences;
00527 
00528 
00529 // -----------------------------------------------------------------------------
00532 //------------------------------------------------------------------------------
00533 
00534 typedef struct
00535 {
00536    const void* ptr;
00537    unsigned int width;
00538    unsigned int height;
00539 } fcvPyramidLevel ;
00540 
00541 // -----------------------------------------------------------------------------
00544 //------------------------------------------------------------------------------
00545 
00546 typedef struct
00547 {
00548    const void* ptr;
00549    unsigned int width;
00550    unsigned int height;
00551    unsigned int stride;
00552 } fcvPyramidLevel_v2 ;
00553 
00554 // -----------------------------------------------------------------------------
00561 // ----------------------------------------------------------------------------
00562 typedef struct fcvKDTreeNodef32
00563 {
00565    float32_t divVal;
00566 
00570    int32_t divFeat;
00571 
00574    int32_t childLeft;
00575 
00578    int32_t childRight;
00579 
00580 } fcvKDTreeNodef32;
00581 
00582 // -----------------------------------------------------------------------------
00587 // -----------------------------------------------------------------------------
00588 typedef struct fcvKDTreeBranchf32
00589 {
00591    float32_t minDistSq;
00592 
00594    int32_t topNode;
00595 
00596 } fcvKDTreeBranchf32;
00597 
00598 // -----------------------------------------------------------------------------
00601 // -----------------------------------------------------------------------------
00602 typedef struct fcvKDTreeDatas8f32
00603 {
00604    // info about the dataset for which KDTrees are constructed
00606    const int8_t *dataset;
00607 
00609    const float32_t* invLen;
00610 
00612    int32_t numVectors;
00613 
00614    // info about trees
00616    int32_t* trees;
00617 
00619    fcvKDTreeNodef32* nodes;
00620 
00622    int32_t numNodes;
00623 
00625    int32_t maxNumNodes;
00626 
00627    // info used during lookups
00629    fcvKDTreeBranchf32* heap;
00630 
00632    int32_t numBranches;
00633 
00635    int32_t maxNumBranches;
00636 
00640    int32_t* vind;
00641 
00643    int32_t checkID;
00644 
00646    int32_t numNNs;
00647 
00648 } fcvKDTreeDatas8f32;
00649 
00650 
00651 // -----------------------------------------------------------------------------
00659 // ----------------------------------------------------------------------------
00660 typedef struct fcvKDTreeNodes32
00661 {
00663    int32_t divVal;
00664 
00668    int32_t divFeat;
00669 
00672    int32_t childLeft;
00673 
00676    int32_t childRight;
00677 
00678 } fcvKDTreeNodes32;
00679 
00680 // -----------------------------------------------------------------------------
00686 // -----------------------------------------------------------------------------
00687 typedef struct fcvKDTreeBranchs32
00688 {
00690    int32_t minDistSq;
00691 
00693    int32_t topNode;
00694 
00695 } fcvKDTreeBranchs32;
00696 
00697 // -----------------------------------------------------------------------------
00701 // -----------------------------------------------------------------------------
00702 typedef struct fcvKDTreeDatas8s32
00703 {
00704    // info about the dataset for which KDTrees are constructed
00706    const int8_t *dataset;
00707 
00709    const int32_t* invLen;
00710 
00712    int32_t numVectors;
00713 
00714    // info about trees
00716    int32_t* trees;
00717 
00719    int32_t numTrees;
00720 
00722    fcvKDTreeNodes32* nodes;
00723 
00725    int32_t numNodes;
00726 
00728    int32_t maxNumNodes;
00729 
00730    // info used during lookups
00732    fcvKDTreeBranchs32* heap;
00733 
00735    int32_t numBranches;
00736 
00738    int32_t maxNumBranches;
00739 
00743    int32_t* vind;
00744 
00746    int32_t checkID;
00747 
00749    int32_t numNNs;
00750 
00751 } fcvKDTreeDatas8s32;
00752 
00753 //------------------------------------------------------------------------------
00756 //------------------------------------------------------------------------------
00757 typedef struct
00758 {
00760     int32_t x;
00762     int32_t y;
00764     uint32_t width;
00766     uint32_t height;
00767 } fcvRectangleInt;
00768 
00769 //------------------------------------------------------------------------------
00772 //------------------------------------------------------------------------------
00773 typedef struct
00774 {
00776     int32_t      max_iter;
00778     float32_t    epsilon;
00779 }fcvTermCriteria;
00780 
00781 //------------------------------------------------------------------------------
00784 //------------------------------------------------------------------------------
00785 typedef struct
00786 {
00787     // Center of the box
00789     int32_t x;
00791     int32_t y;
00792     // The box size
00793     int32_t    columns;
00794     int32_t    rows;
00795     // The orientation of the principal axis
00796     int32_t orientation;
00797 }fcvBox2D;
00798 
00799 //------------------------------------------------------------------------------
00802 //------------------------------------------------------------------------------
00803 typedef struct {
00804     // spatial moments
00805     float32_t m00, m10, m01, m20, m11, m02, m30, m21, m12, m03;
00806     // central moments
00807     float32_t mu20, mu11, mu02, mu30, mu21, mu12, mu03;
00808     // m00 != 0 ? 1/sqrt(m00) : 0
00809     float32_t inv_sqrt_m00;
00810 } fcvMoments;
00811 
00812 //------------------------------------------------------------------------------
00815 //------------------------------------------------------------------------------
00816 typedef struct fcvBGCodeWord
00817 {
00819     struct fcvBGCodeWord* next;
00820 
00822     int32_t tLastUpdate;
00823 
00825     int32_t stale;
00827     uint8_t min0, min1, min2;
00828 
00830     uint8_t max0, max1, max2;
00831 
00833     uint8_t learnLow0, learnLow1, learnLow2;
00834 
00836     uint8_t learnHigh0, learnHigh1, learnHigh2;
00837 } fcvBGCodeWord;
00838 
00839 //------------------------------------------------------------------------------
00842 //------------------------------------------------------------------------------
00843 typedef struct fcvCircle
00844 {
00845     int32_t x;
00846     int32_t y;
00847     int32_t radius;
00848 } fcvCircle;
00849 
00850 
00851 typedef struct fcvPoint2D
00852 {
00853     float x;
00854     float y;
00855 } fcvPoint2D;
00856 
00857 typedef struct fcvLine
00858 {
00859     fcvPoint2D start;
00860     fcvPoint2D end;
00861 } fcvLine;
00862 
00863 
00864 //------------------------------------------------------------------------------
00867 //------------------------------------------------------------------------------
00868 typedef struct fcvLineSegment {
00869     fcvPoint2D start, end;          
00870     float32_t  normal[2];           
00871     uint32_t   nPoints;             
00872     int32_t   pointsStartIndex;     
00873     uint32_t   sumMag;              
00874 } fcvLineSegment;
00875 
00876 
00877 //------------------------------------------------------------------------------
00886 //------------------------------------------------------------------------------
00887 typedef struct fcvDepthFusionBlockConfig {
00888     uint32_t  flags;                    
00889     float32_t ramp;                     
00890     float32_t p0[3],                    
00891               dX[3],                    
00892               dY[3],                    
00893               dZ[3];                    
00894     uint32_t  volumeIndex;              
00895 } fcvDepthFusionBlockConfig;
00896 
00897 //==============================================================================
00898 // UTILITY FUNCTIONS
00899 //==============================================================================
00900 
00901 #ifdef __cplusplus
00902 extern "C"
00903 {
00904 #endif
00905 
00906 //------------------------------------------------------------------------------
00917 //------------------------------------------------------------------------------
00918 
00919 FASTCV_API void
00920 fcvGetVersion( char*        version,
00921                unsigned int versionLength );
00922 
00923 
00924 //---------------------------------------------------------------------------
00938 //---------------------------------------------------------------------------
00939 
00940 FASTCV_API int
00941 fcvSetOperationMode( fcvOperationMode mode );
00942 
00943 
00944 //---------------------------------------------------------------------------
00949 //---------------------------------------------------------------------------
00950 
00951 FASTCV_API void
00952 fcvCleanUp( void );
00953 
00954 
00955 // -----------------------------------------------------------------------------
00991 //----------------------------------------------------------------------------
00992 
00993 FASTCV_API int
00994 fcvPyramidAllocate( fcvPyramidLevel* pyr,
00995                     unsigned int     baseWidth,
00996                     unsigned int     baseHeight,
00997                     unsigned int     bytesPerPixel,
00998                     unsigned int     numLevels,
00999                     int              allocateBase );
01000 
01001 
01002 // -----------------------------------------------------------------------------
01048 //----------------------------------------------------------------------------
01049 
01050 FASTCV_API int
01051 fcvPyramidAllocate_v2(  fcvPyramidLevel_v2* pyr,
01052                         uint32_t            baseWidth,
01053                         uint32_t            baseHeight,
01054                         uint32_t            baseStride,
01055                         uint32_t            bytesPerPixel,
01056                         uint32_t            numLevels,
01057                         int32_t             allocateBase );
01058 
01059 
01060 // -----------------------------------------------------------------------------
01122 //----------------------------------------------------------------------------
01123 
01124 FASTCV_API fcvStatus
01125 fcvPyramidAllocate_v3(fcvPyramidLevel_v2* __restrict  pyr,
01126                       uint32_t            baseWidth,
01127                       uint32_t            baseHeight,
01128                       uint32_t            baseStride,
01129                       uint32_t            bytesPerPixel,
01130                       uint32_t            alignment,
01131                       uint32_t            numLevels,
01132                       fcvPyramidScale     scale,
01133                       int32_t             allocateBase);
01134 
01135 
01136 // -----------------------------------------------------------------------------
01162 //----------------------------------------------------------------------------
01163 
01164 FASTCV_API void
01165 fcvPyramidDelete( fcvPyramidLevel* pyr,
01166                   unsigned int     numLevels,
01167                   unsigned int     startLevel );
01168 
01169 // -----------------------------------------------------------------------------
01198 //----------------------------------------------------------------------------
01199 
01200 FASTCV_API void
01201 fcvPyramidDelete_v2( fcvPyramidLevel_v2* pyr,
01202                      uint32_t            numLevels,
01203                      uint32_t            startLevel );
01204 
01205 
01206 //------------------------------------------------------------------------------
01222 //------------------------------------------------------------------------------
01223 
01224 FASTCV_API void*
01225 fcvMemAlloc( unsigned int nBytes,
01226              unsigned int byteAlignment );
01227 
01228 
01229 //------------------------------------------------------------------------------
01237 //------------------------------------------------------------------------------
01238 
01239 FASTCV_API void
01240 fcvMemFree( void* ptr );
01241 
01242 
01243 // -----------------------------------------------------------------------------
01262 // -----------------------------------------------------------------------------
01263 FASTCV_API void
01264 fcvMemInit(void);
01265 
01266 // -----------------------------------------------------------------------------
01288 // -----------------------------------------------------------------------------
01289 FASTCV_API void
01290 fcvMemInitPreAlloc( uint32_t preAllocBytes );
01291 
01292 // -----------------------------------------------------------------------------
01301 // -----------------------------------------------------------------------------
01302 FASTCV_API void
01303 fcvMemDeInit(void);
01304 
01305 //End - Utility functions
01306 
01307 
01308 //==============================================================================
01309 // FUNCTIONS
01310 //==============================================================================
01311 
01312 
01313 //------------------------------------------------------------------------------
01349 //------------------------------------------------------------------------------
01350 
01351 FASTCV_API void
01352 fcvFilterMedian3x3u8( const uint8_t* __restrict srcImg,
01353                       unsigned int              srcWidth,
01354                       unsigned int              srcHeight,
01355                       uint8_t* __restrict       dstImg );
01356 
01357 
01358 //------------------------------------------------------------------------------
01406 //------------------------------------------------------------------------------
01407 
01408 FASTCV_API void
01409 fcvFilterMedian3x3u8_v2( const uint8_t* __restrict srcImg,
01410                          unsigned int              srcWidth,
01411                          unsigned int              srcHeight,
01412                          unsigned int              srcStride,
01413                          uint8_t* __restrict       dstImg,
01414                          unsigned int              dstStride );
01415 
01416 
01417 //------------------------------------------------------------------------------
01458 //------------------------------------------------------------------------------
01459 
01460 FASTCV_API void
01461 fcvFilterGaussian3x3u8( const uint8_t* __restrict src,
01462                         unsigned int              srcWidth,
01463                         unsigned int              srcHeight,
01464                         uint8_t* __restrict       dst,
01465                         int                       blurBorder );
01466 
01467 
01468 //------------------------------------------------------------------------------
01521 //------------------------------------------------------------------------------
01522 
01523 FASTCV_API void
01524 fcvFilterGaussian3x3u8_v2( const uint8_t* __restrict src,
01525                            unsigned int              srcWidth,
01526                            unsigned int              srcHeight,
01527                            unsigned int              srcStride,
01528                            uint8_t* __restrict       dst,
01529                            unsigned int              dstStride,
01530                            int                       blurBorder );
01531 
01532 
01533 //------------------------------------------------------------------------------
01576 //------------------------------------------------------------------------------
01577 
01578 FASTCV_API void
01579 fcvFilterGaussian5x5u8( const uint8_t* __restrict src,
01580                         unsigned int              srcWidth,
01581                         unsigned int              srcHeight,
01582                         uint8_t* __restrict       dst,
01583                         int                       blurBorder );
01584 
01585 //------------------------------------------------------------------------------
01641 //------------------------------------------------------------------------------
01642 
01643 FASTCV_API void
01644 fcvFilterGaussian5x5u8_v2( const uint8_t* __restrict src,
01645                            unsigned int              srcWidth,
01646                            unsigned int              srcHeight,
01647                            unsigned int              srcStride,
01648                            uint8_t* __restrict       dst,
01649                            unsigned int              dstStride,
01650                            int                       blurBorder );
01651 
01652 
01653 //------------------------------------------------------------------------------
01702 //------------------------------------------------------------------------------
01703 
01704 FASTCV_API void
01705 fcvFilterGaussian11x11u8( const uint8_t* __restrict src,
01706                           unsigned int              srcWidth,
01707                           unsigned int              srcHeight,
01708                           uint8_t* __restrict       dst,
01709                           int                       blurBorder );
01710 
01711 
01712 
01713 //------------------------------------------------------------------------------
01775 //------------------------------------------------------------------------------
01776 
01777 FASTCV_API void
01778 fcvFilterGaussian11x11u8_v2( const uint8_t* __restrict src,
01779                              unsigned int              srcWidth,
01780                              unsigned int              srcHeight,
01781                              unsigned int              srcStride,
01782                              uint8_t* __restrict       dst,
01783                              unsigned int              dstStride,
01784                              int                       blurBorder );
01785 
01786 
01787 //------------------------------------------------------------------------------
01823 //------------------------------------------------------------------------------
01824 
01825 FASTCV_API void
01826 fcvColorYUV420toRGB8888u8( const uint8_t* __restrict src,
01827                            unsigned int              srcWidth,
01828                            unsigned int              srcHeight,
01829                            uint32_t* __restrict      dst );
01830 
01831 
01832 //------------------------------------------------------------------------------
01881 //------------------------------------------------------------------------------
01882 
01883 FASTCV_API void
01884 fcvColorYCrCb420PseudoPlanarToRGB8888u8( const uint8_t* __restrict src,
01885                                          unsigned int              srcWidth,
01886                                          unsigned int              srcHeight,
01887                                          unsigned int              srcYStride,
01888                                          unsigned int              srcCStride,
01889                                          uint32_t* __restrict      dst,
01890                                          unsigned int              dstStride );
01891 
01892 
01893 //------------------------------------------------------------------------------
01929 //------------------------------------------------------------------------------
01930 
01931 FASTCV_API void
01932 fcvColorYUV420toRGB565u8( const uint8_t* __restrict src,
01933                           unsigned int              srcWidth,
01934                           unsigned int              srcHeight,
01935                           uint32_t*  __restrict     dst );
01936 
01937 
01938 //------------------------------------------------------------------------------
01967 //------------------------------------------------------------------------------
01968 
01969 FASTCV_API void
01970 fcvColorYCrCbH1V1toRGB888u8( const uint8_t* __restrict src,
01971                              unsigned int              srcWidth,
01972                              unsigned int              srcHeight,
01973                              uint8_t* __restrict       dst );
01974 
01975 
01976 //------------------------------------------------------------------------------
02005 //------------------------------------------------------------------------------
02006 
02007 FASTCV_API void
02008 fcvColorYCrCbH2V2toRGB888u8( const uint8_t* __restrict ysrc,
02009                              unsigned int              srcWidth,
02010                              unsigned int              srcHeight,
02011                              uint8_t* __restrict       dst );
02012 
02013 
02014 
02015 //------------------------------------------------------------------------------
02044 //------------------------------------------------------------------------------
02045 
02046 FASTCV_API void
02047 fcvColorYCrCbH2V1toRGB888u8( const uint8_t* __restrict src,
02048                              unsigned int              srcWidth,
02049                              unsigned int              srcHeight,
02050                              uint8_t* __restrict       dst );
02051 
02052 
02053 //------------------------------------------------------------------------------
02083 //------------------------------------------------------------------------------
02084 
02085 FASTCV_API void
02086 fcvColorYCrCbH1V2toRGB888u8( const uint8_t* __restrict ysrc,
02087 
02088                              unsigned int              srcWidth,
02089                              unsigned int              srcHeight,
02090                              uint8_t* __restrict       dst );
02091 
02092 
02093 
02094 //------------------------------------------------------------------------------
02128 //------------------------------------------------------------------------------
02129 
02130 FASTCV_API void
02131 fcvColorRGB888toYCrCbu8( const uint8_t* __restrict src,
02132                          unsigned int              srcWidth,
02133                          unsigned int              srcHeight,
02134                          uint8_t* __restrict       dst );
02135 
02136 
02137 //------------------------------------------------------------------------------
02183 //------------------------------------------------------------------------------
02184 
02185 FASTCV_API void
02186 fcvColorRGB888toYCrCbu8_v2( const uint8_t* __restrict src,
02187                             unsigned int              srcWidth,
02188                             unsigned int              srcHeight,
02189                             unsigned int              srcStride,
02190                             uint8_t* __restrict       dst,
02191                             unsigned int              dstStride );
02192 
02193 
02194 //------------------------------------------------------------------------------
02212 //------------------------------------------------------------------------------
02213 
02214 FASTCV_API int
02215 fcvDescriptor17x17u8To36s8( const uint8_t* __restrict patch,
02216                             int8_t* __restrict        descriptorChar,
02217                             int32_t* __restrict       descriptorNormSq );
02218 
02219 
02220 //---------------------------------------------------------------------------
02237 //---------------------------------------------------------------------------
02238 
02239 FASTCV_API int32_t
02240 fcvDotProducts8( const int8_t* __restrict a,
02241                  const int8_t* __restrict b,
02242                  unsigned int             abSize );
02243 
02244 
02245 //------------------------------------------------------------------------------
02262 //------------------------------------------------------------------------------
02263 
02264 FASTCV_API uint32_t
02265 fcvDotProductu8( const uint8_t* __restrict  a,
02266                  const uint8_t* __restrict  b,
02267                  unsigned int               abSize );
02268 
02269 
02270 //---------------------------------------------------------------------------
02284 //---------------------------------------------------------------------------
02285 
02286 FASTCV_API int32_t
02287 fcvDotProduct36x1s8( const int8_t* __restrict a,
02288                      const int8_t* __restrict b );
02289 
02290 
02291 //---------------------------------------------------------------------------
02319 //---------------------------------------------------------------------------
02320 
02321 FASTCV_API void
02322 fcvDotProduct36x4s8( const int8_t* __restrict a,
02323                      const int8_t* __restrict b,
02324                      const int8_t* __restrict c,
02325                      const int8_t* __restrict d,
02326                      const int8_t* __restrict e,
02327                      int32_t* __restrict      dotProducts );
02328 
02329 
02330 //------------------------------------------------------------------------------
02367 //------------------------------------------------------------------------------
02368 
02369 FASTCV_API void
02370 fcvDotProductNorm36x4s8( const int8_t* __restrict a,
02371                          float                    invLengthA,
02372                          const int8_t* __restrict b0,
02373                          const int8_t* __restrict b1,
02374                          const int8_t* __restrict b2,
02375                          const int8_t* __restrict b3,
02376                          float* __restrict        invLengthsB,
02377                          float* __restrict        dotProducts  );
02378 
02379 
02380 //------------------------------------------------------------------------------
02394 //------------------------------------------------------------------------------
02395 
02396 FASTCV_API uint32_t
02397 fcvDotProduct36x1u8( const uint8_t* __restrict a,
02398                      const uint8_t* __restrict b );
02399 
02400 
02401 //------------------------------------------------------------------------------
02429 //------------------------------------------------------------------------------
02430 
02431 FASTCV_API void
02432 fcvDotProduct36x4u8( const uint8_t* __restrict a,
02433                      const uint8_t* __restrict b,
02434                      const uint8_t* __restrict c,
02435                      const uint8_t* __restrict d,
02436                      const uint8_t* __restrict e,
02437                      uint32_t* __restrict      dotProducts );
02438 
02439 
02440 //------------------------------------------------------------------------------
02477 //------------------------------------------------------------------------------
02478 
02479 FASTCV_API void
02480 fcvDotProductNorm36x4u8( const uint8_t* __restrict  a,
02481                          float                      invLengthA,
02482                          const uint8_t* __restrict  b0,
02483                          const uint8_t* __restrict  b1,
02484                          const uint8_t* __restrict  b2,
02485                          const uint8_t* __restrict  b3,
02486                          float* __restrict          invLengthsB,
02487                          float* __restrict          dotProducts );
02488 
02489 
02490 //---------------------------------------------------------------------------
02506 //---------------------------------------------------------------------------
02507 
02508 FASTCV_API int32_t
02509 fcvDotProduct64x1s8( const int8_t* __restrict a,
02510                      const int8_t* __restrict b );
02511 
02512 
02513 //---------------------------------------------------------------------------
02546 //---------------------------------------------------------------------------
02547 
02548 FASTCV_API void
02549 fcvDotProduct64x4s8( const int8_t* __restrict a,
02550                      const int8_t* __restrict b,
02551                      const int8_t* __restrict c,
02552                      const int8_t* __restrict d,
02553                      const int8_t* __restrict e,
02554                      int32_t* __restrict      dotProducts );
02555 
02556 
02557 //------------------------------------------------------------------------------
02594 //------------------------------------------------------------------------------
02595 
02596 FASTCV_API void
02597 fcvDotProductNorm64x4s8( const int8_t* __restrict a,
02598                          float                    invLengthA,
02599                          const int8_t* __restrict b0,
02600                          const int8_t* __restrict b1,
02601                          const int8_t* __restrict b2,
02602                          const int8_t* __restrict b3,
02603                          float* __restrict        invLengthsB,
02604                          float* __restrict        dotProducts  );
02605 
02606 
02607 //------------------------------------------------------------------------------
02621 //------------------------------------------------------------------------------
02622 
02623 FASTCV_API uint32_t
02624 fcvDotProduct64x1u8( const uint8_t* __restrict a,
02625                      const uint8_t* __restrict b );
02626 
02627 
02628 //------------------------------------------------------------------------------
02656 //------------------------------------------------------------------------------
02657 
02658 FASTCV_API void
02659 fcvDotProduct64x4u8( const uint8_t* __restrict a,
02660                      const uint8_t* __restrict b,
02661                      const uint8_t* __restrict c,
02662                      const uint8_t* __restrict d,
02663                      const uint8_t* __restrict e,
02664                      uint32_t* __restrict      dotProducts );
02665 
02666 
02667 //------------------------------------------------------------------------------
02704 //------------------------------------------------------------------------------
02705 
02706 FASTCV_API void
02707 fcvDotProductNorm64x4u8( const uint8_t* __restrict  a,
02708                          float                      invLengthA,
02709                          const uint8_t* __restrict  b0,
02710                          const uint8_t* __restrict  b1,
02711                          const uint8_t* __restrict  b2,
02712                          const uint8_t* __restrict  b3,
02713                          float* __restrict          invLengthsB,
02714                          float* __restrict          dotProducts );
02715 
02716 
02717 //---------------------------------------------------------------------------
02733 //---------------------------------------------------------------------------
02734 
02735 FASTCV_API int32_t
02736 fcvDotProduct128x1s8( const int8_t* __restrict a,
02737                       const int8_t* __restrict b );
02738 
02739 
02740 //---------------------------------------------------------------------------
02773 //---------------------------------------------------------------------------
02774 
02775 FASTCV_API void
02776 fcvDotProduct128x4s8( const int8_t* __restrict a,
02777                       const int8_t* __restrict b,
02778                       const int8_t* __restrict c,
02779                       const int8_t* __restrict d,
02780                       const int8_t* __restrict e,
02781                       int32_t* __restrict      dotProducts );
02782 
02783 
02784 //------------------------------------------------------------------------------
02826 //------------------------------------------------------------------------------
02827 
02828 FASTCV_API void
02829 fcvDotProductNorm128x4s8( const int8_t* __restrict a,
02830                           float                    invLengthA,
02831                           const int8_t* __restrict b0,
02832                           const int8_t* __restrict b1,
02833                           const int8_t* __restrict b2,
02834                           const int8_t* __restrict b3,
02835                           float* __restrict        invLengthsB,
02836                           float* __restrict        dotProducts  );
02837 
02838 
02839 //------------------------------------------------------------------------------
02855 //------------------------------------------------------------------------------
02856 
02857 FASTCV_API uint32_t
02858 fcvDotProduct128x1u8( const uint8_t* __restrict a,
02859                       const uint8_t* __restrict b );
02860 
02861 
02862 //------------------------------------------------------------------------------
02895 //------------------------------------------------------------------------------
02896 
02897 FASTCV_API void
02898 fcvDotProduct128x4u8( const uint8_t* __restrict a,
02899                       const uint8_t* __restrict b,
02900                       const uint8_t* __restrict c,
02901                       const uint8_t* __restrict d,
02902                       const uint8_t* __restrict e,
02903                       uint32_t* __restrict      dotProducts );
02904 
02905 
02906 //------------------------------------------------------------------------------
02947 //------------------------------------------------------------------------------
02948 
02949 FASTCV_API void
02950 fcvDotProductNorm128x4u8( const uint8_t* __restrict  a,
02951                           float                      invLengthA,
02952                           const uint8_t* __restrict  b0,
02953                           const uint8_t* __restrict  b1,
02954                           const uint8_t* __restrict  b2,
02955                           const uint8_t* __restrict  b3,
02956                           float* __restrict          invLengthsB,
02957                           float* __restrict          dotProducts );
02958 
02959 
02960 //------------------------------------------------------------------------------
02992 //------------------------------------------------------------------------------
02993 
02994 FASTCV_API void
02995 fcvDotProduct8x8u8( const uint8_t* __restrict patchPixels,
02996                     const uint8_t* __restrict imagePixels,
02997                     unsigned short            imgW,
02998                     unsigned short            imgH,
02999                     int                       nX,
03000                     int                       nY,
03001                     unsigned int              nNum,
03002                     int32_t* __restrict       dotProducts );
03003 
03004 
03005 //------------------------------------------------------------------------------
03033 //---------------------------------------------------------------------------
03034 
03035 FASTCV_API void
03036 fcvDotProduct11x12u8( const uint8_t* __restrict patchPixels,
03037                       const uint8_t* __restrict imagePixels,
03038                       unsigned short            imgW,
03039                       unsigned short            imgH,
03040                       int                       iX,
03041                       int                       iY,
03042                       int32_t* __restrict       dotProducts );
03043 
03044 
03045 //------------------------------------------------------------------------------
03083 //------------------------------------------------------------------------------
03084 
03085 FASTCV_API void
03086 fcvFilterSobel3x3u8( const uint8_t* __restrict src,
03087                      unsigned int              srcWidth,
03088                      unsigned int              srcHeight,
03089                      uint8_t* __restrict       dst );
03090 
03091 
03092 //------------------------------------------------------------------------------
03143 //------------------------------------------------------------------------------
03144 
03145 FASTCV_API void
03146 fcvFilterSobel3x3u8_v2( const uint8_t* __restrict src,
03147                         unsigned int              srcWidth,
03148                         unsigned int              srcHeight,
03149                         unsigned int              srcStride,
03150                         uint8_t* __restrict       dst,
03151                         unsigned int              dstStride );
03152 
03153 //------------------------------------------------------------------------------
03204 //------------------------------------------------------------------------------
03205 
03206 FASTCV_API void
03207 fcvFilterCanny3x3u8( const uint8_t* __restrict src,
03208                      unsigned int              srcWidth,
03209                      unsigned int              srcHeight,
03210                      uint8_t* __restrict       dst,
03211                      int                       lowThresh,
03212                      int                       highThresh );
03213 
03214 //------------------------------------------------------------------------------
03280 //------------------------------------------------------------------------------
03281 
03282 FASTCV_API void
03283 fcvFilterCanny3x3u8_v2( const uint8_t* __restrict src,
03284                         unsigned int              srcWidth,
03285                         unsigned int              srcHeight,
03286                         unsigned int              srcStride,
03287                         uint8_t* __restrict       dst,
03288                         unsigned int              dstStride,
03289                         int                       lowThresh,
03290                         int                       highThresh );
03291 
03292 //------------------------------------------------------------------------------
03372 //------------------------------------------------------------------------------
03373 FASTCV_API void
03374 fcvFilterCanny3x3u8_v3( const uint8_t* __restrict src,
03375                         unsigned int              srcWidth,
03376                         unsigned int              srcHeight,
03377                         unsigned int              srcStride,
03378                         uint8_t* __restrict       dst,
03379                         unsigned int              dstStride,
03380                         int16_t* __restrict       gx,
03381                         int16_t* __restrict       gy,
03382                         unsigned int              gradStride,
03383                         int                       lowThresh,
03384                         int                       highThresh );
03385 
03386 
03387 //------------------------------------------------------------------------------
03425 //------------------------------------------------------------------------------
03426 
03427 FASTCV_API void
03428 fcvImageDiffu8(   const uint8_t* __restrict src1,
03429                   const uint8_t* __restrict src2,
03430                    unsigned int             srcWidth,
03431                    unsigned int             srcHeight,
03432                         uint8_t* __restrict dst );
03433 
03434 //------------------------------------------------------------------------------
03487 //------------------------------------------------------------------------------
03488 
03489 FASTCV_API void
03490 fcvImageDiffu8_v2( const uint8_t* __restrict src1,
03491                    const uint8_t* __restrict src2,
03492                    unsigned int              srcWidth,
03493                    unsigned int              srcHeight,
03494                    unsigned int              srcStride,
03495                    uint8_t* __restrict       dst,
03496                    unsigned int              dstStride );
03497 
03498 
03499 //--------------------------------------------------------------------------
03536 FASTCV_API void
03537 fcvImageDiffs16( const int16_t* __restrict src1,
03538                  const int16_t* __restrict src2,
03539                        unsigned int             srcWidth,
03540                        unsigned int             srcHeight,
03541                        unsigned int             srcStride,
03542                             int16_t* __restrict dst,
03543                        unsigned int             dstStride );
03544 
03545 //------------------------------------------------------------------------------
03584 //------------------------------------------------------------------------------
03585 FASTCV_API void
03586 fcvImageDifff32( const float* __restrict src1,
03587                  const float* __restrict src2,
03588                 unsigned int             srcWidth,
03589                 unsigned int             srcHeight,
03590                 unsigned int             srcStride,
03591                        float* __restrict dst,
03592                 unsigned int             dstStride );
03593 
03594 
03595 //------------------------------------------------------------------------------
03630 //------------------------------------------------------------------------------
03631 FASTCV_API void
03632 fcvImageDiffu8f32( const uint8_t* __restrict src1,
03633                    const uint8_t* __restrict src2,
03634                     unsigned int             srcWidth,
03635                     unsigned int             srcHeight,
03636                     unsigned int             srcStride,
03637                            float* __restrict dst,
03638                     unsigned int             dstStride );
03639 
03640 
03641 //------------------------------------------------------------------------------
03676 //------------------------------------------------------------------------------
03677 FASTCV_API void
03678 fcvImageDiffu8s8( const uint8_t* __restrict src1,
03679                   const uint8_t* __restrict src2,
03680                    unsigned int             srcWidth,
03681                    unsigned int             srcHeight,
03682                    unsigned int             srcStride,
03683                          int8_t* __restrict dst,
03684                     unsigned int             dstStride );
03685 
03686 //---------------------------------------------------------------------------
03721 //------------------------------------------------------------------------------
03722 
03723 FASTCV_API void
03724 fcvImageGradientInterleaveds16( const uint8_t* __restrict src,
03725                                 unsigned int              srcWidth,
03726                                 unsigned int              srcHeight,
03727                                 unsigned int              srcStride,
03728                                 int16_t* __restrict       gradients
03729                               );
03730 
03731 //---------------------------------------------------------------------------
03774 //------------------------------------------------------------------------------
03775 
03776 FASTCV_API void
03777 fcvImageGradientInterleaveds16_v2( const uint8_t* __restrict src,
03778                                    unsigned int              srcWidth,
03779                                    unsigned int              srcHeight,
03780                                    unsigned int              srcStride,
03781                                    int16_t* __restrict       gradients,
03782                                    unsigned int              gradStride );
03783 
03784 //---------------------------------------------------------------------------
03835 //------------------------------------------------------------------------------
03836 FASTCV_API int
03837 fcvMserInit(const unsigned int width,
03838             const unsigned int height,
03839             unsigned int       delta,
03840             unsigned int       minArea,
03841             unsigned int       maxArea,
03842             float              maxVariation,
03843             float              minDiversity,
03844             void            ** mserHandle );
03845 
03846 //---------------------------------------------------------------------------
03854 //------------------------------------------------------------------------------
03855 FASTCV_API void
03856 fcvMserRelease(void *mserHandle);
03857 
03920 //------------------------------------------------------------------------------
03921 FASTCV_API void
03922 fcvMseru8( void                     *mserHandle,
03923            const uint8_t* __restrict srcPtr,
03924            unsigned int              srcWidth,
03925            unsigned int              srcHeight,
03926            unsigned int              srcStride,
03927            unsigned int              maxContours,
03928            unsigned int * __restrict numContours,
03929            unsigned int * __restrict numPointsInContour,
03930            unsigned int              pointsArraySize,
03931            unsigned int * __restrict pointsArray);
03932 
04019 //------------------------------------------------------------------------------
04020 FASTCV_API void
04021 fcvMserExtu8( void                     *mserHandle,
04022               const uint8_t* __restrict srcPtr,
04023               unsigned int              srcWidth,
04024               unsigned int              srcHeight,
04025               unsigned int              srcStride,
04026               unsigned int              maxContours,
04027               unsigned int * __restrict numContours,
04028               unsigned int * __restrict numPointsInContour,
04029               unsigned int * __restrict pointsArray,
04030               unsigned int              pointsArraySize,
04031               unsigned int * __restrict contourVariation,
04032               int * __restrict          contourPolarity,
04033               unsigned int * __restrict contourNodeId,
04034               unsigned int * __restrict contourNodeCounter);
04035 
04107 //------------------------------------------------------------------------------
04108 FASTCV_API int
04109 fcvMseru8_v2( void                     *mserHandle,
04110               const uint8_t* __restrict srcPtr,
04111               uint32_t                  srcWidth,
04112               uint32_t                  srcHeight,
04113               uint32_t                  srcStride,
04114               uint32_t                  maxContours,
04115               uint32_t* __restrict      numContours,
04116               uint16_t* __restrict      recArray,
04117               uint32_t* __restrict      numPointsInContour,
04118               uint32_t                  pointsArraySize,
04119               uint16_t* __restrict      pointsArray);
04120 
04214 //------------------------------------------------------------------------------
04215 FASTCV_API int
04216 fcvMserExtu8_v2( void                     *mserHandle,
04217                  const uint8_t* __restrict srcPtr,
04218                  uint32_t                  srcWidth,
04219                  uint32_t                  srcHeight,
04220                  uint32_t                  srcStride,
04221                  uint32_t                  maxContours,
04222                  uint32_t* __restrict      numContours,
04223                  uint16_t* __restrict      recArray,
04224                  uint32_t* __restrict      numPointsInContour,
04225                  uint32_t                  pointsArraySize,
04226                  uint16_t* __restrict      pointsArray,
04227                  uint32_t* __restrict      contourVariation,
04228                  int8_t* __restrict        contourPolarity,
04229                  uint32_t* __restrict      contourNodeId,
04230                  uint32_t* __restrict      contourNodeCounter);
04231 
04343 //------------------------------------------------------------------------------
04344 FASTCV_API int
04345 fcvMserExtu8_v3( void                     *mserHandle,
04346                  const uint8_t* __restrict srcPtr,
04347                  uint32_t                  srcWidth,
04348                  uint32_t                  srcHeight,
04349                  uint32_t                  srcStride,
04350                  uint32_t                  maxContours,
04351                  uint32_t* __restrict      numContours,
04352                  uint16_t* __restrict      recArray,
04353                  uint32_t* __restrict      staPointsInPath,
04354                  uint32_t* __restrict      numPointsInContour,
04355                  uint32_t                  pathArraySize,
04356                  uint16_t* __restrict      pathArray,
04357                  uint32_t* __restrict      contourVariation,
04358                  int8_t* __restrict        contourPolarity,
04359                  uint32_t* __restrict      contourNodeId,
04360                  uint32_t* __restrict      contourNodeCounter);
04361 
04362 //---------------------------------------------------------------------------
04416 //------------------------------------------------------------------------------
04417 FASTCV_API int
04418 fcvMserNN8Init(const uint32_t width,
04419                const uint32_t height,
04420                uint32_t       delta,
04421                uint32_t       minArea ,
04422                uint32_t       maxArea ,
04423                float32_t      maxVariation ,
04424                float32_t      minDiversity ,
04425                void         **mserHandle );
04426 
04497 //------------------------------------------------------------------------------
04498 FASTCV_API int
04499 fcvMserNN8u8 ( void                      *mserHandle,
04500                const uint8_t* __restrict  srcPtr,
04501                uint32_t                   srcWidth,
04502                uint32_t                   srcHeight,
04503                uint32_t                   srcStride,
04504                uint32_t                   maxContours,
04505                uint32_t* __restrict       numContours,
04506                uint16_t* __restrict       recArray,
04507                uint32_t* __restrict       numPointsInContour,
04508                uint32_t                   pointsArraySize,
04509                uint16_t* __restrict       pointsArray);
04510 
04565 //------------------------------------------------------------------------------
04566 FASTCV_API int
04567 fcvMserExtNN8u8(void                     *mserHandle,
04568                 const uint8_t* __restrict srcPtr,
04569                 uint32_t                  srcWidth,
04570                 uint32_t                  srcHeight,
04571                 uint32_t                  srcStride,
04572                 uint32_t                  maxContours,
04573                 uint32_t* __restrict      numContours,
04574                 uint16_t* __restrict      recArray,
04575                 uint32_t* __restrict      numPointsInContour,
04576                 uint32_t                  pointsArraySize,
04577                 uint16_t* __restrict      pointsArray,
04578                 uint32_t* __restrict      contourVariation,
04579                 int8_t* __restrict        contourPolarity,
04580                 uint32_t* __restrict      contourNodeId,
04581                 uint32_t* __restrict      contourNodeCounter);
04582 
04583 //---------------------------------------------------------------------------
04617 //------------------------------------------------------------------------------
04618 
04619 FASTCV_API void
04620 fcvImageGradientInterleavedf32( const uint8_t* __restrict src,
04621                                 unsigned int              srcWidth,
04622                                 unsigned int              srcHeight,
04623                                 unsigned int              srcStride,
04624                                 float* __restrict         gradients );
04625 
04626 //---------------------------------------------------------------------------
04670 //------------------------------------------------------------------------------
04671 
04672 FASTCV_API void
04673 fcvImageGradientInterleavedf32_v2( const uint8_t* __restrict src,
04674                                    unsigned int              srcWidth,
04675                                    unsigned int              srcHeight,
04676                                    unsigned int              srcStride,
04677                                    float* __restrict         gradients,
04678                                    unsigned int              gradStride );
04679 
04680 //---------------------------------------------------------------------------
04718 //------------------------------------------------------------------------------
04719 
04720 FASTCV_API void
04721 fcvImageGradientPlanars16( const uint8_t* __restrict src,
04722                            unsigned int              srcWidth,
04723                            unsigned int              srcHeight,
04724                            unsigned int              srcStride,
04725                            int16_t* __restrict       dx,
04726                            int16_t* __restrict       dy );
04727 
04728 //---------------------------------------------------------------------------
04776 //------------------------------------------------------------------------------
04777 
04778 FASTCV_API void
04779 fcvImageGradientPlanars16_v2( const uint8_t* __restrict src,
04780                               unsigned int              srcWidth,
04781                               unsigned int              srcHeight,
04782                               unsigned int              srcStride,
04783                               int16_t* __restrict       dx,
04784                               int16_t* __restrict       dy,
04785                               unsigned int              dxyStride );
04786 
04787 //---------------------------------------------------------------------------
04826 //------------------------------------------------------------------------------
04827 
04828 FASTCV_API void
04829 fcvImageGradientPlanarf32( const uint8_t* __restrict src,
04830                            unsigned int              srcWidth,
04831                            unsigned int              srcHeight,
04832                            unsigned int              srcStride,
04833                            float* __restrict         dx,
04834                            float* __restrict         dy );
04835 
04836 
04837 
04838 //---------------------------------------------------------------------------
04886 //------------------------------------------------------------------------------
04887 
04888 FASTCV_API void
04889 fcvImageGradientPlanarf32_v2( const uint8_t* __restrict src,
04890                               unsigned int              srcWidth,
04891                               unsigned int              srcHeight,
04892                               unsigned int              srcStride,
04893                               float* __restrict         dx,
04894                               float* __restrict         dy,
04895                               unsigned int              dxyStride );
04896 
04897 
04898 //------------------------------------------------------------------------------
04945 //------------------------------------------------------------------------------
04946 
04947 FASTCV_API void
04948 fcvCornerFast9u8( const uint8_t* __restrict src,
04949                   unsigned int              srcWidth,
04950                   unsigned int              srcHeight,
04951                   unsigned int              srcStride,
04952                   int                       barrier,
04953                   unsigned int              border,
04954                   uint32_t* __restrict      xy,
04955                   unsigned int              nCornersMax,
04956                   uint32_t* __restrict      nCorners );
04957 
04958 
04959 //------------------------------------------------------------------------------
05019 //------------------------------------------------------------------------------
05020 
05021 FASTCV_API void
05022 fcvCornerFast9InMasku8( const uint8_t* __restrict src,
05023                         unsigned int              srcWidth,
05024                         unsigned int              srcHeight,
05025                         unsigned int              srcStride,
05026                         int                       barrier,
05027                         unsigned int              border,
05028                         uint32_t* __restrict      xy,
05029                         unsigned int              nCornersMax,
05030                         uint32_t* __restrict      nCorners,
05031                         const uint8_t* __restrict mask,
05032                         unsigned int              maskWidth,
05033                         unsigned int              maskHeight );
05034 
05035 //------------------------------------------------------------------------------
05081 //------------------------------------------------------------------------------
05082 
05083 FASTCV_API void
05084 fcvCornerFast10u8( const uint8_t* __restrict src,
05085                    uint32_t                  srcWidth,
05086                    uint32_t                  srcHeight,
05087                    uint32_t                  srcStride,
05088                    int32_t                   barrier,
05089                    uint32_t                  border,
05090                    uint32_t* __restrict      xy,
05091                    uint32_t                  nCornersMax,
05092                    uint32_t* __restrict      nCorners);
05093 
05094 
05095 //------------------------------------------------------------------------------
05154 //------------------------------------------------------------------------------
05155 
05156 FASTCV_API void
05157 fcvCornerFast10InMasku8( const uint8_t* __restrict src,
05158                          uint32_t                  srcWidth,
05159                          uint32_t                  srcHeight,
05160                          uint32_t                  srcStride,
05161                          int32_t                   barrier,
05162                          uint32_t                  border,
05163                          uint32_t* __restrict      xy,
05164                          uint32_t                  nCornersMax,
05165                          uint32_t* __restrict      nCorners,
05166                          const uint8_t* __restrict mask,
05167                          uint32_t                  maskWidth,
05168                          uint32_t                  maskHeight );
05169 
05170 
05171 //------------------------------------------------------------------------------
05217 //------------------------------------------------------------------------------
05218 
05219 FASTCV_API void
05220 fcvCornerHarrisu8( const uint8_t* __restrict src,
05221                    unsigned int              srcWidth,
05222                    unsigned int              srcHeight,
05223                    unsigned int              srcStride,
05224                    unsigned int              border,
05225                    uint32_t* __restrict      xy,
05226                    unsigned int              nCornersMax,
05227                    uint32_t* __restrict      nCorners,
05228                    int                       threshold );
05229 
05230 //------------------------------------------------------------------------------
05274 //------------------------------------------------------------------------------
05275 
05276 FASTCV_API unsigned int
05277 fcvLocalHarrisMaxu8( const uint8_t* __restrict src,
05278                      unsigned int              srcWidth,
05279                      unsigned int              srcHeight,
05280                      unsigned int              srcStride,
05281                      unsigned int              posX,
05282                      unsigned int              posY,
05283                      unsigned int             *maxX,
05284                      unsigned int             *maxY,
05285                      int                      *maxScore);
05286 
05287 
05288 //------------------------------------------------------------------------------
05345 //------------------------------------------------------------------------------
05346 
05347 FASTCV_API void
05348 fcvCornerHarrisInMasku8( const uint8_t* __restrict src,
05349                          unsigned int              srcWidth,
05350                          unsigned int              srcHeight,
05351                          unsigned int              srcStride,
05352                          unsigned int              border,
05353                          uint32_t* __restrict      xy,
05354                          unsigned int              nCornersMax,
05355                          uint32_t* __restrict      nCorners,
05356                          int                       threshold,
05357                          const uint8_t* __restrict mask,
05358                          unsigned int              maskWidth,
05359                          unsigned int              maskHeight );
05360 
05361 //------------------------------------------------------------------------------
05403 //------------------------------------------------------------------------------
05404 
05405 FASTCV_API void
05406 fcvCornerHarrisAdaptiveu8( const uint8_t* __restrict src,
05407                            uint32_t                  srcWidth,
05408                            uint32_t                  srcHeight,
05409                            uint32_t                  srcStride,
05410                            uint32_t                  border,
05411                            float32_t* __restrict     xy,
05412                            uint32_t                  nCornersMax,
05413                            uint32_t* __restrict      nCorners,
05414                            int32_t                   threshold);
05415 
05416 
05417 //------------------------------------------------------------------------------
05514 //------------------------------------------------------------------------------
05515 FASTCV_API fcvStatus
05516 fcvCornerHarrisScoreu8(const uint8_t* __restrict src,
05517                        uint32_t srcWidth,
05518                        uint32_t srcHeight,
05519                        uint32_t srcStride,
05520                        float32_t*  __restrict harrisResp,
05521                        uint32_t respStride,
05522                        uint32_t* __restrict xy,
05523                        uint32_t nCornersMax,
05524                        uint32_t*  __restrict nCorners,
05525                        float32_t threshold,
05526                        float32_t sensitivity,
05527                        uint32_t kernelSize,
05528                        uint32_t blockSize,
05529                        uint32_t nmsEnabled,
05530                        float32_t minDistance,
05531                        uint32_t normalizeResponse);
05532 
05533 
05534 //---------------------------------------------------------------------------
05546 //---------------------------------------------------------------------------
05547 
05548 FASTCV_API void
05549 fcvGeomAffineFitf32( const fcvCorrespondences* __restrict corrs,
05550                      float* __restrict                    affine );
05551 
05552 
05553 //------------------------------------------------------------------------------
05583 //------------------------------------------------------------------------------
05584 
05585 FASTCV_API int
05586 fcvGeomAffineEvaluatef32( const fcvCorrespondences* __restrict corrs,
05587                           float* __restrict                    affine,
05588                           float                                maxsqerr,
05589                           uint16_t* __restrict                 inliers,
05590                           int32_t*                             numinliers );
05591 
05592 
05593 //------------------------------------------------------------------------------
05616 //------------------------------------------------------------------------------
05617 
05618 FASTCV_API void
05619 fcvGeomHomographyFitf32( const fcvCorrespondences* __restrict corrs,
05620                          float* __restrict                    homography );
05621 
05622 
05623 //------------------------------------------------------------------------------
05661 //------------------------------------------------------------------------------
05662 
05663 FASTCV_API int
05664 fcvGeomHomographyEvaluatef32( const fcvCorrespondences* __restrict corrs,
05665                               float* __restrict                    homography,
05666                               float                                maxsqerr,
05667                               uint16_t* __restrict                 inliers,
05668                               int32_t*                             numinliers );
05669 
05670 //------------------------------------------------------------------------------
05715 //------------------------------------------------------------------------------
05716 
05717 FASTCV_API int
05718 fcvGeomHomographyEvaluatef32_v2( const fcvCorrespondences* __restrict corrs,
05719                                  float32_t* __restrict                homography,
05720                                  float32_t                            maxsqerr,
05721                                  uint16_t* __restrict                 inliers,
05722                                  float32_t*__restrict                 errinliers,
05723                                  int32_t*                             numinliers );
05724 
05725 
05726 //------------------------------------------------------------------------------
05777 //------------------------------------------------------------------------------
05778 
05779 FASTCV_API float
05780 fcvGeomPoseRefineGNf32( const fcvCorrespondences* __restrict corrs,
05781                         short                                minIterations,
05782                         short                                maxIterations,
05783                         float                                stopCriteria,
05784                         float*                               initpose,
05785                         float*                               refinedpose );
05786 
05787 //------------------------------------------------------------------------------
05827 //------------------------------------------------------------------------------
05828 
05829 FASTCV_API int
05830 fcvGeomPoseUpdatef32(
05831    const float* __restrict projected,
05832    const float* __restrict reprojErr,
05833    const float* __restrict invz,
05834    const float* __restrict reprojVariance,
05835    unsigned int                numpts,
05836    float*       __restrict pose );
05837 
05838 //------------------------------------------------------------------------------
05876 //------------------------------------------------------------------------------
05877 
05878 FASTCV_API int
05879 fcvGeomPoseOptimizeGNf32( const float* __restrict projected,
05880                           const float* __restrict reprojErr,
05881                           const float* __restrict invz,
05882                           const float* __restrict reprojVariance,
05883                           unsigned int            numpts,
05884                           float*       __restrict pose );
05885 
05886 
05887 //------------------------------------------------------------------------------
05927 //------------------------------------------------------------------------------
05928 
05929 FASTCV_API float
05930 fcvGeomPoseEvaluateErrorf32( const fcvCorrespondences* __restrict corrs,
05931                              const float*              __restrict pose,
05932                              float*                    __restrict projected,
05933                              float*                    __restrict reprojErr,
05934                              float*                    __restrict invz,
05935                              float*                    __restrict reprojVariance );
05936 
05937 
05938 //------------------------------------------------------------------------------
05976 //------------------------------------------------------------------------------
05977 
05978 FASTCV_API int
05979 fcvGeomPoseEvaluatef32( const fcvCorrespondences* __restrict corrs,
05980                         const float*                         pose,
05981                         float                                maxSquErr,
05982                         uint16_t* __restrict                 inliers,
05983                         uint32_t*                            numInliers );
05984 
05985 
05986 //------------------------------------------------------------------------------
06014 //------------------------------------------------------------------------------
06015 
06016 FASTCV_API void
06017 fcvGeom3PointPoseEstimatef32( const fcvCorrespondences* __restrict corrs,
06018                                                  float*            pose,
06019                                                int32_t*            numPoses );
06020 
06021 
06022 //------------------------------------------------------------------------------
06059 //------------------------------------------------------------------------------
06060 
06061 FASTCV_API void
06062 fcvFilterCorr3x3s8( const int8_t* __restrict  kernel,
06063                     const uint8_t* __restrict src,
06064                     unsigned int              srcWidth,
06065                     unsigned int              srcHeight,
06066                     uint8_t* __restrict       dst );
06067 
06068 
06069 //------------------------------------------------------------------------------
06118 //------------------------------------------------------------------------------
06119 
06120 FASTCV_API void
06121 fcvFilterCorr3x3s8_v2( const int8_t* __restrict  kernel,
06122                        const uint8_t* __restrict src,
06123                        unsigned int              srcWidth,
06124                        unsigned int              srcHeight,
06125                        unsigned int              srcStride,
06126                        uint8_t* __restrict       dst,
06127                        unsigned int              dstStride );
06128 
06129 
06130 //------------------------------------------------------------------------------
06176 //------------------------------------------------------------------------------
06177 
06178 FASTCV_API fcvStatus
06179 fcvFilterCorrNxNu8f32( const float32_t* __restrict kernel,
06180                        uint32_t                    N,
06181                        const uint8_t* __restrict   src,
06182                        uint32_t                    srcWidth,
06183                        uint32_t                    srcHeight,
06184                        uint32_t                    srcStride,
06185                        float32_t* __restrict       dst,
06186                        uint32_t                    dstStride );
06187 
06188 //------------------------------------------------------------------------------
06237 //------------------------------------------------------------------------------
06238 
06239 FASTCV_API fcvStatus
06240 fcvFilterCorrNxNu8s16( const int8_t* __restrict   kernel,
06241                        uint32_t                   N,
06242                        int8_t                     shift,
06243                        const uint8_t* __restrict  src,
06244                        uint32_t                   srcWidth,
06245                        uint32_t                   srcHeight,
06246                        uint32_t                   srcStride,
06247                        int16_t* __restrict        dst,
06248                        uint32_t                   dstStride );
06249 
06250 //------------------------------------------------------------------------------
06299 //------------------------------------------------------------------------------
06300 
06301 FASTCV_API fcvStatus
06302 fcvFilterCorrNxNu8( const int8_t* __restrict kernel,
06303                       uint32_t                    N,
06304                       int8_t                      shift,
06305                       const uint8_t* __restrict   src,
06306                       uint32_t                    srcWidth,
06307                       uint32_t                    srcHeight,
06308                       uint32_t                    srcStride,
06309                       uint8_t* __restrict         dst,
06310                       uint32_t                    dstStride );
06311 
06312 //------------------------------------------------------------------------------
06356 //------------------------------------------------------------------------------
06357 
06358 FASTCV_API void
06359 fcvFilterCorrSep9x9s16( const int16_t* __restrict kernel,
06360                         const int16_t*            src,
06361                         unsigned int              srcWidth,
06362                         unsigned int              srcHeight,
06363                         int16_t* __restrict       tmp,
06364                         int16_t*                  dst );
06365 
06366 
06367 //---------------------------------------------------------------------------
06415 //---------------------------------------------------------------------------
06416 FASTCV_API void
06417 fcvFilterCorrSep9x9s16_v2( const int16_t* __restrict kernel,
06418                            const int16_t*            srcImg,
06419                            unsigned int              srcWidth,
06420                            unsigned int              srcHeight,
06421                            unsigned int              srcStride,
06422                            int16_t* __restrict       tmpImg,
06423                            int16_t*                  dstImg,
06424                            unsigned int              dstStride );
06425 
06426 
06427 //------------------------------------------------------------------------------
06472 //------------------------------------------------------------------------------
06473 
06474 FASTCV_API void
06475 fcvFilterCorrSep11x11s16( const int16_t* __restrict kernel,
06476                           const int16_t*            src,
06477                           unsigned int              srcWidth,
06478                           unsigned int              srcHeight,
06479                           int16_t* __restrict       tmpImg,
06480                           int16_t*                  dst );
06481 
06482 
06483 //---------------------------------------------------------------------------
06533 //---------------------------------------------------------------------------
06534 FASTCV_API void
06535 fcvFilterCorrSep11x11s16_v2( const int16_t* __restrict kernel,
06536                              const int16_t*            srcImg,
06537                              unsigned int              srcWidth,
06538                              unsigned int              srcHeight,
06539                              unsigned int              srcStride,
06540                              int16_t* __restrict       tmpImg,
06541                              int16_t*                  dstImg,
06542                              unsigned int              dstStride );
06543 
06544 
06545 //------------------------------------------------------------------------------
06588 //------------------------------------------------------------------------------
06589 
06590 FASTCV_API void
06591 fcvFilterCorrSep13x13s16( const int16_t* __restrict kernel,
06592                           const int16_t*            src,
06593                           unsigned int              srcWidth,
06594                           unsigned int              srcHeight,
06595                           int16_t* __restrict       tmpImg,
06596                           int16_t*                  dst );
06597 
06598 
06599 //---------------------------------------------------------------------------
06649 //---------------------------------------------------------------------------
06650 FASTCV_API void
06651 fcvFilterCorrSep13x13s16_v2( const int16_t* __restrict kernel,
06652                              const int16_t*            srcImg,
06653                              unsigned int              srcWidth,
06654                              unsigned int              srcHeight,
06655                              unsigned int              srcStride,
06656                              int16_t* __restrict       tmpImg,
06657                              int16_t*                  dstImg,
06658                              unsigned int              dstStride );
06659 
06660 
06661 //------------------------------------------------------------------------------
06705 //------------------------------------------------------------------------------
06706 
06707 FASTCV_API void
06708 fcvFilterCorrSep15x15s16( const int16_t* __restrict kernel,
06709                           const int16_t*            src,
06710                           unsigned int              srcWidth,
06711                           unsigned int              srcHeight,
06712                           int16_t* __restrict       tmpImg,
06713                           int16_t*                  dst );
06714 
06715 
06716 //---------------------------------------------------------------------------
06768 //---------------------------------------------------------------------------
06769 FASTCV_API void
06770 fcvFilterCorrSep15x15s16_v2( const int16_t* __restrict kernel,
06771                              const int16_t*            srcImg,
06772                              unsigned int              srcWidth,
06773                              unsigned int              srcHeight,
06774                              unsigned int              srcStride,
06775                              int16_t* __restrict       tmpImg,
06776                              int16_t*                  dstImg,
06777                              unsigned int              dstStride );
06778 
06779 
06780 //------------------------------------------------------------------------------
06823 //------------------------------------------------------------------------------
06824 
06825 FASTCV_API void
06826 fcvFilterCorrSep17x17s16( const int16_t* __restrict kernel,
06827                           const int16_t*            src,
06828                           unsigned int              srcWidth,
06829                           unsigned int              srcHeight,
06830                           int16_t* __restrict       tmpImg,
06831                           int16_t*                  dst );
06832 
06833 
06834 
06835 //---------------------------------------------------------------------------
06883 //---------------------------------------------------------------------------
06884 FASTCV_API void
06885 fcvFilterCorrSep17x17s16_v2( const int16_t* __restrict kernel,
06886                              const int16_t*            srcImg,
06887                              unsigned int              srcWidth,
06888                              unsigned int              srcHeight,
06889                              unsigned int              srcStride,
06890                              int16_t* __restrict       tmpImg,
06891                              int16_t*                  dstImg,
06892                              unsigned int              dstStride );
06893 
06894 //---------------------------------------------------------------------------
06934 //---------------------------------------------------------------------------
06935 
06936 FASTCV_API void
06937 fcvFilterCorrSepNxNs16( const int16_t* __restrict kernel,
06938                         int                       knlSize,
06939                         const int16_t*            srcImg,
06940                         unsigned int              srcWidth,
06941                         unsigned int              srcHeight,
06942                         unsigned int              srcStride,
06943                         int16_t* __restrict       tmpImg,
06944                         int16_t*                  dstImg,
06945                         unsigned int              dstStride );
06946 
06947 
06948 //---------------------------------------------------------------------------
07006 //---------------------------------------------------------------------------
07007 
07008 FASTCV_API fcvStatus
07009 fcvFilterCorrSepMxNu8( const int8_t*               kernelX,
07010                        uint32_t                    knlSizeX,
07011                        const int8_t*               kernelY,
07012                        uint32_t                    knlSizeY,
07013                        int8_t                      shift,
07014                        const uint8_t*              srcImg,
07015                        uint32_t                    srcWidth,
07016                        uint32_t                    srcHeight,
07017                        uint32_t                    srcStride,
07018                        uint8_t*                    dstImg,
07019                        uint32_t                    dstStride);
07020 
07021 //------------------------------------------------------------------------------
07063 //------------------------------------------------------------------------------
07064 
07065 FASTCV_API void
07066 fcvImageIntensityStats( const uint8_t* __restrict src,
07067                         unsigned int              srcWidth,
07068                         int                       xBegin,
07069                         int                       yBegin,
07070                         unsigned int              recWidth,
07071                         unsigned int              recHeight,
07072                         float*                    mean,
07073                         float*                    variance );
07074 
07075 //------------------------------------------------------------------------------
07110 //------------------------------------------------------------------------------
07111 
07112 FASTCV_API fcvStatus
07113 fcvImageIntensityStats_v2( const uint8_t* __restrict src,
07114                            unsigned int              srcWidth,
07115                            int                       xBegin,
07116                            int                       yBegin,
07117                            uint32_t                  recWidth,
07118                            uint32_t                  recHeight,
07119                            float32_t*                mean,
07120                            float32_t*                variance,
07121                            fcvVarianceEstimator      varianceEstimator);
07122 
07123 //------------------------------------------------------------------------------
07158 //------------------------------------------------------------------------------
07159 
07160 FASTCV_API void
07161 fcvImageIntensityHistogram( const uint8_t* __restrict src,
07162                             unsigned int              srcWidth,
07163                             int                       xBegin,
07164                             int                       yBegin,
07165                             unsigned int              recWidth,
07166                             unsigned int              recHeight,
07167                             int32_t*                  histogram  );
07168 
07169 
07170 //------------------------------------------------------------------------------
07206 //------------------------------------------------------------------------------
07207 
07208 FASTCV_API void
07209 fcvIntegrateImageu8( const uint8_t* __restrict src,
07210                      unsigned int              srcWidth,
07211                      unsigned int              srcHeight,
07212                      uint32_t* __restrict      dst );
07213 
07214 
07215 //------------------------------------------------------------------------------
07264 //------------------------------------------------------------------------------
07265 
07266 FASTCV_API void
07267 fcvIntegrateImageu8_v2( const uint8_t* __restrict src,
07268                         unsigned int              srcWidth,
07269                         unsigned int              srcHeight,
07270                         unsigned int              srcStride,
07271                         uint32_t* __restrict      dst,
07272                         unsigned int              dstStride );
07273 
07274 
07275 //------------------------------------------------------------------------------
07327 //------------------------------------------------------------------------------
07328 
07329 FASTCV_API void
07330 fcvIntegratePatchu8( const uint8_t* __restrict src,
07331                      unsigned int              srcWidth,
07332                      unsigned int              srcHeight,
07333                      int                       patchX,
07334                      int                       patchY,
07335                      unsigned int              patchW,
07336                      unsigned int              patchH,
07337                      uint32_t* __restrict      intgrlImgOut,
07338                      uint32_t* __restrict      intgrlSqrdImgOut );
07339 
07340 
07341 //------------------------------------------------------------------------------
07403 //------------------------------------------------------------------------------
07404 
07405 FASTCV_API void
07406 fcvIntegratePatchu8_v2( const uint8_t* __restrict src,
07407                         unsigned int              srcWidth,
07408                         unsigned int              srcHeight,
07409                         unsigned int              srcStride,
07410                         int                       patchX,
07411                         int                       patchY,
07412                         unsigned int              patchW,
07413                         unsigned int              patchH,
07414                         uint32_t* __restrict      intgrlImgOut,
07415                         uint32_t* __restrict      intgrlSqrdImgOut );
07416 
07417 
07418 //------------------------------------------------------------------------------
07487 //------------------------------------------------------------------------------
07488 
07489 FASTCV_API fcvStatus
07490 fcvIntegratePatchu8_v3(const uint8_t* __restrict src,
07491                        uint32_t    srcWidth,
07492                        uint32_t    srcHeight,
07493                        uint32_t    srcStride,
07494                        uint32_t    patchX,
07495                        uint32_t    patchY,
07496                        uint32_t    patchW,
07497                        uint32_t    patchH,
07498                        uint32_t* __restrict      intgrlImgOut,
07499                        uint32_t    intgrlStride,
07500                        uint32_t* __restrict      intgrlSqrdImgOut,
07501                        uint32_t    intgrlSqrdStride);
07502 
07503 
07504 //---------------------------------------------------------------------------
07548 //---------------------------------------------------------------------------
07549 
07550 FASTCV_API void
07551 fcvIntegratePatch12x12u8( const uint8_t* __restrict src,
07552                           unsigned int              srcWidth,
07553                           unsigned int              srcHeight,
07554                           int                       patchX,
07555                           int                       patchY,
07556                           uint32_t* __restrict      intgrlImgOut,
07557                           uint32_t* __restrict      intgrlSqrdImgOut );
07558 
07559 
07560 //---------------------------------------------------------------------------
07612 //---------------------------------------------------------------------------
07613 
07614 FASTCV_API void
07615 fcvIntegratePatch12x12u8_v2( const uint8_t* __restrict src,
07616                              unsigned int              srcWidth,
07617                              unsigned int              srcHeight,
07618                              unsigned int              srcStride,
07619                              int                       patchX,
07620                              int                       patchY,
07621                              uint32_t* __restrict      intgrlImgOut,
07622                              uint32_t* __restrict      intgrlSqrdImgOut );
07623 
07624 
07625 //------------------------------------------------------------------------------
07670 //------------------------------------------------------------------------------
07671 
07672 FASTCV_API void
07673 fcvIntegratePatch18x18u8( const uint8_t* __restrict src,
07674                           unsigned int              srcWidth,
07675                           unsigned int              srcHeight,
07676                           int                       patchX,
07677                           int                       patchY,
07678                           uint32_t* __restrict      intgrlImgOut,
07679                           uint32_t* __restrict      intgrlSqrdImgOut );
07680 
07681 
07682 //------------------------------------------------------------------------------
07734 //------------------------------------------------------------------------------
07735 
07736 FASTCV_API void
07737 fcvIntegratePatch18x18u8_v2( const uint8_t* __restrict src,
07738                              unsigned int              srcWidth,
07739                              unsigned int              srcHeight,
07740                              unsigned int              srcStride,
07741                              int                       patchX,
07742                              int                       patchY,
07743                              uint32_t* __restrict      intgrlImgOut,
07744                              uint32_t* __restrict      intgrlSqrdImgOut );
07745 
07746 
07747 //---------------------------------------------------------------------------
07767 //---------------------------------------------------------------------------
07768 
07769 FASTCV_API void
07770 fcvIntegrateImageLineu8( const uint8_t* __restrict src,
07771                          uint16_t                  srcWidth,
07772                          uint32_t*                 intgrl,
07773                          uint32_t*                 intgrlSqrd );
07774 
07775 
07776 //------------------------------------------------------------------------------
07791 //------------------------------------------------------------------------------
07792 
07793 FASTCV_API void
07794 fcvIntegrateImageLine64u8( const uint8_t* __restrict src,
07795                            uint16_t*                 intgrl,
07796                            uint32_t*                 intgrlSqrd );
07797 
07798 
07799 //------------------------------------------------------------------------------
07843 // -----------------------------------------------------------------------------
07844 
07845 FASTCV_API int
07846 fcvDescriptorSampledMeanAndVar36f32( const float* __restrict src,
07847                                      int                     first,
07848                                      int                     last,
07849                                      int32_t*                vind,
07850                                      float* __restrict       means,
07851                                      float* __restrict       vars,
07852                                      float* __restrict       temp );
07853 
07854 
07855 //------------------------------------------------------------------------------
07919 //------------------------------------------------------------------------------
07920 
07921 FASTCV_API int
07922 fcvNCCPatchOnCircle8x8u8( const uint8_t* __restrict patch,
07923                           const uint8_t* __restrict src,
07924                           unsigned short            srcWidth,
07925                           unsigned short            srcHeight,
07926                           unsigned short            search_center_x,
07927                           unsigned short            search_center_y,
07928                           unsigned short            search_radius,
07929                           uint16_t*                 best_x,
07930                           uint16_t*                 best_y,
07931                           uint32_t*                 bestNCC,
07932                           int                       findSubPixel,
07933                           float*                    subX,
07934                           float*                    subY );
07935 
07936 
07937 //------------------------------------------------------------------------------
08010 //------------------------------------------------------------------------------
08011 
08012 FASTCV_API int
08013 fcvNCCPatchOnCircle8x8u8_v2( const uint8_t* __restrict patch,
08014                              const uint8_t* __restrict src,
08015                              unsigned short            srcWidth,
08016                              unsigned short            srcHeight,
08017                              unsigned short            search_center_x,
08018                              unsigned short            search_center_y,
08019                              unsigned short            search_radius,
08020                              int                       filterLowVariance,
08021                              uint16_t*                 best_x,
08022                              uint16_t*                 best_y,
08023                              uint32_t*                 bestNCC,
08024                              int                       findSubPixel,
08025                              float*                    subX,
08026                              float*                    subY );
08027 
08028 
08029 
08030 
08031 //------------------------------------------------------------------------------
08097 //------------------------------------------------------------------------------
08098 
08099 FASTCV_API int
08100 fcvNCCPatchOnSquare8x8u8( const uint8_t* __restrict patch,
08101                           const uint8_t* __restrict src,
08102                           unsigned short            srcWidth,
08103                           unsigned short            srcHeight,
08104                           unsigned short            search_center_x,
08105                           unsigned short            search_center_y,
08106                           unsigned short            search_w,
08107                           uint16_t*                 best_x,
08108                           uint16_t*                 best_y,
08109                           uint32_t*                 bestNCC,
08110                           int                       doSubPixel,
08111                           float*                    subX,
08112                           float*                    subY );
08113 
08114 
08115 //------------------------------------------------------------------------------
08190 //------------------------------------------------------------------------------
08191 
08192 FASTCV_API int
08193 fcvNCCPatchOnSquare8x8u8_v2( const uint8_t* __restrict patch,
08194                              const uint8_t* __restrict src,
08195                              unsigned short            srcWidth,
08196                              unsigned short            srcHeight,
08197                              unsigned short            search_center_x,
08198                              unsigned short            search_center_y,
08199                              unsigned short            search_w,
08200                              int                       filterLowVariance,
08201                              uint16_t*                 best_x,
08202                              uint16_t*                 best_y,
08203                              uint32_t*                 bestNCC,
08204                              int                       doSubPixel,
08205                              float*                    subX,
08206                              float*                    subY );
08207 
08208 
08209 
08210 //------------------------------------------------------------------------------
08254 //------------------------------------------------------------------------------
08255 
08256 FASTCV_API void
08257 fcvSumOfAbsoluteDiffs8x8u8( const uint8_t* __restrict patch,
08258                             const uint8_t* __restrict src,
08259                             unsigned int              srcWidth,
08260                             unsigned int              srcHeight,
08261                             unsigned int              srcStride,
08262                             uint16_t* __restrict      dst );
08263 
08264 
08265 //------------------------------------------------------------------------------
08323 //------------------------------------------------------------------------------
08324 
08325 FASTCV_API void
08326 fcvSumOfAbsoluteDiffs8x8u8_v2( const uint8_t* __restrict patch,
08327                                unsigned int              patchStride,
08328                                const uint8_t* __restrict src,
08329                                unsigned int              srcWidth,
08330                                unsigned int              srcHeight,
08331                                unsigned int              srcStride,
08332                                uint16_t* __restrict      dst,
08333                                unsigned int              dstStride );
08334 
08335 
08336 //------------------------------------------------------------------------------
08376 //------------------------------------------------------------------------------
08377 
08378 FASTCV_API int
08379 fcvScaleDownBy2u8( const uint8_t* __restrict src,
08380                    unsigned int              srcWidth,
08381                    unsigned int              srcHeight,
08382                    uint8_t* __restrict       dst );
08383 
08384 
08385 //------------------------------------------------------------------------------
08438 //------------------------------------------------------------------------------
08439 
08440 FASTCV_API int
08441 fcvScaleDownBy2u8_v2( const uint8_t* __restrict src,
08442                       unsigned int              srcWidth,
08443                       unsigned int              srcHeight,
08444                       unsigned int              srcStride,
08445                       uint8_t* __restrict       dst,
08446                       unsigned int              dstStride );
08447 
08448 //------------------------------------------------------------------------------
08482 //------------------------------------------------------------------------------
08483 
08484 FASTCV_API void
08485 fcvScaleDownBy2Gaussian5x5u8( const uint8_t* __restrict src,
08486                               unsigned int              srcWidth,
08487                               unsigned int              srcHeight,
08488                               uint8_t* __restrict       dst );
08489 
08490 
08491 //------------------------------------------------------------------------------
08537 //------------------------------------------------------------------------------
08538 
08539 FASTCV_API void
08540 fcvScaleDownBy2Gaussian5x5u8_v2( const uint8_t* __restrict src,
08541                                  unsigned int              srcWidth,
08542                                  unsigned int              srcHeight,
08543                                  unsigned int              srcStride,
08544                                  uint8_t* __restrict       dst,
08545                                  unsigned int              dstStride );
08546 
08547 
08548 //------------------------------------------------------------------------------
08583 //------------------------------------------------------------------------------
08584 
08585 FASTCV_API int
08586 fcvScaleDownBy4u8( const uint8_t* __restrict src,
08587                     unsigned int             srcWidth,
08588                     unsigned int             srcHeight,
08589                     uint8_t* __restrict      dst );
08590 
08591 
08592 //------------------------------------------------------------------------------
08639 //------------------------------------------------------------------------------
08640 
08641 FASTCV_API int
08642 fcvScaleDownBy4u8_v2( const uint8_t* __restrict src,
08643                       unsigned int              srcWidth,
08644                       unsigned int              srcHeight,
08645                       unsigned int              srcStride,
08646                       uint8_t* __restrict       dst,
08647                       unsigned int              dstStride );
08648 
08649 
08650 //------------------------------------------------------------------------------
08689 //------------------------------------------------------------------------------
08690 
08691 FASTCV_API int
08692 fcvScaleDown3To2u8( const uint8_t* __restrict src,
08693                     unsigned                  srcWidth,
08694                     unsigned                  srcHeight,
08695                     unsigned int              srcStride,
08696                     uint8_t* __restrict       dst,
08697                     unsigned int              dstStride);
08698 
08699 //---------------------------------------------------------------------------
08739 //------------------------------------------------------------------------------
08740 
08741 FASTCV_API int
08742 fcvScaleDownNNu8( const uint8_t* __restrict src,
08743                   unsigned int              srcWidth,
08744                   unsigned int              srcHeight,
08745                   unsigned int              srcStride,
08746                   uint8_t* __restrict       dst,
08747                   unsigned int              dstWidth,
08748                   unsigned int              dstHeight,
08749                   unsigned int              dstStride );
08750 
08751 //---------------------------------------------------------------------------
08794 //------------------------------------------------------------------------------
08795 
08796 FASTCV_API void
08797 fcvScaleDownu8( const uint8_t* __restrict src,
08798                 unsigned int              srcWidth,
08799                 unsigned int              srcHeight,
08800                 uint8_t* __restrict       dst,
08801                 unsigned int              dstWidth,
08802                 unsigned int              dstHeight );
08803 
08804 
08805 //---------------------------------------------------------------------------
08861 //------------------------------------------------------------------------------
08862 
08863 FASTCV_API void
08864 fcvScaleDownu8_v2( const uint8_t* __restrict src,
08865                    unsigned int              srcWidth,
08866                    unsigned int              srcHeight,
08867                    unsigned int              srcStride,
08868                    uint8_t* __restrict       dst,
08869                    unsigned int              dstWidth,
08870                    unsigned int              dstHeight,
08871                    unsigned int              dstStride );
08872 
08873 
08874 //------------------------------------------------------------------------------
08908 //------------------------------------------------------------------------------
08909 
08910 FASTCV_API void
08911 fcvScaleUpBy2Gaussian5x5u8( const uint8_t* __restrict src,
08912                             unsigned int              srcWidth,
08913                             unsigned int              srcHeight,
08914                             uint8_t* __restrict       dst );
08915 
08916 
08917 //------------------------------------------------------------------------------
08964 //------------------------------------------------------------------------------
08965 
08966 FASTCV_API void
08967 fcvScaleUpBy2Gaussian5x5u8_v2( const uint8_t* __restrict src,
08968                                unsigned int              srcWidth,
08969                                unsigned int              srcHeight,
08970                                unsigned int              srcStride,
08971                                uint8_t* __restrict       dst,
08972                                unsigned int              dstStride );
08973 
08974 
08975 // -----------------------------------------------------------------------------
09010 // -----------------------------------------------------------------------------
09011 
09012 FASTCV_API int
09013 fcvVecNormalize36s8f32( const int8_t* __restrict src,
09014                         unsigned int             srcStride,
09015                         const float*  __restrict invLen,
09016                         unsigned int             numVecs,
09017                         float                    reqNorm,
09018                         float*        __restrict dst,
09019                         int32_t*                 stopBuild );
09020 
09021 
09022 //---------------------------------------------------------------------------
09066 //------------------------------------------------------------------------------
09067 
09068 FASTCV_API void
09069 fcvSumOfSquaredDiffs36x4s8( const int8_t* __restrict a,
09070                             float                    invLenA,
09071                             const int8_t* __restrict b0,
09072                             const int8_t* __restrict b1,
09073                             const int8_t* __restrict b2,
09074                             const int8_t* __restrict b3,
09075                             const float* __restrict  invLenB,
09076                             float* __restrict        distances );
09077 
09078 
09079 //---------------------------------------------------------------------------
09115 //------------------------------------------------------------------------------
09116 
09117 FASTCV_API void
09118 fcvSumOfSquaredDiffs36xNs8( const int8_t* __restrict         a,
09119                             float                            invLenA,
09120                             const int8_t* const * __restrict b,
09121                             const float* __restrict          invLenB,
09122                             unsigned int                     numB,
09123                             float* __restrict                distances );
09124 
09125 
09126 //---------------------------------------------------------------------------
09144 //------------------------------------------------------------------------------
09145 
09146 FASTCV_API void
09147 fcvSort8Scoresf32( float* __restrict inScores, float* __restrict outScores );
09148 
09149 //------------------------------------------------------------------------------
09186 //------------------------------------------------------------------------------
09187 FASTCV_API void
09188 fcvFilterThresholdu8( const uint8_t*            src,
09189                       unsigned int              srcWidth,
09190                       unsigned int              srcHeight,
09191                       uint8_t*                  dst,
09192                       unsigned int              threshold );
09193 
09194 
09195 //------------------------------------------------------------------------------
09245 //------------------------------------------------------------------------------
09246 
09247 FASTCV_API void
09248 fcvFilterThresholdu8_v2( const uint8_t*            src,
09249                          unsigned int              srcWidth,
09250                          unsigned int              srcHeight,
09251                          unsigned int              srcStride,
09252                          uint8_t*                  dst,
09253                          unsigned int              dstStride,
09254                          unsigned int              threshold );
09255 
09256 
09257 //------------------------------------------------------------------------------
09318 //------------------------------------------------------------------------------
09319 
09320 FASTCV_API fcvStatus
09321 fcvFilterThresholdu8_v3( const uint8_t*            src,
09322                         unsigned int              srcWidth,
09323                         unsigned int              srcHeight,
09324                         unsigned int              srcStride,
09325                         uint8_t*                  dst,
09326                         unsigned int              dstStride,
09327                         unsigned int              threshold,
09328                         uint8_t                   trueValue,
09329                         uint8_t                   falseValue);
09330 
09331 
09332 //------------------------------------------------------------------------------
09386 //------------------------------------------------------------------------------
09387 
09388 FASTCV_API fcvStatus
09389 fcvFilterThresholdRangeu8( const uint8_t* src,
09390                            uint32_t srcWidth,
09391                            uint32_t srcHeight,
09392                            uint32_t srcStride,
09393                            uint8_t* dst,
09394                            uint32_t dstStride,
09395                            uint8_t lowThresh,
09396                            uint8_t highThresh );
09397 
09398 //------------------------------------------------------------------------------
09464 //------------------------------------------------------------------------------
09465 
09466 FASTCV_API fcvStatus
09467 fcvFilterThresholdRangeu8_v2( const uint8_t*    src,
09468                                 uint32_t        srcWidth,
09469                                 uint32_t        srcHeight,
09470                                 uint32_t        srcStride,
09471                                 uint8_t*        dst,
09472                                 uint32_t        dstStride,
09473                                 uint8_t         lowThresh,
09474                                 uint8_t         highThresh,
09475                                 uint8_t         trueValue,
09476                                 uint8_t         falseValue);
09477 
09478 //------------------------------------------------------------------------------
09508 //------------------------------------------------------------------------------
09509 
09510 FASTCV_API void
09511 fcvFilterDilate3x3u8( const uint8_t* __restrict src,
09512                       unsigned int              srcWidth,
09513                       unsigned int              srcHeight,
09514                       uint8_t* __restrict       dst );
09515 
09516 
09517 //------------------------------------------------------------------------------
09560 //------------------------------------------------------------------------------
09561 
09562 FASTCV_API void
09563 fcvFilterDilate3x3u8_v2( const uint8_t* __restrict src,
09564                          unsigned int              srcWidth,
09565                          unsigned int              srcHeight,
09566                          unsigned int              srcStride,
09567                          uint8_t* __restrict       dst,
09568                          unsigned int              dstStride );
09569 
09570 //------------------------------------------------------------------------------
09599 //------------------------------------------------------------------------------
09600 
09601 FASTCV_API void
09602 fcvFilterErode3x3u8( const uint8_t* __restrict src,
09603                      unsigned int              srcWidth,
09604                      unsigned int              srcHeight,
09605                      uint8_t* __restrict       dst );
09606 
09607 //------------------------------------------------------------------------------
09650 //------------------------------------------------------------------------------
09651 
09652 FASTCV_API void
09653 fcvFilterErode3x3u8_v2( const uint8_t* __restrict src,
09654                         unsigned int              srcWidth,
09655                         unsigned int              srcHeight,
09656                         unsigned int              srcStride,
09657                         uint8_t* __restrict       dst,
09658                         unsigned int              dstStride );
09659 
09660 //---------------------------------------------------------------------------
09704 //------------------------------------------------------------------------------
09705 
09706 FASTCV_API int
09707 fcvTransformAffine8x8u8( const uint8_t* __restrict src,
09708                          unsigned int              srcWidth,
09709                          unsigned int              srcHeight,
09710                          const int32_t* __restrict nPos,
09711                          const int32_t* __restrict nAffine,
09712                          uint8_t* __restrict       nPatch );
09713 
09714 
09715 //---------------------------------------------------------------------------
09774 //------------------------------------------------------------------------------
09775 
09776 FASTCV_API int
09777 fcvTransformAffine8x8u8_v2( const uint8_t* __restrict src,
09778                             unsigned int              srcWidth,
09779                             unsigned int              srcHeight,
09780                             unsigned int              srcStride,
09781                             const int32_t* __restrict nPos,
09782                             const int32_t* __restrict nAffine,
09783                             uint8_t* __restrict       patch,
09784                             unsigned int              patchStride );
09785 
09786 
09787 //------------------------------------------------------------------------------
09850 //------------------------------------------------------------------------------
09851 
09852 FASTCV_API void
09853 fcvWarpPerspectiveu8( const uint8_t* __restrict src,
09854                       unsigned int              srcWidth,
09855                       unsigned int              srcHeight,
09856                       uint8_t* __restrict       dst,
09857                       unsigned int              dstWidth,
09858                       unsigned int              dstHeight,
09859                       float* __restrict         projectionMatrix );
09860 
09861 
09862 //------------------------------------------------------------------------------
09938 //------------------------------------------------------------------------------
09939 
09940 FASTCV_API void
09941 fcvWarpPerspectiveu8_v2( const uint8_t* __restrict src,
09942                          unsigned int              srcWidth,
09943                          unsigned int              srcHeight,
09944                          unsigned int              srcStride,
09945                          uint8_t* __restrict       dst,
09946                          unsigned int              dstWidth,
09947                          unsigned int              dstHeight,
09948                          unsigned int              dstStride,
09949                          float* __restrict         projectionMatrix );
09950 
09951 
09952 //---------------------------------------------------------------------------
10010 //---------------------------------------------------------------------------
10011 
10012 FASTCV_API void
10013 fcv3ChannelWarpPerspectiveu8( const uint8_t* __restrict src,
10014                               unsigned int              srcWidth,
10015                               unsigned int              srcHeight,
10016                               uint8_t* __restrict       dst,
10017                               unsigned int              dstWidth,
10018                               unsigned int              dstHeight,
10019                               float* __restrict         projectionMatrix );
10020 
10021 
10022 //---------------------------------------------------------------------------
10093 //---------------------------------------------------------------------------
10094 
10095 FASTCV_API void
10096 fcv3ChannelWarpPerspectiveu8_v2( const uint8_t* __restrict src,
10097                                  unsigned int              srcWidth,
10098                                  unsigned int              srcHeight,
10099                                  unsigned int              srcStride,
10100                                  uint8_t* __restrict       dst,
10101                                  unsigned int              dstWidth,
10102                                  unsigned int              dstHeight,
10103                                  unsigned int              dstStride,
10104                                  float* __restrict         projectionMatrix );
10105 
10106 
10107 //---------------------------------------------------------------------------
10167 //---------------------------------------------------------------------------
10168 
10169 FASTCV_API int
10170 fcvClusterEuclideanf32( const float* __restrict  points,
10171                         int                      numPoints,  // actually not used but helpful
10172                         int                      dim,
10173                         int                      pointStride,
10174                         const size_t* __restrict indices,
10175                         int                      numIndices,
10176                         int                      numClusters,
10177                         float* __restrict        clusterCenters,
10178                         int                      clusterCenterStride,
10179                         float* __restrict        newClusterCenters,
10180                         size_t* __restrict       clusterMemberCounts,
10181                         size_t* __restrict       clusterBindings,
10182                         float*                   sumOfClusterDistances );
10183 
10184 
10185 //---------------------------------------------------------------------------
10247 //---------------------------------------------------------------------------
10248 
10249 FASTCV_API int
10250 fcvClusterEuclideanNormedf32( const float* __restrict  points,
10251                               int                      numPoints,
10252                               int                      dim,
10253                               int                      pointStride,
10254                               const size_t* __restrict indices,
10255                               int                      numIndices,
10256                               int                      numClusters,
10257                               float* __restrict        clusterCenters,
10258                               int                      clusterCenterStride,
10259                               float* __restrict        newClusterCenters,
10260                               size_t* __restrict       clusterMemberCounts,
10261                               size_t* __restrict       clusterBindings,
10262                               float*                   sumOfClusterDistances );
10263 
10264 
10265 //---------------------------------------------------------------------------
10324 //---------------------------------------------------------------------------
10325 
10326 FASTCV_API int
10327 fcvClusterEuclideanNormed36f32( const float* __restrict  points,
10328                                 int                      numPoints,
10329                                 int                      pointStride,
10330                                 const size_t* __restrict indices,
10331                                 int                      numIndices,
10332                                 int                      numClusters,
10333                                 float* __restrict        clusterCenters,
10334                                 int                      clusterCenterStride,
10335                                 float* __restrict        newClusterCenters,
10336                                 size_t* __restrict       clusterMemberCounts,
10337                                 size_t* __restrict       clusterBindings,
10338                                 float*                   sumOfClusterDistances );
10339 
10340 
10341 //---------------------------------------------------------------------------
10381 //---------------------------------------------------------------------------
10382 
10383 FASTCV_API void
10384 fcvFilterGaussian5x5s16( const int16_t* __restrict src,
10385                          unsigned int              srcWidth,
10386                          unsigned int              srcHeight,
10387                          int16_t* __restrict       dst,
10388                          int                       blurBorder );
10389 
10390 
10391 //---------------------------------------------------------------------------
10444 //---------------------------------------------------------------------------
10445 
10446 FASTCV_API void
10447 fcvFilterGaussian5x5s16_v2( const int16_t* __restrict src,
10448                             unsigned int              srcWidth,
10449                             unsigned int              srcHeight,
10450                             unsigned int              srcStride,
10451                             int16_t* __restrict       dst,
10452                             unsigned int              dstStride,
10453                             int                       blurBorder );
10454 
10455 
10456 //---------------------------------------------------------------------------
10496 //---------------------------------------------------------------------------
10497 
10498 FASTCV_API void
10499 fcvFilterGaussian5x5s32( const int32_t* __restrict src,
10500                          unsigned int              srcWidth,
10501                          unsigned int              srcHeight,
10502                          int32_t* __restrict       dst,
10503                          int                       blurBorder );
10504 
10505 
10506 //---------------------------------------------------------------------------
10559 //---------------------------------------------------------------------------
10560 
10561 FASTCV_API void
10562 fcvFilterGaussian5x5s32_v2( const int32_t* __restrict src,
10563                             unsigned int              srcWidth,
10564                             unsigned int              srcHeight,
10565                             unsigned int              srcStride,
10566                             int32_t* __restrict       dst,
10567                             unsigned int              dstStride,
10568                             int                       blurBorder );
10569 
10570 
10571 //---------------------------------------------------------------------------
10619 //---------------------------------------------------------------------------
10620 FASTCV_API uint32_t
10621 fcvImageSegmentationRegionGrow( const uint8_t* __restrict src,
10622                                 uint32_t srcWidth,
10623                                 uint32_t srcHeight,
10624                                 uint32_t srcStride,
10625                                 uint32_t numChannel,
10626                                 uint32_t thresholdSplit,
10627                                 uint32_t thresholdMerge,
10628                                 uint32_t* __restrict segLabel,
10629                                 uint32_t segLabelStride,
10630                                 uint8_t* __restrict data );
10631 
10632 //---------------------------------------------------------------------------
10680 //---------------------------------------------------------------------------
10681 
10682 FASTCV_API int
10683 fcvTransformAffineu8( const uint8_t* __restrict src,
10684                       unsigned int              srcWidth,
10685                       unsigned int              srcHeight,
10686                       const float* __restrict   position,
10687                       const float* __restrict   affine,
10688                       uint8_t* __restrict       patch,
10689                       unsigned int              patchWidth,
10690                       unsigned int              patchHeight );
10691 
10692 
10693 //---------------------------------------------------------------------------
10756 //---------------------------------------------------------------------------
10757 
10758 FASTCV_API int
10759 fcvTransformAffineu8_v2( const uint8_t* __restrict src,
10760                          unsigned int              srcWidth,
10761                          unsigned int              srcHeight,
10762                          unsigned int              srcStride,
10763                          const float* __restrict   position,
10764                          const float* __restrict   affine,
10765                          uint8_t* __restrict       patch,
10766                          unsigned int              patchWidth,
10767                          unsigned int              patchHeight,
10768                          unsigned int              patchStride );
10769 
10770 
10771 //---------------------------------------------------------------------------
10787 //---------------------------------------------------------------------------
10788 
10789 FASTCV_API void
10790 fcvCopyRotated17x17u8( const uint8_t* __restrict src,
10791                        uint8_t* __restrict       dst,
10792                        int                       orientation );
10793 
10794 
10795 //------------------------------------------------------------------------------
10810 //------------------------------------------------------------------------------
10811 
10812 FASTCV_API uint32_t
10813 fcvBitCountu8( const uint8_t* __restrict src,
10814                unsigned int              srcLength );
10815 
10816 
10817 //------------------------------------------------------------------------------
10828 //------------------------------------------------------------------------------
10829 
10830 FASTCV_API uint32_t
10831 fcvBitCount32x1u8( const uint8_t* __restrict src );
10832 
10833 
10834 //------------------------------------------------------------------------------
10854 //------------------------------------------------------------------------------
10855 
10856 FASTCV_API void
10857 fcvBitCount32x4u8( const uint8_t* __restrict a,
10858                    const uint8_t* __restrict b,
10859                    const uint8_t* __restrict c,
10860                    const uint8_t* __restrict d,
10861                    uint32_t* __restrict      bitCount );
10862 
10863 
10864 //------------------------------------------------------------------------------
10875 //------------------------------------------------------------------------------
10876 
10877 FASTCV_API uint32_t
10878 fcvBitCount64x1u8( const uint8_t* __restrict src );
10879 
10880 
10881 //------------------------------------------------------------------------------
10901 //------------------------------------------------------------------------------
10902 
10903 FASTCV_API void
10904 fcvBitCount64x4u8( const uint8_t* __restrict a,
10905                    const uint8_t* __restrict b,
10906                    const uint8_t* __restrict c,
10907                    const uint8_t* __restrict d,
10908                    uint32_t* __restrict      bitCount );
10909 
10910 
10911 //------------------------------------------------------------------------------
10925 //------------------------------------------------------------------------------
10926 
10927 FASTCV_API uint32_t
10928 fcvBitCountu32( const uint32_t* __restrict src,
10929                 unsigned int               srcLength );
10930 
10931 
10932 //------------------------------------------------------------------------------
10951 //------------------------------------------------------------------------------
10952 
10953 FASTCV_API uint32_t
10954 fcvHammingDistanceu8( const uint8_t* __restrict a,
10955                       const uint8_t* __restrict b,
10956                       unsigned int              abLength );
10957 
10958 
10959 //------------------------------------------------------------------------------
10975 //------------------------------------------------------------------------------
10976 
10977 FASTCV_API uint32_t
10978 fcvHammingDistance32x1u8a4( const uint8_t* __restrict a,
10979                             const uint8_t* __restrict b );
10980 
10981 
10982 //------------------------------------------------------------------------------
10998 //------------------------------------------------------------------------------
10999 
11000 FASTCV_API uint32_t
11001 fcvHammingDistance64x1u8a4( const uint8_t* __restrict a,
11002                             const uint8_t* __restrict b );
11003 
11004 
11005 //------------------------------------------------------------------------------
11019 //------------------------------------------------------------------------------
11020 
11021 FASTCV_API uint32_t
11022 fcvHammingDistance32x1u8( const uint8_t* __restrict a,
11023                           const uint8_t* __restrict b );
11024 
11025 
11026 //------------------------------------------------------------------------------
11042 //------------------------------------------------------------------------------
11043 
11044 FASTCV_API uint32_t
11045 fcvHammingDistance64x1u8( const uint8_t* __restrict a,
11046                           const uint8_t* __restrict b );
11047 
11048 
11049 //------------------------------------------------------------------------------
11078 //------------------------------------------------------------------------------
11079 
11080 FASTCV_API void
11081 fcvHammingDistance32x4u8a4( const uint8_t* __restrict a,
11082                             const uint8_t* __restrict b,
11083                             const uint8_t* __restrict c,
11084                             const uint8_t* __restrict d,
11085                             const uint8_t* __restrict e,
11086                             uint32_t* __restrict      hammingDistances );
11087 
11088 
11089 //------------------------------------------------------------------------------
11119 //------------------------------------------------------------------------------
11120 
11121 FASTCV_API void
11122 fcvHammingDistance64x4u8a4( const uint8_t* __restrict a,
11123                             const uint8_t* __restrict b,
11124                             const uint8_t* __restrict c,
11125                             const uint8_t* __restrict d,
11126                             const uint8_t* __restrict e,
11127                             uint32_t* __restrict      hammingDistances );
11128 
11129 
11130 //------------------------------------------------------------------------------
11158 //------------------------------------------------------------------------------
11159 
11160 FASTCV_API void
11161 fcvHammingDistance64x4u8( const uint8_t* __restrict a,
11162                           const uint8_t* __restrict b,
11163                           const uint8_t* __restrict c,
11164                           const uint8_t* __restrict d,
11165                           const uint8_t* __restrict e,
11166                           uint32_t* __restrict      hammingDistances );
11167 
11168 
11169 //---------------------------------------------------------------------------
11219 //------------------------------------------------------------------------------
11220 
11221 FASTCV_API void
11222 fcvCornerFast9Scoreu8( const uint8_t* __restrict src,
11223                        unsigned int              srcWidth,
11224                        unsigned int              srcHeight,
11225                        unsigned int              srcStride,
11226                        int                       barrier,
11227                        unsigned int              border,
11228                        uint32_t* __restrict      xy,
11229                        uint32_t* __restrict      scores,
11230                        unsigned int              nCornersMax,
11231                        uint32_t* __restrict      nCorners );
11232 
11233 
11234 //---------------------------------------------------------------------------
11297 //------------------------------------------------------------------------------
11298 
11299 FASTCV_API void
11300 fcvCornerFast9InMaskScoreu8( const uint8_t* __restrict src,
11301                              unsigned int              srcWidth,
11302                              unsigned int              srcHeight,
11303                              unsigned int              srcStride,
11304                              int                       barrier,
11305                              unsigned int              border,
11306                              uint32_t* __restrict      xy,
11307                              uint32_t* __restrict      scores,
11308                              unsigned int              nCornersMax,
11309                              uint32_t* __restrict      nCorners,
11310                              const uint8_t* __restrict mask,
11311                              unsigned int              maskWidth,
11312                              unsigned int              maskHeight );
11313 
11314 //---------------------------------------------------------------------------
11390 //------------------------------------------------------------------------------
11391 
11392 FASTCV_API void
11393 fcvCornerFast9Scoreu8_v2( const uint8_t* __restrict src,
11394                            unsigned int             srcWidth,
11395                            unsigned int             srcHeight,
11396                            unsigned int             srcStride,
11397                                     int             barrier,
11398                            unsigned int             border,
11399                                uint32_t* __restrict xy,
11400                                uint32_t* __restrict scores,
11401                            unsigned int             nCornersMax,
11402                                uint32_t* __restrict nCorners,
11403                                uint32_t             nmsEnabled,
11404                                    void* __restrict tempBuf);
11405 
11406 
11407 //---------------------------------------------------------------------------
11499 //------------------------------------------------------------------------------
11500 
11501 FASTCV_API void
11502 fcvCornerFast9InMaskScoreu8_v2( const uint8_t* __restrict src,
11503                                  unsigned int             srcWidth,
11504                                  unsigned int             srcHeight,
11505                                  unsigned int             srcStride,
11506                                           int             barrier,
11507                                  unsigned int             border,
11508                                      uint32_t* __restrict xy,
11509                                      uint32_t* __restrict scores,
11510                                  unsigned int             nCornersMax,
11511                                      uint32_t* __restrict nCorners,
11512                                 const uint8_t* __restrict mask,
11513                                  unsigned int             maskWidth,
11514                                  unsigned int             maskHeight,
11515                                      uint32_t             nmsEnabled,
11516                                          void* __restrict tempBuf);
11517 
11518 
11519 //---------------------------------------------------------------------------
11584 //---------------------------------------------------------------------------
11585 
11586 FASTCV_API void
11587 fcvCornerFast10Scoreu8( const uint8_t* __restrict src,
11588                              uint32_t             srcWidth,
11589                              uint32_t             srcHeight,
11590                              uint32_t             srcStride,
11591                               int32_t             barrier,
11592                              uint32_t             border,
11593                              uint32_t* __restrict xy,
11594                              uint32_t* __restrict scores,
11595                              uint32_t             nCornersMax,
11596                              uint32_t* __restrict nCorners,
11597                              uint32_t             nmsEnabled,
11598                                  void* __restrict tempBuf);
11599 
11600 //---------------------------------------------------------------------------
11677 //---------------------------------------------------------------------------
11678 
11679 FASTCV_API void
11680 fcvCornerFast10InMaskScoreu8( const uint8_t* __restrict src,
11681                                    uint32_t             srcWidth,
11682                                    uint32_t             srcHeight,
11683                                    uint32_t             srcStride,
11684                                     int32_t             barrier,
11685                                    uint32_t             border,
11686                                    uint32_t* __restrict xy,
11687                                    uint32_t* __restrict scores,
11688                                    uint32_t             nCornersMax,
11689                                    uint32_t* __restrict nCorners,
11690                               const uint8_t* __restrict mask,
11691                                    uint32_t             maskWidth,
11692                                    uint32_t             maskHeight,
11693                                    uint32_t             nmsEnabled,
11694                                        void* __restrict tempBuf);
11695 
11696 // -----------------------------------------------------------------------------
11795 // -----------------------------------------------------------------------------
11796 
11797 FASTCV_API void
11798 fcvTrackLKOpticalFlowu8( const uint8_t* __restrict src1,
11799                          const uint8_t* __restrict src2,
11800                          int                       srcWidth,
11801                          int                       srcHeight,
11802                          const fcvPyramidLevel*    src1Pyr,
11803                          const fcvPyramidLevel*    src2Pyr,
11804                          const fcvPyramidLevel*    dx1Pyr,
11805                          const fcvPyramidLevel*    dy1Pyr,
11806                          const float*              featureXY,
11807                          float*                    featureXY_out,
11808                          int32_t*                  featureStatus,
11809                          int                       featureLen,
11810                          int                       windowWidth,
11811                          int                       windowHeight,
11812                          int                       maxIterations,
11813                          int                       nPyramidLevels,
11814                          float                     maxResidue,
11815                          float                     minDisplacement,
11816                          float                     minEigenvalue,
11817                          int                       lightingNormalized );
11818 
11819 
11820 // -----------------------------------------------------------------------------
11897 // -----------------------------------------------------------------------------
11898 
11899 FASTCV_API void
11900 fcvTrackLKOpticalFlowu8_v2(  const uint8_t* __restrict   src1,
11901                              const uint8_t* __restrict   src2,
11902                              uint32_t                    width,
11903                              uint32_t                    height,
11904                              uint32_t                    stride,
11905                              const fcvPyramidLevel_v2    *src1Pyr,
11906                              const fcvPyramidLevel_v2    *src2Pyr,
11907                              const float32_t*            featureXY,
11908                              float32_t*                  featureXY_out,
11909                              int32_t*                    featureStatus,
11910                              int32_t                     featureLen,
11911                              int32_t                     windowWidth,
11912                              int32_t                     windowHeight,
11913                              int32_t                     maxIterations,
11914                              int32_t                     nPyramidLevels);
11915 
11916 
11917 // -----------------------------------------------------------------------------
12023 //------------------------------------------------------------------------------
12024 
12025 FASTCV_API void
12026 fcvTrackLKOpticalFlowf32( const uint8_t* __restrict src1,
12027                           const uint8_t* __restrict src2,
12028                           unsigned int              srcWidth,
12029                           unsigned int              srcHeight,
12030                           const fcvPyramidLevel*    src1Pyr,
12031                           const fcvPyramidLevel*    src2Pyr,
12032                           const fcvPyramidLevel*    dx1Pyr,
12033                           const fcvPyramidLevel*    dy1Pyr,
12034                           const float*              featureXY,
12035                           float*                    featureXY_out,
12036                           int32_t*                  featureStatus,
12037                           int                       featureLen,
12038                           int                       windowWidth,
12039                           int                       windowHeight,
12040                           int                       maxIterations,
12041                           int                       nPyramidLevels,
12042                           float                     maxResidue,
12043                           float                     minDisplacement,
12044                           float                     minEigenvalue,
12045                           int                       lightingNormalized );
12046 
12047 
12048 // -----------------------------------------------------------------------------
12084 //-------------------------------------------------------------------------------
12085 
12086 FASTCV_API int
12087 fcvPyramidCreatef32( const float* __restrict src,
12088                      unsigned int            srcWidth,
12089                      unsigned int            srcHeight,
12090                      unsigned int            numLevels,
12091                      fcvPyramidLevel*        pyramid );
12092 
12093 // -----------------------------------------------------------------------------
12135 //-------------------------------------------------------------------------------
12136 
12137 FASTCV_API int
12138 fcvPyramidCreatef32_v2( const float32_t* __restrict src,
12139                         uint32_t                    srcWidth,
12140                         uint32_t                    srcHeight,
12141                         uint32_t                    srcStride,
12142                         uint32_t                    numLevels,
12143                         fcvPyramidLevel_v2*         pyramid );
12144 
12145 // -----------------------------------------------------------------------------
12180 //-------------------------------------------------------------------------------
12181 
12182 FASTCV_API int
12183 fcvPyramidCreateu8( const uint8_t* __restrict src,
12184                     unsigned int              srcWidth,
12185                     unsigned int              srcHeight,
12186                     unsigned int              numLevels,
12187                     fcvPyramidLevel*          pyramid );
12188 
12189 // -----------------------------------------------------------------------------
12231 //-------------------------------------------------------------------------------
12232 
12233 FASTCV_API int
12234 fcvPyramidCreateu8_v2( const uint8_t * __restrict src,
12235                        uint32_t                   srcWidth,
12236                        uint32_t                   srcHeight,
12237                        uint32_t                   srcStride,
12238                        uint32_t                   numLevels,
12239                        fcvPyramidLevel_v2*        pyramid );
12240 
12241 
12242 // -----------------------------------------------------------------------------
12299 //-------------------------------------------------------------------------------
12300 
12301 FASTCV_API fcvStatus
12302 fcvPyramidCreateu8_v3(const uint8_t * __restrict src,
12303                       uint32_t           srcWidth,
12304                       uint32_t           srcHeight,
12305                       uint32_t           srcStride,
12306                       uint32_t           numLevels,
12307                       fcvPyramidScale  scale,
12308                       fcvPyramidLevel_v2*  __restrict      pyramidGaussian);
12309 
12310 // -----------------------------------------------------------------------------
12327 //-------------------------------------------------------------------------------
12328 
12329 FASTCV_API int
12330 fcvPyramidSobelGradientCreatei16( const fcvPyramidLevel* imgPyr,
12331                                   fcvPyramidLevel*       dxPyr,
12332                                   fcvPyramidLevel*       dyPyr,
12333                                   unsigned int           numLevels );
12334 
12335 
12336 // -----------------------------------------------------------------------------
12353 //-------------------------------------------------------------------------------
12354 
12355 FASTCV_API int
12356 fcvPyramidSobelGradientCreatef32( const fcvPyramidLevel* imgPyr,
12357                                   fcvPyramidLevel*       dxPyr,
12358                                   fcvPyramidLevel*       dyPyr,
12359                                   unsigned int           numLevels  );
12360 
12361 
12362 // -----------------------------------------------------------------------------
12379 // -----------------------------------------------------------------------------
12380 
12381 FASTCV_API int
12382 fcvPyramidSobelGradientCreatei8( const fcvPyramidLevel* imgPyr,
12383                                  fcvPyramidLevel*       dxPyr,
12384                                  fcvPyramidLevel*       dyPyr,
12385                                  unsigned int           numLevels );
12386 
12387 
12388 //------------------------------------------------------------------------------
12437 //------------------------------------------------------------------------------
12438 
12439 FASTCV_API void
12440 fcvImageGradientSobelPlanars16( const uint8_t* __restrict  src,
12441                                 unsigned int               srcWidth,
12442                                 unsigned int               srcHeight,
12443                                 unsigned int               srcStride,
12444                                 int16_t* __restrict        dx,
12445                                 int16_t* __restrict        dy);
12446 
12447 //------------------------------------------------------------------------------
12502 //------------------------------------------------------------------------------
12503 
12504 FASTCV_API void
12505 fcvImageGradientSobelPlanars16_v2( const uint8_t* __restrict  src,
12506                                    unsigned int               srcWidth,
12507                                    unsigned int               srcHeight,
12508                                    unsigned int               srcStride,
12509                                    int16_t* __restrict        dx,
12510                                    int16_t* __restrict        dy,
12511                                    unsigned int               dxyStride );
12512 
12513 
12514 //------------------------------------------------------------------------------
12571 //------------------------------------------------------------------------------
12572 FASTCV_API void
12573 fcvImageGradientSobelPlanars16_v3( const uint8_t* __restrict  src,
12574                                     unsigned int              srcWidth,
12575                                     unsigned int              srcHeight,
12576                                     unsigned int              srcStride,
12577                                          int16_t* __restrict  dx,
12578                                          int16_t* __restrict  dy,
12579                                     unsigned int              dxyStride );
12580 
12581 //------------------------------------------------------------------------------
12622 //------------------------------------------------------------------------------
12623 
12624 FASTCV_API void
12625 fcvImageGradientSobelInterleaveds16( const uint8_t* __restrict  src,
12626                                      unsigned int               srcWidth,
12627                                      unsigned int               srcHeight,
12628                                      unsigned int               srcStride,
12629                                      int16_t* __restrict        gradients );
12630 
12631 //------------------------------------------------------------------------------
12679 //------------------------------------------------------------------------------
12680 
12681 FASTCV_API void
12682 fcvImageGradientSobelInterleaveds16_v2( const uint8_t* __restrict  src,
12683                                         unsigned int               srcWidth,
12684                                         unsigned int               srcHeight,
12685                                         unsigned int               srcStride,
12686                                         int16_t* __restrict        gradients,
12687                                         unsigned int               gradStride );
12688 
12689 // -----------------------------------------------------------------------------
12740 // -----------------------------------------------------------------------------
12741 FASTCV_API void
12742 fcvImageGradientSobelInterleaveds16_v3( const uint8_t* __restrict  src,
12743                                         unsigned int               srcWidth,
12744                                         unsigned int               srcHeight,
12745                                         unsigned int               srcStride,
12746                                         int16_t*       __restrict  gradients,
12747                                         unsigned int               gradStride );
12748 
12749 //------------------------------------------------------------------------------
12790 //------------------------------------------------------------------------------
12791 
12792 FASTCV_API void
12793 fcvImageGradientSobelInterleavedf32( const uint8_t* __restrict src,
12794                                      unsigned int              srcWidth,
12795                                      unsigned int              srcHeight,
12796                                      unsigned int              srcStride,
12797                                      float* __restrict         gradients);
12798 
12799 //------------------------------------------------------------------------------
12849 //------------------------------------------------------------------------------
12850 
12851 FASTCV_API void
12852 fcvImageGradientSobelInterleavedf32_v2( const uint8_t* __restrict src,
12853                                         unsigned int              srcWidth,
12854                                         unsigned int              srcHeight,
12855                                         unsigned int              srcStride,
12856                                         float* __restrict         gradients,
12857                                         unsigned int              gradStride);
12858 
12859 
12860 //------------------------------------------------------------------------------
12907 //------------------------------------------------------------------------------
12908 
12909 FASTCV_API void
12910 fcvImageGradientSobelPlanars8( const uint8_t* __restrict src,
12911                                unsigned int              srcWidth,
12912                                unsigned int              srcHeight,
12913                                unsigned int              srcStride,
12914                                int8_t* __restrict        dx,
12915                                int8_t* __restrict        dy);
12916 
12917 //------------------------------------------------------------------------------
12973 //------------------------------------------------------------------------------
12974 
12975 FASTCV_API void
12976 fcvImageGradientSobelPlanars8_v2( const uint8_t* __restrict src,
12977                                   unsigned int              srcWidth,
12978                                   unsigned int              srcHeight,
12979                                   unsigned int              srcStride,
12980                                   int8_t* __restrict        dx,
12981                                   int8_t* __restrict        dy,
12982                                   unsigned int              dxyStride );
12983 
12984 
12985 //------------------------------------------------------------------------------
13032 //------------------------------------------------------------------------------
13033 FASTCV_API void
13034 fcvImageGradientSobelPlanarf32( const uint8_t* __restrict  src,
13035                                 unsigned int               srcWidth,
13036                                 unsigned int               srcHeight,
13037                                 unsigned int               srcStride,
13038                                 float*                     dx,
13039                                 float*                     dy);
13040 
13041 //------------------------------------------------------------------------------
13097 //------------------------------------------------------------------------------
13098 FASTCV_API void
13099 fcvImageGradientSobelPlanarf32_v2( const uint8_t* __restrict  src,
13100                                    unsigned int               srcWidth,
13101                                    unsigned int               srcHeight,
13102                                    unsigned int               srcStride,
13103                                    float*                     dx,
13104                                    float*                     dy,
13105                                    unsigned int               dxyStride );
13106 
13107 
13108 //------------------------------------------------------------------------------
13155 //------------------------------------------------------------------------------
13156 FASTCV_API void
13157 fcvImageGradientSobelPlanarf32f32( const float * __restrict  src,
13158                                    unsigned int              srcWidth,
13159                                    unsigned int              srcHeight,
13160                                    unsigned int              srcStride,
13161                                    float*                    dx,
13162                                    float*                    dy);
13163 
13164 
13165 //------------------------------------------------------------------------------
13222 //------------------------------------------------------------------------------
13223 FASTCV_API void
13224 fcvImageGradientSobelPlanarf32f32_v2( const float * __restrict  src,
13225                                       unsigned int              srcWidth,
13226                                       unsigned int              srcHeight,
13227                                       unsigned int              srcStride,
13228                                       float*                    dx,
13229                                       float*                    dy,
13230                                       unsigned int              dxyStride );
13231 
13232 
13233 //------------------------------------------------------------------------------
13352 //------------------------------------------------------------------------------
13353 FASTCV_API int
13354 fcvTrackBMOpticalFlow16x16u8( const uint8_t* __restrict   src1,
13355                               const uint8_t* __restrict   src2,
13356                               uint32_t                    srcWidth,
13357                               uint32_t                    srcHeight,
13358                               uint32_t                    srcStride,
13359                               uint32_t                    roiLeft,
13360                               uint32_t                    roiTop,
13361                               uint32_t                    roiRight,
13362                               uint32_t                    roiBottom,
13363                               uint32_t                    shiftSize,
13364                               uint32_t                    searchWidth,
13365                               uint32_t                    searchHeight,
13366                               uint32_t                    searchStep,
13367                               uint32_t                    usePrevious,
13368                               uint32_t *                  numMv,
13369                               uint32_t *                  locX,
13370                               uint32_t *                  locY,
13371                               uint32_t *                  mvX,
13372                               uint32_t *                  mvY);
13373 
13374 //------------------------------------------------------------------------------
13455 //------------------------------------------------------------------------------
13456 FASTCV_API fcvStatus
13457 fcvNCCPatchesOnRectu8 ( const uint8_t* __restrict     patches,
13458                         uint32_t                      patchWidth,
13459                         uint32_t                      patchHeight,
13460                         const uint8_t* __restrict     src,
13461                         uint32_t                      srcWidth,
13462                         uint32_t                      srcHeight,
13463                         uint32_t                      srcStride,
13464                         const uint32_t * __restrict   searchCenterX,
13465                         const uint32_t * __restrict   searchCenterY,
13466                         uint32_t                      searchWidth,
13467                         uint32_t                      searchHeight,
13468                         int32_t                       filterLowVariance,
13469                         uint32_t* __restrict          bestX,
13470                         uint32_t* __restrict          bestY,
13471                         uint32_t* __restrict          bestNCC,
13472                         int32_t                       findSubPixel,
13473                         float32_t* __restrict         subX,
13474                         float32_t* __restrict         subY,
13475                         uint32_t                      numSearches );
13476 
13477 //------------------------------------------------------------------------------
13515 //------------------------------------------------------------------------------
13516 
13517 FASTCV_API void
13518 fcvBitwiseOru8(const uint8_t* __restrict src1,
13519                                 const uint8_t* __restrict src2,
13520                                 uint32_t                  srcWidth,
13521                                 uint32_t                  srcHeight,
13522                                 uint32_t                  srcStride,
13523                                 uint8_t * __restrict      dst,
13524                                 uint32_t                  dstStride,
13525                                 uint8_t * __restrict      mask,
13526                                 uint32_t                  maskStride );
13527 
13528 //------------------------------------------------------------------------------
13566 //------------------------------------------------------------------------------
13567 
13568 FASTCV_API void
13569 fcvBitwiseOrs32(const int32_t* __restrict src1,
13570                                  const int32_t* __restrict src2,
13571                                  uint32_t                  srcWidth,
13572                                  uint32_t                  srcHeight,
13573                                  uint32_t                  srcStride,
13574                                  int32_t * __restrict      dst,
13575                                  uint32_t                  dstStride,
13576                                  uint8_t * __restrict      mask,
13577                                  uint32_t                  maskStride);
13578 
13579 
13580 //------------------------------------------------------------------------------
13614 //------------------------------------------------------------------------------
13615 FASTCV_API void
13616 fcvColorRGB888ToGrayu8( const uint8_t* __restrict src,
13617                      uint32_t srcWidth,
13618                      uint32_t srcHeight,
13619                      uint32_t srcStride,
13620                      uint8_t* __restrict dst,
13621                      uint32_t  dstStride);
13622 
13623 
13624 //------------------------------------------------------------------------------
13659 //------------------------------------------------------------------------------
13660 
13661 FASTCV_API void
13662 fcvTiltedIntegralu8s32( const uint8_t* __restrict src,
13663                                         uint32_t             srcWidth,
13664                                         uint32_t            srcHeight,
13665                                         uint32_t            srcStride,
13666                                         int32_t* __restrict       dst,
13667                                         uint32_t            dstStride);
13668 
13669 //------------------------------------------------------------------------------
13721 //------------------------------------------------------------------------------
13722 FASTCV_API void
13723 fcvConvValids16( const int16_t* __restrict src1,
13724                  uint32_t src1Width,
13725                  uint32_t src1Height,
13726                  uint32_t src1Stride,
13727                  const int16_t* __restrict src2,
13728                  uint32_t src2Width,
13729                  uint32_t src2Height,
13730                  uint32_t src2Stride,
13731                  int32_t* __restrict dst,
13732                  uint32_t dstStride);
13733 
13734 
13735 
13736 
13737 //---------------------------------------------------------------------------
13751 //------------------------------------------------------------------------------
13752 FASTCV_API void
13753 fcvBoundingRectangle(const uint32_t * __restrict xy, uint32_t numPoints,
13754                                       uint32_t * rectTopLeftX, uint32_t * rectTopLeftY,
13755                                       uint32_t * rectWidth, uint32_t *rectHeight);
13756 
13757 
13758 //------------------------------------------------------------------------------
13796 //------------------------------------------------------------------------------
13797 
13798 FASTCV_API void
13799 fcvUpsampleVerticalu8( const uint8_t* __restrict src,
13800                        uint32_t                  srcWidth,
13801                        uint32_t                  srcHeight,
13802                        uint32_t                  srcStride,
13803                        uint8_t* __restrict       dst,
13804                        uint32_t                  dstStride );
13805 
13806 
13807 //------------------------------------------------------------------------------
13845 //------------------------------------------------------------------------------
13846 
13847 FASTCV_API void
13848 fcvUpsampleHorizontalu8( const uint8_t* __restrict src,
13849                          uint32_t                  srcWidth,
13850                          uint32_t                  srcHeight,
13851                          uint32_t                  srcStride,
13852                          uint8_t* __restrict       dst,
13853                          uint32_t                  dstStride );
13854 
13855 
13856 //------------------------------------------------------------------------------
13895 //------------------------------------------------------------------------------
13896 
13897 FASTCV_API void
13898 fcvUpsample2Du8( const uint8_t* __restrict src,
13899                  uint32_t                  srcWidth,
13900                  uint32_t                  srcHeight,
13901                  uint32_t                  srcStride,
13902                  uint8_t* __restrict       dst,
13903                  uint32_t                  dstStride );
13904 
13905 
13906 //------------------------------------------------------------------------------
13944 //------------------------------------------------------------------------------
13945 
13946 FASTCV_API void
13947 fcvUpsampleVerticalInterleavedu8( const uint8_t* __restrict src,
13948                                   uint32_t                  srcWidth,
13949                                   uint32_t                  srcHeight,
13950                                   uint32_t                  srcStride,
13951                                   uint8_t* __restrict       dst,
13952                                   uint32_t                  dstStride );
13953 
13954 
13955 //------------------------------------------------------------------------------
13993 //------------------------------------------------------------------------------
13994 
13995 FASTCV_API void
13996 fcvUpsampleHorizontalInterleavedu8( const uint8_t* __restrict src,
13997                                     uint32_t                  srcWidth,
13998                                     uint32_t                  srcHeight,
13999                                     uint32_t                  srcStride,
14000                                     uint8_t* __restrict       dst,
14001                                     uint32_t                  dstStride );
14002 
14003 
14004 //------------------------------------------------------------------------------
14043 //------------------------------------------------------------------------------
14044 
14045 FASTCV_API void
14046 fcvUpsample2DInterleavedu8( const uint8_t* __restrict src,
14047                             uint32_t                  srcWidth,
14048                             uint32_t                  srcHeight,
14049                             uint32_t                  srcStride,
14050                             uint8_t* __restrict       dst,
14051                             uint32_t                  dstStride );
14052 
14053 //------------------------------------------------------------------------------
14124 //------------------------------------------------------------------------------
14125 
14126 FASTCV_API void
14127 fcvColorRGB565ToYCbCr444Planaru8( const uint8_t* __restrict src,
14128                                   uint32_t                  srcWidth,
14129                                   uint32_t                  srcHeight,
14130                                   uint32_t                  srcStride,
14131                                   uint8_t* __restrict       dstY,
14132                                   uint8_t* __restrict       dstCb,
14133                                   uint8_t* __restrict       dstCr,
14134                                   uint32_t                  dstYStride,
14135                                   uint32_t                  dstCbStride,
14136                                   uint32_t                  dstCrStride );
14137 
14138 
14139 //------------------------------------------------------------------------------
14213 //------------------------------------------------------------------------------
14214 
14215 FASTCV_API void
14216 fcvColorRGB565ToYCbCr422Planaru8( const uint8_t* __restrict src,
14217                                   uint32_t                  srcWidth,
14218                                   uint32_t                  srcHeight,
14219                                   uint32_t                  srcStride,
14220                                   uint8_t* __restrict       dstY,
14221                                   uint8_t* __restrict       dstCb,
14222                                   uint8_t* __restrict       dstCr,
14223                                   uint32_t                  dstYStride,
14224                                   uint32_t                  dstCbStride,
14225                                   uint32_t                  dstCrStride );
14226 
14227 
14228 //------------------------------------------------------------------------------
14303 //------------------------------------------------------------------------------
14304 
14305 FASTCV_API void
14306 fcvColorRGB565ToYCbCr420Planaru8( const uint8_t* __restrict src,
14307                                   uint32_t                  srcWidth,
14308                                   uint32_t                  srcHeight,
14309                                   uint32_t                  srcStride,
14310                                   uint8_t* __restrict       dstY,
14311                                   uint8_t* __restrict       dstCb,
14312                                   uint8_t* __restrict       dstCr,
14313                                   uint32_t                  dstYStride,
14314                                   uint32_t                  dstCbStride,
14315                                   uint32_t                  dstCrStride );
14316 
14317 
14318 //------------------------------------------------------------------------------
14389 //------------------------------------------------------------------------------
14390 
14391 FASTCV_API void
14392 fcvColorRGB888ToYCbCr444Planaru8( const uint8_t* __restrict src,
14393                                   uint32_t                  srcWidth,
14394                                   uint32_t                  srcHeight,
14395                                   uint32_t                  srcStride,
14396                                   uint8_t* __restrict       dstY,
14397                                   uint8_t* __restrict       dstCb,
14398                                   uint8_t* __restrict       dstCr,
14399                                   uint32_t                  dstYStride,
14400                                   uint32_t                  dstCbStride,
14401                                   uint32_t                  dstCrStride );
14402 
14403 
14404 //------------------------------------------------------------------------------
14458 
14479 //------------------------------------------------------------------------------
14480 
14481 FASTCV_API void
14482 fcvColorRGB888ToYCbCr422Planaru8( const uint8_t* __restrict src,
14483                                   uint32_t                  srcWidth,
14484                                   uint32_t                  srcHeight,
14485                                   uint32_t                  srcStride,
14486                                   uint8_t* __restrict       dstY,
14487                                   uint8_t* __restrict       dstCb,
14488                                   uint8_t* __restrict       dstCr,
14489                                   uint32_t                  dstYStride,
14490                                   uint32_t                  dstCbStride,
14491                                   uint32_t                  dstCrStride );
14492 
14493 
14494 //------------------------------------------------------------------------------
14569 //------------------------------------------------------------------------------
14570 
14571 FASTCV_API void
14572 fcvColorRGB888ToYCbCr420Planaru8( const uint8_t* __restrict src,
14573                                   uint32_t                  srcWidth,
14574                                   uint32_t                  srcHeight,
14575                                   uint32_t                  srcStride,
14576                                   uint8_t* __restrict       dstY,
14577                                   uint8_t* __restrict       dstCb,
14578                                   uint8_t* __restrict       dstCr,
14579                                   uint32_t                  dstYStride,
14580                                   uint32_t                  dstCbStride,
14581                                   uint32_t                  dstCrStride );
14582 
14583 
14584 //------------------------------------------------------------------------------
14656 //------------------------------------------------------------------------------
14657 
14658 FASTCV_API void
14659 fcvColorRGBA8888ToYCbCr444Planaru8( const uint8_t* __restrict src,
14660                                     uint32_t                  srcWidth,
14661                                     uint32_t                  srcHeight,
14662                                     uint32_t                  srcStride,
14663                                     uint8_t* __restrict       dstY,
14664                                     uint8_t* __restrict       dstCb,
14665                                     uint8_t* __restrict       dstCr,
14666                                     uint32_t                  dstYStride,
14667                                     uint32_t                  dstCbStride,
14668                                     uint32_t                  dstCrStride );
14669 
14670 
14671 //------------------------------------------------------------------------------
14746 //------------------------------------------------------------------------------
14747 
14748 FASTCV_API void
14749 fcvColorRGBA8888ToYCbCr422Planaru8( const uint8_t* __restrict src,
14750                                     uint32_t                  srcWidth,
14751                                     uint32_t                  srcHeight,
14752                                     uint32_t                  srcStride,
14753                                     uint8_t* __restrict       dstY,
14754                                     uint8_t* __restrict       dstCb,
14755                                     uint8_t* __restrict       dstCr,
14756                                     uint32_t                  dstYStride,
14757                                     uint32_t                  dstCbStride,
14758                                     uint32_t                  dstCrStride );
14759 
14760 
14761 //------------------------------------------------------------------------------
14837 //------------------------------------------------------------------------------
14838 
14839 FASTCV_API void
14840 fcvColorRGBA8888ToYCbCr420Planaru8( const uint8_t* __restrict src,
14841                                     uint32_t                  srcWidth,
14842                                     uint32_t                  srcHeight,
14843                                     uint32_t                  srcStride,
14844                                     uint8_t* __restrict       dstY,
14845                                     uint8_t* __restrict       dstCb,
14846                                     uint8_t* __restrict       dstCr,
14847                                     uint32_t                  dstYStride,
14848                                     uint32_t                  dstCbStride,
14849                                     uint32_t                  dstCrStride );
14850 
14851 
14852 //------------------------------------------------------------------------------
14912 //------------------------------------------------------------------------------
14913 
14914 FASTCV_API void
14915 fcvColorRGB565ToYCbCr444PseudoPlanaru8( const uint8_t* __restrict src,
14916                                         uint32_t                  srcWidth,
14917                                         uint32_t                  srcHeight,
14918                                         uint32_t                  srcStride,
14919                                         uint8_t* __restrict       dstY,
14920                                         uint8_t* __restrict       dstC,
14921                                         uint32_t                  dstYStride,
14922                                         uint32_t                  dstCStride );
14923 
14924 
14925 //------------------------------------------------------------------------------
14987 //------------------------------------------------------------------------------
14988 
14989 FASTCV_API void
14990 fcvColorRGB565ToYCbCr422PseudoPlanaru8( const uint8_t* __restrict src,
14991                                         uint32_t                  srcWidth,
14992                                         uint32_t                  srcHeight,
14993                                         uint32_t                  srcStride,
14994                                         uint8_t* __restrict       dstY,
14995                                         uint8_t* __restrict       dstC,
14996                                         uint32_t                  dstYStride,
14997                                         uint32_t                  dstCStride );
14998 
14999 
15000 //------------------------------------------------------------------------------
15063 //------------------------------------------------------------------------------
15064 
15065 FASTCV_API void
15066 fcvColorRGB565ToYCbCr420PseudoPlanaru8( const uint8_t* __restrict src,
15067                                         uint32_t                  srcWidth,
15068                                         uint32_t                  srcHeight,
15069                                         uint32_t                  srcStride,
15070                                         uint8_t* __restrict       dstY,
15071                                         uint8_t* __restrict       dstC,
15072                                         uint32_t                  dstYStride,
15073                                         uint32_t                  dstCStride );
15074 
15075 
15076 //------------------------------------------------------------------------------
15136 //------------------------------------------------------------------------------
15137 
15138 FASTCV_API void
15139 fcvColorRGB888ToYCbCr444PseudoPlanaru8( const uint8_t* __restrict src,
15140                                         uint32_t                  srcWidth,
15141                                         uint32_t                  srcHeight,
15142                                         uint32_t                  srcStride,
15143                                         uint8_t* __restrict       dstY,
15144                                         uint8_t* __restrict       dstC,
15145                                         uint32_t                  dstYStride,
15146                                         uint32_t                  dstCStride );
15147 
15148 
15149 //------------------------------------------------------------------------------
15211 //------------------------------------------------------------------------------
15212 
15213 FASTCV_API void
15214 fcvColorRGB888ToYCbCr422PseudoPlanaru8( const uint8_t* __restrict src,
15215                                         uint32_t                  srcWidth,
15216                                         uint32_t                  srcHeight,
15217                                         uint32_t                  srcStride,
15218                                         uint8_t* __restrict       dstY,
15219                                         uint8_t* __restrict       dstC,
15220                                         uint32_t                  dstYStride,
15221                                         uint32_t                  dstCStride );
15222 
15223 
15224 //------------------------------------------------------------------------------
15287 //------------------------------------------------------------------------------
15288 
15289 FASTCV_API void
15290 fcvColorRGB888ToYCbCr420PseudoPlanaru8( const uint8_t* __restrict src,
15291                                         uint32_t                  srcWidth,
15292                                         uint32_t                  srcHeight,
15293                                         uint32_t                  srcStride,
15294                                         uint8_t* __restrict       dstY,
15295                                         uint8_t* __restrict       dstC,
15296                                         uint32_t                  dstYStride,
15297                                         uint32_t                  dstCStride );
15298 
15299 
15300 //------------------------------------------------------------------------------
15361 //------------------------------------------------------------------------------
15362 
15363 FASTCV_API void
15364 fcvColorRGBA8888ToYCbCr444PseudoPlanaru8( const uint8_t* __restrict src,
15365                                           uint32_t                  srcWidth,
15366                                           uint32_t                  srcHeight,
15367                                           uint32_t                  srcStride,
15368                                           uint8_t* __restrict       dstY,
15369                                           uint8_t* __restrict       dstC,
15370                                           uint32_t                  dstYStride,
15371                                           uint32_t                  dstCStride );
15372 
15373 
15374 //------------------------------------------------------------------------------
15437 //------------------------------------------------------------------------------
15438 
15439 FASTCV_API void
15440 fcvColorRGBA8888ToYCbCr422PseudoPlanaru8( const uint8_t* __restrict src,
15441                                           uint32_t                  srcWidth,
15442                                           uint32_t                  srcHeight,
15443                                           uint32_t                  srcStride,
15444                                           uint8_t* __restrict       dstY,
15445                                           uint8_t* __restrict       dstC,
15446                                           uint32_t                  dstYStride,
15447                                           uint32_t                  dstCStride );
15448 
15449 
15450 //------------------------------------------------------------------------------
15514 //------------------------------------------------------------------------------
15515 
15516 FASTCV_API void
15517 fcvColorRGBA8888ToYCbCr420PseudoPlanaru8( const uint8_t* __restrict src,
15518                                           uint32_t                  srcWidth,
15519                                           uint32_t                  srcHeight,
15520                                           uint32_t                  srcStride,
15521                                           uint8_t* __restrict       dstY,
15522                                           uint8_t* __restrict       dstC,
15523                                           uint32_t                  dstYStride,
15524                                           uint32_t                  dstCStride );
15525 
15526 
15527 //------------------------------------------------------------------------------
15565 //------------------------------------------------------------------------------
15566 
15567 FASTCV_API void
15568 fcvColorRGB565ToRGB888u8( const uint8_t* __restrict src,
15569                           uint32_t                  srcWidth,
15570                           uint32_t                  srcHeight,
15571                           uint32_t                  srcStride,
15572                           uint8_t* __restrict       dst,
15573                           uint32_t                  dstStride );
15574 
15575 
15576 //------------------------------------------------------------------------------
15614 //------------------------------------------------------------------------------
15615 
15616 FASTCV_API void
15617 fcvColorRGB565ToRGBA8888u8( const uint8_t* __restrict src,
15618                             uint32_t                  srcWidth,
15619                             uint32_t                  srcHeight,
15620                             uint32_t                  srcStride,
15621                             uint8_t* __restrict       dst,
15622                             uint32_t                  dstStride );
15623 
15624 
15625 //------------------------------------------------------------------------------
15663 //------------------------------------------------------------------------------
15664 
15665 FASTCV_API void
15666 fcvColorRGB565ToBGR565u8( const uint8_t* __restrict src,
15667                           uint32_t                  srcWidth,
15668                           uint32_t                  srcHeight,
15669                           uint32_t                  srcStride,
15670                           uint8_t* __restrict       dst,
15671                           uint32_t                  dstStride );
15672 
15673 
15674 //------------------------------------------------------------------------------
15712 //------------------------------------------------------------------------------
15713 
15714 FASTCV_API void
15715 fcvColorRGB565ToBGR888u8( const uint8_t* __restrict src,
15716                           uint32_t                  srcWidth,
15717                           uint32_t                  srcHeight,
15718                           uint32_t                  srcStride,
15719                           uint8_t* __restrict       dst,
15720                           uint32_t                  dstStride );
15721 
15722 
15723 //------------------------------------------------------------------------------
15761 //------------------------------------------------------------------------------
15762 
15763 FASTCV_API void
15764 fcvColorRGB565ToBGRA8888u8( const uint8_t* __restrict src,
15765                             uint32_t                  srcWidth,
15766                             uint32_t                  srcHeight,
15767                             uint32_t                  srcStride,
15768                             uint8_t* __restrict       dst,
15769                             uint32_t                  dstStride );
15770 
15771 
15772 //------------------------------------------------------------------------------
15810 //------------------------------------------------------------------------------
15811 
15812 FASTCV_API void
15813 fcvColorRGB888ToRGB565u8( const uint8_t* __restrict src,
15814                           uint32_t                  srcWidth,
15815                           uint32_t                  srcHeight,
15816                           uint32_t                  srcStride,
15817                           uint8_t* __restrict       dst,
15818                           uint32_t                  dstStride );
15819 
15820 //------------------------------------------------------------------------------
15858 //------------------------------------------------------------------------------
15859 
15860 FASTCV_API void
15861 fcvColorRGB888ToRGBA8888u8( const uint8_t* __restrict src,
15862                             uint32_t                  srcWidth,
15863                             uint32_t                  srcHeight,
15864                             uint32_t                  srcStride,
15865                             uint8_t* __restrict       dst,
15866                             uint32_t                  dstStride );
15867 
15868 
15869 //------------------------------------------------------------------------------
15907 //------------------------------------------------------------------------------
15908 
15909 FASTCV_API void
15910 fcvColorRGB888ToBGR565u8( const uint8_t* __restrict src,
15911                           uint32_t                  srcWidth,
15912                           uint32_t                  srcHeight,
15913                           uint32_t                  srcStride,
15914                           uint8_t* __restrict       dst,
15915                           uint32_t                  dstStride );
15916 
15917 
15918 //------------------------------------------------------------------------------
15956 //------------------------------------------------------------------------------
15957 
15958 FASTCV_API void
15959 fcvColorRGB888ToBGR888u8( const uint8_t* __restrict src,
15960                           uint32_t                  srcWidth,
15961                           uint32_t                  srcHeight,
15962                           uint32_t                  srcStride,
15963                           uint8_t* __restrict       dst,
15964                           uint32_t                  dstStride );
15965 
15966 
15967 //------------------------------------------------------------------------------
16005 //------------------------------------------------------------------------------
16006 
16007 FASTCV_API void
16008 fcvColorRGB888ToBGRA8888u8( const uint8_t* __restrict src,
16009                             uint32_t                  srcWidth,
16010                             uint32_t                  srcHeight,
16011                             uint32_t                  srcStride,
16012                             uint8_t* __restrict       dst,
16013                             uint32_t                  dstStride );
16014 
16015 
16016 //------------------------------------------------------------------------------
16054 //------------------------------------------------------------------------------
16055 
16056 FASTCV_API void
16057 fcvColorRGBA8888ToRGB565u8( const uint8_t* __restrict src,
16058                             uint32_t                  srcWidth,
16059                             uint32_t                  srcHeight,
16060                             uint32_t                  srcStride,
16061                             uint8_t* __restrict       dst,
16062                             uint32_t                  dstStride );
16063 
16064 //------------------------------------------------------------------------------
16102 //------------------------------------------------------------------------------
16103 
16104 FASTCV_API void
16105 fcvColorRGBA8888ToRGB888u8( const uint8_t* __restrict src,
16106                             uint32_t                  srcWidth,
16107                             uint32_t                  srcHeight,
16108                             uint32_t                  srcStride,
16109                             uint8_t* __restrict       dst,
16110                             uint32_t                  dstStride );
16111 
16112 
16113 //------------------------------------------------------------------------------
16151 //------------------------------------------------------------------------------
16152 
16153 FASTCV_API void
16154 fcvColorRGBA8888ToBGR565u8( const uint8_t* __restrict src,
16155                             uint32_t                  srcWidth,
16156                             uint32_t                  srcHeight,
16157                             uint32_t                  srcStride,
16158                             uint8_t* __restrict       dst,
16159                             uint32_t                  dstStride );
16160 
16161 
16162 //------------------------------------------------------------------------------
16200 //------------------------------------------------------------------------------
16201 
16202 FASTCV_API void
16203 fcvColorRGBA8888ToBGR888u8( const uint8_t* __restrict src,
16204                             uint32_t                  srcWidth,
16205                             uint32_t                  srcHeight,
16206                             uint32_t                  srcStride,
16207                             uint8_t* __restrict       dst,
16208                             uint32_t                  dstStride );
16209 
16210 
16211 //------------------------------------------------------------------------------
16249 //------------------------------------------------------------------------------
16250 
16251 FASTCV_API void
16252 fcvColorRGBA8888ToBGRA8888u8( const uint8_t* __restrict src,
16253                               uint32_t                  srcWidth,
16254                               uint32_t                  srcHeight,
16255                               uint32_t                  srcStride,
16256                               uint8_t* __restrict       dst,
16257                               uint32_t                  dstStride );
16258 
16259 //------------------------------------------------------------------------------
16304 //------------------------------------------------------------------------------
16305 
16306 FASTCV_API void
16307 fcvColorRGBA8888ToLABu8( const uint8_t* __restrict src,
16308                          uint32_t            srcWidth,
16309                          uint32_t            srcHeight,
16310                          uint32_t            srcStride,
16311                          uint8_t* __restrict dst,
16312                          uint32_t            dstStride );
16313 
16314 //------------------------------------------------------------------------------
16320 
16400 //------------------------------------------------------------------------------
16401 
16402 FASTCV_API void
16403 fcvColorYCbCr444PlanarToYCbCr422Planaru8( const uint8_t*            srcY,
16404                                           const uint8_t* __restrict srcCb,
16405                                           const uint8_t* __restrict srcCr,
16406                                           uint32_t                  srcWidth,
16407                                           uint32_t                  srcHeight,
16408                                           uint32_t                  srcYStride,
16409                                           uint32_t                  srcCbStride,
16410                                           uint32_t                  srcCrStride,
16411                                           uint8_t*                  dstY,
16412                                           uint8_t* __restrict       dstCb,
16413                                           uint8_t* __restrict       dstCr,
16414                                           uint32_t                  dstYStride,
16415                                           uint32_t                  dstCbStride,
16416                                           uint32_t                  dstCrStride );
16417 
16418 
16419 //------------------------------------------------------------------------------
16503 //------------------------------------------------------------------------------
16504 
16505 FASTCV_API void
16506 fcvColorYCbCr444PlanarToYCbCr420Planaru8( const uint8_t*            srcY,
16507                                           const uint8_t* __restrict srcCb,
16508                                           const uint8_t* __restrict srcCr,
16509                                           uint32_t                  srcWidth,
16510                                           uint32_t                  srcHeight,
16511                                           uint32_t                  srcYStride,
16512                                           uint32_t                  srcCbStride,
16513                                           uint32_t                  srcCrStride,
16514                                           uint8_t*                  dstY,
16515                                           uint8_t* __restrict       dstCb,
16516                                           uint8_t* __restrict       dstCr,
16517                                           uint32_t                  dstYStride,
16518                                           uint32_t                  dstCbStride,
16519                                           uint32_t                  dstCrStride );
16520 
16521 
16522 //------------------------------------------------------------------------------
16593 //------------------------------------------------------------------------------
16594 
16595 FASTCV_API void
16596 fcvColorYCbCr444PlanarToYCbCr444PseudoPlanaru8( const uint8_t*            srcY,
16597                                                 const uint8_t* __restrict srcCb,
16598                                                 const uint8_t* __restrict srcCr,
16599                                                 uint32_t                  srcWidth,
16600                                                 uint32_t                  srcHeight,
16601                                                 uint32_t                  srcYStride,
16602                                                 uint32_t                  srcCbStride,
16603                                                 uint32_t                  srcCrStride,
16604                                                 uint8_t*                  dstY,
16605                                                 uint8_t* __restrict       dstC,
16606                                                 uint32_t                  dstYStride,
16607                                                 uint32_t                  dstCStride );
16608 
16609 
16610 //------------------------------------------------------------------------------
16681 //------------------------------------------------------------------------------
16682 
16683 FASTCV_API void
16684 fcvColorYCbCr444PlanarToYCbCr422PseudoPlanaru8( const uint8_t*            srcY,
16685                                                 const uint8_t* __restrict srcCb,
16686                                                 const uint8_t* __restrict srcCr,
16687                                                 uint32_t                  srcWidth,
16688                                                 uint32_t                  srcHeight,
16689                                                 uint32_t                  srcYStride,
16690                                                 uint32_t                  srcCbStride,
16691                                                 uint32_t                  srcCrStride,
16692                                                 uint8_t*                  dstY,
16693                                                 uint8_t* __restrict       dstC,
16694                                                 uint32_t                  dstYStride,
16695                                                 uint32_t                  dstCStride );
16696 
16697 
16698 //------------------------------------------------------------------------------
16769 //------------------------------------------------------------------------------
16770 
16771 FASTCV_API void
16772 fcvColorYCbCr444PlanarToYCbCr420PseudoPlanaru8( const uint8_t*            srcY,
16773                                                 const uint8_t* __restrict srcCb,
16774                                                 const uint8_t* __restrict srcCr,
16775                                                 uint32_t                  srcWidth,
16776                                                 uint32_t                  srcHeight,
16777                                                 uint32_t                  srcYStride,
16778                                                 uint32_t                  srcCbStride,
16779                                                 uint32_t                  srcCrStride,
16780                                                 uint8_t*                  dstY,
16781                                                 uint8_t* __restrict       dstC,
16782                                                 uint32_t                  dstYStride,
16783                                                 uint32_t                  dstCStride );
16784 
16785 
16786 //------------------------------------------------------------------------------
16792 
16870 //------------------------------------------------------------------------------
16871 
16872 FASTCV_API void
16873 fcvColorYCbCr422PlanarToYCbCr444Planaru8( const uint8_t*            srcY,
16874                                           const uint8_t* __restrict srcCb,
16875                                           const uint8_t* __restrict srcCr,
16876                                           uint32_t                  srcWidth,
16877                                           uint32_t                  srcHeight,
16878                                           uint32_t                  srcYStride,
16879                                           uint32_t                  srcCbStride,
16880                                           uint32_t                  srcCrStride,
16881                                           uint8_t*                  dstY,
16882                                           uint8_t* __restrict       dstCb,
16883                                           uint8_t* __restrict       dstCr,
16884                                           uint32_t                  dstYStride,
16885                                           uint32_t                  dstCbStride,
16886                                           uint32_t                  dstCrStride );
16887 
16888 
16889 //------------------------------------------------------------------------------
16895 
16973 //------------------------------------------------------------------------------
16974 
16975 FASTCV_API void
16976 fcvColorYCbCr422PlanarToYCbCr420Planaru8( const uint8_t*            srcY,
16977                                           const uint8_t* __restrict srcCb,
16978                                           const uint8_t* __restrict srcCr,
16979                                           uint32_t                  srcWidth,
16980                                           uint32_t                  srcHeight,
16981                                           uint32_t                  srcYStride,
16982                                           uint32_t                  srcCbStride,
16983                                           uint32_t                  srcCrStride,
16984                                           uint8_t*                  dstY,
16985                                           uint8_t* __restrict       dstCb,
16986                                           uint8_t* __restrict       dstCr,
16987                                           uint32_t                  dstYStride,
16988                                           uint32_t                  dstCbStride,
16989                                           uint32_t                  dstCrStride );
16990 
16991 
16992 //------------------------------------------------------------------------------
17063 //------------------------------------------------------------------------------
17064 
17065 FASTCV_API void
17066 fcvColorYCbCr422PlanarToYCbCr444PseudoPlanaru8( const uint8_t*            srcY,
17067                                                 const uint8_t* __restrict srcCb,
17068                                                 const uint8_t* __restrict srcCr,
17069                                                 uint32_t                  srcWidth,
17070                                                 uint32_t                  srcHeight,
17071                                                 uint32_t                  srcYStride,
17072                                                 uint32_t                  srcCbStride,
17073                                                 uint32_t                  srcCrStride,
17074                                                 uint8_t*                  dstY,
17075                                                 uint8_t* __restrict       dstC,
17076                                                 uint32_t                  dstYStride,
17077                                                 uint32_t                  dstCStride );
17078 
17079 
17080 //------------------------------------------------------------------------------
17152 //------------------------------------------------------------------------------
17153 
17154 FASTCV_API void
17155 fcvColorYCbCr422PlanarToYCbCr422PseudoPlanaru8( const uint8_t*            srcY,
17156                                                 const uint8_t* __restrict srcCb,
17157                                                 const uint8_t* __restrict srcCr,
17158                                                 uint32_t                  srcWidth,
17159                                                 uint32_t                  srcHeight,
17160                                                 uint32_t                  srcYStride,
17161                                                 uint32_t                  srcCbStride,
17162                                                 uint32_t                  srcCrStride,
17163                                                 uint8_t*                  dstY,
17164                                                 uint8_t* __restrict       dstC,
17165                                                 uint32_t                  dstYStride,
17166                                                 uint32_t                  dstCStride );
17167 
17168 
17169 //------------------------------------------------------------------------------
17240 //------------------------------------------------------------------------------
17241 
17242 FASTCV_API void
17243 fcvColorYCbCr422PlanarToYCbCr420PseudoPlanaru8( const uint8_t*            srcY,
17244                                                 const uint8_t* __restrict srcCb,
17245                                                 const uint8_t* __restrict srcCr,
17246                                                 uint32_t                  srcWidth,
17247                                                 uint32_t                  srcHeight,
17248                                                 uint32_t                  srcYStride,
17249                                                 uint32_t                  srcCbStride,
17250                                                 uint32_t                  srcCrStride,
17251                                                 uint8_t*                  dstY,
17252                                                 uint8_t* __restrict       dstC,
17253                                                 uint32_t                  dstYStride,
17254                                                 uint32_t                  dstCStride );
17255 
17256 
17257 //------------------------------------------------------------------------------
17340 //------------------------------------------------------------------------------
17341 
17342 FASTCV_API void
17343 fcvColorYCbCr420PlanarToYCbCr444Planaru8( const uint8_t*            srcY,
17344                                           const uint8_t* __restrict srcCb,
17345                                           const uint8_t* __restrict srcCr,
17346                                           uint32_t                  srcWidth,
17347                                           uint32_t                  srcHeight,
17348                                           uint32_t                  srcYStride,
17349                                           uint32_t                  srcCbStride,
17350                                           uint32_t                  srcCrStride,
17351                                           uint8_t*                  dstY,
17352                                           uint8_t* __restrict       dstCb,
17353                                           uint8_t* __restrict       dstCr,
17354                                           uint32_t                  dstYStride,
17355                                           uint32_t                  dstCbStride,
17356                                           uint32_t                  dstCrStride );
17357 
17358 
17359 //------------------------------------------------------------------------------
17442 //------------------------------------------------------------------------------
17443 
17444 FASTCV_API void
17445 fcvColorYCbCr420PlanarToYCbCr422Planaru8( const uint8_t*            srcY,
17446                                           const uint8_t* __restrict srcCb,
17447                                           const uint8_t* __restrict srcCr,
17448                                           uint32_t                  srcWidth,
17449                                           uint32_t                  srcHeight,
17450                                           uint32_t                  srcYStride,
17451                                           uint32_t                  srcCbStride,
17452                                           uint32_t                  srcCrStride,
17453                                           uint8_t*                  dstY,
17454                                           uint8_t* __restrict       dstCb,
17455                                           uint8_t* __restrict       dstCr,
17456                                           uint32_t                  dstYStride,
17457                                           uint32_t                  dstCbStride,
17458                                           uint32_t                  dstCrStride );
17459 
17460 
17461 //------------------------------------------------------------------------------
17532 //------------------------------------------------------------------------------
17533 
17534 FASTCV_API void
17535 fcvColorYCbCr420PlanarToYCbCr444PseudoPlanaru8( const uint8_t*            srcY,
17536                                                 const uint8_t* __restrict srcCb,
17537                                                 const uint8_t* __restrict srcCr,
17538                                                 uint32_t                  srcWidth,
17539                                                 uint32_t                  srcHeight,
17540                                                 uint32_t                  srcYStride,
17541                                                 uint32_t                  srcCbStride,
17542                                                 uint32_t                  srcCrStride,
17543                                                 uint8_t*                  dstY,
17544                                                 uint8_t* __restrict       dstC,
17545                                                 uint32_t                  dstYStride,
17546                                                 uint32_t                  dstCStride );
17547 
17548 
17549 //------------------------------------------------------------------------------
17620 //------------------------------------------------------------------------------
17621 
17622 FASTCV_API void
17623 fcvColorYCbCr420PlanarToYCbCr422PseudoPlanaru8( const uint8_t*            srcY,
17624                                                 const uint8_t* __restrict srcCb,
17625                                                 const uint8_t* __restrict srcCr,
17626                                                 uint32_t                  srcWidth,
17627                                                 uint32_t                  srcHeight,
17628                                                 uint32_t                  srcYStride,
17629                                                 uint32_t                  srcCbStride,
17630                                                 uint32_t                  srcCrStride,
17631                                                 uint8_t*                  dstY,
17632                                                 uint8_t* __restrict       dstC,
17633                                                 uint32_t                  dstYStride,
17634                                                 uint32_t                  dstCStride );
17635 
17636 
17637 //------------------------------------------------------------------------------
17708 //------------------------------------------------------------------------------
17709 
17710 FASTCV_API void
17711 fcvColorYCbCr420PlanarToYCbCr420PseudoPlanaru8( const uint8_t*            srcY,
17712                                                 const uint8_t* __restrict srcCb,
17713                                                 const uint8_t* __restrict srcCr,
17714                                                 uint32_t                  srcWidth,
17715                                                 uint32_t                  srcHeight,
17716                                                 uint32_t                  srcYStride,
17717                                                 uint32_t                  srcCbStride,
17718                                                 uint32_t                  srcCrStride,
17719                                                 uint8_t*                  dstY,
17720                                                 uint8_t* __restrict       dstC,
17721                                                 uint32_t                  dstYStride,
17722                                                 uint32_t                  dstCStride );
17723 
17724 
17725 //------------------------------------------------------------------------------
17788 //------------------------------------------------------------------------------
17789 
17790 FASTCV_API void
17791 fcvColorYCbCr444PseudoPlanarToYCbCr422PseudoPlanaru8( const uint8_t*            srcY,
17792                                                       const uint8_t* __restrict srcC,
17793                                                       uint32_t                  srcWidth,
17794                                                       uint32_t                  srcHeight,
17795                                                       uint32_t                  srcYStride,
17796                                                       uint32_t                  srcCStride,
17797                                                       uint8_t*                  dstY,
17798                                                       uint8_t* __restrict       dstC,
17799                                                       uint32_t                  dstYStride,
17800                                                       uint32_t                  dstCStride );
17801 
17802 
17803 //------------------------------------------------------------------------------
17866 //------------------------------------------------------------------------------
17867 
17868 FASTCV_API void
17869 fcvColorYCbCr444PseudoPlanarToYCbCr420PseudoPlanaru8( const uint8_t*            srcY,
17870                                                       const uint8_t* __restrict srcC,
17871                                                       uint32_t                  srcWidth,
17872                                                       uint32_t                  srcHeight,
17873                                                       uint32_t                  srcYStride,
17874                                                       uint32_t                  srcCStride,
17875                                                       uint8_t*                  dstY,
17876                                                       uint8_t* __restrict       dstC,
17877                                                       uint32_t                  dstYStride,
17878                                                       uint32_t                  dstCStride );
17879 
17880 
17881 //------------------------------------------------------------------------------
17956 //------------------------------------------------------------------------------
17957 
17958 FASTCV_API void
17959 fcvColorYCbCr444PseudoPlanarToYCbCr444Planaru8( const uint8_t*            srcY,
17960                                                 const uint8_t* __restrict srcC,
17961                                                 uint32_t                  srcWidth,
17962                                                 uint32_t                  srcHeight,
17963                                                 uint32_t                  srcYStride,
17964                                                 uint32_t                  srcCStride,
17965                                                 uint8_t*                  dstY,
17966                                                 uint8_t* __restrict       dstCb,
17967                                                 uint8_t* __restrict       dstCr,
17968                                                 uint32_t                  dstYStride,
17969                                                 uint32_t                  dstCbStride,
17970                                                 uint32_t                  dstCrStride );
17971 
17972 
17973 //------------------------------------------------------------------------------
18048 //------------------------------------------------------------------------------
18049 
18050 FASTCV_API void
18051 fcvColorYCbCr444PseudoPlanarToYCbCr422Planaru8( const uint8_t*            srcY,
18052                                                 const uint8_t* __restrict srcC,
18053                                                 uint32_t                  srcWidth,
18054                                                 uint32_t                  srcHeight,
18055                                                 uint32_t                  srcYStride,
18056                                                 uint32_t                  srcCStride,
18057                                                 uint8_t*                  dstY,
18058                                                 uint8_t* __restrict       dstCb,
18059                                                 uint8_t* __restrict       dstCr,
18060                                                 uint32_t                  dstYStride,
18061                                                 uint32_t                  dstCbStride,
18062                                                 uint32_t                  dstCrStride );
18063 
18064 
18065 //------------------------------------------------------------------------------
18140 //------------------------------------------------------------------------------
18141 
18142 FASTCV_API void
18143 fcvColorYCbCr444PseudoPlanarToYCbCr420Planaru8( const uint8_t*            srcY,
18144                                                 const uint8_t* __restrict srcC,
18145                                                 uint32_t                  srcWidth,
18146                                                 uint32_t                  srcHeight,
18147                                                 uint32_t                  srcYStride,
18148                                                 uint32_t                  srcCStride,
18149                                                 uint8_t*                  dstY,
18150                                                 uint8_t* __restrict       dstCb,
18151                                                 uint8_t* __restrict       dstCr,
18152                                                 uint32_t                  dstYStride,
18153                                                 uint32_t                  dstCbStride,
18154                                                 uint32_t                  dstCrStride );
18155 
18156 
18157 //------------------------------------------------------------------------------
18220 //------------------------------------------------------------------------------
18221 
18222 FASTCV_API void
18223 fcvColorYCbCr422PseudoPlanarToYCbCr444PseudoPlanaru8( const uint8_t*            srcY,
18224                                                       const uint8_t* __restrict srcC,
18225                                                       uint32_t                  srcWidth,
18226                                                       uint32_t                  srcHeight,
18227                                                       uint32_t                  srcYStride,
18228                                                       uint32_t                  srcCStride,
18229                                                       uint8_t*                  dstY,
18230                                                       uint8_t* __restrict       dstC,
18231                                                       uint32_t                  dstYStride,
18232                                                       uint32_t                  dstCStride );
18233 
18234 
18235 //------------------------------------------------------------------------------
18298 //------------------------------------------------------------------------------
18299 
18300 FASTCV_API void
18301 fcvColorYCbCr422PseudoPlanarToYCbCr420PseudoPlanaru8( const uint8_t*            srcY,
18302                                                       const uint8_t* __restrict srcC,
18303                                                       uint32_t                  srcWidth,
18304                                                       uint32_t                  srcHeight,
18305                                                       uint32_t                  srcYStride,
18306                                                       uint32_t                  srcCStride,
18307                                                       uint8_t*                  dstY,
18308                                                       uint8_t* __restrict       dstC,
18309                                                       uint32_t                  dstYStride,
18310                                                       uint32_t                  dstCStride );
18311 
18312 
18313 //------------------------------------------------------------------------------
18388 //------------------------------------------------------------------------------
18389 
18390 FASTCV_API void
18391 fcvColorYCbCr422PseudoPlanarToYCbCr444Planaru8( const uint8_t*            srcY,
18392                                                 const uint8_t* __restrict srcC,
18393                                                 uint32_t                  srcWidth,
18394                                                 uint32_t                  srcHeight,
18395                                                 uint32_t                  srcYStride,
18396                                                 uint32_t                  srcCStride,
18397                                                 uint8_t*                  dstY,
18398                                                 uint8_t* __restrict       dstCb,
18399                                                 uint8_t* __restrict       dstCr,
18400                                                 uint32_t                  dstYStride,
18401                                                 uint32_t                  dstCbStride,
18402                                                 uint32_t                  dstCrStride );
18403 
18404 
18405 //------------------------------------------------------------------------------
18480 //------------------------------------------------------------------------------
18481 
18482 FASTCV_API void
18483 fcvColorYCbCr422PseudoPlanarToYCbCr422Planaru8( const uint8_t*            srcY,
18484                                                 const uint8_t* __restrict srcC,
18485                                                 uint32_t                  srcWidth,
18486                                                 uint32_t                  srcHeight,
18487                                                 uint32_t                  srcYStride,
18488                                                 uint32_t                  srcCStride,
18489                                                 uint8_t*                  dstY,
18490                                                 uint8_t* __restrict       dstCb,
18491                                                 uint8_t* __restrict       dstCr,
18492                                                 uint32_t                  dstYStride,
18493                                                 uint32_t                  dstCbStride,
18494                                                 uint32_t                  dstCrStride );
18495 
18496 
18497 //------------------------------------------------------------------------------
18572 //------------------------------------------------------------------------------
18573 
18574 FASTCV_API void
18575 fcvColorYCbCr422PseudoPlanarToYCbCr420Planaru8( const uint8_t*            srcY,
18576                                                 const uint8_t* __restrict srcC,
18577                                                 uint32_t                  srcWidth,
18578                                                 uint32_t                  srcHeight,
18579                                                 uint32_t                  srcYStride,
18580                                                 uint32_t                  srcCStride,
18581                                                 uint8_t*                  dstY,
18582                                                 uint8_t* __restrict       dstCb,
18583                                                 uint8_t* __restrict       dstCr,
18584                                                 uint32_t                  dstYStride,
18585                                                 uint32_t                  dstCbStride,
18586                                                 uint32_t                  dstCrStride );
18587 
18588 
18589 //------------------------------------------------------------------------------
18652 //------------------------------------------------------------------------------
18653 
18654 FASTCV_API void
18655 fcvColorYCbCr420PseudoPlanarToYCbCr444PseudoPlanaru8( const uint8_t*            srcY,
18656                                                       const uint8_t* __restrict srcC,
18657                                                       uint32_t                  srcWidth,
18658                                                       uint32_t                  srcHeight,
18659                                                       uint32_t                  srcYStride,
18660                                                       uint32_t                  srcCStride,
18661                                                       uint8_t*                  dstY,
18662                                                       uint8_t* __restrict       dstC,
18663                                                       uint32_t                  dstYStride,
18664                                                       uint32_t                  dstCStride );
18665 
18666 
18667 //------------------------------------------------------------------------------
18729 //------------------------------------------------------------------------------
18730 
18731 FASTCV_API void
18732 fcvColorYCbCr420PseudoPlanarToYCbCr422PseudoPlanaru8( const uint8_t*            srcY,
18733                                                       const uint8_t* __restrict srcC,
18734                                                       uint32_t                  srcWidth,
18735                                                       uint32_t                  srcHeight,
18736                                                       uint32_t                  srcYStride,
18737                                                       uint32_t                  srcCStride,
18738                                                       uint8_t*                  dstY,
18739                                                       uint8_t* __restrict       dstC,
18740                                                       uint32_t                  dstYStride,
18741                                                       uint32_t                  dstCStride );
18742 
18743 
18744 //------------------------------------------------------------------------------
18819 //------------------------------------------------------------------------------
18820 
18821 FASTCV_API void
18822 fcvColorYCbCr420PseudoPlanarToYCbCr444Planaru8( const uint8_t*            srcY,
18823                                                 const uint8_t* __restrict srcC,
18824                                                 uint32_t                  srcWidth,
18825                                                 uint32_t                  srcHeight,
18826                                                 uint32_t                  srcYStride,
18827                                                 uint32_t                  srcCStride,
18828                                                 uint8_t*                  dstY,
18829                                                 uint8_t* __restrict       dstCb,
18830                                                 uint8_t* __restrict       dstCr,
18831                                                 uint32_t                  dstYStride,
18832                                                 uint32_t                  dstCbStride,
18833                                                 uint32_t                  dstCrStride );
18834 
18835 
18836 //------------------------------------------------------------------------------
18911 //------------------------------------------------------------------------------
18912 
18913 FASTCV_API void
18914 fcvColorYCbCr420PseudoPlanarToYCbCr422Planaru8( const uint8_t*            srcY,
18915                                                 const uint8_t* __restrict srcC,
18916                                                 uint32_t                  srcWidth,
18917                                                 uint32_t                  srcHeight,
18918                                                 uint32_t                  srcYStride,
18919                                                 uint32_t                  srcCStride,
18920                                                 uint8_t*                  dstY,
18921                                                 uint8_t* __restrict       dstCb,
18922                                                 uint8_t* __restrict       dstCr,
18923                                                 uint32_t                  dstYStride,
18924                                                 uint32_t                  dstCbStride,
18925                                                 uint32_t                  dstCrStride );
18926 
18927 
18928 //------------------------------------------------------------------------------
19003 //------------------------------------------------------------------------------
19004 
19005 FASTCV_API void
19006 fcvColorYCbCr420PseudoPlanarToYCbCr420Planaru8( const uint8_t*            srcY,
19007                                                 const uint8_t* __restrict srcC,
19008                                                 uint32_t                  srcWidth,
19009                                                 uint32_t                  srcHeight,
19010                                                 uint32_t                  srcYStride,
19011                                                 uint32_t                  srcCStride,
19012                                                 uint8_t*                  dstY,
19013                                                 uint8_t* __restrict       dstCb,
19014                                                 uint8_t* __restrict       dstCr,
19015                                                 uint32_t                  dstYStride,
19016                                                 uint32_t                  dstCbStride,
19017                                                 uint32_t                  dstCrStride );
19018 
19019 //------------------------------------------------------------------------------
19086 //------------------------------------------------------------------------------
19087 
19088 FASTCV_API void
19089 fcvColorYCbCr444PlanarToRGB565u8( const uint8_t* __restrict srcY,
19090                                   const uint8_t* __restrict srcCb,
19091                                   const uint8_t* __restrict srcCr,
19092                                   uint32_t                  srcWidth,
19093                                   uint32_t                  srcHeight,
19094                                   uint32_t                  srcYStride,
19095                                   uint32_t                  srcCbStride,
19096                                   uint32_t                  srcCrStride,
19097                                   uint8_t* __restrict       dst,
19098                                   uint32_t                  dstStride );
19099 
19100 
19101 //------------------------------------------------------------------------------
19168 //------------------------------------------------------------------------------
19169 
19170 FASTCV_API void
19171 fcvColorYCbCr444PlanarToRGB888u8( const uint8_t* __restrict srcY,
19172                                   const uint8_t* __restrict srcCb,
19173                                   const uint8_t* __restrict srcCr,
19174                                   uint32_t                  srcWidth,
19175                                   uint32_t                  srcHeight,
19176                                   uint32_t                  srcYStride,
19177                                   uint32_t                  srcCbStride,
19178                                   uint32_t                  srcCrStride,
19179                                   uint8_t* __restrict       dst,
19180                                   uint32_t                  dstStride );
19181 
19182 
19183 //------------------------------------------------------------------------------
19252 //------------------------------------------------------------------------------
19253 
19254 FASTCV_API void
19255 fcvColorYCbCr444PlanarToRGBA8888u8( const uint8_t* __restrict srcY,
19256                                     const uint8_t* __restrict srcCb,
19257                                     const uint8_t* __restrict srcCr,
19258                                     uint32_t                  srcWidth,
19259                                     uint32_t                  srcHeight,
19260                                     uint32_t                  srcYStride,
19261                                     uint32_t                  srcCbStride,
19262                                     uint32_t                  srcCrStride,
19263                                     uint8_t* __restrict       dst,
19264                                     uint32_t                  dstStride );
19265 
19266 
19267 //------------------------------------------------------------------------------
19336 //------------------------------------------------------------------------------
19337 
19338 FASTCV_API void
19339 fcvColorYCbCr422PlanarToRGB565u8( const uint8_t* __restrict srcY,
19340                                   const uint8_t* __restrict srcCb,
19341                                   const uint8_t* __restrict srcCr,
19342                                   uint32_t                  srcWidth,
19343                                   uint32_t                  srcHeight,
19344                                   uint32_t                  srcYStride,
19345                                   uint32_t                  srcCbStride,
19346                                   uint32_t                  srcCrStride,
19347                                   uint8_t* __restrict       dst,
19348                                   uint32_t                  dstStride );
19349 
19350 
19351 //------------------------------------------------------------------------------
19420 //------------------------------------------------------------------------------
19421 
19422 FASTCV_API void
19423 fcvColorYCbCr422PlanarToRGB888u8( const uint8_t* __restrict srcY,
19424                                   const uint8_t* __restrict srcCb,
19425                                   const uint8_t* __restrict srcCr,
19426                                   uint32_t                  srcWidth,
19427                                   uint32_t                  srcHeight,
19428                                   uint32_t                  srcYStride,
19429                                   uint32_t                  srcCbStride,
19430                                   uint32_t                  srcCrStride,
19431                                   uint8_t* __restrict       dst,
19432                                   uint32_t                  dstStride );
19433 
19434 
19435 //------------------------------------------------------------------------------
19505 //------------------------------------------------------------------------------
19506 
19507 FASTCV_API void
19508 fcvColorYCbCr422PlanarToRGBA8888u8( const uint8_t* __restrict srcY,
19509                                     const uint8_t* __restrict srcCb,
19510                                     const uint8_t* __restrict srcCr,
19511                                     uint32_t                  srcWidth,
19512                                     uint32_t                  srcHeight,
19513                                     uint32_t                  srcYStride,
19514                                     uint32_t                  srcCbStride,
19515                                     uint32_t                  srcCrStride,
19516                                     uint8_t* __restrict       dst,
19517                                     uint32_t                  dstStride );
19518 
19519 
19520 //------------------------------------------------------------------------------
19590 //------------------------------------------------------------------------------
19591 
19592 FASTCV_API void
19593 fcvColorYCbCr420PlanarToRGB565u8( const uint8_t* __restrict srcY,
19594                                   const uint8_t* __restrict srcCb,
19595                                   const uint8_t* __restrict srcCr,
19596                                   uint32_t                  srcWidth,
19597                                   uint32_t                  srcHeight,
19598                                   uint32_t                  srcYStride,
19599                                   uint32_t                  srcCbStride,
19600                                   uint32_t                  srcCrStride,
19601                                   uint8_t* __restrict       dst,
19602                                   uint32_t                  dstStride );
19603 
19604 
19605 //------------------------------------------------------------------------------
19675 //------------------------------------------------------------------------------
19676 
19677 FASTCV_API void
19678 fcvColorYCbCr420PlanarToRGB888u8( const uint8_t* __restrict srcY,
19679                                   const uint8_t* __restrict srcCb,
19680                                   const uint8_t* __restrict srcCr,
19681                                   uint32_t                  srcWidth,
19682                                   uint32_t                  srcHeight,
19683                                   uint32_t                  srcYStride,
19684                                   uint32_t                  srcCbStride,
19685                                   uint32_t                  srcCrStride,
19686                                   uint8_t* __restrict       dst,
19687                                   uint32_t                  dstStride );
19688 
19689 
19690 //------------------------------------------------------------------------------
19761 //------------------------------------------------------------------------------
19762 
19763 FASTCV_API void
19764 fcvColorYCbCr420PlanarToRGBA8888u8( const uint8_t* __restrict srcY,
19765                                     const uint8_t* __restrict srcCb,
19766                                     const uint8_t* __restrict srcCr,
19767                                     uint32_t                  srcWidth,
19768                                     uint32_t                  srcHeight,
19769                                     uint32_t                  srcYStride,
19770                                     uint32_t                  srcCbStride,
19771                                     uint32_t                  srcCrStride,
19772                                     uint8_t* __restrict       dst,
19773                                     uint32_t                  dstStride );
19774 
19775 
19776 //------------------------------------------------------------------------------
19833 //------------------------------------------------------------------------------
19834 
19835 FASTCV_API void
19836 fcvColorYCbCr444PseudoPlanarToRGB565u8( const uint8_t* __restrict srcY,
19837                                         const uint8_t* __restrict srcC,
19838                                         uint32_t                  srcWidth,
19839                                         uint32_t                  srcHeight,
19840                                         uint32_t                  srcYStride,
19841                                         uint32_t                  srcCStride,
19842                                         uint8_t* __restrict       dst,
19843                                         uint32_t                  dstStride );
19844 
19845 
19846 //------------------------------------------------------------------------------
19903 //------------------------------------------------------------------------------
19904 
19905 FASTCV_API void
19906 fcvColorYCbCr444PseudoPlanarToRGB888u8( const uint8_t* __restrict srcY,
19907                                         const uint8_t* __restrict srcC,
19908                                         uint32_t                  srcWidth,
19909                                         uint32_t                  srcHeight,
19910                                         uint32_t                  srcYStride,
19911                                         uint32_t                  srcCStride,
19912                                         uint8_t* __restrict       dst,
19913                                         uint32_t                  dstStride );
19914 
19915 
19916 //------------------------------------------------------------------------------
19974 //------------------------------------------------------------------------------
19975 
19976 FASTCV_API void
19977 fcvColorYCbCr444PseudoPlanarToRGBA8888u8( const uint8_t* __restrict srcY,
19978                                           const uint8_t* __restrict srcC,
19979                                           uint32_t                  srcWidth,
19980                                           uint32_t                  srcHeight,
19981                                           uint32_t                  srcYStride,
19982                                           uint32_t                  srcCStride,
19983                                           uint8_t* __restrict       dst,
19984                                           uint32_t                  dstStride );
19985 
19986 
19987 //------------------------------------------------------------------------------
20045 //------------------------------------------------------------------------------
20046 
20047 FASTCV_API void
20048 fcvColorYCbCr422PseudoPlanarToRGB565u8( const uint8_t* __restrict srcY,
20049                                         const uint8_t* __restrict srcC,
20050                                         uint32_t                  srcWidth,
20051                                         uint32_t                  srcHeight,
20052                                         uint32_t                  srcYStride,
20053                                         uint32_t                  srcCStride,
20054                                         uint8_t* __restrict       dst,
20055                                         uint32_t                  dstStride );
20056 
20057 
20058 //------------------------------------------------------------------------------
20116 //------------------------------------------------------------------------------
20117 
20118 FASTCV_API void
20119 fcvColorYCbCr422PseudoPlanarToRGB888u8( const uint8_t* __restrict srcY,
20120                                         const uint8_t* __restrict srcC,
20121                                         uint32_t                  srcWidth,
20122                                         uint32_t                  srcHeight,
20123                                         uint32_t                  srcYStride,
20124                                         uint32_t                  srcCStride,
20125                                         uint8_t* __restrict       dst,
20126                                         uint32_t                  dstStride );
20127 
20128 
20129 //------------------------------------------------------------------------------
20188 //------------------------------------------------------------------------------
20189 
20190 FASTCV_API void
20191 fcvColorYCbCr422PseudoPlanarToRGBA8888u8( const uint8_t* __restrict srcY,
20192                                           const uint8_t* __restrict srcC,
20193                                           uint32_t                  srcWidth,
20194                                           uint32_t                  srcHeight,
20195                                           uint32_t                  srcYStride,
20196                                           uint32_t                  srcCStride,
20197                                           uint8_t* __restrict       dst,
20198                                           uint32_t                  dstStride );
20199 
20200 
20201 //------------------------------------------------------------------------------
20260 //------------------------------------------------------------------------------
20261 
20262 FASTCV_API void
20263 fcvColorYCbCr420PseudoPlanarToRGB565u8( const uint8_t* __restrict srcY,
20264                                         const uint8_t* __restrict srcC,
20265                                         uint32_t                  srcWidth,
20266                                         uint32_t                  srcHeight,
20267                                         uint32_t                  srcYStride,
20268                                         uint32_t                  srcCStride,
20269                                         uint8_t* __restrict       dst,
20270                                         uint32_t                  dstStride );
20271 
20272 
20273 //------------------------------------------------------------------------------
20332 //------------------------------------------------------------------------------
20333 
20334 FASTCV_API void
20335 fcvColorYCbCr420PseudoPlanarToRGB888u8( const uint8_t* __restrict srcY,
20336                                         const uint8_t* __restrict srcC,
20337                                         uint32_t                  srcWidth,
20338                                         uint32_t                  srcHeight,
20339                                         uint32_t                  srcYStride,
20340                                         uint32_t                  srcCStride,
20341                                         uint8_t* __restrict       dst,
20342                                         uint32_t                  dstStride );
20343 
20344 
20345 //------------------------------------------------------------------------------
20405 //------------------------------------------------------------------------------
20406 
20407 FASTCV_API void
20408 fcvColorYCbCr420PseudoPlanarToRGBA8888u8( const uint8_t* __restrict srcY,
20409                                           const uint8_t* __restrict srcC,
20410                                           uint32_t                  srcWidth,
20411                                           uint32_t                  srcHeight,
20412                                           uint32_t                  srcYStride,
20413                                           uint32_t                  srcCStride,
20414                                           uint8_t* __restrict       dst,
20415                                           uint32_t                  dstStride );
20416 
20417 
20418 //------------------------------------------------------------------------------
20475 //------------------------------------------------------------------------------
20476 
20477 FASTCV_API void
20478 fcvEdgeWeightings16( int16_t* __restrict edgeMap,
20479                      const uint32_t      edgeMapWidth,
20480                      const uint32_t      edgeMapHeight,
20481                      const uint32_t      edgeMapStride,
20482                      const uint32_t      weight,
20483                      const uint32_t      edge_limit,
20484                      const uint32_t      hl_threshold,
20485                      const uint32_t      hh_threshold,
20486                      const uint32_t      edge_denoise_factor );
20487 
20488 
20489 //------------------------------------------------------------------------------
20540 //------------------------------------------------------------------------------
20541 
20542 FASTCV_API void
20543 fcvDeinterleaveu8( const uint8_t* __restrict src,
20544                    uint32_t                  srcWidth,
20545                    uint32_t                  srcHeight,
20546                    uint32_t                  srcStride,
20547                    uint8_t* __restrict       dst0,
20548                    uint32_t                  dst0Stride,
20549                    uint8_t* __restrict       dst1,
20550                    uint32_t                  dst1Stride );
20551 
20552 
20553 //------------------------------------------------------------------------------
20570 
20604 //------------------------------------------------------------------------------
20605 
20606 FASTCV_API void
20607 fcvInterleaveu8( const uint8_t* __restrict src0,
20608                  const uint8_t* __restrict src1,
20609                  uint32_t                  imageWidth,
20610                  uint32_t                  imageHeight,
20611                  uint32_t                  src0Stride,
20612                  uint32_t                  src1Stride,
20613                  uint8_t* __restrict       dst,
20614                  uint32_t                  dstStride );
20615 
20616 //------------------------------------------------------------------------------
20659 //------------------------------------------------------------------------------
20660 
20661 FASTCV_API void
20662 fcvDWTHarrTransposeu8( const uint8_t* __restrict src,
20663                        uint32_t                  srcWidth,
20664                        uint32_t                  srcHeight,
20665                        uint32_t                  srcStride,
20666                        int16_t* __restrict       dst,
20667                        uint32_t                  dstStride );
20668 
20669 //------------------------------------------------------------------------------
20709 //------------------------------------------------------------------------------
20710 
20711 FASTCV_API void
20712 fcvDWTHaarTransposeu8( const uint8_t* __restrict src,
20713                        uint32_t                  srcWidth,
20714                        uint32_t                  srcHeight,
20715                        uint32_t                  srcStride,
20716                        int16_t* __restrict       dst,
20717                        uint32_t                  dstStride );
20718 
20719 //------------------------------------------------------------------------------
20759 //------------------------------------------------------------------------------
20760 
20761 FASTCV_API void
20762 fcvDWT53TabTransposes16( const int16_t* __restrict src,
20763                          uint32_t                  srcWidth,
20764                          uint32_t                  srcHeight,
20765                          uint32_t                  srcStride,
20766                          int16_t* __restrict       dst,
20767                          uint32_t                  dstStride );
20768 
20769 //------------------------------------------------------------------------------
20809 //------------------------------------------------------------------------------
20810 
20811 FASTCV_API void
20812 fcvIDWT53TabTransposes16( const int16_t*   __restrict src,
20813                           uint32_t                    srcWidth,
20814                           uint32_t                    srcHeight,
20815                           uint32_t                    srcStride,
20816                           int16_t* __restrict         dst,
20817                           uint32_t                    dstStride );
20818 
20819 
20820 //------------------------------------------------------------------------------
20863 //------------------------------------------------------------------------------
20864 
20865 FASTCV_API void
20866 fcvIDWTHarrTransposes16( const int16_t* __restrict src,
20867                          uint32_t                  srcWidth,
20868                          uint32_t                  srcHeight,
20869                          uint32_t                  srcStride,
20870                          uint8_t* __restrict       dst,
20871                          uint32_t                  dstStride );
20872 
20873 
20874 //------------------------------------------------------------------------------
20914 //------------------------------------------------------------------------------
20915 
20916 FASTCV_API void
20917 fcvIDWTHaarTransposes16( const int16_t* __restrict src,
20918                          uint32_t                  srcWidth,
20919                          uint32_t                  srcHeight,
20920                          uint32_t                  srcStride,
20921                          uint8_t* __restrict       dst,
20922                          uint32_t                  dstStride );
20923 
20924 
20925 //------------------------------------------------------------------------------
20962 //------------------------------------------------------------------------------
20963 
20964 FASTCV_API void
20965 fcvDWTHaaru8( const uint8_t* __restrict src,
20966               uint32_t                  srcWidth,
20967               uint32_t                  srcHeight,
20968               uint32_t                  srcStride,
20969               int16_t* __restrict       dst,
20970               uint32_t                  dstStride );
20971 
20972 
20973 //------------------------------------------------------------------------------
21010 //------------------------------------------------------------------------------
21011 
21012 FASTCV_API void
21013 fcvDWT53Tabs16( const int16_t* __restrict src,
21014                 uint32_t                  srcWidth,
21015                 uint32_t                  srcHeight,
21016                 uint32_t                  srcStride,
21017                 int16_t* __restrict       dst,
21018                 uint32_t                  dstStride );
21019 
21020 
21021 //------------------------------------------------------------------------------
21058 //------------------------------------------------------------------------------
21059 
21060 FASTCV_API void
21061 fcvIDWT53Tabs16( const int16_t*   __restrict src,
21062                  uint32_t                    srcWidth,
21063                  uint32_t                    srcHeight,
21064                  uint32_t                    srcStride,
21065                  int16_t* __restrict         dst,
21066                  uint32_t                    dstStride );
21067 
21068 
21069 //------------------------------------------------------------------------------
21106 //------------------------------------------------------------------------------
21107 
21108 FASTCV_API void
21109 fcvIDWTHaars16( const int16_t* __restrict src,
21110                 uint32_t                  srcWidth,
21111                 uint32_t                  srcHeight,
21112                 uint32_t                  srcStride,
21113                 uint8_t* __restrict       dst,
21114                 uint32_t                  dstStride );
21115 
21116 
21117 //------------------------------------------------------------------------------
21153 //------------------------------------------------------------------------------
21154 
21155 FASTCV_API void
21156 fcvDCTu8( const uint8_t* __restrict src,
21157           uint32_t                  srcWidth,
21158           uint32_t                  srcHeight,
21159           uint32_t                  srcStride,
21160           int16_t* __restrict       dst,
21161           uint32_t                  dstStride );
21162 
21163 
21164 //------------------------------------------------------------------------------
21200 //------------------------------------------------------------------------------
21201 
21202 FASTCV_API void
21203 fcvIDCTs16( const int16_t* __restrict src,
21204             uint32_t                  srcWidth,
21205             uint32_t                  srcHeight,
21206             uint32_t                  srcStride,
21207             uint8_t* __restrict       dst,
21208             uint32_t                  dstStride );
21209 
21210 //------------------------------------------------------------------------------
21256 //------------------------------------------------------------------------------
21257 
21258 FASTCV_API void
21259 fcvScaleUpPolyu8( const uint8_t* __restrict src,
21260                   uint32_t                  srcWidth,
21261                   uint32_t                  srcHeight,
21262                   uint32_t                  srcStride,
21263                   uint8_t* __restrict       dst,
21264                   uint32_t                  dstWidth,
21265                   uint32_t                  dstHeight,
21266                   uint32_t                  dstStride );
21267 
21268 
21269 //------------------------------------------------------------------------------
21315 //------------------------------------------------------------------------------
21316 
21317 FASTCV_API void
21318 fcvScaleUpPolyInterleaveu8( const uint8_t* __restrict src,
21319                             uint32_t                  srcWidth,
21320                             uint32_t                  srcHeight,
21321                             uint32_t                  srcStride,
21322                             uint8_t* __restrict       dst,
21323                             uint32_t                  dstWidth,
21324                             uint32_t                  dstHeight,
21325                             uint32_t                  dstStride );
21326 
21327 
21328 //------------------------------------------------------------------------------
21337 
21375 //------------------------------------------------------------------------------
21376 
21377 FASTCV_API void
21378 fcvScaleDownMNu8( const uint8_t* __restrict src,
21379                   uint32_t                  srcWidth,
21380                   uint32_t                  srcHeight,
21381                   uint32_t                  srcStride,
21382                   uint8_t* __restrict       dst,
21383                   uint32_t                  dstWidth,
21384                   uint32_t                  dstHeight,
21385                   uint32_t                  dstStride );
21386 
21387 
21388 //------------------------------------------------------------------------------
21435 //------------------------------------------------------------------------------
21436 
21437 FASTCV_API void
21438 fcvScaleDownMNInterleaveu8( const uint8_t* __restrict src,
21439                             uint32_t                  srcWidth,
21440                             uint32_t                  srcHeight,
21441                             uint32_t                  srcStride,
21442                             uint8_t* __restrict       dst,
21443                             uint32_t                  dstWidth,
21444                             uint32_t                  dstHeight,
21445                             uint32_t                  dstStride );
21446 
21447 //---------------------------------------------------------------------------
21491 //---------------------------------------------------------------------------
21492 
21493 FASTCV_API uint32_t
21494 fcvKMeansTreeSearch36x10s8( const   int8_t* __restrict  nodeChildrenCenter,
21495                             const uint32_t* __restrict  nodeChildrenInvLenQ32,
21496                             const uint32_t* __restrict  nodeChildrenIndex,
21497                             const  uint8_t* __restrict  nodeNumChildren,
21498                                   uint32_t              numNodes,
21499                             const  int8_t * __restrict  key );
21500 
21501 //---------------------------------------------------------------------------
21537 //---------------------------------------------------------------------------
21538 
21539 FASTCV_API int
21540 fcvLinearSearchPrepare8x36s8(  uint32_t * __restrict   dbLUT,
21541                                uint32_t                numDBLUT,
21542                                int8_t   * __restrict   descDB,
21543                                uint32_t * __restrict   descDBInvLenQ38,
21544                                uint16_t * __restrict   descDBTargetId,
21545                                uint32_t * __restrict   descDBOldIdx,
21546                                uint32_t                numDescDB );
21547 
21548 //---------------------------------------------------------------------------
21627 //---------------------------------------------------------------------------
21628 
21629 FASTCV_API void
21630 fcvLinearSearch8x36s8(
21631    const uint32_t * __restrict dbLUT,
21632    uint32_t                    numDBLUT,
21633    const int8_t   * __restrict descDB,
21634    const uint32_t * __restrict descDBInvLenQ38,
21635    const uint16_t * __restrict descDBTargetId,
21636    uint32_t                    numDescDB,
21637    const int8_t   * __restrict srcDesc,
21638    const uint32_t * __restrict srcDescInvLenQ38,
21639    const uint32_t * __restrict srcDescIdx,
21640    uint32_t                    numSrcDesc,
21641    const uint16_t * __restrict targetsToIgnore,
21642    uint32_t                    numTargetsToIgnore,
21643    uint32_t                    maxDistanceQ31,
21644    uint32_t       * __restrict correspondenceDBIdx,
21645    uint32_t       * __restrict correspondenceSrcDescIdx,
21646    uint32_t       * __restrict correspondenceDistanceQ31,
21647    uint32_t                    maxNumCorrespondences,
21648    uint32_t       * __restrict numCorrespondences );
21649 
21650 
21651 //------------------------------------------------------------------------------
21704 //------------------------------------------------------------------------------
21705 FASTCV_API void
21706 fcvFindContoursExternalu8( uint8_t* __restrict   src,
21707                            uint32_t              srcWidth,
21708                            uint32_t              srcHeight,
21709                            uint32_t              srcStride,
21710                            uint32_t              maxNumContours,
21711                            uint32_t* __restrict  numContours,
21712                            uint32_t* __restrict  numContourPoints,
21713                            uint32_t** __restrict contourStartPoints,
21714                            uint32_t* __restrict  pointBuffer,
21715                            uint32_t              pointBufferSize,
21716                            int32_t               hierarchy[][4],
21717                            void*                 contourHandle );
21718 
21719 
21720 //------------------------------------------------------------------------------
21762 //------------------------------------------------------------------------------
21763 FASTCV_API void
21764 fcvFindContoursListu8( uint8_t* __restrict   src,
21765                        uint32_t              srcWidth,
21766                        uint32_t              srcHeight,
21767                        uint32_t              srcStride,
21768                        uint32_t              maxNumContours,
21769                        uint32_t* __restrict  numContours,
21770                        uint32_t* __restrict  numContourPoints,
21771                        uint32_t** __restrict contourStartPoints,
21772                        uint32_t* __restrict  pointBuffer,
21773                        uint32_t              pointBufferSize,
21774                        void*                 contourHandle );
21775 
21776 
21777 //------------------------------------------------------------------------------
21835 //------------------------------------------------------------------------------
21836 FASTCV_API void
21837 fcvFindContoursCcompu8( uint8_t* __restrict   src,
21838                         uint32_t              srcWidth,
21839                         uint32_t              srcHeight,
21840                         uint32_t              srcStride,
21841                         uint32_t              maxNumContours,
21842                         uint32_t* __restrict   numContours,
21843                         uint32_t* __restrict  holeFlag,
21844                         uint32_t* __restrict  numContourPoints,
21845                         uint32_t** __restrict contourStartPoints,
21846                         uint32_t* __restrict  pointBuffer,
21847                         uint32_t              pointBufferSize,
21848                         int32_t               hierarchy[][4],
21849                         void*                 contourHandle );
21850 
21851 
21852 //------------------------------------------------------------------------------
21907 //------------------------------------------------------------------------------
21908 FASTCV_API void
21909 fcvFindContoursTreeu8( uint8_t* __restrict   src,
21910                        uint32_t              srcWidth,
21911                        uint32_t              srcHeight,
21912                        uint32_t              srcStride,
21913                        uint32_t              maxNumContours,
21914                        uint32_t* __restrict  numContours,
21915                        uint32_t* __restrict  holeFlag,
21916                        uint32_t* __restrict  numContourPoints,
21917                        uint32_t** __restrict contourStartPoints,
21918                        uint32_t* __restrict  pointBuffer,
21919                        uint32_t              pointBufferSize,
21920                        int32_t               hierarchy[][4],
21921                        void*                 contourHandle );
21922 
21923 
21924 //------------------------------------------------------------------------------
21936 //------------------------------------------------------------------------------
21937 FASTCV_API void*
21938 fcvFindContoursAllocate( uint32_t srcStride );
21939 
21940 
21941 //------------------------------------------------------------------------------
21949 //------------------------------------------------------------------------------
21950 FASTCV_API void
21951 fcvFindContoursDelete( void* contourHandle );
21952 
21953 //------------------------------------------------------------------------------
21980 //------------------------------------------------------------------------------
21981 FASTCV_API void
21982 fcvSolvef32(const float32_t * __restrict A,
21983             int32_t numCols,
21984             int32_t numRows,
21985             const float32_t * __restrict b,
21986             float32_t * __restrict x);
21987 
21988 //------------------------------------------------------------------------------
22006 //------------------------------------------------------------------------------
22007 FASTCV_API void
22008 fcvGetPerspectiveTransformf32( const float32_t src1[8],
22009                                const float32_t src2[8],
22010                                float32_t  transformCoefficient[9] );
22011 
22012 //------------------------------------------------------------------------------
22048 //------------------------------------------------------------------------------
22049 
22050 FASTCV_API void
22051 fcvSetElementsu8(        uint8_t * __restrict dst,
22052                          uint32_t             dstWidth,
22053                          uint32_t             dstHeight,
22054                          uint32_t             dstStride,
22055                          uint8_t              value,
22056                    const uint8_t * __restrict mask,
22057                          uint32_t             maskStride
22058                  );
22059 
22060 //------------------------------------------------------------------------------
22096 //------------------------------------------------------------------------------
22097 FASTCV_API void
22098 fcvSetElementss32(          int32_t * __restrict dst,
22099                              uint32_t             dstWidth,
22100                              uint32_t             dstHeight,
22101                              uint32_t             dstStride,
22102                              int32_t              value,
22103                        const uint8_t * __restrict mask ,
22104                              uint32_t             maskStride
22105                      );
22106 
22107 //------------------------------------------------------------------------------
22143 //------------------------------------------------------------------------------
22144 FASTCV_API void
22145 fcvSetElementsf32(        float32_t * __restrict dst,
22146                           uint32_t               dstWidth,
22147                           uint32_t               dstHeight,
22148                           uint32_t               dstStride,
22149                           float32_t              value,
22150                     const uint8_t   * __restrict mask,
22151                           uint32_t               maskStride
22152                    );
22153 
22154 //------------------------------------------------------------------------------
22199 //------------------------------------------------------------------------------
22200 FASTCV_API void
22201 fcvSetElementsc4u8(         uint8_t * __restrict dst,
22202                             uint32_t             dstWidth,
22203                             uint32_t             dstHeight,
22204                             uint32_t             dstStride,
22205                             uint8_t              value1,
22206                             uint8_t              value2,
22207                             uint8_t              value3,
22208                             uint8_t              value4,
22209                       const uint8_t * __restrict mask,
22210                             uint32_t             maskStride
22211                     );
22212 
22213 //------------------------------------------------------------------------------
22258 //------------------------------------------------------------------------------
22259 FASTCV_API void
22260 fcvSetElementsc4s32(         int32_t * __restrict dst,
22261                              uint32_t             dstWidth,
22262                              uint32_t             dstHeight,
22263                              uint32_t             dstStride,
22264                              int32_t              value1,
22265                              int32_t              value2,
22266                              int32_t              value3,
22267                              int32_t              value4,
22268                        const uint8_t * __restrict mask,
22269                              uint32_t             maskStride
22270                      );
22271 
22272 //------------------------------------------------------------------------------
22317 //------------------------------------------------------------------------------
22318 FASTCV_API void
22319 fcvSetElementsc4f32(         float32_t * __restrict dst,
22320                              uint32_t               dstWidth,
22321                              uint32_t               dstHeight,
22322                              uint32_t               dstStride,
22323                              float32_t              value1,
22324                              float32_t              value2,
22325                              float32_t              value3,
22326                              float32_t              value4,
22327                        const uint8_t   * __restrict mask,
22328                              uint32_t               maskStride
22329                      );
22330 
22331 //------------------------------------------------------------------------------
22373 //------------------------------------------------------------------------------
22374 FASTCV_API void
22375 fcvSetElementsc3u8(         uint8_t * __restrict dst,
22376                             uint32_t             dstWidth,
22377                             uint32_t             dstHeight,
22378                             uint32_t             dstStride,
22379                             uint8_t              value1,
22380                             uint8_t              value2,
22381                             uint8_t              value3,
22382                       const uint8_t * __restrict mask,
22383                             uint32_t             maskStride
22384                     );
22385 
22386 //------------------------------------------------------------------------------
22428 //------------------------------------------------------------------------------
22429 FASTCV_API void
22430 fcvSetElementsc3s32(         int32_t * __restrict dst,
22431                              uint32_t             dstWidth,
22432                              uint32_t             dstHeight,
22433                              uint32_t             dstStride,
22434                              int32_t              value1,
22435                              int32_t              value2,
22436                              int32_t              value3,
22437                        const uint8_t * __restrict mask,
22438                              uint32_t             maskStride
22439                      );
22440 
22441 //------------------------------------------------------------------------------
22483 //------------------------------------------------------------------------------
22484 FASTCV_API void
22485 fcvSetElementsc3f32(         float32_t * __restrict dst,
22486                              uint32_t               dstWidth,
22487                              uint32_t               dstHeight,
22488                              uint32_t               dstStride,
22489                              float32_t              value1,
22490                              float32_t              value2,
22491                              float32_t              value3,
22492                        const uint8_t   * __restrict mask,
22493                              uint32_t               maskStride
22494                      );
22495 
22496 
22497 //------------------------------------------------------------------------------
22500 //------------------------------------------------------------------------------
22501 
22502 typedef enum {
22503     FCV_THRESH_BINARY      = 0,   // value = value > threshold ? max_value : 0
22504     FCV_THRESH_BINARY_INV       // value = value > threshold ? 0 : max_value
22505 } fcvThreshType;
22506 
22507 
22508 //---------------------------------------------------------------------------
22550 //---------------------------------------------------------------------------
22551 
22552 FASTCV_API void
22553 fcvAdaptiveThresholdGaussian3x3u8( const uint8_t* __restrict src,
22554                         uint32_t             srcWidth,
22555                         uint32_t             srcHeight,
22556                         uint32_t             srcStride,
22557                         uint8_t              maxValue,
22558                         fcvThreshType        thresholdType,
22559                         int32_t              value,
22560                         uint8_t* __restrict  dst,
22561                         uint32_t             dstStride );
22562 
22563 //---------------------------------------------------------------------------
22605 //---------------------------------------------------------------------------
22606 FASTCV_API void
22607 fcvAdaptiveThresholdGaussian5x5u8( const uint8_t* __restrict src,
22608                         uint32_t             srcWidth,
22609                         uint32_t             srcHeight,
22610                         uint32_t             srcStride,
22611                         uint8_t              maxValue,
22612                         fcvThreshType        thresholdType,
22613                         int32_t              value,
22614                         uint8_t* __restrict  dst,
22615                         uint32_t             dstStride );
22616 
22617 //---------------------------------------------------------------------------
22659 //---------------------------------------------------------------------------
22660 FASTCV_API void
22661 fcvAdaptiveThresholdGaussian11x11u8( const uint8_t* __restrict src,
22662                         uint32_t             srcWidth,
22663                         uint32_t             srcHeight,
22664                         uint32_t             srcStride,
22665                         uint8_t              maxValue,
22666                         fcvThreshType        thresholdType,
22667                         int32_t              value,
22668                         uint8_t* __restrict  dst,
22669                         uint32_t             dstStride );
22670 
22671 //---------------------------------------------------------------------------
22712 //---------------------------------------------------------------------------
22713 FASTCV_API void
22714 fcvAdaptiveThresholdMean3x3u8( const uint8_t* __restrict src,
22715                         uint32_t             srcWidth,
22716                         uint32_t             srcHeight,
22717                         uint32_t             srcStride,
22718                         uint8_t              maxValue,
22719                         fcvThreshType        thresholdType,
22720                         int32_t              value,
22721                         uint8_t* __restrict  dst,
22722                         uint32_t             dstStride );
22723 
22724 
22725 //---------------------------------------------------------------------------
22766 //---------------------------------------------------------------------------
22767 FASTCV_API void
22768 fcvAdaptiveThresholdMean5x5u8( const uint8_t* __restrict src,
22769                         uint32_t             srcWidth,
22770                         uint32_t             srcHeight,
22771                         uint32_t             srcStride,
22772                         uint8_t              maxValue,
22773                         fcvThreshType        thresholdType,
22774                         int32_t              value,
22775                         uint8_t* __restrict  dst,
22776                         uint32_t             dstStride );
22777 //---------------------------------------------------------------------------
22818 //---------------------------------------------------------------------------
22819 FASTCV_API void
22820 fcvAdaptiveThresholdMean11x11u8( const uint8_t* __restrict src,
22821                         uint32_t             srcWidth,
22822                         uint32_t             srcHeight,
22823                         uint32_t             srcStride,
22824                         uint8_t              maxValue,
22825                         fcvThreshType        thresholdType,
22826                         int32_t              value,
22827                         uint8_t* __restrict  dst,
22828                         uint32_t             dstStride );
22829 
22830 //---------------------------------------------------------------------------
22862 //---------------------------------------------------------------------------
22863 
22864 FASTCV_API void
22865 fcvBoxFilter3x3u8( const uint8_t* __restrict src,
22866                          uint32_t            srcWidth,
22867                          uint32_t            srcHeight,
22868                          uint32_t            srcStride,
22869                          uint8_t* __restrict dst,
22870                          uint32_t            dstStride );
22871 
22872 //---------------------------------------------------------------------------
22906 //---------------------------------------------------------------------------
22907 
22908 FASTCV_API void
22909 fcvBoxFilter5x5u8( const uint8_t* __restrict src,
22910                          uint32_t            srcWidth,
22911                          uint32_t            srcHeight,
22912                          uint32_t            srcStride,
22913                          uint8_t* __restrict dst,
22914                          uint32_t            dstStride );
22915 
22916 //---------------------------------------------------------------------------
22945 //---------------------------------------------------------------------------
22946 
22947 FASTCV_API void
22948 fcvBoxFilter11x11u8(const uint8_t* __restrict src,
22949                           uint32_t            srcWidth,
22950                           uint32_t            srcHeight,
22951                           uint32_t            srcStride,
22952                           uint8_t* __restrict dst,
22953                           uint32_t            dstStride);
22954 
22955 //---------------------------------------------------------------------------
22990 //---------------------------------------------------------------------------
22991 
22992 FASTCV_API void
22993 fcvBoxFilterNxNf32(const float32_t*  src,
22994                          uint32_t    srcWidth,
22995                          uint32_t    srcHeight,
22996                          uint32_t    srcStride,
22997                          uint32_t    N,
22998                          float32_t*  dst,
22999                          uint32_t    dstStride);
23000 
23001 //---------------------------------------------------------------------------
23039 //---------------------------------------------------------------------------
23040 FASTCV_API void
23041 fcvBilateralFilter5x5u8(const uint8_t* __restrict src,
23042                               uint32_t            srcWidth,
23043                               uint32_t            srcHeight,
23044                               uint32_t            srcStride,
23045                               uint8_t* __restrict dst,
23046                               uint32_t            dstStride);
23047 
23048 
23049 //---------------------------------------------------------------------------
23099 //---------------------------------------------------------------------------
23100 FASTCV_API fcvStatus
23101 fcvBilateralFilter5x5u8_v2(const uint8_t* __restrict src,
23102                                  uint32_t            srcWidth,
23103                                  uint32_t            srcHeight,
23104                                  uint32_t            srcStride,
23105                                  uint8_t* __restrict dst,
23106                                  uint32_t            dstStride,
23107                                  float32_t           sigmaColor,
23108                                  float32_t           sigmaSpace);
23109 
23110 //---------------------------------------------------------------------------
23148 //---------------------------------------------------------------------------
23149 FASTCV_API void
23150 fcvBilateralFilter7x7u8(const uint8_t* __restrict src,
23151                               uint32_t            srcWidth,
23152                               uint32_t            srcHeight,
23153                               uint32_t            srcStride,
23154                               uint8_t* __restrict dst,
23155                               uint32_t            dstStride );
23156 
23157 //---------------------------------------------------------------------------
23207 //---------------------------------------------------------------------------
23208 FASTCV_API fcvStatus
23209 fcvBilateralFilter7x7u8_v2(const uint8_t* __restrict src,
23210                                  uint32_t            srcWidth,
23211                                  uint32_t            srcHeight,
23212                                  uint32_t            srcStride,
23213                                  uint8_t* __restrict dst,
23214                                  uint32_t            dstStride,
23215                                  float32_t           sigmaColor,
23216                                  float32_t           sigmaSpace);
23217 
23218 //---------------------------------------------------------------------------
23256 //---------------------------------------------------------------------------
23257 FASTCV_API void
23258 fcvBilateralFilter9x9u8(const uint8_t* __restrict src,
23259                                uint32_t            srcWidth,
23260                                uint32_t            srcHeight,
23261                                uint32_t            srcStride,
23262                                uint8_t* __restrict dst,
23263                                uint32_t            dstStride );
23264 
23265 //---------------------------------------------------------------------------
23315 //---------------------------------------------------------------------------
23316 FASTCV_API fcvStatus
23317 fcvBilateralFilter9x9u8_v2(const uint8_t* __restrict src,
23318                                  uint32_t            srcWidth,
23319                                  uint32_t            srcHeight,
23320                                  uint32_t            srcStride,
23321                                  uint8_t* __restrict dst,
23322                                  uint32_t            dstStride,
23323                                  float32_t           sigmaColor,
23324                                  float32_t           sigmaSpace);
23325 
23326 //---------------------------------------------------------------------------
23360 //------------------------------------------------------------------------------
23361 FASTCV_API void
23362 fcvSegmentFGMasku8(uint8_t* __restrict    src,
23363                    uint32_t               srcWidth,
23364                    uint32_t               srcHeight,
23365                    uint32_t               srcStride,
23366                    uint8_t                Polygonal,
23367                    uint32_t               perimScale);
23368 
23369 //------------------------------------------------------------------------------
23402 //------------------------------------------------------------------------------
23403 FASTCV_API void
23404 fcvAbsDiffu8(const uint8_t * __restrict src1,
23405              const uint8_t * __restrict src2,
23406                    uint32_t             srcWidth,
23407                    uint32_t             srcHeight,
23408                    uint32_t             srcStride,
23409                    uint8_t * __restrict dst,
23410                    uint32_t             dstStride );
23411 
23412 //------------------------------------------------------------------------------
23445 //------------------------------------------------------------------------------
23446 
23447 FASTCV_API void
23448 fcvAbsDiffs32(const int32_t * __restrict  src1,
23449               const int32_t * __restrict  src2,
23450                     uint32_t              srcWidth,
23451                     uint32_t              srcHeight,
23452                     uint32_t              srcStride,
23453                     int32_t * __restrict  dst,
23454                     uint32_t              dstStride );
23455 
23456 //------------------------------------------------------------------------------
23489 //------------------------------------------------------------------------------
23490 
23491 FASTCV_API void
23492 fcvAbsDifff32(const float32_t * __restrict  src1,
23493               const float32_t * __restrict  src2,
23494                     uint32_t                srcWidth,
23495                     uint32_t                srcHeight,
23496                     uint32_t                srcStride,
23497                     float32_t * __restrict  dst,
23498                     uint32_t                dstStride );
23499 
23500 
23501 //------------------------------------------------------------------------------
23533 //------------------------------------------------------------------------------
23534 
23535 FASTCV_API void
23536 fcvAbsDiffVu8(const uint8_t * __restrict src,
23537                     uint8_t              value,
23538                     uint32_t             srcWidth,
23539                     uint32_t             srcHeight,
23540                     uint32_t             srcStride,
23541                     uint8_t * __restrict dst,
23542                     uint32_t             dstStride );
23543 
23544 
23545 //------------------------------------------------------------------------------
23577 //------------------------------------------------------------------------------
23578 
23579 FASTCV_API void
23580 fcvAbsDiffVs32(const int32_t * __restrict src,
23581                      int32_t              value,
23582                      uint32_t             srcWidth,
23583                      uint32_t             srcHeight,
23584                      uint32_t             srcStride,
23585                      int32_t * __restrict dst,
23586                      uint32_t             dstStride );
23587 
23588 
23589 //------------------------------------------------------------------------------
23621 //------------------------------------------------------------------------------
23622 
23623 FASTCV_API void
23624 fcvAbsDiffVf32(const float32_t * __restrict src,
23625                      float32_t              value,
23626                      uint32_t               srcWidth,
23627                      uint32_t               srcHeight,
23628                      uint32_t               srcStride,
23629                      float32_t * __restrict dst,
23630                      uint32_t               dstStride );
23631 
23632 
23633 //------------------------------------------------------------------------------
23674 //------------------------------------------------------------------------------
23675 
23676 FASTCV_API void
23677 fcvAbsDiffVc4u8(const uint8_t * __restrict src,
23678                     uint8_t              value1,
23679                     uint8_t              value2,
23680                     uint8_t              value3,
23681                     uint8_t              value4,
23682                     uint32_t             srcWidth,
23683                     uint32_t             srcHeight,
23684                     uint32_t             srcStride,
23685                     uint8_t * __restrict dst,
23686                     uint32_t             dstStride );
23687 
23688 
23689 //------------------------------------------------------------------------------
23730 //------------------------------------------------------------------------------
23731 
23732 FASTCV_API void
23733 fcvAbsDiffVc4s32(const int32_t * __restrict src,
23734                      int32_t              value1,
23735                      int32_t              value2,
23736                      int32_t              value3,
23737                      int32_t              value4,
23738                      uint32_t             srcWidth,
23739                      uint32_t             srcHeight,
23740                      uint32_t             srcStride,
23741                      int32_t * __restrict dst,
23742                      uint32_t             dstStride );
23743 
23744 
23745 //------------------------------------------------------------------------------
23786 //------------------------------------------------------------------------------
23787 
23788 FASTCV_API void
23789 fcvAbsDiffVc4f32(const float32_t * __restrict src,
23790                      float32_t              value1,
23791                      float32_t              value2,
23792                      float32_t              value3,
23793                      float32_t              value4,
23794                      uint32_t               srcWidth,
23795                      uint32_t               srcHeight,
23796                      uint32_t               srcStride,
23797                      float32_t * __restrict dst,
23798                      uint32_t               dstStride);
23799 
23800 //------------------------------------------------------------------------------
23838 //------------------------------------------------------------------------------
23839 
23840 FASTCV_API void
23841 fcvAbsDiffVc3u8(const uint8_t * __restrict src,
23842                     uint8_t              value1,
23843                     uint8_t              value2,
23844                     uint8_t              value3,
23845                     uint32_t             srcWidth,
23846                     uint32_t             srcHeight,
23847                     uint32_t             srcStride,
23848                     uint8_t * __restrict dst,
23849                     uint32_t             dstStride );
23850 
23851 
23852 //------------------------------------------------------------------------------
23890 //------------------------------------------------------------------------------
23891 
23892 FASTCV_API void
23893 fcvAbsDiffVc3s32(const int32_t * __restrict src,
23894                      int32_t              value1,
23895                      int32_t              value2,
23896                      int32_t              value3,
23897                      uint32_t             srcWidth,
23898                      uint32_t             srcHeight,
23899                      uint32_t             srcStride,
23900                      int32_t * __restrict dst,
23901                      uint32_t             dstStride );
23902 
23903 
23904 //------------------------------------------------------------------------------
23942 //------------------------------------------------------------------------------
23943 
23944 FASTCV_API void
23945 fcvAbsDiffVc3f32(const float32_t * __restrict src,
23946                      float32_t              value1,
23947                      float32_t              value2,
23948                      float32_t              value3,
23949                      uint32_t               srcWidth,
23950                      uint32_t               srcHeight,
23951                      uint32_t               srcStride,
23952                      float32_t * __restrict dst,
23953                      uint32_t               dstStride);
23954 
23955 // -----------------------------------------------------------------------------
24002 // -----------------------------------------------------------------------------
24003 FASTCV_API int
24004 fcvKDTreeCreate36s8f32( const        int8_t*  __restrict vectors,
24005                             const     float32_t*  __restrict invLengths,
24006                                             int              numVectors,
24007                              fcvKDTreeDatas8f32**            kdtrees );
24008 
24009 // -----------------------------------------------------------------------------
24025 // -----------------------------------------------------------------------------
24026 FASTCV_API int
24027 fcvKDTreeDestroy36s8f32( fcvKDTreeDatas8f32* kdtrees );
24028 
24029 // -----------------------------------------------------------------------------
24113 // -----------------------------------------------------------------------------
24114 FASTCV_API int
24115 fcvKDTreeQuery36s8f32( fcvKDTreeDatas8f32*       kdtrees,
24116                            const  int8_t* __restrict query,
24117                                float32_t             queryInvLen,
24118                                      int             maxNNs,
24119                                float32_t             maxDist,
24120                                      int             maxChecks,
24121                            const uint8_t* __restrict mask,
24122                                  int32_t*            numNNsFound,
24123                                  int32_t* __restrict NNInds,
24124                                float32_t* __restrict NNDists );
24125 
24126 typedef struct fcvConnectedComponent
24127 {
24128     uint32_t area;    //area of the cc
24129     uint32_t avgValue; //average value of the cc
24130     uint32_t rectTopLeftX; // the x of the topleft corner of the bounding box of the cc.
24131     uint32_t rectTopLeftY; // the y of the topleft corner of the bounding box of the cc.
24132     uint32_t rectWidth;    // the width of the bounding box of the cc.
24133     uint32_t rectHeight;   // the height of the bounding box of the cc.
24134 }fcvConnectedComponent;
24135 
24136 //---------------------------------------------------------------------------
24201 //------------------------------------------------------------------------------
24202 FASTCV_API void
24203 fcvFloodfillSimpleu8( const uint8_t* __restrict src,
24204                            uint32_t             srcWidth,
24205                            uint32_t             srcHeight,
24206                            uint32_t             srcStride,
24207                             uint8_t* __restrict dst,
24208                            uint32_t             dstStride,
24209                            uint32_t             xBegin,
24210                            uint32_t             yBegin,
24211                             uint8_t             newVal, //new Val can't be zero. zero is background.
24212               fcvConnectedComponent*            cc,
24213                             uint8_t             connectivity,
24214                                void*            lineBuffer);
24215 
24216 
24217 //---------------------------------------------------------------------------
24276 //------------------------------------------------------------------------------
24277 
24278 FASTCV_API fcvStatus
24279 fcvFloodfillMergedu8( const uint8_t* __restrict             src,
24280                        uint32_t                             srcWidth,
24281                        uint32_t                             srcHeight,
24282                        uint32_t                             srcStride,
24283                        uint8_t* __restrict                  dst,
24284                        uint32_t                             dstStride,
24285                        uint32_t                             xBegin,
24286                        uint32_t                             yBegin,
24287                        uint8_t                              newVal,
24288                        fcvConnectedComponent* __restrict    cc,
24289                        uint8_t                              connectivity );
24290 
24291 //---------------------------------------------------------------------------
24301 //  maxhistory, it resets the value to zero.
24338 //------------------------------------------------------------------------------
24339 FASTCV_API void
24340 fcvUpdateMotionHistoryu8s32( const uint8_t* __restrict src,
24341                                   uint32_t             srcWidth,
24342                                   uint32_t             srcHeight,
24343                                   uint32_t             srcStride,
24344                                    int32_t* __restrict dst,
24345                                   uint32_t             dstStride,
24346                                    int32_t             timeStamp,
24347                                    int32_t             maxHistory);
24348 
24349 
24350 //---------------------------------------------------------------------------
24420 //------------------------------------------------------------------------------
24421 FASTCV_API void
24422 fcvIntegrateImageYCbCr420PseudoPlanaru8(
24423                         const uint8_t* __restrict srcY,
24424                         const uint8_t* __restrict srcC,
24425                              uint32_t             srcWidth,
24426                              uint32_t             srcHeight,
24427                              uint32_t             srcYStride,
24428                              uint32_t             srcCStride,
24429                              uint32_t* __restrict integralY,
24430                              uint32_t* __restrict integralCb,
24431                              uint32_t* __restrict integralCr,
24432                              uint32_t             integralYStride,
24433                              uint32_t             integralCbStride,
24434                              uint32_t             integralCrStride);
24435 
24436 
24437 //---------------------------------------------------------------------------
24535 //------------------------------------------------------------------------------
24536 FASTCV_API void
24537 fcvFindForegroundIntegrateImageYCbCr420u32(
24538     const uint32_t * __restrict bgIntegralY,
24539     const uint32_t * __restrict bgIntegralCb,
24540     const uint32_t * __restrict bgIntegralCr,
24541     const uint32_t * __restrict fgIntegralY,
24542     const uint32_t * __restrict fgIntegralCb,
24543     const uint32_t * __restrict fgIntegralCr,
24544           uint32_t              srcWidth,
24545           uint32_t              srcHeight,
24546           uint32_t              srcYStride,
24547           uint32_t              srcCbStride,
24548           uint32_t              srcCrStride,
24549            uint8_t * __restrict outputMask,
24550           uint32_t              outputWidth,
24551           uint32_t              outputHeight,
24552           uint32_t              outputMaskStride,
24553          float32_t              threshold );
24554 
24555 
24556 //---------------------------------------------------------------------------
24586 //------------------------------------------------------------------------------
24587 FASTCV_API void
24588 fcvAverages32(
24589               const int32_t* __restrict src,
24590                    uint32_t             srcWidth,
24591                    uint32_t             srcHeight,
24592                    uint32_t             srcStride,
24593                   float32_t* __restrict avgValue);
24594 
24595 //---------------------------------------------------------------------------
24625 //------------------------------------------------------------------------------
24626 FASTCV_API void
24627 fcvAverageu8(
24628              const uint8_t* __restrict src,
24629                   uint32_t             srcWidth,
24630                   uint32_t             srcHeight,
24631                   uint32_t             srcStride,
24632                  float32_t* __restrict avgValue);
24633 
24634 
24635 //------------------------------------------------------------------------------
24671 //------------------------------------------------------------------------------
24672 FASTCV_API uint32_t
24673 fcvMeanShiftu8(const uint8_t* __restrict src,
24674                     uint32_t             srcWidth,
24675                     uint32_t             srcHeight,
24676                     uint32_t             srcStride,
24677              fcvRectangleInt*            window,
24678              fcvTermCriteria             criteria);
24679 
24680 //------------------------------------------------------------------------------
24716 //------------------------------------------------------------------------------
24717 FASTCV_API uint32_t
24718 fcvMeanShifts32(const int32_t* __restrict src,
24719                      uint32_t             srcWidth,
24720                      uint32_t             srcHeight,
24721                      uint32_t             srcStride,
24722               fcvRectangleInt*            window,
24723               fcvTermCriteria             criteria);
24724 
24725 //------------------------------------------------------------------------------
24761 //------------------------------------------------------------------------------
24762 FASTCV_API uint32_t
24763 fcvMeanShiftf32(const float32_t* __restrict src,
24764                        uint32_t             srcWidth,
24765                        uint32_t             srcHeight,
24766                        uint32_t             srcStride,
24767                 fcvRectangleInt*            window,
24768                 fcvTermCriteria             criteria);
24769 
24770 
24771 //------------------------------------------------------------------------------
24810 //------------------------------------------------------------------------------
24811 FASTCV_API uint32_t
24812 fcvConAdaTracku8(const uint8_t* __restrict src,
24813                    uint32_t             srcWidth,
24814                    uint32_t             srcHeight,
24815                    uint32_t             srcStride,
24816             fcvRectangleInt*            window,
24817             fcvTermCriteria             criteria,
24818                    fcvBox2D*            circuBox);
24819 
24820 
24821 //------------------------------------------------------------------------------
24860 //------------------------------------------------------------------------------
24861 FASTCV_API uint32_t
24862 fcvConAdaTracks32(const int32_t* __restrict src,
24863                     uint32_t             srcWidth,
24864                     uint32_t             srcHeight,
24865                     uint32_t             srcStride,
24866              fcvRectangleInt*            window,
24867              fcvTermCriteria             criteria,
24868                     fcvBox2D*            circuBox);
24869 
24870 
24871 //------------------------------------------------------------------------------
24910 //------------------------------------------------------------------------------
24911 FASTCV_API uint32_t
24912 fcvConAdaTrackf32(const float32_t* __restrict src,
24913                       uint32_t             srcWidth,
24914                       uint32_t             srcHeight,
24915                       uint32_t             srcStride,
24916                fcvRectangleInt*            window,
24917                fcvTermCriteria             criteria,
24918                       fcvBox2D*            circuBox);
24919 
24920 //------------------------------------------------------------------------------
24974 //------------------------------------------------------------------------------
24975 FASTCV_API void
24976 fcvSVDf32(const float32_t * __restrict A,
24977                  uint32_t              m,
24978                  uint32_t              n,
24979                 float32_t * __restrict w,
24980                 float32_t * __restrict U,
24981                 float32_t * __restrict Vt,
24982                 float32_t *            tmpU,
24983                 float32_t *            tmpV);
24984 
24985 //------------------------------------------------------------------------------
25023 //------------------------------------------------------------------------------
25024 FASTCV_API void
25025 fcvFillConvexPolyu8( uint32_t             nPts,
25026                const uint32_t* __restrict polygon,
25027                  uint32_t             nChannel,
25028                 const uint8_t* __restrict color,
25029                   uint8_t* __restrict dst,
25030                  uint32_t             dstWidth,
25031                  uint32_t             dstHeight,
25032                  uint32_t             dstStride);
25033 
25034 
25035 //------------------------------------------------------------------------------
25070 //------------------------------------------------------------------------------
25071 FASTCV_API void
25072 fcvPointPolygonTest(uint32_t             nPts,
25073               const uint32_t* __restrict polygonContour,
25074                     uint32_t             px,
25075                     uint32_t             py,
25076                    float32_t*            distance,
25077                      int16_t*            resultFlag);
25078 
25079 
25080 //------------------------------------------------------------------------------
25118 //------------------------------------------------------------------------------
25119 
25120 FASTCV_API void
25121 fcvFindConvexHull( uint32_t* __restrict polygonContour,
25122                                    uint32_t             nPtsContour,
25123                                    uint32_t* __restrict convexHull,
25124                                    uint32_t*            nPtsHull,
25125                                    uint32_t* __restrict tmpBuff);
25126 
25127 
25128 //---------------------------------------------------------------------------
25160 //---------------------------------------------------------------------------
25161 FASTCV_API int32_t
25162 fcvSolveCholeskyf32( float32_t* __restrict A,
25163                const float32_t* __restrict b,
25164                      float32_t* __restrict diag,
25165                       uint32_t             N,
25166                      float32_t* __restrict x);
25167 
25168 
25169 //---------------------------------------------------------------------------
25200 //---------------------------------------------------------------------------
25201 FASTCV_API void
25202 fcvGeomDistortPoint2x1f32(const float32_t* __restrict cameraCalibration,
25203                           const float32_t* __restrict xyCamera,
25204                                 float32_t* __restrict xyDevice);
25205 
25206 //---------------------------------------------------------------------------
25252 //---------------------------------------------------------------------------
25253 
25254 FASTCV_API void
25255 fcvGeomDistortPoint2xNf32(const float32_t* __restrict cameraCalibration,
25256                           const float32_t* __restrict xyCamera,
25257                                  uint32_t             srcStride,
25258                                  uint32_t             xySize,
25259                                 float32_t* __restrict xyDevice,
25260                                  uint32_t             dstStride);
25261 
25262 //---------------------------------------------------------------------------
25282 //---------------------------------------------------------------------------
25283 FASTCV_API void
25284 fcvGeomUndistortPoint2x1f32(const float32_t* __restrict cameraCalibration,
25285                             const float32_t* __restrict xyDevice,
25286                                   float32_t* __restrict xyCamera);
25287 
25288 //---------------------------------------------------------------------------
25334 //---------------------------------------------------------------------------
25335 
25336 FASTCV_API void
25337 fcvGeomUndistortPoint2xNf32(const float32_t* __restrict cameraCalibration,
25338                             const float32_t* __restrict xyDevice,
25339                                    uint32_t             srcStride,
25340                                    uint32_t             xySize,
25341                                   float32_t* __restrict xyCamera,
25342                                    uint32_t             dstStride);
25343 
25344 //---------------------------------------------------------------------------
25378 //---------------------------------------------------------------------------
25379 FASTCV_API int32_t
25380 fcvGeomProjectPoint3x1f32(const float32_t* __restrict pose,
25381                           const float32_t* __restrict cameraCalibration,
25382                           const float32_t* __restrict xyz,
25383                                 float32_t* __restrict xyCamera,
25384                                 float32_t* __restrict xyDevice);
25385 
25386 //---------------------------------------------------------------------------
25444 //---------------------------------------------------------------------------
25445 
25446 FASTCV_API void
25447 fcvGeomProjectPoint3xNf32(const float32_t* __restrict pose,
25448                           const float32_t* __restrict cameraCalibration,
25449                           const float32_t* __restrict xyz,
25450                                  uint32_t             srcStride,
25451                                  uint32_t             xyzSize,
25452                                 float32_t* __restrict xyCamera,
25453                                 float32_t* __restrict xyDevice,
25454                                  uint32_t             dstStride,
25455                                  uint32_t*            inFront);
25456 
25457 //---------------------------------------------------------------------------
25471 //---------------------------------------------------------------------------
25472 
25473 FASTCV_API fcvStatus
25474 fcvInvertAffineTransformf32( const float32_t *__restrict    M,
25475                              float32_t *__restrict   invAffineMat );
25476 
25477 
25478 //---------------------------------------------------------------------------
25496 //---------------------------------------------------------------------------
25497 
25498 FASTCV_API fcvStatus
25499 fcvGeomHomographyRobustFitf32( const fcvCorrespondences* __restrict corr,
25500                                float32_t  *__restrict   homography,
25501                                float32_t   reprojThreshold);
25502 
25503 
25504 //------------------------------------------------------------------------------
25557 //------------------------------------------------------------------------------
25558 
25559 FASTCV_API fcvStatus
25560 fcvICPJacobianErrorSE3f32(const uint16_t* __restrict  depthData,
25561                           uint32_t                    depthWidth,
25562                           uint32_t                    depthHeight,
25563                           uint32_t                    depthStride,
25564                           const float32_t* __restrict refPointsNormals,
25565                           uint32_t                    numPoints,
25566                           const float32_t* __restrict refPose,
25567                           const float32_t*__restrict  camera,
25568                           float32_t                   sqDistThreshold,
25569                           float32_t* __restrict       sqDists,
25570                           float32_t* __restrict       errors,
25571                           float32_t* __restrict       jacobian);
25572 
25573 //------------------------------------------------------------------------------
25600 //------------------------------------------------------------------------------
25601 
25602 FASTCV_API fcvStatus
25603 fcvGeomHomographyFitf32_v2( const fcvCorrespondences* __restrict corrs,
25604                             float32_t* __restrict                    homography,
25605                             uint32_t    mode);
25606 
25607 //---------------------------------------------------------------------------
25632 //---------------------------------------------------------------------------
25633 
25634 FASTCV_API fcvStatus
25635 fcvGeomHomographyRobustFitf32_v2( const fcvCorrespondences* __restrict corr,
25636                                float32_t  *__restrict   homography,
25637                                float32_t   reprojThreshold,
25638                                uint32_t    mode);
25639 
25640 //------------------------------------------------------------------------------
25696 //------------------------------------------------------------------------------
25697 FASTCV_API fcvStatus
25698 fcvDepthFusion8x8x8xNs16(const fcvDepthFusionBlockConfig* __restrict configs,
25699                          int16_t* __restrict volumes,
25700                          uint32_t numBlocks,
25701                          uint32_t volumeStride,
25702                          const float32_t* __restrict depthData,
25703                          uint32_t  depthWidth,
25704                          uint32_t  depthHeight,
25705                          uint32_t  depthStride,
25706                          const float32_t* __restrict cameraCalibration,
25707                          int16_t maxWeight);
25708 
25709 //---------------------------------------------------------------------------
25772 //---------------------------------------------------------------------------
25773 
25774 FASTCV_API void
25775 fcvRemapRGBA8888NNu8( const uint8_t*  __restrict src,
25776                             uint32_t             srcWidth,
25777                             uint32_t             srcHeight,
25778                             uint32_t             srcStride,
25779                              uint8_t* __restrict dst,
25780                             uint32_t             dstWidth,
25781                             uint32_t             dstHeight,
25782                             uint32_t             dstStride,
25783                      const float32_t* __restrict mapX,
25784                      const float32_t* __restrict mapY,
25785                             uint32_t             mapStride
25786                       );
25787 
25788 //---------------------------------------------------------------------------
25849 //---------------------------------------------------------------------------
25850 
25851 FASTCV_API void
25852 fcvRemapRGBA8888BLu8(  const uint8_t* __restrict src,
25853                             uint32_t             srcWidth,
25854                             uint32_t             srcHeight,
25855                             uint32_t             srcStride,
25856                              uint8_t* __restrict dst,
25857                             uint32_t             dstWidth,
25858                             uint32_t             dstHeight,
25859                             uint32_t             dstStride,
25860                      const float32_t* __restrict mapX,
25861                      const float32_t* __restrict mapY,
25862                             uint32_t             mapStride );
25863 
25864 //---------------------------------------------------------------------------
25925 //---------------------------------------------------------------------------
25926 
25927 FASTCV_API void
25928 fcvJacobianSE2f32(const uint8_t* __restrict warpedImage,
25929                  const uint16_t* __restrict warpedBorder,
25930                   const uint8_t* __restrict targetImage,
25931                   const int16_t* __restrict targetDX,
25932                   const int16_t* __restrict targetDY,
25933                        uint32_t             width,
25934                        uint32_t             height,
25935                        uint32_t             stride,
25936                       float32_t* __restrict sumJTJ,
25937                       float32_t* __restrict sumJTE,
25938                       float32_t* __restrict sumError,
25939                        uint32_t* __restrict numPixels);
25940 
25941 //---------------------------------------------------------------------------
26022 //------------------------------------------------------------------------------/
26023 
26024 FASTCV_API void
26025 fcvTransformAffineClippedu8(const uint8_t* __restrict src,
26026                                  uint32_t             srcWidth,
26027                                  uint32_t             srcHeight,
26028                                  uint32_t             srcStride,
26029                           const float32_t* __restrict affineMatrix,
26030                                   uint8_t* __restrict dst,
26031                                  uint32_t             dstWidth,
26032                                  uint32_t             dstHeight,
26033                                  uint32_t             dstStride,
26034                                  uint32_t* __restrict dstBorder);
26035 
26036 //---------------------------------------------------------------------------
26121 //------------------------------------------------------------------------------/
26122 
26123 FASTCV_API fcvStatus
26124 fcvTransformAffineClippedu8_v2( const uint8_t* __restrict src,
26125                                 uint32_t             srcWidth,
26126                                 uint32_t             srcHeight,
26127                                 uint32_t             srcStride,
26128                                 const float32_t* __restrict affineMatrix,
26129                                 uint8_t* __restrict dst,
26130                                 uint32_t             dstWidth,
26131                                 uint32_t             dstHeight,
26132                                 uint32_t             dstStride,
26133                                 uint32_t* __restrict dstBorder,
26134                                 fcvInterpolationType  interpolation );
26135 
26136 //---------------------------------------------------------------------------
26229 //------------------------------------------------------------------------------/
26230 
26231 FASTCV_API fcvStatus
26232 fcvTransformAffineClippedu8_v3( const uint8_t* __restrict src,
26233                                 uint32_t             srcWidth,
26234                                 uint32_t             srcHeight,
26235                                 uint32_t             srcStride,
26236                                 const float32_t* __restrict affineMatrix,
26237                                 uint8_t* __restrict dst,
26238                                 uint32_t             dstWidth,
26239                                 uint32_t             dstHeight,
26240                                 uint32_t             dstStride,
26241                                 uint32_t* __restrict dstBorder,
26242                                 fcvInterpolationType  interpolation,
26243                                 fcvBorderType borderType,
26244                                 uint8_t  borderValue );
26245 
26246 //------------------------------------------------------------------------------
26268 //------------------------------------------------------------------------------
26269 FASTCV_API fcvBGCodeWord**
26270 fcvCreateBGCodeBookModel( uint32_t            srcWidth,
26271                           uint32_t            srcHeight,
26272                           void**   __restrict cbmodel );
26273 
26274 //------------------------------------------------------------------------------
26285 //------------------------------------------------------------------------------
26286 FASTCV_API void
26287 fcvReleaseBGCodeBookModel( void** cbmodel );
26288 
26289 //------------------------------------------------------------------------------
26317 //------------------------------------------------------------------------------
26318 FASTCV_API void
26319 fcvConfigBGCodeBookModel(   void* cbmodel,
26320                             uint8_t cbBound[3],
26321                             uint8_t minMod[3],
26322                             uint8_t maxMod[3]);
26323 
26324 //------------------------------------------------------------------------------
26364 //------------------------------------------------------------------------------
26365 FASTCV_API void
26366 fcvBGCodeBookUpdateu8( void*  __restrict cbmodel,
26367               const uint8_t*  __restrict src,
26368                    uint32_t              srcWidth,
26369                    uint32_t              srcHeight,
26370                    uint32_t              srcStride,
26371               const uint8_t*  __restrict fgMask,
26372                    uint32_t              fgMaskStride,
26373               fcvBGCodeWord** __restrict cbMap,
26374                     int32_t*  __restrict updateTime );
26375 
26376 //------------------------------------------------------------------------------
26419 //------------------------------------------------------------------------------
26420 FASTCV_API void
26421 fcvBGCodeBookDiffu8( void*  __restrict cbmodel,
26422             const uint8_t*  __restrict src,
26423                  uint32_t              srcWidth,
26424                  uint32_t              srcHeight,
26425                  uint32_t              srcStride,
26426                   uint8_t*  __restrict fgMask,
26427                  uint32_t              fgMaskStride,
26428             fcvBGCodeWord** __restrict cbMap,
26429                   int32_t*  __restrict numFgMask );
26430 
26431 //------------------------------------------------------------------------------
26467 //------------------------------------------------------------------------------
26468 FASTCV_API void
26469 fcvBGCodeBookClearStaleu8( void*  __restrict cbmodel,
26470                         int32_t              staleThresh,
26471                   const uint8_t*  __restrict fgMask,
26472                        uint32_t              fgMaskWidth,
26473                        uint32_t              fgMaskHeight,
26474                        uint32_t              fgMaskStride,
26475                   fcvBGCodeWord** __restrict cbMap );
26476 
26477 //------------------------------------------------------------------------------
26540 //------------------------------------------------------------------------------
26541 
26542 FASTCV_API void
26543 fcvHoughCircleu8( const uint8_t* __restrict src,
26544                        uint32_t             srcWidth,
26545                        uint32_t             srcHeight,
26546                        uint32_t             srcStride,
26547                       fcvCircle* __restrict circles,
26548                        uint32_t* __restrict numCircle,
26549                        uint32_t             maxCircle,
26550                        uint32_t             minDist,
26551                        uint32_t             cannyThreshold,
26552                        uint32_t             accThreshold,
26553                        uint32_t             minRadius,
26554                        uint32_t             maxRadius,
26555                            void* __restrict data);
26556 
26557 
26558 
26559 
26560 //-----------------------------------------------------------------------
26604 //-----------------------------------------------------------------------
26605 FASTCV_API void
26606 fcvHoughLineu8(const uint8_t*  __restrict src,
26607                     uint32_t              srcWidth,
26608                     uint32_t              srcHeight,
26609                     uint32_t              srcStride,
26610                     float32_t             threshold,
26611                     uint32_t              maxLines,
26612                     uint32_t*  __restrict pNumLines,
26613                     fcvLine*   __restrict pLines);
26614 
26615 //------------------------------------------------------------------------------
26672 //------------------------------------------------------------------------------
26673 FASTCV_API void
26674 fcvDrawContouru8(uint8_t*  __restrict src,
26675                 uint32_t              srcWidth,
26676                 uint32_t              srcHeight,
26677                 uint32_t              srcStride,
26678                 uint32_t              nContours,
26679           const uint32_t*  __restrict holeFlag,
26680           const uint32_t*  __restrict numContourPoints,
26681           const uint32_t** __restrict contourStartPoints,
26682                 uint32_t              pointBufferSize,
26683           const uint32_t*  __restrict pointBuffer,
26684                  int32_t              hierarchy[][4],
26685                 uint32_t              max_level,
26686                  int32_t              thickness,
26687                  uint8_t              color,
26688                  uint8_t              hole_color);
26689 
26690 
26691 //------------------------------------------------------------------------------
26748 //------------------------------------------------------------------------------
26749 FASTCV_API void
26750 fcvDrawContourInterleavedu8( uint8_t*  __restrict src,
26751                             uint32_t              srcWidth,
26752                             uint32_t              srcHeight,
26753                             uint32_t              srcStride,
26754                             uint32_t              nContours,
26755                       const uint32_t*  __restrict holeFlag,
26756                       const uint32_t*  __restrict numContourPoints,
26757                       const uint32_t** __restrict contourStartPoints,
26758                             uint32_t              pointBufferSize,
26759                       const uint32_t*  __restrict pointBuffer,
26760                              int32_t              hierarchy[][4],
26761                             uint32_t              max_level,
26762                              int32_t              thickness,
26763                              uint8_t              colorR,
26764                              uint8_t              colorG,
26765                              uint8_t              colorB,
26766                              uint8_t              hole_colorR,
26767                              uint8_t              hole_colorG,
26768                              uint8_t              hole_colorB);
26769 
26770 //------------------------------------------------------------------------------
26827 //------------------------------------------------------------------------------
26828 FASTCV_API void
26829 fcvDrawContourPlanaru8( uint8_t*  __restrict src,
26830                        uint32_t              srcWidth,
26831                        uint32_t              srcHeight,
26832                        uint32_t              srcStride,
26833                        uint32_t              nContours,
26834                  const uint32_t*  __restrict holeFlag,
26835                  const uint32_t*  __restrict numContourPoints,
26836                  const uint32_t** __restrict contourStartPoints,
26837                        uint32_t              pointBufferSize,
26838                  const uint32_t*  __restrict pointBuffer,
26839                         int32_t              hierarchy[][4],
26840                        uint32_t              max_level,
26841                         int32_t              thickness,
26842                         uint8_t              colorR,
26843                         uint8_t              colorG,
26844                         uint8_t              colorB,
26845                         uint8_t              hole_colorR,
26846                         uint8_t              hole_colorG,
26847                         uint8_t              hole_colorB);
26848 
26849 //------------------------------------------------------------------------------
26883 //------------------------------------------------------------------------------
26884 FASTCV_API void
26885 fcvImageMomentsu8( const uint8_t* __restrict   src,
26886                    uint32_t                    srcWidth,
26887                    uint32_t                    srcHeight,
26888                    uint32_t                    srcStride,
26889                    fcvMoments*                 moments,
26890                    uint8_t                     binary);
26891 
26892 //------------------------------------------------------------------------------
26926 //------------------------------------------------------------------------------
26927 FASTCV_API void
26928 fcvImageMomentss32( const int32_t* __restrict src,
26929                     uint32_t                  srcWidth,
26930                     uint32_t                  srcHeight,
26931                     uint32_t                  srcStride,
26932                     fcvMoments*               moments,
26933                     uint8_t                   binary);
26934 
26935 //------------------------------------------------------------------------------
26969 //------------------------------------------------------------------------------
26970 FASTCV_API void
26971 fcvImageMomentsf32(const float32_t* __restrict src,
26972                   uint32_t              srcWidth,
26973                   uint32_t              srcHeight,
26974                   uint32_t              srcStride,
26975                   fcvMoments*           moments,
26976                   uint8_t               binary);
26977 
26978 //---------------------------------------------------------------------------
27010 //------------------------------------------------------------------------------
27011 FASTCV_API int32_t
27012 fcvSolveLDLf32( float32_t *__restrict         A,
27013                 const float32_t *__restrict   b,
27014                 float32_t *__restrict         diag,
27015                 uint32_t                      N,
27016                 float32_t *__restrict         x );
27017 
27018 //---------------------------------------------------------------------------
27037 //------------------------------------------------------------------------------
27038 FASTCV_API float32_t
27039 fcvDotProductf32( const float32_t *__restrict a,
27040                   const float32_t *__restrict b,
27041                   uint32_t                    N);
27042 
27043 //---------------------------------------------------------------------------
27118 //------------------------------------------------------------------------------/
27119 
27120 FASTCV_API void
27121 fcv3ChannelTransformAffineClippedBCu8(  const uint8_t *__restrict      src,
27122                                         uint32_t                       srcWidth,
27123                                         uint32_t                       srcHeight,
27124                                         uint32_t                       srcStride,
27125                                         const float32_t *__restrict    affineMatrix,
27126                                         uint8_t *__restrict            dst,
27127                                         uint32_t                       dstWidth,
27128                                         uint32_t                       dstHeight,
27129                                         uint32_t                       dstStride,
27130                                         uint32_t *__restrict           dstBorder);
27131 
27132 
27133 //------------------------------------------------------------------------------
27175 //------------------------------------------------------------------------------
27176 
27177 FASTCV_API void
27178 fcvFilterThresholdOtsuu8( const uint8_t *__restrict   src,
27179                           uint32_t                    srcWidth,
27180                           uint32_t                    srcHeight,
27181                           uint32_t                    srcStride,
27182                           uint8_t *__restrict         dst,
27183                           uint32_t                    dstStride,
27184                           fcvThreshType               thresholdType);
27185 
27186 //------------------------------------------------------------------------------
27235 //------------------------------------------------------------------------------
27236 
27237 FASTCV_API void
27238 fcvImageDetectEdgePixelsu8( const int16_t* __restrict  gxgy,
27239                             const uint32_t*__restrict  mag,
27240                             uint32_t                   gradStride,
27241                             uint32_t                   topLeftX,
27242                             uint32_t                   topLeftY,
27243                             uint32_t                   width,
27244                             uint32_t                   height,
27245                             uint32_t                   gridSize,
27246                             float32_t                  threshold,
27247                             uint32_t                   nEdgePixelsMax,
27248                             uint32_t* __restrict       nEdgePixels,
27249                             uint32_t* __restrict       coordEdgePixels );
27250 
27251 
27252 //------------------------------------------------------------------------------
27292 
27301 //------------------------------------------------------------------------------
27302 
27303 FASTCV_API fcvStatus
27304 fcvGLBPu8(const uint8_t *__restrict src,
27305            uint32_t srcWidth,
27306            uint32_t srcHeight,
27307            uint32_t srcStride,
27308            uint32_t radius,
27309            uint32_t neighbors,
27310            uint8_t *__restrict dst,
27311            uint32_t dstStride);
27312 
27313 
27314 //---------------------------------------------------------------------------
27356 //---------------------------------------------------------------------------
27357 
27358 FASTCV_API fcvStatus
27359 fcvCornerRefineSubPixu8( const uint8_t * __restrict src,
27360                          uint32_t        srcWidth,
27361                          uint32_t        srcHeight,
27362                          uint32_t        srcStride,
27363                          uint32_t        blockWidth,
27364                          uint32_t        blockHeight,
27365                          uint32_t        maxIterations,
27366                          float32_t       stopCriteria,
27367                          const uint32_t*__restrict  xyInitial,
27368                          uint32_t        nCorners,
27369                          float32_t * __restrict     xyOut);
27370 
27371 //---------------------------------------------------------------------------
27410 //---------------------------------------------------------------------------
27411 
27412 FASTCV_API fcvStatus
27413 fcvGoodFeatureToTracku8( const uint8_t * __restrict src,
27414                          uint32_t         srcWidth,
27415                          uint32_t         srcHeight,
27416                          uint32_t         srcStride,
27417                          float32_t        distanceMin,
27418                          uint32_t         border,
27419                          float32_t        barrier,
27420                          uint32_t * __restrict   xy,
27421                          uint32_t         maxnumcorners,
27422                          uint32_t * __restrict  numcorners);
27423 
27424 
27425 //------------------------------------------------------------------------------
27470 //------------------------------------------------------------------------------
27471 
27472 FASTCV_API fcvStatus
27473 fcvFindMultipleMaximau8(const uint8_t *__restrict src,
27474                         uint32_t srcWidth,
27475                         uint32_t srcHeight,
27476                         uint32_t srcStride,
27477                         const float32_t* __restrict pos,
27478                         const float32_t* __restrict normal,
27479                         uint32_t maxDistance,
27480                         uint32_t maxNumMaxima,
27481                         int32_t minGradient,
27482                         float32_t maxAngleDiff,
27483                         float32_t* __restrict maxima,
27484                         uint32_t* __restrict numMaxima);
27485 
27486 //------------------------------------------------------------------------------
27530 //------------------------------------------------------------------------------
27531 
27532 FASTCV_API fcvStatus
27533 fcvImageDetectLineSegmentsu8(const fcvPyramidLevel_v2* __restrict srcPyr,
27534                              uint32_t pyrLevel,
27535                              uint32_t doBlurImage,
27536                              float32_t maxLineAngle,
27537                              uint32_t minLineLength,
27538                              uint32_t minMagnitude,
27539                              uint32_t maxLineNum,
27540                              uint32_t* __restrict indexBuffer,
27541                              fcvLineSegment* __restrict lineSegments,
27542                              uint32_t* __restrict numLineSegments);
27543 
27544 //---------------------------------------------------------------------------
27582 //------------------------------------------------------------------------------
27583 
27584 FASTCV_API void
27585 fcvSumOfSquaredDiffsu8( const uint8_t* __restrict                 a,
27586                         float32_t                                 invLenA,
27587                         uint32_t                                  dim,
27588                         const uint8_t* const * __restrict         bList,
27589                         const float32_t* __restrict               invLenB,
27590                         uint32_t                                  numB,
27591                         float32_t* __restrict                     distances );
27592 
27593 
27594 //---------------------------------------------------------------------------
27630 //------------------------------------------------------------------------------
27631 
27632 FASTCV_API void
27633 fcvSumOfSquaredDiffsf32( const float32_t* __restrict             a,
27634                          float32_t                               invLenA,
27635                          uint32_t                                dim,
27636                          const float32_t* const * __restrict     bList,
27637                          const float32_t* __restrict             invLenB,
27638                          uint32_t                                numB,
27639                          float32_t* __restrict                   distances );
27640 
27641 //---------------------------------------------------------------------------
27694 //---------------------------------------------------------------------------
27695 
27696 FASTCV_API int
27697 fcvClusterEuclideanu8( const uint8_t* __restrict     points,
27698                        int32_t                      numPoints,
27699                        int32_t                      dim,
27700                        int32_t                      pointStride,
27701                        int32_t                      numPointsUsed,
27702                        int32_t                      numClusters,
27703                        float32_t* __restrict        clusterCenters,
27704                        int32_t                      clusterCenterStride,
27705                        float32_t* __restrict        newClusterCenters,
27706                        uint32_t* __restrict         clusterMemberCounts,
27707                        uint32_t* __restrict         clusterBindings,
27708                        float32_t*                   sumOfClusterDistances );
27709 
27710 //---------------------------------------------------------------------------
27739 //---------------------------------------------------------------------------
27740 
27741 FASTCV_API void
27742 fcvTransposeu8( const uint8_t * __restrict  src,
27743                 uint32_t                    srcWidth,
27744                 uint32_t                    srcHeight,
27745                 uint32_t                    srcStride,
27746                 uint8_t * __restrict        dst,
27747                 uint32_t                    dstStride );
27748 
27749 //---------------------------------------------------------------------------
27778 //---------------------------------------------------------------------------
27779 
27780 FASTCV_API void
27781 fcvTransposeu16(  const uint16_t * __restrict  src,
27782                   uint32_t                     srcWidth,
27783                   uint32_t                     srcHeight,
27784                   uint32_t                     srcStride,
27785                   uint16_t * __restrict        dst,
27786                   uint32_t                     dstStride );
27787 
27788 //---------------------------------------------------------------------------
27817 //---------------------------------------------------------------------------
27818 
27819 FASTCV_API void
27820 fcvTransposef32(  const float32_t * __restrict  src,
27821                   uint32_t                      srcWidth,
27822                   uint32_t                      srcHeight,
27823                   uint32_t                      srcStride,
27824                   float32_t * __restrict        dst,
27825                   uint32_t                      dstStride );
27826 
27827 //---------------------------------------------------------------------------
27861 //---------------------------------------------------------------------------
27862 
27863 FASTCV_API void
27864 fcvFlipu8( const uint8_t * src,
27865            uint32_t        srcWidth,
27866            uint32_t        srcHeight,
27867            uint32_t        srcStride,
27868            uint8_t *       dst,
27869            uint32_t        dstStride,
27870            fcvFlipDir      dir );
27871 
27872 //---------------------------------------------------------------------------
27906 //---------------------------------------------------------------------------
27907 
27908 FASTCV_API void
27909 fcvFlipu16( const uint16_t * src,
27910             uint32_t         srcWidth,
27911             uint32_t         srcHeight,
27912             uint32_t         srcStride,
27913             uint16_t *       dst,
27914             uint32_t         dstStride,
27915             fcvFlipDir       dir );
27916 
27917 //------------------------------------------------------------------------------
27955 //------------------------------------------------------------------------------
27956 FASTCV_API fcvStatus
27957 fcvFlipRGB888u8(const uint8_t * src,
27958                 uint32_t  srcWidth,
27959                 uint32_t srcHeight,
27960                 uint32_t srcStride,
27961                 uint8_t * dst,
27962                 uint32_t dstStride,
27963                 fcvFlipDir dir);
27964 
27965 //---------------------------------------------------------------------------
27998 //---------------------------------------------------------------------------
27999 
28000 FASTCV_API fcvStatus
28001 fcvRotateImageu8( const uint8_t *      src,
28002                   uint32_t             srcWidth,
28003                   uint32_t             srcHeight,
28004                   uint32_t             srcStride,
28005                   uint8_t *            dst,
28006                   uint32_t             dstStride,
28007                   fcvRotateDegree      degree );
28008 
28009 //---------------------------------------------------------------------------
28043 //---------------------------------------------------------------------------
28044 
28045 FASTCV_API fcvStatus
28046 fcvRotateImageInterleavedu8( const uint8_t *      src,
28047                              uint32_t             srcWidth,
28048                              uint32_t             srcHeight,
28049                              uint32_t             srcStride,
28050                              uint8_t *            dst,
28051                              uint32_t             dstStride,
28052                              fcvRotateDegree      degree );
28053 
28054 //---------------------------------------------------------------------------
28092 //---------------------------------------------------------------------------
28093 
28094 FASTCV_API void
28095 fcvElementMultiplyu8u16( const uint8_t *             src1,
28096                          uint32_t                    width,
28097                          uint32_t                    height,
28098                          uint32_t                    src1Stride,
28099                          const uint8_t *             src2,
28100                          uint32_t                    src2Stride,
28101                          uint16_t * __restrict       dst,
28102                          uint32_t                    dstStride );
28103 
28104 //---------------------------------------------------------------------------
28142 //---------------------------------------------------------------------------
28143 
28144 FASTCV_API void
28145 fcvElementMultiplyf32(  const float32_t *            src1,
28146                         uint32_t                     width,
28147                         uint32_t                     height,
28148                         uint32_t                     src1Stride,
28149                         const float32_t *            src2,
28150                         uint32_t                     src2Stride,
28151                         float32_t * __restrict       dst,
28152                         uint32_t                     dstStride );
28153 
28154 //---------------------------------------------------------------------------
28196 //---------------------------------------------------------------------------
28197 
28198 FASTCV_API void
28199 fcvMatrixMultiplys8s32( const int8_t * __restrict  src1,
28200                         uint32_t                   src1Width,
28201                         uint32_t                   src1Height,
28202                         uint32_t                   src1Stride,
28203                         const int8_t * __restrict  src2,
28204                         uint32_t                   src2Width,
28205                         uint32_t                   src2Stride,
28206                         int32_t * __restrict       dst,
28207                         uint32_t                   dstStride );
28208 
28209 //---------------------------------------------------------------------------
28250 //---------------------------------------------------------------------------
28251 
28252 FASTCV_API void
28253 fcvMatrixMultiplyf32( const float32_t * __restrict   src1,
28254                       uint32_t                       src1Width,
28255                       uint32_t                       src1Height,
28256                       uint32_t                       src1Stride,
28257                       const float32_t * __restrict   src2,
28258                       uint32_t                       src2Width,
28259                       uint32_t                       src2Stride,
28260                       float32_t * __restrict         dst,
28261                       uint32_t                       dstStride );
28262 
28263 //---------------------------------------------------------------------------
28294 //---------------------------------------------------------------------------
28295 
28296 FASTCV_API uint32_t
28297 fcvBlockDotProductu8( const uint8_t * __restrict  src1,
28298                       uint32_t                    blockWidth,
28299                       uint32_t                    blockHeight,
28300                       uint32_t                    src1Stride,
28301                       const uint8_t * __restrict  src2,
28302                       uint32_t                    src2Stride );
28303 
28304 //---------------------------------------------------------------------------
28334 //---------------------------------------------------------------------------
28335 
28336 FASTCV_API float32_t
28337 fcvBlockDotProductf32( const float32_t * __restrict  src1,
28338                        uint32_t                      blockWidth,
28339                        uint32_t                      blockHeight,
28340                        uint32_t                      src1Stride,
28341                        const float32_t * __restrict  src2,
28342                        uint32_t                      src2Stride );
28343 
28344 //---------------------------------------------------------------------------
28382 //---------------------------------------------------------------------------
28383 
28384 FASTCV_API void
28385 fcvAddu8u16( const uint8_t * __restrict  src1,
28386              uint32_t                    width,
28387              uint32_t                    height,
28388              uint32_t                    src1Stride,
28389              const uint8_t * __restrict  src2,
28390              uint32_t                    src2Stride,
28391              uint16_t * __restrict       dst,
28392              uint32_t                    dstStride );
28393 
28394 //---------------------------------------------------------------------------
28433 //---------------------------------------------------------------------------
28434 
28435 FASTCV_API void
28436 fcvAdds16( const int16_t * __restrict  src1,
28437            uint32_t                    width,
28438            uint32_t                    height,
28439            uint32_t                    src1Stride,
28440            const int16_t * __restrict  src2,
28441            uint32_t                    src2Stride,
28442            int16_t * __restrict        dst,
28443            uint32_t                    dstStride );
28444 
28445 //---------------------------------------------------------------------------
28483 //---------------------------------------------------------------------------
28484 
28485 FASTCV_API void
28486 fcvAddf32( const float32_t * __restrict  src1,
28487            uint32_t                      width,
28488            uint32_t                      height,
28489            uint32_t                      src1Stride,
28490            const float32_t * __restrict  src2,
28491            uint32_t                      src2Stride,
28492            float32_t * __restrict        dst,
28493            uint32_t                      dstStride );
28494 
28495 
28496 //------------------------------------------------------------------------------
28543 //------------------------------------------------------------------------------
28544 
28545 FASTCV_API void
28546 fcvIntegrateImageu8u64( const uint8_t* __restrict src,
28547                         uint32_t                  srcWidth,
28548                         uint32_t                  srcHeight,
28549                         uint32_t                  srcStride,
28550                         uint32_t* __restrict      dstIntgrl,
28551                         uint64_t* __restrict      dstIntgrlSqrd,
28552                         uint32_t                  dstIntgrlStride,
28553                         uint32_t                  dstIntgrlSqrdStride);
28554 
28555 
28556 
28557 
28558 //------------------------------------------------------------------------------
28588 //------------------------------------------------------------------------------
28589 
28590 
28591 FASTCV_API void
28592 fcvImageHistogramEqualizeu8(  const uint8_t * __restrict src,
28593                               uint32_t                   srcWidth,
28594                               uint32_t                   srcHeight,
28595                               uint32_t                   srcStride,
28596                               uint8_t * __restrict       dst,
28597                               uint32_t                   dstStride);
28598 
28599 //------------------------------------------------------------------------------
28640 //------------------------------------------------------------------------------
28641 FASTCV_API void
28642 fcvImageSpatialHistogramu8(const uint8_t *__restrict src,
28643                            uint32_t                  srcWidth,
28644                            uint32_t                  srcHeight,
28645                            uint32_t                  srcStride,
28646                            uint32_t                  numPatterns,
28647                            uint32_t                  grid_x,
28648                            uint32_t                  grid_y,
28649                            float32_t*__restrict      histogram);
28650 
28651 //------------------------------------------------------------------------------
28703 //------------------------------------------------------------------------------
28704 
28705 FASTCV_API fcvStatus
28706 fcvFilterSobel3x3u8s16( const uint8_t* __restrict  src,
28707                         uint32_t              srcWidth,
28708                         uint32_t              srcHeight,
28709                         uint32_t              srcStride,
28710                         int16_t* __restrict  dx,
28711                         int16_t* __restrict  dy,
28712                         uint32_t              dxyStride,
28713                         fcvBorderType borderType,
28714                         uint8_t  borderValue);
28715 
28716 //------------------------------------------------------------------------------
28766 //------------------------------------------------------------------------------
28767 
28768 FASTCV_API fcvStatus
28769 fcvFilterSobel5x5u8s16( const uint8_t* __restrict  src,
28770                      uint32_t              srcWidth,
28771                      uint32_t              srcHeight,
28772                      uint32_t              srcStride,
28773                      int16_t* __restrict  dx,
28774                      int16_t* __restrict  dy,
28775                      uint32_t              dxyStride,
28776                      fcvBorderType borderType,
28777                      uint8_t  borderValue);
28778 
28779 
28780 //------------------------------------------------------------------------------
28830 //------------------------------------------------------------------------------
28831 
28832 FASTCV_API fcvStatus
28833 fcvFilterSobel7x7u8s16( const uint8_t* __restrict  src,
28834                      uint32_t              srcWidth,
28835                      uint32_t              srcHeight,
28836                      uint32_t              srcStride,
28837                      int16_t* __restrict  dx,
28838                      int16_t* __restrict  dy,
28839                      uint32_t              dxyStride,
28840                      fcvBorderType borderType,
28841                      uint8_t  borderValue);
28842 
28843 //------------------------------------------------------------------------------
28908 //------------------------------------------------------------------------------
28909 
28910 FASTCV_API fcvStatus
28911 fcvFilterCannyu8( const uint8_t* __restrict src,
28912                   uint32_t srcWidth,
28913                   uint32_t srcHeight,
28914                   uint32_t srcStride,
28915                   uint8_t  kernelSize,
28916                   int32_t lowThresh,
28917                   int32_t highThresh,
28918                   fcvNormType normType,
28919                   uint8_t* __restrict dst,
28920                   uint32_t dstStride,
28921                   int16_t* __restrict gx,
28922                   int16_t* __restrict gy,
28923                   uint32_t gradStride);
28924 
28925 
28926 //---------------------------------------------------------------------------
28963 //---------------------------------------------------------------------------
28964 
28965 FASTCV_API fcvStatus
28966 fcvConvertDepthu8s16(const uint8_t *__restrict  src,
28967                      uint32_t                   srcWidth,
28968                      uint32_t                   srcHeight,
28969                      uint32_t                   srcStride,
28970                      uint8_t                    shift,
28971                      int16_t *__restrict        dst,
28972                      uint32_t                   dstStride );
28973 
28974 //---------------------------------------------------------------------------
29014 //---------------------------------------------------------------------------
29015 
29016 FASTCV_API fcvStatus
29017 fcvConvertDepths16u8(const int16_t *__restrict      src,
29018                      uint32_t                   srcWidth,
29019                      uint32_t                   srcHeight,
29020                      uint32_t                   srcStride,
29021                      uint8_t                        shift,
29022                      fcvConvertPolicy           policy,
29023                      uint8_t *__restrict            dst,
29024                      uint32_t                   dstStride );
29025 
29026 
29027 //---------------------------------------------------------------------------
29067 //---------------------------------------------------------------------------
29068 
29069 FASTCV_API fcvStatus
29070 fcvBilateralFilterRecursiveu8(const uint8_t* __restrict src,
29071                               uint32_t                  srcWidth,
29072                               uint32_t                  srcHeight,
29073                               uint32_t                  srcStride,
29074                               uint8_t* __restrict       dst,
29075                               uint32_t                  dstStride,
29076                               float32_t                 sigmaColor,
29077                               float32_t                 sigmaSpace );
29078 
29079 //---------------------------------------------------------------------------
29125 //---------------------------------------------------------------------------
29126 
29127 FASTCV_API fcvStatus
29128 fcvImageSegmentationSeedRegionGrows16( const int16_t* __restrict src,
29129                                        uint32_t srcWidth,
29130                                        uint32_t srcHeight,
29131                                        uint32_t srcStride,
29132                                        uint32_t numChannel,
29133                                        uint32_t threshGrow,
29134                                        const uint32_t* __restrict pointVector,
29135                                        uint32_t numSeed,
29136                                        uint8_t mode,
29137                                        uint32_t* __restrict segLabel,
29138                                        uint32_t segLabelStride );
29139 
29140 
29141 //------------------------------------------------------------------------------
29187 //------------------------------------------------------------------------------
29188 FASTCV_API fcvStatus
29189 fcvNormalizeLocalBoxu8( const uint8_t * __restrict src,
29190                         uint32_t                   srcWidth,
29191                         uint32_t                   srcHeight,
29192                         uint32_t                   srcStride,
29193                         uint32_t                   patchWidth,
29194                         uint32_t                   patchHeight,
29195                         uint32_t                   useStdDev,
29196                         int8_t * __restrict        dst,
29197                         uint32_t                   dstStride);
29198 
29199 //------------------------------------------------------------------------------
29246 //------------------------------------------------------------------------------
29247 FASTCV_API fcvStatus
29248 fcvNormalizeLocalBoxf32( const float32_t * __restrict src,
29249                          uint32_t                     srcWidth,
29250                          uint32_t                     srcHeight,
29251                          uint32_t                     srcStride,
29252                          uint32_t                     patchWidth,
29253                          uint32_t                     patchHeight,
29254                          uint32_t                     useStdDev,
29255                          float32_t * __restrict       dst,
29256                          uint32_t                     dstStride);
29257 
29258 //---------------------------------------------------------------------------
29303 //---------------------------------------------------------------------------
29304 
29305 FASTCV_API fcvStatus
29306 fcvChannelCombine2Planesu8( const uint8_t *__restrict  src1,
29307                             uint32_t                   width,
29308                             uint32_t                   height,
29309                             uint32_t                   src1Stride,
29310                             const uint8_t *__restrict  src2,
29311                             uint32_t                   src2Stride,
29312                             uint8_t *__restrict        dst,
29313                             uint32_t                   dstStride );
29314 
29315 //---------------------------------------------------------------------------
29369 //---------------------------------------------------------------------------
29370 
29371 FASTCV_API fcvStatus
29372 fcvChannelCombine3Planesu8(const uint8_t *__restrict  src1,
29373                            uint32_t                   width,
29374                            uint32_t                   height,
29375                            uint32_t                   src1Stride,
29376                            const uint8_t *__restrict  src2,
29377                            uint32_t                   src2Stride,
29378                            const uint8_t *__restrict  src3,
29379                            uint32_t                   src3Stride,
29380                            uint8_t *__restrict        dst,
29381                            uint32_t                   dstStride );
29382 
29383 //---------------------------------------------------------------------------
29447 //---------------------------------------------------------------------------
29448 
29449 FASTCV_API fcvStatus
29450 fcvChannelCombine4Planesu8(const uint8_t *__restrict    src1,
29451                             uint32_t                      width,
29452                             uint32_t                   height,
29453                             uint32_t                   src1Stride,
29454                             const uint8_t *__restrict  src2,
29455                             uint32_t                   src2Stride,
29456                             const uint8_t *__restrict  src3,
29457                             uint32_t                   src3Stride,
29458                             const uint8_t *__restrict  src4,
29459                             uint32_t                   src4Stride,
29460                             uint8_t *__restrict        dst,
29461                             uint32_t                   dstStride );
29462 
29463 //---------------------------------------------------------------------------
29522 //---------------------------------------------------------------------------
29523 
29524 FASTCV_API fcvStatus
29525 fcvChannelExtractu8( const uint8_t *__restrict  src1,
29526                      uint32_t                   srcWidth,
29527                      uint32_t                     srcHeight,
29528                      uint32_t                     src1Stride,
29529                      const uint8_t *__restrict  src2,
29530                      uint32_t                     src2Stride,
29531                      const uint8_t *__restrict  src3,
29532                      uint32_t                     src3Stride,
29533                      fcvChannelType             srcChannel,
29534                      fcvImageFormat             srcFormat,
29535                      uint8_t *__restrict        dst,
29536                      uint32_t                   dstStride );
29537 
29538 
29539 //------------------------------------------------------------------------------
29585 //------------------------------------------------------------------------------
29586 
29587 FASTCV_API fcvStatus
29588 fcvFilterMedianMxNs16( const int16_t * __restrict src,
29589                        uint32_t srcWidth,
29590                        uint32_t srcHeight,
29591                        uint32_t srcStride,
29592                        uint32_t M,
29593                        uint32_t N,
29594                        int16_t* __restrict dst,
29595                        uint32_t dstStride );
29596 
29597 //---------------------------------------------------------------------------
29661 //---------------------------------------------------------------------------
29662 
29663 FASTCV_API fcvStatus
29664 fcvFilterConvolveMxNu8s16( const int16_t* __restrict  kernel,
29665                            uint32_t M,
29666                            uint32_t N,
29667                            int8_t shift,
29668                            const uint8_t* __restrict src,
29669                            uint32_t srcWidth,
29670                            uint32_t srcHeight,
29671                            uint32_t srcStride,
29672                            int16_t* __restrict dst,
29673                            uint32_t dstStride,
29674                            fcvBorderType borderType,
29675                            uint8_t borderValue );
29676 
29677 //---------------------------------------------------------------------------
29741 //---------------------------------------------------------------------------
29742 
29743 FASTCV_API fcvStatus
29744 fcvFilterConvolveMxNu8(const int16_t* __restrict kernel,
29745                        uint32_t M,
29746                        uint32_t N,
29747                        int8_t shift,
29748                        const uint8_t* __restrict src,
29749                        uint32_t srcWidth,
29750                        uint32_t srcHeight,
29751                        uint32_t srcStride,
29752                        uint8_t* __restrict dst,
29753                        uint32_t dstStride,
29754                        fcvBorderType borderType,
29755                        uint8_t  borderValue);
29756 
29757 
29758 //---------------------------------------------------------------------------
29800 //---------------------------------------------------------------------------
29801 
29802 FASTCV_API fcvStatus
29803 fcvBoxFilter3x3u8_v2( const uint8_t* __restrict src,
29804                         uint32_t                srcWidth,
29805                         uint32_t                srcHeight,
29806                         uint32_t                srcStride,
29807                         uint8_t* __restrict     dst,
29808                         uint32_t                dstStride,
29809                         fcvBorderType           borderType,
29810                         uint8_t                 borderValue);
29811 
29812 //------------------------------------------------------------------------------
29867 //------------------------------------------------------------------------------
29868 
29869 FASTCV_API fcvStatus
29870 fcvFilterErode3x3u8_v3( const uint8_t* __restrict src,
29871                         uint32_t                srcWidth,
29872                         uint32_t                srcHeight,
29873                         uint32_t                srcStride,
29874                         uint8_t* __restrict     dst,
29875                         uint32_t                dstStride,
29876                         fcvBorderType           borderType,
29877                         uint8_t                 borderValue);
29878 
29879 //------------------------------------------------------------------------------
29916 //------------------------------------------------------------------------------
29917 
29918 FASTCV_API fcvStatus
29919 fcvFilterErodeNxNu8(  const uint8_t* __restrict src,
29920                       uint32_t                  srcWidth,
29921                       uint32_t                  srcHeight,
29922                       uint32_t                  srcStride,
29923                       uint32_t                  N,
29924                       uint8_t* __restrict       dst,
29925                       uint32_t                  dstStride);
29926 
29927 
29928 //------------------------------------------------------------------------------
29983 //------------------------------------------------------------------------------
29984 
29985 FASTCV_API fcvStatus
29986 fcvFilterDilate3x3u8_v3( const uint8_t* __restrict src,
29987                         uint32_t                srcWidth,
29988                         uint32_t                srcHeight,
29989                         uint32_t                srcStride,
29990                         uint8_t* __restrict     dst,
29991                         uint32_t                dstStride,
29992                         fcvBorderType           borderType,
29993                         uint8_t                 borderValue);
29994 
29995 //------------------------------------------------------------------------------
30037 //------------------------------------------------------------------------------
30038 
30039 FASTCV_API fcvStatus
30040 fcvFilterDilateNxNu8(  const uint8_t* __restrict src,
30041                        uint32_t                  srcWidth,
30042                        uint32_t                  srcHeight,
30043                        uint32_t                  srcStride,
30044                        uint32_t                  N,
30045                        uint8_t* __restrict       dst,
30046                        uint32_t                  dstStride);
30047 
30048 //------------------------------------------------------------------------------
30109 //------------------------------------------------------------------------------
30110 
30111 FASTCV_API fcvStatus
30112 fcvFilterGaussian3x3u8_v3( const uint8_t* __restrict src,
30113                         uint32_t                srcWidth,
30114                         uint32_t                srcHeight,
30115                         uint32_t                srcStride,
30116                         uint8_t* __restrict     dst,
30117                         uint32_t                dstStride,
30118                         fcvBorderType           borderType,
30119                         uint8_t                 borderValue);
30120 
30121 //------------------------------------------------------------------------------
30183 //------------------------------------------------------------------------------
30184 
30185 FASTCV_API fcvStatus
30186 fcvFilterMedian3x3u8_v3( const uint8_t* __restrict src,
30187                         uint32_t                srcWidth,
30188                         uint32_t                srcHeight,
30189                         uint32_t                srcStride,
30190                         uint8_t* __restrict     dst,
30191                         uint32_t                dstStride,
30192                         fcvBorderType           borderType,
30193                         uint8_t                 borderValue);
30194 
30195 //------------------------------------------------------------------------------
30247 //------------------------------------------------------------------------------
30248 
30249 FASTCV_API fcvStatus
30250 fcvImageSpatialHistogramu8_v2( const uint8_t *__restrict src,
30251                         uint32_t                  srcWidth,
30252                         uint32_t                  srcHeight,
30253                         uint32_t                  srcStride,
30254                         uint32_t                  numPatterns,
30255                         uint32_t                  grid_x,
30256                         uint32_t                  grid_y,
30257                         float32_t*__restrict      histogram,
30258                         float32_t                 normalize_factor);
30259 
30260 //------------------------------------------------------------------------------
30300 //------------------------------------------------------------------------------
30301 
30302 FASTCV_API void
30303 fcvScaleDownBLu8( const uint8_t* __restrict  src,
30304                   uint32_t                   srcWidth,
30305                   uint32_t                   srcHeight,
30306                   uint32_t                   srcStride,
30307                   uint8_t* __restrict        dst,
30308                   uint32_t                   dstWidth,
30309                   uint32_t                   dstHeight,
30310                   uint32_t                   dstStride);
30311 
30312 //---------------------------------------------------------------------------
30352 //---------------------------------------------------------------------------
30353 
30354 FASTCV_API fcvStatus
30355 fcvTableLookupu8( const uint8_t *__restrict src,
30356                   uint32_t                  srcWidth,
30357                   uint32_t                  srcHeight,
30358                   uint32_t                  srcStride,
30359                   const uint8_t *__restrict lut,
30360                   uint8_t *__restrict           dst,
30361                   uint32_t                  dstStride );
30362 
30363 //------------------------------------------------------------------------------
30441 //------------------------------------------------------------------------------
30442 
30443 FASTCV_API fcvStatus
30444 fcvWarpPerspectiveu8_v3( const uint8_t *__restrict  src,
30445                          uint32_t  srcWidth,
30446                          uint32_t  srcHeight,
30447                          uint32_t  srcStride,
30448                          uint8_t *__restrict  dst,
30449                          uint32_t  dstWidth,
30450                          uint32_t  dstHeight,
30451                          uint32_t  dstStride,
30452                          float *__restrict  projectionMatrix,
30453                          fcvInterpolationType  interpolation );
30454 
30455 //------------------------------------------------------------------------------
30541 //------------------------------------------------------------------------------
30542 
30543 FASTCV_API fcvStatus
30544 fcvWarpPerspectiveu8_v4( const uint8_t *__restrict  src,
30545                          uint32_t  srcWidth,
30546                          uint32_t  srcHeight,
30547                          uint32_t  srcStride,
30548                          uint8_t *__restrict  dst,
30549                          uint32_t  dstWidth,
30550                          uint32_t  dstHeight,
30551                          uint32_t  dstStride,
30552                          float *__restrict  projectionMatrix,
30553                          fcvInterpolationType  interpolation,
30554                          fcvBorderType borderType,
30555                          uint8_t borderValue
30556 );
30557 
30558 //---------------------------------------------------------------------------
30625 //---------------------------------------------------------------------------
30626 
30627 FASTCV_API fcvStatus
30628 fcvRemapu8(const uint8_t*  __restrict src,
30629            uint32_t             srcWidth,
30630            uint32_t             srcHeight,
30631            uint32_t             srcStride,
30632            uint8_t* __restrict dst,
30633            uint32_t             dstWidth,
30634            uint32_t             dstHeight,
30635            uint32_t             dstStride,
30636            const float32_t* __restrict mapX,
30637            const float32_t* __restrict mapY,
30638            uint32_t             mapStride,
30639            fcvInterpolationType  interpolation
30640 );
30641 
30642 //---------------------------------------------------------------------------
30728 //---------------------------------------------------------------------------
30729 
30730 FASTCV_API fcvStatus
30731 fcvRemapu8_v2(const uint8_t*  __restrict src,
30732            uint32_t             srcWidth,
30733            uint32_t             srcHeight,
30734            uint32_t             srcStride,
30735            uint8_t* __restrict dst,
30736            uint32_t             dstWidth,
30737            uint32_t             dstHeight,
30738            uint32_t             dstStride,
30739            const float32_t* __restrict mapX,
30740            const float32_t* __restrict mapY,
30741            uint32_t             mapStride,
30742            fcvInterpolationType  interpolation,
30743            fcvBorderType borderType,
30744            uint8_t borderValue
30745 );
30746 
30747 //---------------------------------------------------------------------------
30790 //---------------------------------------------------------------------------
30791 
30792 FASTCV_API fcvStatus
30793 fcvMagnitudes16( const int16_t *__restrict  src1,
30794                   uint32_t                  width,
30795                   uint32_t                  height,
30796                   uint32_t                  src1Stride,
30797                   const int16_t *__restrict src2,
30798                   uint32_t                  src2Stride,
30799                   int16_t *__restrict       dst,
30800                   uint32_t                  dstStride );
30801 
30802 //---------------------------------------------------------------------------
30845 //---------------------------------------------------------------------------
30846 
30847 FASTCV_API fcvStatus
30848 fcvPhases16 (  const int16_t *__restrict  src1,
30849                 uint32_t                   width,
30850                 uint32_t                   height,
30851                 uint32_t                   src1Stride,
30852                 const int16_t *__restrict  src2,
30853                 uint32_t                   src2Stride,
30854                 uint8_t *__restrict        dst,
30855                 uint32_t                   dstStride );
30856 
30857 
30858 //--------------------------------------------------------------------------------
30896 //---------------------------------------------------------------------------
30897 
30898 FASTCV_API fcvStatus
30899 fcvFFTu8(const uint8_t* __restrict src,
30900          uint32_t                  srcWidth,
30901          uint32_t                  srcHeight,
30902          uint32_t                  srcStride,
30903          float32_t* __restrict     dst,
30904          uint32_t                  dstStride);
30905 
30906 //---------------------------------------------------------------------------
30949 //---------------------------------------------------------------------------
30950 
30951 FASTCV_API fcvStatus
30952 fcvIFFTf32( const float32_t* __restrict src,
30953             uint32_t                     srcWidth,
30954             uint32_t                     srcHeight,
30955             uint32_t                     srcStride,
30956             uint8_t* __restrict          dst,
30957             uint32_t                     dstStride );
30958 
30959 //---------------------------------------------------------------------------
31019 //------------------------------------------------------------------------------
31020 
31021 FASTCV_API fcvStatus
31022 fcvScaleu8( const uint8_t* __restrict src,
31023             uint32_t srcWidth,
31024             uint32_t srcHeight,
31025             uint32_t srcStride,
31026             uint8_t* __restrict dst,
31027             uint32_t dstWidth,
31028             uint32_t dstHeight,
31029             uint32_t dstStride,
31030             fcvInterpolationType interpolation);
31031 
31032 //---------------------------------------------------------------------------
31112 //------------------------------------------------------------------------------
31113 
31114 FASTCV_API fcvStatus
31115 fcvScaleu8_v2( const uint8_t* __restrict src,
31116                uint32_t srcWidth,
31117                uint32_t srcHeight,
31118                uint32_t srcStride,
31119                uint8_t* __restrict dst,
31120                uint32_t dstWidth,
31121                uint32_t dstHeight,
31122                uint32_t dstStride,
31123                fcvInterpolationType interpolation,
31124                fcvBorderType borderType,
31125                uint8_t borderValue);
31126 
31127 //------------------------------------------------------------------------------
31189 //------------------------------------------------------------------------------
31190 
31191 FASTCV_API fcvStatus
31192 fcv2PlaneWarpPerspectiveu8( const uint8_t* __restrict src1,
31193                             const uint8_t* __restrict src2,
31194                             uint32_t srcWidth,
31195                             uint32_t srcHeight,
31196                             uint32_t src1Stride,
31197                             uint32_t src2Stride,
31198                             uint8_t* __restrict dst1,
31199                             uint8_t* __restrict dst2,
31200                             uint32_t dstWidth,
31201                             uint32_t dstHeight,
31202                             uint32_t dst1Stride,
31203                             uint32_t dst2Stride,
31204                             float32_t* __restrict warpmatrix );
31205 
31206 //------------------------------------------------------------------------------
31243 //------------------------------------------------------------------------------
31244 
31245 FASTCV_API fcvStatus
31246 fcvScaleDownBy2Gaussian3x3u8(const uint8_t* __restrict src,
31247                              uint32_t   srcWidth,
31248                              uint32_t   srcHeight,
31249                              uint32_t   srcStride,
31250                              uint8_t* __restrict       dst,
31251                              uint32_t   dstStride);
31252 
31253 //---------------------------------------------------------------------------
31289 //------------------------------------------------------------------------------
31290 
31291 FASTCV_API void
31292 fcvSumOfSquaredDiffss8( const int8_t* __restrict                a,
31293                         float32_t                               invLenA,
31294                         uint32_t                                dim,
31295                         const int8_t* const * __restrict        bList,
31296                         const float32_t* __restrict             invLenB,
31297                         uint32_t                                numB,
31298                         float32_t* __restrict                   distances );
31299 
31300 
31301 
31302 //------------------------------------------------------------------------------
31341 //------------------------------------------------------------------------------
31342 
31343 FASTCV_API fcvStatus
31344 fcvAddScalarf32(const float32_t * __restrict  src,
31345                 uint32_t srcWidth,
31346                 uint32_t srcHeight,
31347                 uint32_t srcStride,
31348                 float32_t  scalar,
31349                 float32_t * __restrict dst,
31350                 uint32_t  dstStride);
31351 
31352 //------------------------------------------------------------------------------
31397 //------------------------------------------------------------------------------
31398 
31399 FASTCV_API fcvStatus
31400 fcvAddScalars16(const int16_t * __restrict  src,
31401                 uint32_t srcWidth,
31402                 uint32_t srcHeight,
31403                 uint32_t srcStride,
31404                 int16_t  scalar,
31405                 int16_t * __restrict dst,
31406                 uint32_t  dstStride);
31407 
31408 //------------------------------------------------------------------------------
31447 //------------------------------------------------------------------------------
31448 
31449 FASTCV_API fcvStatus
31450 fcvMultiplyScalarf32(const float32_t * __restrict  src,
31451                      uint32_t srcWidth,
31452                      uint32_t srcHeight,
31453                      uint32_t srcStride,
31454                      float32_t  scalar,
31455                      float32_t * __restrict dst,
31456                      uint32_t  dstStride);
31457 
31458 //------------------------------------------------------------------------------
31510 //------------------------------------------------------------------------------
31511 
31512 FASTCV_API fcvStatus
31513 fcvMultiplyScalars16( const int16_t * __restrict  src,
31514                       uint32_t srcWidth,
31515                       uint32_t srcHeight,
31516                       uint32_t srcStride,
31517                       int8_t  scalar,
31518                       int8_t shift,
31519                       int16_t * __restrict dst,
31520                       uint32_t  dstStride);
31521 
31522 //------------------------------------------------------------------------------
31577 //------------------------------------------------------------------------------
31578 
31579 FASTCV_API fcvStatus
31580 fcvMinMaxLocu8(const uint8_t *__restrict src,
31581                uint32_t srcWidth,
31582                uint32_t srcHeight,
31583                uint32_t srcStride,
31584                uint8_t *__restrict minVal,
31585                uint8_t *__restrict maxVal,
31586                uint32_t *__restrict minLocX,
31587                uint32_t *__restrict minLocY,
31588                uint32_t *__restrict maxLocX,
31589                uint32_t *__restrict maxLocY);
31590 
31591 //------------------------------------------------------------------------------
31646 //------------------------------------------------------------------------------
31647 
31648 FASTCV_API fcvStatus
31649 fcvMinMaxLocu16(const uint16_t *__restrict src,
31650                 uint32_t srcWidth,
31651                 uint32_t srcHeight,
31652                 uint32_t srcStride,
31653                 uint16_t *__restrict minVal,
31654                 uint16_t *__restrict maxVal,
31655                 uint32_t *__restrict minLocX,
31656                 uint32_t *__restrict minLocY,
31657                 uint32_t *__restrict maxLocX,
31658                 uint32_t *__restrict maxLocY);
31659 
31660 //------------------------------------------------------------------------------
31715 //------------------------------------------------------------------------------
31716 
31717 FASTCV_API fcvStatus
31718 fcvMinMaxLocs16(const int16_t *__restrict src,
31719                 uint32_t srcWidth,
31720                 uint32_t srcHeight,
31721                 uint32_t srcStride,
31722                 int16_t *__restrict minVal,
31723                 int16_t *__restrict maxVal,
31724                 uint32_t *__restrict minLocX,
31725                 uint32_t *__restrict minLocY,
31726                 uint32_t *__restrict maxLocX,
31727                 uint32_t *__restrict maxLocY);
31728 
31729 //------------------------------------------------------------------------------
31784 //------------------------------------------------------------------------------
31785 
31786 FASTCV_API fcvStatus
31787 fcvMinMaxLocu32(const uint32_t *__restrict src,
31788                 uint32_t srcWidth,
31789                 uint32_t srcHeight,
31790                 uint32_t srcStride,
31791                 uint32_t *__restrict minVal,
31792                 uint32_t *__restrict maxVal,
31793                 uint32_t *__restrict minLocX,
31794                 uint32_t *__restrict minLocY,
31795                 uint32_t *__restrict maxLocX,
31796                 uint32_t *__restrict maxLocY);
31797 
31798 //------------------------------------------------------------------------------
31853 //------------------------------------------------------------------------------
31854 
31855 FASTCV_API fcvStatus
31856 fcvMinMaxLocs32(const int32_t *__restrict src,
31857                 uint32_t srcWidth,
31858                 uint32_t srcHeight,
31859                 uint32_t srcStride,
31860                 int32_t *__restrict minVal,
31861                 int32_t *__restrict maxVal,
31862                 uint32_t *__restrict minLocX,
31863                 uint32_t *__restrict minLocY,
31864                 uint32_t *__restrict maxLocX,
31865                 uint32_t *__restrict maxLocY);
31866 
31867 //------------------------------------------------------------------------------
31921 //------------------------------------------------------------------------------
31922 
31923 FASTCV_API fcvStatus
31924 fcvMinMaxLocf32(const float32_t *__restrict src,
31925                 uint32_t srcWidth,
31926                 uint32_t srcHeight,
31927                 uint32_t srcStride,
31928                 float32_t *__restrict minVal,
31929                 float32_t *__restrict maxVal,
31930                 uint32_t *__restrict minLocX,
31931                 uint32_t *__restrict minLocY,
31932                 uint32_t *__restrict maxLocX,
31933                 uint32_t *__restrict maxLocY);
31934 
31935 
31936 //------------------------------------------------------------------------------
32012 //------------------------------------------------------------------------------
32013 FASTCV_API fcvStatus
32014 fcvMinMaxLocf32_v2(const float32_t *__restrict src,
32015                    uint32_t                    srcWidth,
32016                    uint32_t                    srcHeight,
32017                    uint32_t                    srcStride,
32018                    float32_t *__restrict       minVal,
32019                    float32_t *__restrict       maxVal,
32020                    uint32_t *__restrict        minLocX,
32021                    uint32_t *__restrict        minLocY,
32022                    uint32_t *__restrict        maxLocX,
32023                    uint32_t *__restrict        maxLocY,
32024                    uint32_t *__restrict        minCount,
32025                    uint32_t *__restrict        maxCount,
32026                    uint32_t                    nMinLocSize,
32027                    uint32_t                    nMaxLocSize);
32028 
32029 
32030 //------------------------------------------------------------------------------
32106 //------------------------------------------------------------------------------
32107 
32108 FASTCV_API fcvStatus
32109 fcvMinMaxLocu8_v2(const uint8_t *__restrict src,
32110                   uint32_t                  srcWidth,
32111                   uint32_t                  srcHeight,
32112                   uint32_t                  srcStride,
32113                   uint8_t *__restrict       minVal,
32114                   uint8_t *__restrict       maxVal,
32115                   uint32_t *__restrict      minLocX,
32116                   uint32_t *__restrict      minLocY,
32117                   uint32_t *__restrict      maxLocX,
32118                   uint32_t *__restrict      maxLocY,
32119                   uint32_t *__restrict      minCount,
32120                   uint32_t *__restrict      maxCount,
32121                   uint32_t                  nMinLocSize,
32122                   uint32_t                  nMaxLocSize);
32123 
32124 //------------------------------------------------------------------------------
32200 //------------------------------------------------------------------------------
32201 FASTCV_API fcvStatus
32202 fcvMinMaxLocu16_v2(const uint16_t *__restrict src,
32203                    uint32_t                   srcWidth,
32204                    uint32_t                   srcHeight,
32205                    uint32_t                   srcStride,
32206                    uint16_t *__restrict       minVal,
32207                    uint16_t *__restrict       maxVal,
32208                    uint32_t *__restrict       minLocX,
32209                    uint32_t *__restrict       minLocY,
32210                    uint32_t *__restrict       maxLocX,
32211                    uint32_t *__restrict       maxLocY,
32212                    uint32_t *__restrict       minCount,
32213                    uint32_t *__restrict       maxCount,
32214                    uint32_t                   nMinLocSize,
32215                    uint32_t                   nMaxLocSize);
32216 //------------------------------------------------------------------------------
32292 //------------------------------------------------------------------------------
32293 FASTCV_API fcvStatus
32294 fcvMinMaxLocs16_v2(const int16_t *__restrict src,
32295                    uint32_t                  srcWidth,
32296                    uint32_t                  srcHeight,
32297                    uint32_t                  srcStride,
32298                    int16_t *__restrict       minVal,
32299                    int16_t *__restrict       maxVal,
32300                    uint32_t *__restrict      minLocX,
32301                    uint32_t *__restrict      minLocY,
32302                    uint32_t *__restrict      maxLocX,
32303                    uint32_t *__restrict      maxLocY,
32304                    uint32_t *__restrict      minCount,
32305                    uint32_t *__restrict      maxCount,
32306                    uint32_t                  nMinLocSize,
32307                    uint32_t                  nMaxLocSize);
32308 
32309 //------------------------------------------------------------------------------
32385 //------------------------------------------------------------------------------
32386 FASTCV_API fcvStatus
32387 fcvMinMaxLocu32_v2(const uint32_t *__restrict src,
32388                    uint32_t                   srcWidth,
32389                    uint32_t                   srcHeight,
32390                    uint32_t                   srcStride,
32391                    uint32_t *__restrict       minVal,
32392                    uint32_t *__restrict       maxVal,
32393                    uint32_t *__restrict       minLocX,
32394                    uint32_t *__restrict       minLocY,
32395                    uint32_t *__restrict       maxLocX,
32396                    uint32_t *__restrict       maxLocY,
32397                    uint32_t *__restrict       minCount,
32398                    uint32_t *__restrict       maxCount,
32399                    uint32_t                   nMinLocSize,
32400                    uint32_t                   nMaxLocSize);
32401 
32402 //------------------------------------------------------------------------------
32478 //------------------------------------------------------------------------------
32479 FASTCV_API fcvStatus
32480 fcvMinMaxLocs32_v2(const int32_t *__restrict src,
32481                    uint32_t                  srcWidth,
32482                    uint32_t                  srcHeight,
32483                    uint32_t                  srcStride,
32484                    int32_t *__restrict       minVal,
32485                    int32_t *__restrict       maxVal,
32486                    uint32_t *__restrict      minLocX,
32487                    uint32_t *__restrict      minLocY,
32488                    uint32_t *__restrict      maxLocX,
32489                    uint32_t *__restrict      maxLocY,
32490                    uint32_t *__restrict      minCount,
32491                    uint32_t *__restrict      maxCount,
32492                    uint32_t                  nMinLocSize,
32493                    uint32_t                  nMaxLocSize);
32494 
32495 //------------------------------------------------------------------------------
32532 //------------------------------------------------------------------------------
32533 
32534 FASTCV_API fcvStatus
32535 fcvTransposeRGB888u8(const uint8_t * __restrict src,
32536                      uint32_t srcWidth,
32537                      uint32_t srcHeight,
32538                      uint32_t srcStride,
32539                      uint8_t * __restrict dst,
32540                      uint32_t dstStride);
32541 
32542 //------------------------------------------------------------------------------
32570 //------------------------------------------------------------------------------
32571 
32572 FASTCV_API fcvStatus
32573 fcvCrossProduct3x1f32(const float32_t * __restrict  a,
32574                       const float32_t * __restrict  b,
32575                       float32_t * __restrict  c,
32576                       uint32_t N);
32577 
32578 //------------------------------------------------------------------------------
32616 //------------------------------------------------------------------------------
32617 
32618 FASTCV_API fcvStatus
32619 fcvSolveLUf32(float32_t* __restrict A,
32620               float32_t* __restrict b,
32621               uint32_t             N,
32622               uint8_t* __restrict pivot,
32623               float32_t* __restrict x);
32624 
32625 
32626 //---------------------------------------------------------------------------
32668 //---------------------------------------------------------------------------
32669 
32670 FASTCV_API fcvStatus
32671 fcvBitwiseAndu8(const uint8_t *             src1,
32672                 uint32_t                    width,
32673                 uint32_t                    height,
32674                 uint32_t                    src1Stride,
32675                 const uint8_t *__restrict   src2,
32676                 uint32_t                    src2Stride,
32677                 uint8_t *                   dst,
32678                 uint32_t                    dstStride );
32679 
32680 //---------------------------------------------------------------------------
32722 //---------------------------------------------------------------------------
32723 
32724 FASTCV_API fcvStatus
32725 fcvBitwiseXoru8( const uint8_t *                src1,
32726                     uint32_t                    width,
32727                     uint32_t                    height,
32728                     uint32_t                    src1Stride,
32729                     const uint8_t *__restrict   src2,
32730                     uint32_t                    src2Stride,
32731                     uint8_t *                   dst,
32732                     uint32_t                    dstStride );
32733 
32734 //---------------------------------------------------------------------------
32776 //---------------------------------------------------------------------------
32777 
32778 FASTCV_API fcvStatus
32779 fcvBitwiseNotu8(const uint8_t *                 src,
32780                     uint32_t                    width,
32781                     uint32_t                    height,
32782                     uint32_t                    srcStride,
32783                     uint8_t *                   dst,
32784                     uint32_t                    dstStride );
32785 
32786 //---------------------------------------------------------------------------
32831 //---------------------------------------------------------------------------
32832 
32833 FASTCV_API fcvStatus
32834 fcvAddu8(const uint8_t *                src1,
32835          uint32_t                    width,
32836          uint32_t                    height,
32837          uint32_t                    src1Stride,
32838          const uint8_t * __restrict  src2,
32839          uint32_t                    src2Stride,
32840          fcvConvertPolicy            policy,
32841          uint8_t *                   dst,
32842          uint32_t                    dstStride );
32843 
32844 //---------------------------------------------------------------------------
32889 //---------------------------------------------------------------------------
32890 
32891 FASTCV_API fcvStatus
32892 fcvAdds16_v2( const int16_t *              src1,
32893                 uint32_t                    width,
32894                 uint32_t                    height,
32895                 uint32_t                    src1Stride,
32896                 const int16_t * __restrict  src2,
32897                 uint32_t                    src2Stride,
32898                 fcvConvertPolicy            policy,
32899                 int16_t *                   dst,
32900                 uint32_t                    dstStride );
32901 
32902 //---------------------------------------------------------------------------
32947 //---------------------------------------------------------------------------
32948 
32949 FASTCV_API fcvStatus
32950 fcvAddu16u8u16 (const uint16_t *            src1,
32951                 uint32_t                    width,
32952                 uint32_t                    height,
32953                 uint32_t                    src1Stride,
32954                 const uint8_t * __restrict  src2,
32955                 uint32_t                    src2Stride,
32956                 fcvConvertPolicy            policy,
32957                 uint16_t *                  dst,
32958                 uint32_t                    dstStride );
32959 
32960 //---------------------------------------------------------------------------
33005 //---------------------------------------------------------------------------
33006 
33007 FASTCV_API fcvStatus
33008 fcvSubtractu8 ( const uint8_t *             src1,
33009                 uint32_t                    width,
33010                 uint32_t                    height,
33011                 uint32_t                    src1Stride,
33012                 const uint8_t * __restrict  src2,
33013                 uint32_t                    src2Stride,
33014                 fcvConvertPolicy            policy,
33015                 uint8_t *                   dst,
33016                 uint32_t                    dstStride );
33017 
33018 //---------------------------------------------------------------------------
33063 //---------------------------------------------------------------------------
33064 
33065 FASTCV_API fcvStatus
33066 fcvSubtracts16 (const int16_t *             src1,
33067                 uint32_t                    width,
33068                 uint32_t                    height,
33069                 uint32_t                    src1Stride,
33070                 const int16_t * __restrict  src2,
33071                 uint32_t                    src2Stride,
33072                 fcvConvertPolicy            policy,
33073                 int16_t *                   dst,
33074                 uint32_t                    dstStride );
33075 
33076 //---------------------------------------------------------------------------
33116 
33118 //---------------------------------------------------------------------------
33119 
33120 FASTCV_API fcvStatus
33121 fcvSubtractu8s16 ( const uint8_t * __restrict   src1,
33122                     uint32_t                    width,
33123                     uint32_t                    height,
33124                     uint32_t                    src1Stride,
33125                     const uint8_t * __restrict  src2,
33126                     uint32_t                    src2Stride,
33127                     int16_t *   __restrict      dst,
33128                     uint32_t                    dstStride );
33129 
33130 //---------------------------------------------------------------------------
33180 //---------------------------------------------------------------------------
33181 
33182 FASTCV_API fcvStatus
33183 fcvElementMultiplys16( const int16_t *       src1,
33184                        uint32_t              width,
33185                        uint32_t              height,
33186                        uint32_t              src1Stride,
33187                        const int16_t *       src2,
33188                        uint32_t              src2Stride,
33189                        int8_t                scaleFactor,
33190                        fcvConvertPolicy      policy,
33191                        int16_t *__restrict   dst,
33192                        uint32_t              dstStride );
33193 
33194 //---------------------------------------------------------------------------
33244 //---------------------------------------------------------------------------
33245 
33246 FASTCV_API fcvStatus
33247 fcvElementMultiplyu8s16( const uint8_t *        src1,
33248                          uint32_t               width,
33249                          uint32_t               height,
33250                          uint32_t               src1Stride,
33251                          const uint8_t *        src2,
33252                          uint32_t               src2Stride,
33253                          int8_t                 scaleFactor,
33254                          fcvConvertPolicy       policy,
33255                          int16_t *__restrict    dst,
33256                          uint32_t               dstStride );
33257 
33258 //---------------------------------------------------------------------------
33308 //---------------------------------------------------------------------------
33309 
33310 FASTCV_API fcvStatus
33311 fcvElementMultiplyu8( const uint8_t *        src1,
33312                       uint32_t               width,
33313                       uint32_t               height,
33314                       uint32_t               src1Stride,
33315                       const uint8_t *        src2,
33316                       uint32_t               src2Stride,
33317                       int8_t                 scaleFactor,
33318                       fcvConvertPolicy       policy,
33319                       uint8_t *__restrict    dst,
33320                       uint32_t               dstStride );
33321 
33322 //---------------------------------------------------------------------------
33375 //---------------------------------------------------------------------------
33376 
33377 FASTCV_API fcvStatus
33378 fcvAddWeightedu8(const uint8_t *           src1,
33379                  uint32_t                  srcWidth,
33380                  uint32_t                  srcHeight,
33381                  uint32_t                  src1Stride,
33382                  const uint8_t *__restrict src2,
33383                  uint32_t                  src2Stride,
33384                  float32_t                 alpha,
33385                  float32_t                 beta,
33386                  uint8_t *                 dst,
33387                  uint32_t                  dstStride);
33388 
33389 
33390 //---------------------------------------------------------------------------
33437 //---------------------------------------------------------------------------
33438 
33439 FASTCV_API fcvStatus
33440 fcvAddSquaredu8u16(const uint8_t *__restrict    src1,
33441                     uint32_t                    width,
33442                     uint32_t                    height,
33443                     uint32_t                    src1Stride,
33444                     const uint16_t *            src2,
33445                     uint32_t                    src2Stride,
33446                     int8_t                      scaleFactor,
33447                     uint16_t *                  dst,
33448                     uint32_t                    dstStride);
33449 
33450 //------------------------------------------------------------------------------
33485 //------------------------------------------------------------------------------
33486 
33487 FASTCV_API void
33488 fcvColorCbCrSwapu8( const uint8_t* __restrict src,
33489                     uint32_t                  srcWidth,
33490                     uint32_t                  srcHeight,
33491                     uint32_t                  srcStride,
33492                     uint8_t* __restrict       dst,
33493                     uint32_t                  dstStride );
33494 
33495 
33496 //------------------------------------------------------------------------------
33531 //------------------------------------------------------------------------------
33532 FASTCV_API fcvStatus
33533 fcvColorRGB888ToHSV888u8( const uint8_t* __restrict src,
33534                           uint32_t                  srcWidth,
33535                           uint32_t                  srcHeight,
33536                           uint32_t                  srcStride,
33537                           uint8_t* __restrict       dst,
33538                           uint32_t                  dstStride);
33539 
33540 
33541 //------------------------------------------------------------------------------/
33611 //------------------------------------------------------------------------------/
33612 
33613 FASTCV_API fcvStatus
33614 fcvSVMPredict2Classf32( fcvSVMKernelType    kernelType,
33615                         uint32_t  degree,
33616                         float32_t gamma,
33617                         float32_t coef0,
33618                         const float32_t* __restrict sv,
33619                         uint32_t  svLen,
33620                         uint32_t  svNum,
33621                         uint32_t  svStride,
33622                         const float32_t* __restrict svCoef,
33623                         float32_t  rho,
33624                         const float32_t*  __restrict vec,
33625                         uint32_t  vecNum,
33626                         uint32_t  vecStride,
33627                         float32_t* __restrict confidence );
33628 
33629 
33630 // -----------------------------------------------------------------------------
33728 // -----------------------------------------------------------------------------
33729 
33730 FASTCV_API fcvStatus
33731 fcvTrackLKOpticalFlowu8_v3 ( const uint8_t *__restrict              src1,
33732                             const uint8_t *__restrict               src2,
33733                             uint32_t                                width,
33734                             uint32_t                                height,
33735                             uint32_t                                stride,
33736                             const fcvPyramidLevel_v2 * __restrict   src1Pyr,
33737                             const fcvPyramidLevel_v2 * __restrict   src2Pyr,
33738                             const float32_t *  __restrict           featureXY,
33739                             const float32_t *  __restrict           featureXY_estimate,
33740                             float32_t * __restrict                  featureXY_out,
33741                             int32_t * __restrict                    featureStatus,
33742                             int32_t                                 featureLen,
33743                             int32_t                                 windowWidth,
33744                             int32_t                                 windowHeight,
33745                             int32_t                                 nPyramidLevels,
33746                             fcvTerminationCriteria                  termCriteria,
33747                             int32_t                                 maxIterations,
33748                             float32_t                               maxEpsilon,
33749                             int32_t                                 use_initial_estimate);
33750 
33751 //------------------------------------------------------------------------------
33821 //------------------------------------------------------------------------------
33822 
33823 FASTCV_API fcvStatus
33824 fcvUndistortDisparityConvertDepthf32(const float32_t* __restrict  src,
33825                                      uint32_t                     srcWidth,
33826                                      uint32_t                     srcHeight,
33827                                      uint32_t                     srcStride,
33828                                      const uint8_t* __restrict    mask,
33829                                      uint32_t                     maskStride,
33830                                      const float32_t* __restrict  pixelDistortion,
33831                                      uint32_t                     pixelDistortionStride,
33832                                      uint32_t                     convertDepth,
33833                                      const float32_t* __restrict  imageDistortion,
33834                                      const float32_t* __restrict  depthParam,
33835                                      float32_t* __restrict        dst,
33836                                      uint32_t                     dstStride);
33837 
33838 
33839 //------------------------------------------------------------------------------
33886 //------------------------------------------------------------------------------
33887 
33888 FASTCV_API fcvStatus
33889 fcvRegisterDepthImagef32(const float32_t* __restrict src,
33890                          uint32_t                    srcWidth,
33891                          uint32_t                    srcHeight,
33892                          uint32_t                    srcStride,
33893                          const float32_t* __restrict Kdinv,
33894                          const float32_t* __restrict Kc,
33895                          const float32_t* __restrict Rd2c,
33896                          const float32_t* __restrict Td2c,
33897                          float32_t* __restrict       dst,
33898                          uint32_t                    dstStride);
33899 
33900 //------------------------------------------------------------------------------
33921 //
33936 //------------------------------------------------------------------------------
33937 FASTCV_API fcvStatus
33938 fcvConvertDepthImageToPointCloudf32(const float32_t* __restrict src,
33939                                     uint32_t                    srcWidth,
33940                                     uint32_t                    srcHeight,
33941                                     uint32_t                    srcStride,
33942                                     const float32_t* __restrict Kdinv,
33943                                     float32_t* __restrict       dst,
33944                                     uint32_t                    dstStride);
33945 
33946 // -----------------------------------------------------------------------------
34006 // -----------------------------------------------------------------------------
34007 
34008 FASTCV_API fcvStatus
34009 fcvExtractHOGu16(const uint16_t* __restrict strength,
34010                  uint32_t                   width,
34011                  uint32_t                   height,
34012                  uint32_t                   strengthStride,
34013                  const uint16_t* __restrict orientation,
34014                  uint32_t                   orientationStride,
34015                  uint32_t                   cellSize,
34016                  uint32_t                   blockSize,
34017                  uint32_t                   blockStep,
34018                  uint32_t                   binSize,
34019                  fcvHOGNormMethod           normMethod,
34020                  uint16_t* __restrict       hogVector,
34021                  uint32_t                   flen,
34022                  void*                      handle);
34023 
34024 // -----------------------------------------------------------------------------
34061 // -----------------------------------------------------------------------------
34062 
34063 FASTCV_API fcvStatus
34064 fcvHOGInit(uint32_t width,
34065                          uint32_t         height,
34066                          uint32_t         cellSize,
34067                          uint32_t         blockSize,
34068                          uint32_t         blockStep,
34069                          uint32_t         binSize,
34070                          fcvHOGNormMethod normMethod,
34071                         uint32_t *vecLength,
34072                         void     **hogHandle
34073                         );
34074 //------------------------------------------------------------------------------
34079 //------------------------------------------------------------------------------
34080 
34081 FASTCV_API void fcvHOGDeInit(void* hogHandle);
34082 
34083 
34084 
34085 #ifdef __cplusplus
34086 }//extern "C"
34087 #endif
34088 
34089 #endif
 All Data Structures Files Functions Variables Enumerations Enumerator Defines