nmpp
mSupport.h
1//------------------------------------------------------------------------
2//
3// $Workfile:: mSupport.h $
4//
5// <Название библиотеки>
6//
7// Copyright (c) RC Module Inc.
8//
9// $Revision: 1.2 $ $Date: 2005/06/23 15:15:15 $
10//
19//------------------------------------------------------------------------
20#ifndef __MSUPPORT_H
21#define __MSUPPORT_H
22
23#include "nmpp.h"
24
25//*****************************************************************************
26
27 /*
28 *
29 * \if Russian
30 * \defgroup mSupport Функции поддержки
31 * \endif
32 * \if English
33 * \defgroup mSupport Support functions
34 * \endif
35 * \ingroup mtr
36 */
37
38//*****************************************************************************
39
77 /*
78__INLINE__ void MTR_Malloc(nm1** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>6) +1, hint);}
79__INLINE__ void MTR_Malloc(nm2s** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>5) +1, hint);}
80__INLINE__ void MTR_Malloc(nm4s** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>4) +1, hint);}
81__INLINE__ void MTR_Malloc(nm8s** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>3) +1, hint);}
82__INLINE__ void MTR_Malloc(nm16s** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>2) +1, hint);}
83__INLINE__ void MTR_Malloc(nm32s** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>1) +1, hint);}
84__INLINE__ void MTR_Malloc(nm64s** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth ) , hint);}
85
86__INLINE__ void MTR_Malloc(nm2u** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>5) +1, hint);}
87__INLINE__ void MTR_Malloc(nm4u** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>4) +1, hint);}
88__INLINE__ void MTR_Malloc(nm8u** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>3) +1, hint);}
89__INLINE__ void MTR_Malloc(nm16u** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>2) +1, hint);}
90__INLINE__ void MTR_Malloc(nm32u** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth>>1) +1, hint);}
91__INLINE__ void MTR_Malloc(nm64u** pptr, int nHeight, int nWidth, int hint = MEM_LOCAL) { nmppsMalloc_64s((nm64s**)pptr, (nHeight*nWidth ) , hint);}
92*/
94
95//*****************************************************************************
96
114
115__INLINE__ void MTR_Free(void* ptr) {nmppsFree(ptr);}
117
118//*****************************************************************************
119
180__INLINE__ nm1* MTR_Addr_1 (nm1* pMTR, int nWidth, int nY, int nX) { return (nm1*) ((int*)pMTR+((nWidth*nY+nX)>>5));}
181__INLINE__ nm2s* MTR_Addr_2s (nm2s* pMTR, int nWidth, int nY, int nX) { return (nm2s*) ((int*)pMTR+((nWidth*nY+nX)>>4));}
182__INLINE__ nm4s* MTR_Addr_4s (nm4s* pMTR, int nWidth, int nY, int nX) { return (nm4s*) ((int*)pMTR+((nWidth*nY+nX)>>3));}
183__INLINE__ nm8s* MTR_Addr_8s (nm8s* pMTR, int nWidth, int nY, int nX) { return (nm8s*) ((int*)pMTR+((nWidth*nY+nX)>>2));}
184__INLINE__ nm16s* MTR_Addr_16s(nm16s* pMTR, int nWidth, int nY, int nX) { return (nm16s*)((int*)pMTR+((nWidth*nY+nX)>>1));}
185__INLINE__ nm32s* MTR_Addr_32s(nm32s* pMTR, int nWidth, int nY, int nX) { return (nm32s*)((int*)pMTR+(nWidth*nY+nX));}
186__INLINE__ nm64s* MTR_Addr_64s(nm64s* pMTR, int nWidth, int nY, int nX) { return (nm64s*)((int*)pMTR+((nWidth*nY+nX)<<1));}
187
188__INLINE__ nm2u* MTR_Addr_2u (nm2u* pMTR, int nWidth, int nY, int nX) { return (nm2u*) ((int*)pMTR+((nWidth*nY+nX)>>4));}
189__INLINE__ nm4u* MTR_Addr_4u (nm4u* pMTR, int nWidth, int nY, int nX) { return (nm4u*) ((int*)pMTR+((nWidth*nY+nX)>>3));}
190__INLINE__ nm8u* MTR_Addr_8u (nm8u* pMTR, int nWidth, int nY, int nX) { return (nm8u*) ((int*)pMTR+((nWidth*nY+nX)>>2));}
191__INLINE__ nm16u* MTR_Addr_16u(nm16u* pMTR, int nWidth, int nY, int nX) { return (nm16u*)((int*)pMTR+((nWidth*nY+nX)>>1));}
192__INLINE__ nm32u* MTR_Addr_32u(nm32u* pMTR, int nWidth, int nY, int nX) { return (nm32u*)((int*)pMTR+(nWidth*nY+nX));}
193__INLINE__ nm64u* MTR_Addr_64u(nm64u* pMTR, int nWidth, int nY, int nX) { return (nm64u*)((int*)pMTR+((nWidth*nY+nX)<<1));}
194
196//*****************************************************************************
197
245__INLINE__ void MTR_SetVal_1 (nm1* pMtr, int nWidth, int nY, int nX, int1b nVal) { nmppsPut_1 (pMtr, nY*nWidth+nX,nVal);}
246__INLINE__ void MTR_SetVal_2s (nm2s* pMtr, int nWidth, int nY, int nX, int2b nVal) { nmppsPut_2s (pMtr, nY*nWidth+nX,nVal);}
247__INLINE__ void MTR_SetVal_4s (nm4s* pMtr, int nWidth, int nY, int nX, int4b nVal) { nmppsPut_4s (pMtr, nY*nWidth+nX,nVal);}
248__INLINE__ void MTR_SetVal_8s (nm8s* pMtr, int nWidth, int nY, int nX, int8b nVal) { nmppsPut_8s (pMtr, nY*nWidth+nX,nVal);}
249__INLINE__ void MTR_SetVal_16s(nm16s* pMtr, int nWidth, int nY, int nX, int16b nVal) { nmppsPut_16s(pMtr, nY*nWidth+nX,nVal);}
250__INLINE__ void MTR_SetVal_32s(nm32s* pMtr, int nWidth, int nY, int nX, int32b nVal) { nmppsPut_32s(pMtr, nY*nWidth+nX,nVal);}
251__INLINE__ void MTR_SetVal_64s(nm64s* pMtr, int nWidth, int nY, int nX, int64b nVal) { nmppsPut_64s(pMtr, nY*nWidth+nX,nVal);}
252
253__INLINE__ void MTR_SetVal_2u (nm2u* pMtr, int nWidth, int nY, int nX, uint2b nVal) { nmppsPut_2u (pMtr, nY*nWidth+nX,nVal);}
254__INLINE__ void MTR_SetVal_4u (nm4u* pMtr, int nWidth, int nY, int nX, uint4b nVal) { nmppsPut_4u (pMtr, nY*nWidth+nX,nVal);}
255__INLINE__ void MTR_SetVal_8u (nm8u* pMtr, int nWidth, int nY, int nX, uint8b nVal) { nmppsPut_8u (pMtr, nY*nWidth+nX,nVal);}
256__INLINE__ void MTR_SetVal_16u(nm16u* pMtr, int nWidth, int nY, int nX, uint16b nVal) { nmppsPut_16u(pMtr, nY*nWidth+nX,nVal);}
257__INLINE__ void MTR_SetVal_32u(nm32u* pMtr, int nWidth, int nY, int nX, uint32b nVal) { nmppsPut_32u(pMtr, nY*nWidth+nX,nVal);}
258__INLINE__ void MTR_SetVal_64u(nm64u* pMtr, int nWidth, int nY, int nX, uint64b nVal) { nmppsPut_64u(pMtr, nY*nWidth+nX,nVal);}
260
261//*****************************************************************************
262
310__INLINE__ void MTR_GetVal_1 (nm1* pMtr, int nWidth, int nY, int nX, int1b* nVal) { nmppsGetVal_1 (pMtr, nY*nWidth+nX,nVal);}
311__INLINE__ void MTR_GetVal_2s (nm2s* pMtr, int nWidth, int nY, int nX, int2b* nVal) { nmppsGetVal_2s (pMtr, nY*nWidth+nX,nVal);}
312__INLINE__ void MTR_GetVal_4s (nm4s* pMtr, int nWidth, int nY, int nX, int4b* nVal) { nmppsGetVal_4s (pMtr, nY*nWidth+nX,nVal);}
313__INLINE__ void MTR_GetVal_8s (nm8s* pMtr, int nWidth, int nY, int nX, int8b* nVal) { nmppsGetVal_8s (pMtr, nY*nWidth+nX,nVal);}
314__INLINE__ void MTR_GetVal_16s(nm16s* pMtr, int nWidth, int nY, int nX, int16b* nVal) { nmppsGetVal_16s(pMtr, nY*nWidth+nX,nVal);}
315__INLINE__ void MTR_GetVal_32s(nm32s* pMtr, int nWidth, int nY, int nX, int32b* nVal) { nmppsGetVal_32s(pMtr, nY*nWidth+nX,nVal);}
316__INLINE__ void MTR_GetVal_64s(nm64s* pMtr, int nWidth, int nY, int nX, int64b* nVal) { nmppsGetVal_64s(pMtr, nY*nWidth+nX,nVal);}
317
318__INLINE__ void MTR_GetVal_2u (nm2u* pMtr, int nWidth, int nY, int nX, uint2b* nVal) { nmppsGetVal_2u (pMtr, nY*nWidth+nX,nVal);}
319__INLINE__ void MTR_GetVal_4u (nm4u* pMtr, int nWidth, int nY, int nX, uint4b* nVal) { nmppsGetVal_4u (pMtr, nY*nWidth+nX,nVal);}
320__INLINE__ void MTR_GetVal_8u (nm8u* pMtr, int nWidth, int nY, int nX, uint8b* nVal) { nmppsGetVal_8u (pMtr, nY*nWidth+nX,nVal);}
321__INLINE__ void MTR_GetVal_16u(nm16u* pMtr, int nWidth, int nY, int nX, uint16b* nVal){ nmppsGetVal_16u(pMtr, nY*nWidth+nX,nVal);}
322__INLINE__ void MTR_GetVal_32u(nm32u* pMtr, int nWidth, int nY, int nX, uint32b* nVal){ nmppsGetVal_32u(pMtr, nY*nWidth+nX,nVal);}
323__INLINE__ void MTR_GetVal_64u(nm64u* pMtr, int nWidth, int nY, int nX, uint64b* nVal){ nmppsGetVal_64u(pMtr, nY*nWidth+nX,nVal);}
324
325
327
328//*****************************************************************************
329
381void MTR_GetCol( nm64sc *pSrcMtr, nm64sc *pDstVec, int nCol, int nHeight, int nWidth);
382//void MTR_GetCol( nm16sc *pSrcMtr, nm16sc *pDstVec, int nCol, int nHeight, int nWidth); //pc version is not available!
384
385#endif
unsigned int uint32b
Definition: nmtype.h:839
unsigned int uint2b
Definition: nmtype.h:735
int int4b
Definition: nmtype.h:592
unsigned int uint4b
Definition: nmtype.h:761
int int2b
Definition: nmtype.h:566
int int8b
Definition: nmtype.h:618
unsigned int uint16b
Definition: nmtype.h:813
int int1b
Definition: nmtype.h:553
int int32b
Definition: nmtype.h:683
unsigned int uint8b
Definition: nmtype.h:787
int int16b
Definition: nmtype.h:644
INT64 int64b
Definition: nmtype.h:709
nm64u uint64b
Definition: nmtype.h:865
unsigned char nm8u
Definition: nmtype.h:448
int nm32s
Definition: nmtype.h:292
void nm4u
Definition: nmtype.h:417
unsigned short nm16u
Definition: nmtype.h:481
long long nm64s
Definition: nmtype.h:375
void nm2s
Definition: nmtype.h:116
void nm2u
Definition: nmtype.h:404
int nm1
Definition: nmtype.h:100
short nm16s
Definition: nmtype.h:243
unsigned int nm32u
Definition: nmtype.h:509
void nm4s
Definition: nmtype.h:129
unsigned long long nm64u
Definition: nmtype.h:536
char nm8s
Definition: nmtype.h:167
Definition: nmtype.h:1364