ippdefs.h 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725
  1. /* ///////////////////////////////////////////////////////////////////////////
  2. //
  3. // INTEL CORPORATION PROPRIETARY INFORMATION
  4. // This software is supplied under the terms of a license agreement or
  5. // nondisclosure agreement with Intel Corporation and may not be copied
  6. // or disclosed except in accordance with the terms of that agreement.
  7. // Copyright(c) 1999-2009 Intel Corporation. All Rights Reserved.
  8. //
  9. // Intel(R) Integrated Performance Primitives
  10. // Common Types and Macro Definitions
  11. //
  12. */
  13. #ifndef __IPPDEFS_H__
  14. #define __IPPDEFS_H__
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #if defined( _WIN32 ) || defined ( _WIN64 )
  19. #define __STDCALL __stdcall
  20. #define __CDECL __cdecl
  21. #define __INT64 __int64
  22. #define __UINT64 unsigned __int64
  23. #else
  24. #define __STDCALL
  25. #define __CDECL
  26. #define __INT64 long long
  27. #define __UINT64 unsigned long long
  28. #endif
  29. #if !defined( IPPAPI )
  30. #if defined( IPP_W32DLL ) && (defined( _WIN32 ) || defined( _WIN64 ))
  31. #if defined( _MSC_VER ) || defined( __ICL )
  32. #define IPPAPI( type,name,arg ) \
  33. __declspec(dllimport) type __STDCALL name arg;
  34. #else
  35. #define IPPAPI( type,name,arg ) type __STDCALL name arg;
  36. #endif
  37. #else
  38. #define IPPAPI( type,name,arg ) type __STDCALL name arg;
  39. #endif
  40. #endif
  41. #if (defined( __ICL ) || defined( __ECL ) || defined(_MSC_VER)) && !defined( _PCS ) && !defined( _PCS_GENSTUBS )
  42. #if( __INTEL_COMPILER >= 1100 ) /* icl 11.0 supports additional comment */
  43. #define IPP_DEPRECATED( comment ) __declspec( deprecated ( comment ))
  44. #elif( _MSC_FULL_VER >= 140050727 )&&( !defined( __INTEL_COMPILER )) /* VS2005 supports additional comment */
  45. #define IPP_DEPRECATED( comment ) __declspec( deprecated ( comment ))
  46. #elif( _MSC_VER <= 1200 )&&( !defined( __INTEL_COMPILER )) /* VS 6 unsupported additional comment */
  47. #define IPP_DEPRECATED( comment )
  48. #else
  49. #define IPP_DEPRECATED( comment ) __declspec( deprecated )
  50. #endif
  51. #elif (defined(__ICC) || defined(__ECC) || defined( __GNUC__ )) && !defined( _PCS ) && !defined( _PCS_GENSTUBS )
  52. #define IPP_DEPRECATED( comment ) __attribute__(( deprecated ))
  53. #else
  54. #define IPP_DEPRECATED( comment )
  55. #endif
  56. #define IPP_PI ( 3.14159265358979323846 ) /* ANSI C does not support M_PI */
  57. #define IPP_2PI ( 6.28318530717958647692 ) /* 2*pi */
  58. #define IPP_PI2 ( 1.57079632679489661923 ) /* pi/2 */
  59. #define IPP_PI4 ( 0.78539816339744830961 ) /* pi/4 */
  60. #define IPP_PI180 ( 0.01745329251994329577 ) /* pi/180 */
  61. #define IPP_RPI ( 0.31830988618379067154 ) /* 1/pi */
  62. #define IPP_SQRT2 ( 1.41421356237309504880 ) /* sqrt(2) */
  63. #define IPP_SQRT3 ( 1.73205080756887729353 ) /* sqrt(3) */
  64. #define IPP_LN2 ( 0.69314718055994530942 ) /* ln(2) */
  65. #define IPP_LN3 ( 1.09861228866810969139 ) /* ln(3) */
  66. #define IPP_E ( 2.71828182845904523536 ) /* e */
  67. #define IPP_RE ( 0.36787944117144232159 ) /* 1/e */
  68. #define IPP_EPS23 ( 1.19209289e-07f )
  69. #define IPP_EPS52 ( 2.2204460492503131e-016 )
  70. #define IPP_MAX_8U ( 0xFF )
  71. #define IPP_MAX_16U ( 0xFFFF )
  72. #define IPP_MAX_32U ( 0xFFFFFFFF )
  73. #define IPP_MIN_8U ( 0 )
  74. #define IPP_MIN_16U ( 0 )
  75. #define IPP_MIN_32U ( 0 )
  76. #define IPP_MIN_8S (-128 )
  77. #define IPP_MAX_8S ( 127 )
  78. #define IPP_MIN_16S (-32768 )
  79. #define IPP_MAX_16S ( 32767 )
  80. #define IPP_MIN_32S (-2147483647 - 1 )
  81. #define IPP_MAX_32S ( 2147483647 )
  82. #if defined( _WIN32 ) || defined ( _WIN64 )
  83. #define IPP_MAX_64S ( 9223372036854775807i64 )
  84. #define IPP_MIN_64S (-9223372036854775807i64 - 1 )
  85. #else
  86. #define IPP_MAX_64S ( 9223372036854775807LL )
  87. #define IPP_MIN_64S (-9223372036854775807LL - 1 )
  88. #endif
  89. #define IPP_MINABS_32F ( 1.175494351e-38f )
  90. #define IPP_MAXABS_32F ( 3.402823466e+38f )
  91. #define IPP_EPS_32F ( 1.192092890e-07f )
  92. #define IPP_MINABS_64F ( 2.2250738585072014e-308 )
  93. #define IPP_MAXABS_64F ( 1.7976931348623158e+308 )
  94. #define IPP_EPS_64F ( 2.2204460492503131e-016 )
  95. #define IPP_DEG_TO_RAD( deg ) ( (deg)/180.0 * IPP_PI )
  96. #define IPP_COUNT_OF( obj ) (sizeof(obj)/sizeof(obj[0]))
  97. #define IPP_MAX( a, b ) ( ((a) > (b)) ? (a) : (b) )
  98. #define IPP_MIN( a, b ) ( ((a) < (b)) ? (a) : (b) )
  99. #define IPP_TEMPORAL_COPY 0x0
  100. #define IPP_NONTEMPORAL_STORE 0x01
  101. #if !defined( _OWN_BLDPCS )
  102. typedef enum {
  103. /* Enumeration: Processor: */
  104. ippCpuUnknown = 0x00,
  105. ippCpuPP = 0x01, /* Intel(R) Pentium(R) processor */
  106. ippCpuPMX = 0x02, /* Pentium(R) processor with MMX(TM) technology */
  107. ippCpuPPR = 0x03, /* Pentium(R) Pro processor */
  108. ippCpuPII = 0x04, /* Pentium(R) II processor */
  109. ippCpuPIII = 0x05, /* Pentium(R) III processor and Pentium(R) III Xeon(R) processor */
  110. ippCpuP4 = 0x06, /* Pentium(R) 4 processor and Intel(R) Xeon(R) processor */
  111. ippCpuP4HT = 0x07, /* Pentium(R) 4 Processor with HT Technology */
  112. ippCpuP4HT2 = 0x08, /* Pentium(R) 4 processor with Streaming SIMD Extensions 3 */
  113. ippCpuCentrino = 0x09, /* Intel(R) Centrino(TM) mobile technology */
  114. ippCpuCoreSolo = 0x0a, /* Intel(R) Core(TM) Solo processor */
  115. ippCpuCoreDuo = 0x0b, /* Intel(R) Core(TM) Duo processor */
  116. ippCpuITP = 0x10, /* Intel(R) Itanium(R) processor */
  117. ippCpuITP2 = 0x11, /* Intel(R) Itanium(R) 2 processor */
  118. ippCpuEM64T = 0x20, /* Intel(R) 64 Instruction Set Architecture (ISA) */
  119. ippCpuC2D = 0x21, /* Intel(R) Core(TM) 2 Duo processor */
  120. ippCpuC2Q = 0x22, /* Intel(R) Core(TM) 2 Quad processor */
  121. ippCpuPenryn = 0x23, /* Intel(R) Core(TM) 2 processor with Intel(R) SSE4.1 */
  122. ippCpuBonnell = 0x24, /* Intel(R) Atom(TM) processor */
  123. ippCpuNehalem = 0x25, /* Intel(R) Core(TM) i7 processor */
  124. ippCpuNext = 0x26,
  125. ippCpuSSE = 0x40, /* Processor supports Streaming SIMD Extensions instruction set */
  126. ippCpuSSE2 = 0x41, /* Processor supports Streaming SIMD Extensions 2 instruction set */
  127. ippCpuSSE3 = 0x42, /* Processor supports Streaming SIMD Extensions 3 instruction set */
  128. ippCpuSSSE3 = 0x43, /* Processor supports Supplemental Streaming SIMD Extension 3
  129. instruction set */
  130. ippCpuSSE41 = 0x44, /* Processor supports Streaming SIMD Extensions 4.1 instruction set */
  131. ippCpuSSE42 = 0x45, /* Processor supports Streaming SIMD Extensions 4.2 instruction set */
  132. ippCpuAVX = 0x46, /* Processor supports Advanced Vector Extensions instruction set */
  133. ippCpuX8664 = 0x60 /* Processor supports 64 bit extension */
  134. } IppCpuType;
  135. #define ippCPUID_MMX 1 /* Intel Architecture MMX technology supported */
  136. #define ippCPUID_SSE 2 /* Streaming SIMD Extensions */
  137. #define ippCPUID_SSE2 4 /* Streaming SIMD Extensions 2 */
  138. #define ippCPUID_SSE3 8 /* Streaming SIMD Extensions 3 */
  139. #define ippCPUID_SSSE3 16 /* Supplemental Streaming SIMD Extensions 3 */
  140. #define ippCPUID_MOVBE 32 /* The processor supports MOVBE instruction */
  141. #define ippCPUID_SSE41 64 /* Streaming SIMD Extensions 4.1 */
  142. #define ippCPUID_SSE42 128 /* Streaming SIMD Extensions 4.2 */
  143. #define ippCPUID_AVX 256 /* Advanced Vector Extensions instruction set */
  144. #define ippAVX_ENABLEDBYOS 512 /* The operating system supports AVX */
  145. #define ippCPUID_AES 1024 /* AES instruction */
  146. #define ippCPUID_CLMUL 2048 /* PCLMULQDQ instruction */
  147. /* Management of function ippGetCpuFeatures */
  148. #define ippCPUID_GETINFO_A 0x616f666e69746567
  149. typedef struct {
  150. int major; /* e.g. 1 */
  151. int minor; /* e.g. 2 */
  152. int majorBuild; /* e.g. 3 */
  153. int build; /* e.g. 10, always >= majorBuild */
  154. char targetCpu[4]; /* corresponding to Intel(R) processor */
  155. const char* Name; /* e.g. "ippsw7" */
  156. const char* Version; /* e.g. "v1.2 Beta" */
  157. const char* BuildDate; /* e.g. "Jul 20 99" */
  158. } IppLibraryVersion;
  159. typedef unsigned char Ipp8u;
  160. typedef unsigned short Ipp16u;
  161. typedef unsigned int Ipp32u;
  162. typedef signed char Ipp8s;
  163. typedef signed short Ipp16s;
  164. typedef signed int Ipp32s;
  165. typedef float Ipp32f;
  166. typedef __INT64 Ipp64s;
  167. typedef __UINT64 Ipp64u;
  168. typedef double Ipp64f;
  169. typedef struct {
  170. Ipp8s re;
  171. Ipp8s im;
  172. } Ipp8sc;
  173. typedef struct {
  174. Ipp16s re;
  175. Ipp16s im;
  176. } Ipp16sc;
  177. typedef struct {
  178. Ipp16u re;
  179. Ipp16u im;
  180. } Ipp16uc;
  181. typedef struct {
  182. Ipp32s re;
  183. Ipp32s im;
  184. } Ipp32sc;
  185. typedef struct {
  186. Ipp32f re;
  187. Ipp32f im;
  188. } Ipp32fc;
  189. typedef struct {
  190. Ipp64s re;
  191. Ipp64s im;
  192. } Ipp64sc;
  193. typedef struct {
  194. Ipp64f re;
  195. Ipp64f im;
  196. } Ipp64fc;
  197. typedef enum {
  198. ippRndZero,
  199. ippRndNear,
  200. ippRndFinancial
  201. } IppRoundMode;
  202. typedef enum {
  203. ippAlgHintNone,
  204. ippAlgHintFast,
  205. ippAlgHintAccurate
  206. } IppHintAlgorithm;
  207. typedef enum {
  208. ippCmpLess,
  209. ippCmpLessEq,
  210. ippCmpEq,
  211. ippCmpGreaterEq,
  212. ippCmpGreater
  213. } IppCmpOp;
  214. enum {
  215. IPP_FFT_DIV_FWD_BY_N = 1,
  216. IPP_FFT_DIV_INV_BY_N = 2,
  217. IPP_FFT_DIV_BY_SQRTN = 4,
  218. IPP_FFT_NODIV_BY_ANY = 8
  219. };
  220. enum {
  221. IPP_DIV_FWD_BY_N = 1,
  222. IPP_DIV_INV_BY_N = 2,
  223. IPP_DIV_BY_SQRTN = 4,
  224. IPP_NODIV_BY_ANY = 8
  225. };
  226. typedef enum {
  227. ippUndef = -1,
  228. ipp1u = 0,
  229. ipp8u = 1,
  230. ipp8uc = 2,
  231. ipp8s = 3,
  232. ipp8sc = 4,
  233. ipp16u = 5,
  234. ipp16uc = 6,
  235. ipp16s = 7,
  236. ipp16sc = 8,
  237. ipp32u = 9,
  238. ipp32uc = 10,
  239. ipp32s = 11,
  240. ipp32sc = 12,
  241. ipp32f = 13,
  242. ipp32fc = 14,
  243. ipp64u = 15,
  244. ipp64uc = 16,
  245. ipp64s = 17,
  246. ipp64sc = 18,
  247. ipp64f = 19,
  248. ipp64fc = 20
  249. } IppDataType;
  250. typedef enum {
  251. ippC0 = 0,
  252. ippC1 = 1,
  253. ippC2 = 2,
  254. ippC3 = 3,
  255. ippC4 = 4,
  256. ippP2 = 5,
  257. ippP3 = 6,
  258. ippP4 = 7,
  259. ippAC1 = 8,
  260. ippAC4 = 9,
  261. ippA0C4 = 10,
  262. ippAP4 = 11
  263. } IppChannels;
  264. typedef enum _IppiBorderType {
  265. ippBorderConst = 0,
  266. ippBorderRepl = 1,
  267. ippBorderWrap = 2,
  268. ippBorderMirror = 3,
  269. ippBorderMirrorR = 4,
  270. ippBorderMirror2 = 5,
  271. ippBorderInMem = 6,
  272. ippBorderInMemTop = 0x0010,
  273. ippBorderInMemBottom = 0x0020,
  274. ippBorderInMemLeft = 0x0040,
  275. ippBorderInMemRight = 0x0080
  276. } IppiBorderType;
  277. typedef struct {
  278. int x;
  279. int y;
  280. int width;
  281. int height;
  282. } IppiRect;
  283. typedef struct {
  284. int x;
  285. int y;
  286. } IppiPoint;
  287. typedef struct {
  288. int width;
  289. int height;
  290. } IppiSize;
  291. typedef struct {
  292. Ipp32f x;
  293. Ipp32f y;
  294. } IppiPoint_32f;
  295. typedef struct {
  296. Ipp32f rho;
  297. Ipp32f theta;
  298. } IppPointPolar;
  299. #define DECLARE_IPPCONTEXT(IppCtxName) struct __##IppCtxName##__; typedef struct __##IppCtxName##__ IppCtxName
  300. struct VLCDecodeSpec_32s;
  301. typedef struct VLCDecodeSpec_32s IppsVLCDecodeSpec_32s;
  302. struct VLCEncodeSpec_32s;
  303. typedef struct VLCEncodeSpec_32s IppsVLCEncodeSpec_32s;
  304. struct VLCDecodeUTupleSpec_32s;
  305. typedef struct VLCDecodeUTupleSpec_32s IppsVLCDecodeUTupleSpec_32s;
  306. enum {
  307. IPP_UPPER = 1,
  308. IPP_LEFT = 2,
  309. IPP_CENTER = 4,
  310. IPP_RIGHT = 8,
  311. IPP_LOWER = 16,
  312. IPP_UPPER_LEFT = 32,
  313. IPP_UPPER_RIGHT = 64,
  314. IPP_LOWER_LEFT = 128,
  315. IPP_LOWER_RIGHT = 256
  316. };
  317. typedef enum _IppiMaskSize {
  318. ippMskSize1x3 = 13,
  319. ippMskSize1x5 = 15,
  320. ippMskSize3x1 = 31,
  321. ippMskSize3x3 = 33,
  322. ippMskSize5x1 = 51,
  323. ippMskSize5x5 = 55
  324. } IppiMaskSize;
  325. enum {
  326. IPPI_INTER_NN = 1,
  327. IPPI_INTER_LINEAR = 2,
  328. IPPI_INTER_CUBIC = 4,
  329. IPPI_INTER_CUBIC2P_BSPLINE, /* two-parameter cubic filter (B=1, C=0) */
  330. IPPI_INTER_CUBIC2P_CATMULLROM, /* two-parameter cubic filter (B=0, C=1/2) */
  331. IPPI_INTER_CUBIC2P_B05C03, /* two-parameter cubic filter (B=1/2, C=3/10) */
  332. IPPI_INTER_SUPER = 8,
  333. IPPI_INTER_LANCZOS = 16,
  334. IPPI_SUBPIXEL_EDGE = (1 << 30),
  335. IPPI_SMOOTH_EDGE = (1 << 31)
  336. };
  337. typedef enum {
  338. ippPolyphase_1_2,
  339. ippPolyphase_3_5,
  340. ippPolyphase_2_3,
  341. ippPolyphase_7_10,
  342. ippPolyphase_3_4
  343. } IppiFraction;
  344. typedef enum { ippFalse = 0, ippTrue = 1 } IppBool;
  345. typedef enum {ippWinBartlett,ippWinBlackman,ippWinHamming,ippWinHann,ippWinRect} IppWinType;
  346. typedef enum { ippButterworth, ippChebyshev1 } IppsIIRFilterType;
  347. typedef enum { ippZCR=0, ippZCXor, ippZCC } IppsZCType;
  348. typedef struct {
  349. int width;
  350. int height;
  351. int depth;
  352. } IpprVolume;
  353. typedef struct {
  354. int x;
  355. int y;
  356. int z;
  357. int width;
  358. int height;
  359. int depth;
  360. } IpprCuboid;
  361. typedef struct {
  362. int x;
  363. int y;
  364. int z;
  365. } IpprPoint;
  366. /* /////////////////////////////////////////////////////////////////////////////
  367. // The following enumerator defines a status of IPP operations
  368. // negative value means error
  369. */
  370. typedef enum {
  371. /* errors */
  372. ippStsNotSupportedModeErr = -9999,/* The requested mode is currently not supported */
  373. ippStsCpuNotSupportedErr = -9998,/* The target cpu is not supported */
  374. ippStsLoadDynErr = -221, /* Fatal error during loading of dynamic library */
  375. ippStsPointAtInfinity = -220, /* Point at infinity is detected */
  376. ippStsI18nUnsupportedErr = -219, /* Internationalization (i18n) is not supported */
  377. ippStsI18nMsgCatalogOpenErr = -218, /* Message Catalog cannot be opened, for extended information use errno in Linux and GetLastError in Windows* */
  378. ippStsI18nMsgCatalogCloseErr = -217, /* Message Catalog cannot be closed, for extended information use errno in Linux and GetLastError in Windows* */
  379. ippStsUnknownStatusCodeErr = -216, /* Unknown Status Code */
  380. ippStsOFBSizeErr = -215, /* Wrong value for crypto OFB block size */
  381. ippStsLzoBrokenStreamErr = -214, /* LZO safe decompression function cannot decode LZO stream */
  382. ippStsRoundModeNotSupportedErr = -213, /* Unsupported round mode*/
  383. ippStsDecimateFractionErr = -212, /* Unsupported fraction in Decimate */
  384. ippStsWeightErr = -211, /* Wrong value of weight */
  385. ippStsQualityIndexErr = -210, /* Quality Index can't be calculated for image filled with constant */
  386. ippStsIIRPassbandRippleErr = -209, /* Ripple in passband for Chebyshev1 design is less than zero, equal to zero or greater than 29 */
  387. ippStsFilterFrequencyErr = -208, /* Cut of frequency of filter is less zero, equal to zero or greater than 0.5 */
  388. ippStsFIRGenOrderErr = -207, /* Order of an FIR filter for design them is less than one */
  389. ippStsIIRGenOrderErr = -206, /* Order of an IIR filter for design them is less than one or greater than 12 */
  390. ippStsConvergeErr = -205, /* The algorithm does not converge*/
  391. ippStsSizeMatchMatrixErr = -204, /* Unsuitable sizes of the source matrices*/
  392. ippStsCountMatrixErr = -203, /* Count value is negative or equal to 0*/
  393. ippStsRoiShiftMatrixErr = -202, /* RoiShift value is negative or not dividend to size of data type*/
  394. ippStsResizeNoOperationErr = -201, /* One of the output image dimensions is less than 1 pixel */
  395. ippStsSrcDataErr = -200, /* The source buffer contains unsupported data */
  396. ippStsMaxLenHuffCodeErr = -199, /* Huff: Max length of Huffman code is more than expected one */
  397. ippStsCodeLenTableErr = -198, /* Huff: Invalid codeLenTable */
  398. ippStsFreqTableErr = -197, /* Huff: Invalid freqTable */
  399. ippStsIncompleteContextErr = -196, /* Crypto: set up of context is not complete */
  400. ippStsSingularErr = -195, /* Matrix is singular */
  401. ippStsSparseErr = -194, /* Tap positions are not in ascending order, negative or repeated*/
  402. ippStsBitOffsetErr = -193, /* Incorrect bit offset value */
  403. ippStsQPErr = -192, /* Incorrect quantization parameter */
  404. ippStsVLCErr = -191, /* Illegal VLC or FLC during stream decoding */
  405. ippStsRegExpOptionsErr = -190, /* RegExp: Options for pattern are incorrect */
  406. ippStsRegExpErr = -189, /* RegExp: The structure pRegExpState contains wrong data */
  407. ippStsRegExpMatchLimitErr = -188, /* RegExp: The match limit has been exhausted */
  408. ippStsRegExpQuantifierErr = -187, /* RegExp: wrong quantifier */
  409. ippStsRegExpGroupingErr = -186, /* RegExp: wrong grouping */
  410. ippStsRegExpBackRefErr = -185, /* RegExp: wrong back reference */
  411. ippStsRegExpChClassErr = -184, /* RegExp: wrong character class */
  412. ippStsRegExpMetaChErr = -183, /* RegExp: wrong metacharacter */
  413. ippStsStrideMatrixErr = -182, /* Stride value is not positive or not dividend to size of data type */
  414. ippStsCTRSizeErr = -181, /* Wrong value for crypto CTR block size */
  415. ippStsJPEG2KCodeBlockIsNotAttached =-180, /* codeblock parameters are not attached to the state structure */
  416. ippStsNotPosDefErr = -179, /* Not positive-definite matrix */
  417. ippStsEphemeralKeyErr = -178, /* ECC: Bad ephemeral key */
  418. ippStsMessageErr = -177, /* ECC: Bad message digest */
  419. ippStsShareKeyErr = -176, /* ECC: Invalid share key */
  420. ippStsIvalidPublicKey = -175, /* ECC: Invalid public key */
  421. ippStsIvalidPrivateKey = -174, /* ECC: Invalid private key */
  422. ippStsOutOfECErr = -173, /* ECC: Point out of EC */
  423. ippStsECCInvalidFlagErr = -172, /* ECC: Invalid Flag */
  424. ippStsMP3FrameHeaderErr = -171, /* Error in fields IppMP3FrameHeader structure */
  425. ippStsMP3SideInfoErr = -170, /* Error in fields IppMP3SideInfo structure */
  426. ippStsBlockStepErr = -169, /* Step for Block less than 8 */
  427. ippStsMBStepErr = -168, /* Step for MB less than 16 */
  428. ippStsAacPrgNumErr = -167, /* AAC: Invalid number of elements for one program */
  429. ippStsAacSectCbErr = -166, /* AAC: Invalid section codebook */
  430. ippStsAacSfValErr = -164, /* AAC: Invalid scalefactor value */
  431. ippStsAacCoefValErr = -163, /* AAC: Invalid quantized coefficient value */
  432. ippStsAacMaxSfbErr = -162, /* AAC: Invalid coefficient index */
  433. ippStsAacPredSfbErr = -161, /* AAC: Invalid predicted coefficient index */
  434. ippStsAacPlsDataErr = -160, /* AAC: Invalid pulse data attributes */
  435. ippStsAacGainCtrErr = -159, /* AAC: Gain control not supported */
  436. ippStsAacSectErr = -158, /* AAC: Invalid number of sections */
  437. ippStsAacTnsNumFiltErr = -157, /* AAC: Invalid number of TNS filters */
  438. ippStsAacTnsLenErr = -156, /* AAC: Invalid TNS region length */
  439. ippStsAacTnsOrderErr = -155, /* AAC: Invalid order of TNS filter */
  440. ippStsAacTnsCoefResErr = -154, /* AAC: Invalid bit-resolution for TNS filter coefficients */
  441. ippStsAacTnsCoefErr = -153, /* AAC: Invalid TNS filter coefficients */
  442. ippStsAacTnsDirectErr = -152, /* AAC: Invalid TNS filter direction */
  443. ippStsAacTnsProfileErr = -151, /* AAC: Invalid TNS profile */
  444. ippStsAacErr = -150, /* AAC: Internal error */
  445. ippStsAacBitOffsetErr = -149, /* AAC: Invalid current bit offset in bitstream */
  446. ippStsAacAdtsSyncWordErr = -148, /* AAC: Invalid ADTS syncword */
  447. ippStsAacSmplRateIdxErr = -147, /* AAC: Invalid sample rate index */
  448. ippStsAacWinLenErr = -146, /* AAC: Invalid window length (not short or long) */
  449. ippStsAacWinGrpErr = -145, /* AAC: Invalid number of groups for current window length */
  450. ippStsAacWinSeqErr = -144, /* AAC: Invalid window sequence range */
  451. ippStsAacComWinErr = -143, /* AAC: Invalid common window flag */
  452. ippStsAacStereoMaskErr = -142, /* AAC: Invalid stereo mask */
  453. ippStsAacChanErr = -141, /* AAC: Invalid channel number */
  454. ippStsAacMonoStereoErr = -140, /* AAC: Invalid mono-stereo flag */
  455. ippStsAacStereoLayerErr = -139, /* AAC: Invalid this Stereo Layer flag */
  456. ippStsAacMonoLayerErr = -138, /* AAC: Invalid this Mono Layer flag */
  457. ippStsAacScalableErr = -137, /* AAC: Invalid scalable object flag */
  458. ippStsAacObjTypeErr = -136, /* AAC: Invalid audio object type */
  459. ippStsAacWinShapeErr = -135, /* AAC: Invalid window shape */
  460. ippStsAacPcmModeErr = -134, /* AAC: Invalid PCM output interleaving indicator */
  461. ippStsVLCUsrTblHeaderErr = -133, /* VLC: Invalid header inside table */
  462. ippStsVLCUsrTblUnsupportedFmtErr = -132, /* VLC: Unsupported table format */
  463. ippStsVLCUsrTblEscAlgTypeErr = -131, /* VLC: Unsupported Ecs-algorithm */
  464. ippStsVLCUsrTblEscCodeLengthErr = -130, /* VLC: Incorrect Esc-code length inside table header */
  465. ippStsVLCUsrTblCodeLengthErr = -129, /* VLC: Unsupported code length inside table */
  466. ippStsVLCInternalTblErr = -128, /* VLC: Invalid internal table */
  467. ippStsVLCInputDataErr = -127, /* VLC: Invalid input data */
  468. ippStsVLCAACEscCodeLengthErr = -126, /* VLC: Invalid AAC-Esc code length */
  469. ippStsNoiseRangeErr = -125, /* Noise value for Wiener Filter is out range. */
  470. ippStsUnderRunErr = -124, /* Data under run error */
  471. ippStsPaddingErr = -123, /* Detected padding error shows the possible data corruption */
  472. ippStsCFBSizeErr = -122, /* Wrong value for crypto CFB block size */
  473. ippStsPaddingSchemeErr = -121, /* Invalid padding scheme */
  474. ippStsInvalidCryptoKeyErr = -120, /* A compromised key causes suspansion of requested cryptographic operation */
  475. ippStsLengthErr = -119, /* Wrong value of string length */
  476. ippStsBadModulusErr = -118, /* Bad modulus caused a module inversion failure */
  477. ippStsLPCCalcErr = -117, /* Linear prediction could not be evaluated */
  478. ippStsRCCalcErr = -116, /* Reflection coefficients could not be computed */
  479. ippStsIncorrectLSPErr = -115, /* Incorrect Linear Spectral Pair values */
  480. ippStsNoRootFoundErr = -114, /* No roots are found for equation */
  481. ippStsJPEG2KBadPassNumber = -113, /* Pass number exceeds allowed limits [0,nOfPasses-1] */
  482. ippStsJPEG2KDamagedCodeBlock= -112, /* Codeblock for decoding is damaged */
  483. ippStsH263CBPYCodeErr = -111, /* Illegal Huffman code during CBPY stream processing */
  484. ippStsH263MCBPCInterCodeErr = -110, /* Illegal Huffman code during MCBPC Inter stream processing */
  485. ippStsH263MCBPCIntraCodeErr = -109, /* Illegal Huffman code during MCBPC Intra stream processing */
  486. ippStsNotEvenStepErr = -108, /* Step value is not pixel multiple */
  487. ippStsHistoNofLevelsErr = -107, /* Number of levels for histogram is less than 2 */
  488. ippStsLUTNofLevelsErr = -106, /* Number of levels for LUT is less than 2 */
  489. ippStsMP4BitOffsetErr = -105, /* Incorrect bit offset value */
  490. ippStsMP4QPErr = -104, /* Incorrect quantization parameter */
  491. ippStsMP4BlockIdxErr = -103, /* Incorrect block index */
  492. ippStsMP4BlockTypeErr = -102, /* Incorrect block type */
  493. ippStsMP4MVCodeErr = -101, /* Illegal Huffman code during MV stream processing */
  494. ippStsMP4VLCCodeErr = -100, /* Illegal Huffman code during VLC stream processing */
  495. ippStsMP4DCCodeErr = -99, /* Illegal code during DC stream processing */
  496. ippStsMP4FcodeErr = -98, /* Incorrect fcode value */
  497. ippStsMP4AlignErr = -97, /* Incorrect buffer alignment */
  498. ippStsMP4TempDiffErr = -96, /* Incorrect temporal difference */
  499. ippStsMP4BlockSizeErr = -95, /* Incorrect size of block or macroblock */
  500. ippStsMP4ZeroBABErr = -94, /* All BAB values are zero */
  501. ippStsMP4PredDirErr = -93, /* Incorrect prediction direction */
  502. ippStsMP4BitsPerPixelErr = -92, /* Incorrect number of bits per pixel */
  503. ippStsMP4VideoCompModeErr = -91, /* Incorrect video component mode */
  504. ippStsMP4LinearModeErr = -90, /* Incorrect DC linear mode */
  505. ippStsH263PredModeErr = -83, /* Prediction Mode value error */
  506. ippStsH263BlockStepErr = -82, /* Step value is less than 8 */
  507. ippStsH263MBStepErr = -81, /* Step value is less than 16 */
  508. ippStsH263FrameWidthErr = -80, /* Frame width is less than 8 */
  509. ippStsH263FrameHeightErr = -79, /* Frame height is less than or equal to zero */
  510. ippStsH263ExpandPelsErr = -78, /* Expand pixels number is less than 8 */
  511. ippStsH263PlaneStepErr = -77, /* Step value is less than the plane width */
  512. ippStsH263QuantErr = -76, /* Quantizer value is less than or equal to zero, or greater than 31 */
  513. ippStsH263MVCodeErr = -75, /* Illegal Huffman code during MV stream processing */
  514. ippStsH263VLCCodeErr = -74, /* Illegal Huffman code during VLC stream processing */
  515. ippStsH263DCCodeErr = -73, /* Illegal code during DC stream processing */
  516. ippStsH263ZigzagLenErr = -72, /* Zigzag compact length is more than 64 */
  517. ippStsFBankFreqErr = -71, /* Incorrect value of the filter bank frequency parameter */
  518. ippStsFBankFlagErr = -70, /* Incorrect value of the filter bank parameter */
  519. ippStsFBankErr = -69, /* Filter bank is not correctly initialized */
  520. ippStsNegOccErr = -67, /* Negative occupation count */
  521. ippStsCdbkFlagErr = -66, /* Incorrect value of the codebook flag parameter */
  522. ippStsSVDCnvgErr = -65, /* No convergence of SVD algorithm */
  523. ippStsJPEGHuffTableErr = -64, /* JPEG Huffman table is destroyed */
  524. ippStsJPEGDCTRangeErr = -63, /* JPEG DCT coefficient is out of the range */
  525. ippStsJPEGOutOfBufErr = -62, /* Attempt to access out of the buffer */
  526. ippStsDrawTextErr = -61, /* System error in the draw text operation */
  527. ippStsChannelOrderErr = -60, /* Wrong order of the destination channels */
  528. ippStsZeroMaskValuesErr = -59, /* All values of the mask are zero */
  529. ippStsQuadErr = -58, /* The quadrangle is nonconvex or degenerates into triangle, line or point */
  530. ippStsRectErr = -57, /* Size of the rectangle region is less than or equal to 1 */
  531. ippStsCoeffErr = -56, /* Unallowable values of the transformation coefficients */
  532. ippStsNoiseValErr = -55, /* Bad value of noise amplitude for dithering */
  533. ippStsDitherLevelsErr = -54, /* Number of dithering levels is out of range */
  534. ippStsNumChannelsErr = -53, /* Bad or unsupported number of channels */
  535. ippStsCOIErr = -52, /* COI is out of range */
  536. ippStsDivisorErr = -51, /* Divisor is equal to zero, function is aborted */
  537. ippStsAlphaTypeErr = -50, /* Illegal type of image compositing operation */
  538. ippStsGammaRangeErr = -49, /* Gamma range bounds is less than or equal to zero */
  539. ippStsGrayCoefSumErr = -48, /* Sum of the conversion coefficients must be less than or equal to 1 */
  540. ippStsChannelErr = -47, /* Illegal channel number */
  541. ippStsToneMagnErr = -46, /* Tone magnitude is less than or equal to zero */
  542. ippStsToneFreqErr = -45, /* Tone frequency is negative, or greater than or equal to 0.5 */
  543. ippStsTonePhaseErr = -44, /* Tone phase is negative, or greater than or equal to 2*PI */
  544. ippStsTrnglMagnErr = -43, /* Triangle magnitude is less than or equal to zero */
  545. ippStsTrnglFreqErr = -42, /* Triangle frequency is negative, or greater than or equal to 0.5 */
  546. ippStsTrnglPhaseErr = -41, /* Triangle phase is negative, or greater than or equal to 2*PI */
  547. ippStsTrnglAsymErr = -40, /* Triangle asymmetry is less than -PI, or greater than or equal to PI */
  548. ippStsHugeWinErr = -39, /* Kaiser window is too huge */
  549. ippStsJaehneErr = -38, /* Magnitude value is negative */
  550. ippStsStrideErr = -37, /* Stride value is less than the row length */
  551. ippStsEpsValErr = -36, /* Negative epsilon value error */
  552. ippStsWtOffsetErr = -35, /* Invalid offset value of wavelet filter */
  553. ippStsAnchorErr = -34, /* Anchor point is outside the mask */
  554. ippStsMaskSizeErr = -33, /* Invalid mask size */
  555. ippStsShiftErr = -32, /* Shift value is less than zero */
  556. ippStsSampleFactorErr = -31, /* Sampling factor is less than or equal to zero */
  557. ippStsSamplePhaseErr = -30, /* Phase value is out of range: 0 <= phase < factor */
  558. ippStsFIRMRFactorErr = -29, /* MR FIR sampling factor is less than or equal to zero */
  559. ippStsFIRMRPhaseErr = -28, /* MR FIR sampling phase is negative, or greater than or equal to the sampling factor */
  560. ippStsRelFreqErr = -27, /* Relative frequency value is out of range */
  561. ippStsFIRLenErr = -26, /* Length of a FIR filter is less than or equal to zero */
  562. ippStsIIROrderErr = -25, /* Order of an IIR filter is not valid */
  563. ippStsDlyLineIndexErr = -24, /* Invalid value of the delay line sample index */
  564. ippStsResizeFactorErr = -23, /* Resize factor(s) is less than or equal to zero */
  565. ippStsInterpolationErr = -22, /* Invalid interpolation mode */
  566. ippStsMirrorFlipErr = -21, /* Invalid flip mode */
  567. ippStsMoment00ZeroErr = -20, /* Moment value M(0,0) is too small to continue calculations */
  568. ippStsThreshNegLevelErr = -19, /* Negative value of the level in the threshold operation */
  569. ippStsThresholdErr = -18, /* Invalid threshold bounds */
  570. ippStsContextMatchErr = -17, /* Context parameter doesn't match the operation */
  571. ippStsFftFlagErr = -16, /* Invalid value of the FFT flag parameter */
  572. ippStsFftOrderErr = -15, /* Invalid value of the FFT order parameter */
  573. ippStsStepErr = -14, /* Step value is not valid */
  574. ippStsScaleRangeErr = -13, /* Scale bounds are out of the range */
  575. ippStsDataTypeErr = -12, /* Bad or unsupported data type */
  576. ippStsOutOfRangeErr = -11, /* Argument is out of range or point is outside the image */
  577. ippStsDivByZeroErr = -10, /* An attempt to divide by zero */
  578. ippStsMemAllocErr = -9, /* Not enough memory allocated for the operation */
  579. ippStsNullPtrErr = -8, /* Null pointer error */
  580. ippStsRangeErr = -7, /* Bad values of bounds: the lower bound is greater than the upper bound */
  581. ippStsSizeErr = -6, /* Wrong value of data size */
  582. ippStsBadArgErr = -5, /* Function arg/param is bad */
  583. ippStsNoMemErr = -4, /* Not enough memory for the operation */
  584. ippStsSAReservedErr3 = -3, /* Unknown/unspecified error, -3 */
  585. ippStsErr = -2, /* Unknown/unspecified error, -2 */
  586. ippStsSAReservedErr1 = -1, /* Unknown/unspecified error, -1 */
  587. /* no errors */
  588. ippStsNoErr = 0, /* No error, it's OK */
  589. /* warnings */
  590. ippStsNoOperation = 1, /* No operation has been executed */
  591. ippStsMisalignedBuf = 2, /* Misaligned pointer in operation in which it must be aligned */
  592. ippStsSqrtNegArg = 3, /* Negative value(s) of the argument in the function Sqrt */
  593. ippStsInvZero = 4, /* INF result. Zero value was met by InvThresh with zero level */
  594. ippStsEvenMedianMaskSize= 5, /* Even size of the Median Filter mask was replaced by the odd one */
  595. ippStsDivByZero = 6, /* Zero value(s) of the divisor in the function Div */
  596. ippStsLnZeroArg = 7, /* Zero value(s) of the argument in the function Ln */
  597. ippStsLnNegArg = 8, /* Negative value(s) of the argument in the function Ln */
  598. ippStsNanArg = 9, /* Not a Number argument value warning */
  599. ippStsJPEGMarker = 10, /* JPEG marker was met in the bitstream */
  600. ippStsResFloor = 11, /* All result values are floored */
  601. ippStsOverflow = 12, /* Overflow occurred in the operation */
  602. ippStsLSFLow = 13, /* Quantized LP syntethis filter stability check is applied at the low boundary of [0,pi] */
  603. ippStsLSFHigh = 14, /* Quantized LP syntethis filter stability check is applied at the high boundary of [0,pi] */
  604. ippStsLSFLowAndHigh = 15, /* Quantized LP syntethis filter stability check is applied at both boundaries of [0,pi] */
  605. ippStsZeroOcc = 16, /* Zero occupation count */
  606. ippStsUnderflow = 17, /* Underflow occurred in the operation */
  607. ippStsSingularity = 18, /* Singularity occurred in the operation */
  608. ippStsDomain = 19, /* Argument is out of the function domain */
  609. ippStsNonIntelCpu = 20, /* The target cpu is not Genuine Intel */
  610. ippStsCpuMismatch = 21, /* The library for given cpu cannot be set */
  611. ippStsNoIppFunctionFound = 22, /* Application does not contain IPP functions calls */
  612. ippStsDllNotFoundBestUsed = 23, /* The newest version of IPP dll was not found by dispatcher */
  613. ippStsNoOperationInDll = 24, /* The function does nothing in the dynamic version of the library */
  614. ippStsInsufficientEntropy= 25, /* Insufficient entropy in the random seed and stimulus bit string caused the prime/key generation to fail */
  615. ippStsOvermuchStrings = 26, /* Number of destination strings is more than expected */
  616. ippStsOverlongString = 27, /* Length of one of the destination strings is more than expected */
  617. ippStsAffineQuadChanged = 28, /* 4th vertex of destination quad is not equal to customer's one */
  618. ippStsWrongIntersectROI = 29, /* Wrong ROI that has no intersection with the source or destination ROI. No operation */
  619. ippStsWrongIntersectQuad = 30, /* Wrong quadrangle that has no intersection with the source or destination ROI. No operation */
  620. ippStsSmallerCodebook = 31, /* Size of created codebook is less than cdbkSize argument */
  621. ippStsSrcSizeLessExpected = 32, /* DC: The size of source buffer is less than expected one */
  622. ippStsDstSizeLessExpected = 33, /* DC: The size of destination buffer is less than expected one */
  623. ippStsStreamEnd = 34, /* DC: The end of stream processed */
  624. ippStsDoubleSize = 35, /* Sizes of image are not multiples of 2 */
  625. ippStsNotSupportedCpu = 36, /* The cpu is not supported */
  626. ippStsUnknownCacheSize = 37, /* The cpu is supported, but the size of the cache is unknown */
  627. ippStsSymKernelExpected = 38, /* The Kernel is not symmetric*/
  628. ippStsEvenMedianWeight = 39, /* Even weight of the Weighted Median Filter was replaced by the odd one */
  629. ippStsWrongIntersectVOI = 40, /* VOI has no intersection with the source or destination volume. No operation */
  630. ippStsI18nMsgCatalogInvalid=41, /* Message Catalog is invalid, English message returned */
  631. ippStsI18nGetMessageFail = 42, /* Failed to fetch a localized message, English message returned. For extended information use errno in Linux and GetLastError in Windows* */
  632. ippStsWaterfall = 43, /* Cannot load required library, waterfall is used */
  633. ippStsPrevLibraryUsed = 44 /* Cannot load required library, previous dynamic library is used */
  634. } IppStatus;
  635. #define ippStsOk ippStsNoErr
  636. #endif /* _OWN_BLDPCS */
  637. #ifdef __cplusplus
  638. }
  639. #endif
  640. #endif /* __IPPDEFS_H__ */
  641. /* ///////////////////////// End of file "ippdefs.h" //////////////////////// */