16acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/*M///////////////////////////////////////////////////////////////////////////////////////
26acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
36acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
46acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
56acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//  By downloading, copying, installing or using the software you agree to this license.
66acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//  If you do not agree to this license, do not download, install,
76acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//  copy or use the software.
86acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
96acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//                        Intel License Agreement
116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//                For Open Source Computer Vision Library
126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Copyright (C) 2000, Intel Corporation, all rights reserved.
146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Third party copyrights are property of their respective owners.
156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Redistribution and use in source and binary forms, with or without modification,
176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// are permitted provided that the following conditions are met:
186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//   * Redistribution's of source code must retain the above copyright notice,
206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//     this list of conditions and the following disclaimer.
216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//   * Redistribution's in binary form must reproduce the above copyright notice,
236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//     this list of conditions and the following disclaimer in the documentation
246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//     and/or other materials provided with the distribution.
256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//   * The name of Intel Corporation may not be used to endorse or promote products
276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//     derived from this software without specific prior written permission.
286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// This software is provided by the copyright holders and contributors "as is" and
306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// any express or implied warranties, including, but not limited to, the implied
316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// warranties of merchantability and fitness for a particular purpose are disclaimed.
326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// In no event shall the Intel Corporation or contributors be liable for any direct,
336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// indirect, incidental, special, exemplary, or consequential damages
346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// (including, but not limited to, procurement of substitute goods or services;
356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// loss of use, data, or profits; or business interruption) however caused
366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// and on any theory of liability, whether in contract, strict liability,
376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// or tort (including negligence or otherwise) arising in any way out of
386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// the use of this software, even if advised of the possibility of such damage.
396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//
406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//M*/
416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#ifndef _CV_IPP_H_
436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define _CV_IPP_H_
446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                  Creating Borders                                      *
476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_COPY_BORDER( bordertype, flavor )                                      \
506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCopy##bordertype##Border_##flavor##R,                      \
516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiCopy" #bordertype "Border_" #flavor "R", CV_PLUGINS1(CV_PLUGIN_IPPI),      \
526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* pSrc,  int srcStep, CvSize srcRoiSize, void* pDst,  int dstStep,  \
536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      CvSize dstRoiSize, int topBorderHeight, int leftBorderWidth ))                \
546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn                                                                                    \
556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCopy##bordertype##Border_##flavor##IR,                     \
566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiCopy" #bordertype "Border_" #flavor "IR", CV_PLUGINS1(CV_PLUGIN_IPPI),     \
576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* pSrc,  int srcDstStep, CvSize srcRoiSize,                         \
586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      CvSize dstRoiSize, int topBorderHeight, int leftBorderWidth ))
596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 8u_C1 )
616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 16s_C1 )
626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 8u_C3 )
636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 32s_C1 )
646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 16s_C3 )
656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 16s_C4 )
666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 32s_C3 )
676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COPY_BORDER( Replicate, 32s_C4 )
686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                        Moments                                         *
716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_MOMENTS( suffix, ipp_suffix, cn )                      \
746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvMoments##suffix##_C##cn##R,                \
756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn"ippiMoments" #ipp_suffix "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\
766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn( const void* img, int step, CvSize size, void* momentstate ))
776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MOMENTS( _8u, 64f_8u, 1 )
796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MOMENTS( _32f, 64f_32f, 1 )
806acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
816acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_MOMENTS
826acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
836acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvMomentInitAlloc_64f,
846acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiMomentInitAlloc_64f", CV_PLUGINS1(CV_PLUGIN_IPPI),
856acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            (void** momentstate, CvHintAlgorithm hint ))
866acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
876acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvMomentFree_64f,
886acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiMomentFree_64f", CV_PLUGINS1(CV_PLUGIN_IPPI),
896acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            (void* momentstate ))
906acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
916acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvGetSpatialMoment_64f,
926acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiGetSpatialMoment_64f", CV_PLUGINS1(CV_PLUGIN_IPPI),
936acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            (const void* momentstate, int mOrd, int nOrd,
946acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn             int nChannel, CvPoint roiOffset, double* value ))
956acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
966acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
976acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                  Background differencing                               *
986acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
996acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1006acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/////////////////////////////////// Accumulation /////////////////////////////////////////
1016acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1026acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_ACCUM( flavor, arrtype, acctype )                                      \
1036acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAdd_##flavor##_C1IR,                                       \
1046acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAdd_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                       \
1056acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, acctype* dst, int dststep, CvSize size ))    \
1066acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddSquare_##flavor##_C1IR,                                 \
1076acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddSquare_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                 \
1086acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, acctype* dst, int dststep, CvSize size ))    \
1096acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddProduct_##flavor##_C1IR,                                \
1106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddProduct_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                \
1116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src1, int srcstep1, const arrtype* src2, int srcstep2,         \
1126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      acctype* dst, int dststep, CvSize size ))                                     \
1136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddWeighted_##flavor##_C1IR,                               \
1146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddWeighted_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),               \
1156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, acctype* dst, int dststep,                   \
1166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      CvSize size, acctype alpha ))                                                 \
1176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn                                                                                    \
1186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAdd_##flavor##_C1IMR,                                      \
1196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAdd_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                      \
1206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \
1216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      acctype* dst, int dststep, CvSize size ))                                     \
1226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddSquare_##flavor##_C1IMR,                                \
1236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddSquare_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                \
1246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \
1256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      acctype* dst, int dststep, CvSize size ))                                     \
1266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddProduct_##flavor##_C1IMR,                               \
1276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddProduct_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),               \
1286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src1, int srcstep1, const arrtype* src2, int srcstep2,         \
1296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      const uchar* mask, int maskstep, acctype* dst, int dststep, CvSize size ))    \
1306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddWeighted_##flavor##_C1IMR,                              \
1316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddWeighted_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),              \
1326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \
1336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      acctype* dst, int dststep, CvSize size, acctype alpha ))                      \
1346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn                                                                                    \
1356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAdd_##flavor##_C3IMR,                                      \
1366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAdd_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                      \
1376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \
1386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      acctype* dst, int dststep, CvSize size ))                                     \
1396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddSquare_##flavor##_C3IMR,                                \
1406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddSquare_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                \
1416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \
1426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      acctype* dst, int dststep, CvSize size ))                                     \
1436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddProduct_##flavor##_C3IMR,                               \
1446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddProduct_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),               \
1456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src1, int srcstep1, const arrtype* src2, int srcstep2,         \
1466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      const uchar* mask, int maskstep, acctype* dst, int dststep, CvSize size ))    \
1476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAddWeighted_##flavor##_C3IMR,                              \
1486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiAddWeighted_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),              \
1496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \
1506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      acctype* dst, int dststep, CvSize size, acctype alpha ))
1516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_ACCUM( 8u32f, uchar, float )
1536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_ACCUM( 32f, float, float )
1546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_ACCUM
1566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
1586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                       Pyramids                                         *
1596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
1606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvPyrDownGetBufSize_Gauss5x5,
1626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn           "ippiPyrDownGetBufSize_Gauss5x5", CV_PLUGINS1(CV_PLUGIN_IPPCV),
1636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( int roiWidth, CvDataType dataType, int channels, int* bufSize ))
1646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvPyrUpGetBufSize_Gauss5x5,
1666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn           "ippiPyrUpGetBufSize_Gauss5x5", CV_PLUGINS1(CV_PLUGIN_IPPCV),
1676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( int roiWidth, CvDataType dataType, int channels, int* bufSize ))
1686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define ICV_PYRDOWN( flavor, cn )                                           \
1706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvPyrDown_Gauss5x5_##flavor##_C##cn##R,              \
1716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn"ippiPyrDown_Gauss5x5_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPCV), \
1726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn( const void* pSrc, int srcStep, void* pDst, int dstStep,                   \
1736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn  CvSize roiSize, void* pBuffer ))
1746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define ICV_PYRUP( flavor, cn )                                             \
1766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvPyrUp_Gauss5x5_##flavor##_C##cn##R,                \
1776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn"ippiPyrUp_Gauss5x5_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPCV),   \
1786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn( const void* pSrc, int srcStep, void* pDst, int dstStep,                   \
1796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn  CvSize roiSize, void* pBuffer ))
1806acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1816acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRDOWN( 8u, 1 )
1826acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRDOWN( 8u, 3 )
1836acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRDOWN( 32f, 1 )
1846acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRDOWN( 32f, 3 )
1856acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1866acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRUP( 8u, 1 )
1876acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRUP( 8u, 3 )
1886acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRUP( 32f, 1 )
1896acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_PYRUP( 32f, 3 )
1906acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1916acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef ICV_PYRDOWN
1926acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef ICV_PYRUP
1936acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1946acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
1956acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                Geometric Transformations                               *
1966acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
1976acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
1986acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_RESIZE( flavor, cn )                                           \
1996acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvResize_##flavor##_C##cn##R,                        \
2006acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiResize_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\
2016acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn           (const void* src, CvSize srcsize, int srcstep, CvRect srcroi,    \
2026acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            void* dst, int dststep, CvSize dstroi,                          \
2036acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            double xfactor, double yfactor, int interpolation ))
2046acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2056acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 8u, 1 )
2066acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 8u, 3 )
2076acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 8u, 4 )
2086acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2096acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 16u, 1 )
2106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 16u, 3 )
2116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 16u, 4 )
2126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 32f, 1 )
2146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 32f, 3 )
2156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_RESIZE( 32f, 4 )
2166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_RESIZE
2186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_WARPAFFINE_BACK( flavor, cn )                                  \
2206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvWarpAffineBack_##flavor##_C##cn##R,                \
2216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiWarpAffineBack_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\
2226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    (const void* src, CvSize srcsize, int srcstep, CvRect srcroi,           \
2236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    void* dst, int dststep, CvRect dstroi,                                  \
2246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    const double* coeffs, int interpolate ))
2256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPAFFINE_BACK( 8u, 1 )
2276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPAFFINE_BACK( 8u, 3 )
2286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPAFFINE_BACK( 8u, 4 )
2296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPAFFINE_BACK( 32f, 1 )
2316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPAFFINE_BACK( 32f, 3 )
2326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPAFFINE_BACK( 32f, 4 )
2336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_WARPAFFINE_BACK
2356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_WARPPERSPECTIVE_BACK( flavor, cn )                             \
2376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvWarpPerspectiveBack_##flavor##_C##cn##R,           \
2386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiWarpPerspectiveBack_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\
2396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    (const void* src, CvSize srcsize, int srcstep, CvRect srcroi,           \
2406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    void* dst, int dststep, CvRect dstroi,                                  \
2416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    const double* coeffs, int interpolate ))
2426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE_BACK( 8u, 1 )
2446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE_BACK( 8u, 3 )
2456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE_BACK( 8u, 4 )
2466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE_BACK( 32f, 1 )
2486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE_BACK( 32f, 3 )
2496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE_BACK( 32f, 4 )
2506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_WARPPERSPECTIVE_BACK
2526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_WARPPERSPECTIVE( flavor, cn )                                  \
2556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvWarpPerspective_##flavor##_C##cn##R,               \
2566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiWarpPerspective_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\
2576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    (const void* src, CvSize srcsize, int srcstep, CvRect srcroi,           \
2586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    void* dst, int dststep, CvRect dstroi,                                  \
2596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    const double* coeffs, int interpolate ))
2606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE( 8u, 1 )
2626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE( 8u, 3 )
2636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE( 8u, 4 )
2646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE( 32f, 1 )
2666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE( 32f, 3 )
2676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_WARPPERSPECTIVE( 32f, 4 )
2686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_WARPPERSPECTIVE
2706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_REMAP( flavor, cn )                                        \
2726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvRemap_##flavor##_C##cn##R,                     \
2736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiRemap_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),     \
2746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* src, CvSize srcsize, int srcstep, CvRect srcroi,      \
2756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      const float* xmap, int xmapstep, const float* ymap, int ymapstep, \
2766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      void* dst, int dststep, CvSize dstsize, int interpolation ))
2776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_REMAP( 8u, 1 )
2796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_REMAP( 8u, 3 )
2806acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_REMAP( 8u, 4 )
2816acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2826acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_REMAP( 32f, 1 )
2836acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_REMAP( 32f, 3 )
2846acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_REMAP( 32f, 4 )
2856acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2866acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_REMAP
2876acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2886acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
2896acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                      Morphology                                        *
2906acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
2916acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
2926acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_MORPHOLOGY( minmaxtype, morphtype, flavor, cn )                    \
2936acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icv##morphtype##Rect_##flavor##_C##cn##R,                 \
2946acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilter" #minmaxtype "BorderReplicate_" #flavor "_C" #cn "R",           \
2956acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( const void* src, int srcstep, void* dst,    \
2966acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    int dststep, CvSize roi, CvSize esize, CvPoint anchor, void* buffer ))      \
2976acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icv##morphtype##Rect_GetBufSize_##flavor##_C##cn##R,      \
2986acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilter" #minmaxtype "GetBufferSize_" #flavor "_C" #cn "R",             \
2996acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( int width, CvSize esize, int* bufsize ))    \
3006acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn                                                                                \
3016acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icv##morphtype##_##flavor##_C##cn##R,                     \
3026acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippi" #morphtype "BorderReplicate_" #flavor "_C" #cn "R",                  \
3036acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( const void* src, int srcstep,               \
3046acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    void* dst, int dststep, CvSize roi, int bordertype, void* morphstate ))
3056acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3066acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 8u, 1 )
3076acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 8u, 3 )
3086acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 8u, 4 )
3096acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 16u, 1 )
3106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 16u, 3 )
3116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 16u, 4 )
3126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 32f, 1 )
3136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 32f, 3 )
3146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Min, Erode, 32f, 4 )
3156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 8u, 1 )
3166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 8u, 3 )
3176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 8u, 4 )
3186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 16u, 1 )
3196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 16u, 3 )
3206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 16u, 4 )
3216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 32f, 1 )
3226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 32f, 3 )
3236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY( Max, Dilate, 32f, 4 )
3246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_MORPHOLOGY
3266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_MORPHOLOGY_INIT_ALLOC( flavor, cn )                            \
3286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvMorphInitAlloc_##flavor##_C##cn##R,                \
3296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiMorphologyInitAlloc_" #flavor "_C" #cn "R",                        \
3306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( int width, const uchar* element,        \
3316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CvSize esize, CvPoint anchor, void** morphstate ))
3326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 8u, 1 )
3346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 8u, 3 )
3356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 8u, 4 )
3366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 16u, 1 )
3376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 16u, 3 )
3386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 16u, 4 )
3396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 32f, 1 )
3406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 32f, 3 )
3416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_MORPHOLOGY_INIT_ALLOC( 32f, 4 )
3426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_MORPHOLOGY_INIT_ALLOC
3446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvMorphFree, "ippiMorphologyFree",
3466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( void* morphstate ))
3476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
3506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                 Smoothing Filters                                      *
3516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
3526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER_MEDIAN( flavor, cn )                                            \
3546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterMedian_##flavor##_C##cn##R,                          \
3556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiFilterMedian_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),  \
3566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const void* src, int srcstep, void* dst, int dststep,                 \
3576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize roi, CvSize ksize, CvPoint anchor ))
3586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_MEDIAN( 8u, 1 )
3606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_MEDIAN( 8u, 3 )
3616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_MEDIAN( 8u, 4 )
3626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER_BOX( flavor, cn )                                               \
3646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterBox_##flavor##_C##cn##R,                             \
3656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiFilterBox_" #flavor "_C" #cn "R", 0/*CV_PLUGINS1(CV_PLUGIN_IPPI)*/,\
3666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const void* src, int srcstep, void* dst, int dststep,                 \
3676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize roi, CvSize ksize, CvPoint anchor ))
3686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_BOX( 8u, 1 )
3706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_BOX( 8u, 3 )
3716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_BOX( 8u, 4 )
3726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_BOX( 32f, 1 )
3736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_BOX( 32f, 3 )
3746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_BOX( 32f, 4 )
3756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_FILTER_BOX
3776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
3796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                 Derivative Filters                                     *
3806acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
3816acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3826acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER_SOBEL_BORDER( suffix, flavor, srctype )                             \
3836acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterSobel##suffix##GetBufSize_##flavor##_C1R,                \
3846acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterSobel" #suffix "GetBufferSize_" #flavor "_C1R",                          \
3856acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( CvSize roi, int masksize, int* buffersize ))        \
3866acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterSobel##suffix##Border_##flavor##_C1R,                    \
3876acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterSobel" #suffix "Border_" #flavor "_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),   \
3886acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* src, int srcstep, void* dst, int dststep, CvSize roi, int masksize,   \
3896acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      int bordertype, srctype bordervalue, void* buffer ))
3906acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3916acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( NegVert, 8u16s, uchar )
3926acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( Horiz, 8u16s, uchar )
3936acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( VertSecond, 8u16s, uchar )
3946acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( HorizSecond, 8u16s, uchar )
3956acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( Cross, 8u16s, uchar )
3966acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
3976acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( NegVert, 32f, float )
3986acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( Horiz, 32f, float )
3996acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( VertSecond, 32f, float )
4006acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( HorizSecond, 32f, float )
4016acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL_BORDER( Cross, 32f, float )
4026acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4036acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_FILTER_SOBEL_BORDER
4046acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4056acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER_SCHARR_BORDER( suffix, flavor, srctype )                            \
4066acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterScharr##suffix##GetBufSize_##flavor##_C1R,               \
4076acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterScharr" #suffix "GetBufferSize_" #flavor "_C1R",                         \
4086acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( CvSize roi, int* buffersize ))                      \
4096acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterScharr##suffix##Border_##flavor##_C1R,                   \
4106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterScharr" #suffix "Border_" #flavor "_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),  \
4116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* src, int srcstep, void* dst, int dststep, CvSize roi,                 \
4126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      int bordertype, srctype bordervalue, void* buffer ))
4136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR_BORDER( Vert, 8u16s, uchar )
4156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR_BORDER( Horiz, 8u16s, uchar )
4166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR_BORDER( Vert, 32f, float )
4186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR_BORDER( Horiz, 32f, float )
4196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_FILTER_SCHARR_BORDER
4216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER_LAPLACIAN_BORDER( flavor, srctype )                                 \
4246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterLaplacianGetBufSize_##flavor##_C1R,                      \
4256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterLaplacianGetBufferSize_" #flavor "_C1R",                                 \
4266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CV_PLUGINS1(CV_PLUGIN_IPPCV), ( CvSize roi, int masksize, int* buffersize ))        \
4276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterLaplacianBorder_##flavor##_C1R,                          \
4286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterLaplacianBorder_" #flavor "_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),          \
4296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* src, int srcstep, void* dst, int dststep, CvSize roi, int masksize,   \
4306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      int bordertype, srctype bordervalue, void* buffer ))
4316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_LAPLACIAN_BORDER( 8u16s, uchar )
4336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_LAPLACIAN_BORDER( 32f, float )
4346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_FILTER_LAPLACIAN_BORDER
4366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/////////////////////////////////////////////////////////////////////////////////////////
4396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER_SOBEL( suffix, ipp_suffix, flavor )                             \
4416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterSobel##suffix##_##flavor##_C1R,                      \
4426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterSobel" #ipp_suffix "_" #flavor "_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI),  \
4436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* src, int srcstep, void* dst, int dststep, CvSize roi, int aperture ))
4446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( Vert, Vert, 8u16s )
4466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( Horiz, Horiz, 8u16s )
4476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( VertSecond, VertSecond, 8u16s )
4486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( HorizSecond, HorizSecond, 8u16s )
4496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( Cross, Cross, 8u16s )
4506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( Vert, VertMask, 32f )
4526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( Horiz, HorizMask, 32f )
4536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( VertSecond, VertSecond, 32f )
4546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( HorizSecond, HorizSecond, 32f )
4556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SOBEL( Cross, Cross, 32f )
4566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_FILTER_SOBEL
4586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER_SCHARR( suffix, ipp_suffix, flavor )                            \
4606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilterScharr##suffix##_##flavor##_C1R,                     \
4616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiFilterScharr" #ipp_suffix "_" #flavor "_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI), \
4626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const void* src, int srcstep, void* dst, int dststep, CvSize roi ))
4636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR( Vert, Vert, 8u16s )
4656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR( Horiz, Horiz, 8u16s )
4666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR( Vert, Vert, 32f )
4676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER_SCHARR( Horiz, Horiz, 32f )
4686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_FILTER_SCHARR
4706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
4726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                   Generic Filters                                      *
4736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
4746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_FILTER( suffix, ipp_suffix, cn, ksizetype, anchortype )                    \
4766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvFilter##suffix##_C##cn##R,                                     \
4776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiFilter" #ipp_suffix "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),         \
4786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const void* src, int srcstep, void* dst, int dststep, CvSize size,        \
4796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              const float* kernel, ksizetype ksize, anchortype anchor ))
4806acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4816acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _8u, 32f_8u, 1, CvSize, CvPoint )
4826acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _8u, 32f_8u, 3, CvSize, CvPoint )
4836acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _8u, 32f_8u, 4, CvSize, CvPoint )
4846acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4856acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _16s, 32f_16s, 1, CvSize, CvPoint )
4866acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _16s, 32f_16s, 3, CvSize, CvPoint )
4876acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _16s, 32f_16s, 4, CvSize, CvPoint )
4886acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4896acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _32f, _32f, 1, CvSize, CvPoint )
4906acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _32f, _32f, 3, CvSize, CvPoint )
4916acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( _32f, _32f, 4, CvSize, CvPoint )
4926acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4936acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_8u, Column32f_8u, 1, int, int )
4946acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_8u, Column32f_8u, 3, int, int )
4956acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_8u, Column32f_8u, 4, int, int )
4966acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
4976acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_16s, Column32f_16s, 1, int, int )
4986acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_16s, Column32f_16s, 3, int, int )
4996acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_16s, Column32f_16s, 4, int, int )
5006acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5016acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_32f, Column_32f, 1, int, int )
5026acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_32f, Column_32f, 3, int, int )
5036acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Column_32f, Column_32f, 4, int, int )
5046acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5056acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_8u, Row32f_8u, 1, int, int )
5066acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_8u, Row32f_8u, 3, int, int )
5076acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_8u, Row32f_8u, 4, int, int )
5086acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5096acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_16s, Row32f_16s, 1, int, int )
5106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_16s, Row32f_16s, 3, int, int )
5116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_16s, Row32f_16s, 4, int, int )
5126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_32f, Row_32f, 1, int, int )
5146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_32f, Row_32f, 3, int, int )
5156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_FILTER( Row_32f, Row_32f, 4, int, int )
5166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef IPCV_FILTER
5186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
5216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                  Color Transformations                                 *
5226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
5236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define IPCV_COLOR( funcname, ipp_funcname, flavor )                            \
5256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icv##funcname##_##flavor##_C3R,                           \
5266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        "ippi" #ipp_funcname "_" #flavor "_C3R,"                                \
5276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        "ippi" #ipp_funcname "_" #flavor "_C3R",                                \
5286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        CV_PLUGINS2(CV_PLUGIN_IPPI,CV_PLUGIN_IPPCC),                            \
5296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        ( const void* src, int srcstep, void* dst, int dststep, CvSize size ))
5306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( RGB2XYZ, RGBToXYZ, 8u )
5326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( RGB2XYZ, RGBToXYZ, 16u )
5336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( RGB2XYZ, RGBToXYZ, 32f )
5346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( XYZ2RGB, XYZToRGB, 8u )
5356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( XYZ2RGB, XYZToRGB, 16u )
5366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( XYZ2RGB, XYZToRGB, 32f )
5376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( RGB2HSV, RGBToHSV, 8u )
5396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( HSV2RGB, HSVToRGB, 8u )
5406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( RGB2HLS, RGBToHLS, 8u )
5426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( RGB2HLS, RGBToHLS, 32f )
5436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( HLS2RGB, HLSToRGB, 8u )
5446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( HLS2RGB, HLSToRGB, 32f )
5456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( BGR2Lab, BGRToLab, 8u )
5476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( Lab2BGR, LabToBGR, 8u )
5486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( RGB2Luv, RGBToLUV, 8u )
5506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/*IPCV_COLOR( RGB2Luv, RGBToLUV, 32f )*/
5516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCV_COLOR( Luv2RGB, LUVToRGB, 8u )
5526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/*IPCV_COLOR( Luv2RGB, LUVToRGB, 32f )*/
5536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
5556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                  Motion Templates                                      *
5566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
5576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvUpdateMotionHistory_8u32f_C1IR,
5596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiUpdateMotionHistory_8u32f_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),
5606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const uchar* silIm, int silStep, float* mhiIm, int mhiStep,
5616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      CvSize size,float  timestamp, float  mhi_duration ))
5626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
5646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                 Template Matching                                      *
5656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
5666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define ICV_MATCHTEMPLATE( flavor, arrtype )                        \
5686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCrossCorrValid_Norm_##flavor##_C1R,        \
5696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        "ippiCrossCorrValid_Norm_" #flavor "_C1R",                  \
5706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        CV_PLUGINS1(CV_PLUGIN_IPPI),                                \
5716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        ( const arrtype* pSrc, int srcStep, CvSize srcRoiSize,      \
5726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        const arrtype* pTpl, int tplStep, CvSize tplRoiSize,        \
5736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        float* pDst, int dstStep ))                                 \
5746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCrossCorrValid_NormLevel_##flavor##_C1R,   \
5756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        "ippiCrossCorrValid_NormLevel_" #flavor "_C1R",             \
5766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        CV_PLUGINS1(CV_PLUGIN_IPPI),                                \
5776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        ( const arrtype* pSrc, int srcStep, CvSize srcRoiSize,      \
5786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        const arrtype* pTpl, int tplStep, CvSize tplRoiSize,        \
5796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        float* pDst, int dstStep ))                                 \
5806acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvSqrDistanceValid_Norm_##flavor##_C1R,      \
5816acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        "ippiSqrDistanceValid_Norm_" #flavor "_C1R",                \
5826acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        CV_PLUGINS1(CV_PLUGIN_IPPI),                                \
5836acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        ( const arrtype* pSrc, int srcStep, CvSize srcRoiSize,      \
5846acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        const arrtype* pTpl, int tplStep, CvSize tplRoiSize,        \
5856acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn        float* pDst, int dstStep ))
5866acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5876acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_MATCHTEMPLATE( 8u32f, uchar )
5886acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_MATCHTEMPLATE( 32f, float )
5896acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5906acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************/
5916acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/*                                Distance Transform                                    */
5926acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************/
5936acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5946acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX(CvStatus, icvDistanceTransform_3x3_8u32f_C1R,
5956acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiDistanceTransform_3x3_8u32f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
5966acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const uchar* pSrc, int srcStep, float* pDst,
5976acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      int dstStep, CvSize roiSize, const float* pMetrics ))
5986acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
5996acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX(CvStatus, icvDistanceTransform_5x5_8u32f_C1R,
6006acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiDistanceTransform_5x5_8u32f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
6016acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const uchar* pSrc, int srcStep, float* pDst,
6026acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      int dstStep, CvSize roiSize, const float* pMetrics ))
6036acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6046acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX(CvStatus, icvDistanceTransform_3x3_8u_C1IR,
6056acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiDistanceTransform_3x3_8u_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),
6066acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( uchar* pSrc, int srcStep, CvSize roiSize, const int* pMetrics ))
6076acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6086acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX(CvStatus, icvDistanceTransform_3x3_8u_C1R,
6096acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiDistanceTransform_3x3_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
6106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const uchar* pSrc, int srcStep, uchar* pDst,
6116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      int dstStep, CvSize roiSize, const int* pMetrics ))
6126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
6146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                               Thresholding functions                                   *
6156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
6166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCompareC_8u_C1R_cv,
6186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiCompareC_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI),
6196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const uchar* src1, int srcstep1, uchar scalar,
6206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              uchar* dst, int dststep, CvSize size, int cmp_op ))
6216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvAndC_8u_C1R,
6226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiAndC_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI),
6236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const uchar* src1, int srcstep1, uchar scalar,
6246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              uchar* dst, int dststep, CvSize size ))
6256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvThreshold_GTVal_8u_C1R,
6266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiThreshold_GTVal_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI),
6276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const uchar* pSrc, int srcstep, uchar* pDst, int dststep,
6286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize size, uchar threshold, uchar value ))
6296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvThreshold_GTVal_32f_C1R,
6306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiThreshold_GTVal_32f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI),
6316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const float* pSrc, int srcstep, float* pDst, int dststep,
6326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize size, float threshold, float value ))
6336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvThreshold_LTVal_8u_C1R,
6346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiThreshold_LTVal_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI),
6356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const uchar* pSrc, int srcstep, uchar* pDst, int dststep,
6366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize size, uchar threshold, uchar value ))
6376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvThreshold_LTVal_32f_C1R,
6386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiThreshold_LTVal_32f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPI),
6396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const float* pSrc, int srcstep, float* pDst, int dststep,
6406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize size, float threshold, float value ))
6416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
6436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                 Canny Edge Detector                                    *
6446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
6456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCannyGetSize, "ippiCannyGetSize", 0/*CV_PLUGINS1(CV_PLUGIN_IPPCV)*/,
6476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn           ( CvSize roiSize, int* bufferSize ))
6486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCanny_16s8u_C1R, "ippiCanny_16s8u_C1R", 0/*CV_PLUGINS1(CV_PLUGIN_IPPCV)*/,
6506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const short* pSrcDx, int srcDxStep, const short* pSrcDy, int srcDyStep,
6516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      uchar*  pDstEdges, int dstEdgeStep, CvSize roiSize, float lowThresh,
6526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      float  highThresh, void* pBuffer ))
6536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
6566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                 Radial Distortion Removal                              *
6576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
6586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvUndistortGetSize, "ippiUndistortGetSize",
6606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            CV_PLUGINS1(CV_PLUGIN_IPPCV), ( CvSize roiSize, int *pBufsize ))
6616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCreateMapCameraUndistort_32f_C1R,
6636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiCreateMapCameraUndistort_32f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
6646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            (float *pxMap, int xStep, float *pyMap, int yStep, CvSize roiSize,
6656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            float fx, float fy, float cx, float cy, float k1, float k2,
6666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            float p1, float p2, uchar *pBuffer ))
6676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define ICV_UNDISTORT_RADIAL( flavor, cn, arrtype )                                 \
6696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvUndistortRadial_##flavor##_C##cn##R,                       \
6706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiUndistortRadial_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPCV),      \
6716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const arrtype* pSrc, int srcStep, uchar* pDst, int dstStep, CvSize roiSize,   \
6726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn      float fx, float fy, float cx, float cy, float k1, float k2, uchar *pBuffer ))
6736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_UNDISTORT_RADIAL( 8u, 1, uchar )
6756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_UNDISTORT_RADIAL( 8u, 3, uchar )
6766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef ICV_UNDISTORT_RADIAL
6786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
6806acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                            Subpixel-accurate rectangle extraction                      *
6816acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
6826acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6836acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define ICV_COPY_SUBPIX( flavor, cn, srctype, dsttype )                     \
6846acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCopySubpix_##flavor##_C##cn##R,                    \
6856acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiCopySubpix_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPCV),   \
6866acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const srctype* pSrc, int srcStep, dsttype* pDst, int dstStep,         \
6876acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CvSize size, float dx, float dy ))
6886acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6896acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_COPY_SUBPIX( 8u, 1, uchar, uchar )
6906acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennICV_COPY_SUBPIX( 8u32f, 1, uchar, float )
6916acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn//ICV_COPY_SUBPIX( 32f, 1, float, float )
6926acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6936acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvCopySubpix_32f_C1R,
6946acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    "ippiCopySubpix_32f_C1R", 0,
6956acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    ( const float* pSrc, int srcStep, float* pDst, int dstStep,
6966acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn    CvSize size, float dx, float dy ))
6976acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
6986acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#undef ICV_COPY_SUBPIX
6996acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7006acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
7016acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                Lucas-Kanade Optical Flow                               *
7026acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
7036acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7046acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvOpticalFlowPyrLKInitAlloc_8u_C1R,
7056acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiOpticalFlowPyrLKInitAlloc_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7066acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( void** ppState, CvSize roiSize, int winSize, int hint ))
7076acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7086acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvOpticalFlowPyrLKFree_8u_C1R,
7096acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiOpticalFlowPyrLKFree_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( void* pState ))
7116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvOpticalFlowPyrLK_8u_C1R,
7136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiOpticalFlowPyrLK_8u_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( CvPyramid *pPyr1, CvPyramid *pPyr2,
7156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            const float *pPrev, float* pNext, char *pStatus,
7166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            float *pError, int numFeat, int winSize,
7176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            int maxLev, int maxIter, float threshold, void* state ))
7186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn/****************************************************************************************\
7216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn*                                 Haar Object Detector                                   *
7226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn\****************************************************************************************/
7236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvIntegral_8u32s_C1R,
7256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiIntegral_8u32s_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const uchar* pSrc, int srcStep, int* pDst, int dstStep,
7276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize roiSize, int val ))
7286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvSqrIntegral_8u32s64f_C1R,
7306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiSqrIntegral_8u32s64f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const uchar* pSrc, int srcStep,
7326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              int* pDst, int dstStep, double* pSqr, int sqrStep,
7336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize roiSize, int val, double valSqr ))
7346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvRectStdDev_32f_C1R,
7366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiRectStdDev_32f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const float* pSrc, int srcStep,
7386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              const double* pSqr, int sqrStep, float* pDst, int dstStep,
7396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize roiSize, CvRect rect ))
7406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvHaarClassifierInitAlloc_32f,
7426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiHaarClassifierInitAlloc_32f", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( void **pState, const CvRect* pFeature, const float* pWeight,
7446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              const float* pThreshold, const float* pVal1,
7456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              const float* pVal2, const int* pNum, int length ))
7466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvHaarClassifierFree_32f,
7486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiHaarClassifierFree_32f", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( void *pState ))
7506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius RennIPCVAPI_EX( CvStatus, icvApplyHaarClassifier_32f_C1R,
7526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            "ippiApplyHaarClassifier_32f_C1R", CV_PLUGINS1(CV_PLUGIN_IPPCV),
7536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn            ( const float* pSrc, int srcStep, const float* pNorm,
7546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              int normStep, uchar* pMask, int maskStep,
7556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              CvSize roi, int *pPositive, float threshold,
7566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn              void *pState ))
7576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
7586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#endif /*_CV_IPP_H_*/
7596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn
760