/* /////////////////////////////////////////////////////////////////////////////
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 2014 Intel Corporation. All Rights Reserved.
//
*/
#if !defined( __IPPICV_H__ )
#define __IPPICV_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "ippdefs.h"
#include "ippicv_types.h"
#include "ippicv_redefs.h"
#include "ippversion.h"
/* =============================================================================
ippCore
============================================================================= */
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippGetLibVersion
// Purpose: getting of the library version
// Returns: the structure of information about version
// of ippcore library
// Parameters:
//
// Notes: not necessary to release the returned structure
*/
IPPAPI( const IppLibraryVersion*, ippGetLibVersion, (void) )
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippInit
// Purpose: Automatic switching to best for current cpu library code using.
// Returns:
// ippStsNoErr
//
// Parameter: nothing
//
// Notes: At the moment of this function execution no any other IPP function
// has to be working
*/
IPPAPI( IppStatus, ippInit, ( void ))
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippInitCpu
// Purpose: switching to user defined target cpu library code using
//
// Returns:
// ippStsNoErr - required target cpu library code is successfully set
// ippStsCpuMismatch - required target cpu library can't be set, the previous
// set is used
// Parameter: IppCpuType
//
// Notes: At the moment of this function execution no any other IPP function
// has to be working
*/
IPPAPI( IppStatus, ippInitCpu, ( IppCpuType cpu ) )
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippStaticInit
// Purpose: Automatic switching to best for current cpu library code using.
// Returns:
// ippStsNoErr - the best code (static) successfully set
// ippStsNonIntelCpu - px version (static) of code was set
// ippStsNoOperationInDll - function does nothing in the dynamic version of the library
//
// Parameter: nothing
//
// Notes: At the moment of this function execution no any other IPP function
// has to be working
*/
IPP_DEPRECATED("is deprecated: use ippInit function instead of this one")\
IPPAPI( IppStatus, ippStaticInit, ( void ))
/* /////////////////////////////////////////////////////////////////////////////
// Functions to allocate and free memory
///////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippMalloc
// Purpose: 64-byte aligned memory allocation
// Parameter:
// len number of bytes
// Returns: pointer to allocated memory
//
// Notes: the memory allocated by ippMalloc has to be free by ippFree
// function only.
*/
IPPAPI( void*, ippMalloc, (int length) )
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippFree
// Purpose: free memory allocated by the ippMalloc function
// Parameter:
// ptr pointer to the memory allocated by the ippMalloc function
//
// Notes: use the function to free memory allocated by ippMalloc
*/
IPPAPI( void, ippFree, (void* ptr) )
/* =============================================================================
ippVM
============================================================================= */
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippvmGetLibVersion
// Purpose: getting of the library version
// Returns: the structure of information about version
// of ippVM library
// Parameters:
//
// Notes: not necessary to release the returned structure
*/
IPPAPI( const IppLibraryVersion*, ippvmGetLibVersion, (void) )
IPPAPI( IppStatus, ippsExp_32f_A21, (const Ipp32f a[],Ipp32f r[],Ipp32s n))
IPPAPI( IppStatus, ippsExp_64f_A50, (const Ipp64f a[],Ipp64f r[],Ipp32s n))
IPPAPI( IppStatus, ippsLn_32f_A21, (const Ipp32f a[],Ipp32f r[],Ipp32s n))
IPPAPI( IppStatus, ippsLn_64f_A50, (const Ipp64f a[],Ipp64f r[],Ipp32s n))
IPPAPI( IppStatus, ippsInvSqrt_32f_A21, (const Ipp32f a[],Ipp32f r[],Ipp32s n))
IPPAPI( IppStatus, ippsSqrt_32f_A21, (const Ipp32f a[],Ipp32f r[],Ipp32s n))
IPPAPI( IppStatus, ippsSqrt_64f_A50, (const Ipp64f a[],Ipp64f r[],Ipp32s n))
IPPAPI( IppStatus, ippsPowx_32f_A21, (const Ipp32f a[],const Ipp32f b,Ipp32f r[],Ipp32s n))
IPPAPI( IppStatus, ippsPowx_64f_A50, (const Ipp64f a[],const Ipp64f b,Ipp64f r[],Ipp32s n))
/* =============================================================================
ippSP
============================================================================= */
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippsGetLibVersion
// Purpose: get the library version
// Parameters:
// Returns: pointer to structure describing version of the ipps library
//
// Notes: don't free the pointer
*/
IPPAPI( const IppLibraryVersion*, ippsGetLibVersion, (void) )
/* /////////////////////////////////////////////////////////////////////////////
// Functions to allocate and free memory
///////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippsMalloc
// Purpose: 32-byte aligned memory allocation
// Parameter:
// len number of elements (according to their type)
// Returns: pointer to allocated memory
//
// Notes: the memory allocated by ippsMalloc has to be free by ippsFree
// function only.
*/
IPPAPI( Ipp8u*, ippsMalloc_8u, (int len) )
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippsFree
// Purpose: free memory allocated by the ippsMalloc functions
// Parameter:
// ptr pointer to the memory allocated by the ippsMalloc functions
//
// Notes: use the function to free memory allocated by ippsMalloc_*
*/
IPPAPI( void, ippsFree, (void* ptr) )
/* /////////////////////////////////////////////////////////////////////////////
// Names: ippsMagnitude
// Purpose: compute magnitude of every complex element of the source
// Parameters:
// pSrcDst pointer to the source/destination vector
// pSrc pointer to the source vector
// pDst pointer to the destination vector
// len length of the vector(s), number of items
// scaleFactor scale factor value
// Return:
// ippStsNullPtrErr pointer(s) to data vector is NULL
// ippStsSizeErr length of a vector is less or equal 0
// ippStsNoErr otherwise
// Notes:
// dst = sqrt( src.re^2 + src.im^2 )
*/
IPPAPI(IppStatus,ippsMagnitude_32f,(const Ipp32f* pSrcRe,const Ipp32f* pSrcIm,
Ipp32f* pDst,int len))
IPPAPI(IppStatus,ippsMagnitude_64f,(const Ipp64f* pSrcRe,const Ipp64f* pSrcIm,
Ipp64f* pDst,int len))
/
- 1
- 2
- 3
前往页