Changeset 823 for soft/giet_vm/applications/rosenfeld/nrc2/include/nrmem1.h
- Timestamp:
- Jun 14, 2016, 5:23:56 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/applications/rosenfeld/nrc2/include/nrmem1.h
r772 r823 12 12 #define __NRMEM1_H__ 13 13 14 #ifdef __cplusplus 15 #pragma message ("C++") 16 extern "C" { 17 #endif 18 19 #ifdef VERBOSE_PRAGMA 20 //#pragma message ("- *** include nrmem1.h ***") 21 #endif 14 15 #define dup_type_vector(t) \ 16 void short_name(t,dup_,vector)(t * X, int32_t nl, int32_t nh, t * Y); 17 18 dup_type_vector(int8_t); 19 dup_type_vector(uint8_t); 20 dup_type_vector(int16_t); 21 dup_type_vector(uint16_t); 22 dup_type_vector(int32_t); 23 dup_type_vector(uint32_t); 24 dup_type_vector(int64_t); 25 dup_type_vector(uint64_t); 26 dup_type_vector(float); 27 dup_type_vector(double); 28 dup_type_vector(rgb8); 29 dup_type_vector(rgbx8); 30 31 /* --------------------- */ 32 /* --- split & merge --- */ 33 /* --------------------- */ 34 35 void split_rgb8vector(rgb8 * X, int32_t nl, int32_t nh, uint8_t * R, uint8_t * G, uint8_t * B); 36 void split_rgb32vector(rgb32 * X, int32_t nl, int32_t nh, uint32_t * R, uint32_t * G, uint32_t * B); 37 38 void merge_rgb8vector(uint8_t * R, uint8_t * G, uint8_t * B, int32_t nl, int32_t nh, rgb8 * X); 39 void merge_rgb32vector(uint32_t * R, uint32_t * G, uint32_t * B, int32_t nl, int32_t nh, rgb32 * X); 22 40 23 41 24 IMAGE_EXPORT(void) dup_si8vector (sint8 *X, long nl, long nh, sint8 *Y);25 IMAGE_EXPORT(void) dup_ui8vector (uint8 *X, long nl, long nh, uint8 *Y);26 IMAGE_EXPORT(void) dup_si16vector (sint16 *X, long nl, long nh, sint16 *Y);27 IMAGE_EXPORT(void) dup_ui16vector (uint16 *X, long nl, long nh, uint16 *Y);28 IMAGE_EXPORT(void) dup_si32vector (sint32 *X, long nl, long nh, sint32 *Y);29 IMAGE_EXPORT(void) dup_ui32vector (uint32 *X, long nl, long nh, uint32 *Y);30 IMAGE_EXPORT(void) dup_si64vector (sint64 *X, long nl, long nh, sint64 *Y);31 IMAGE_EXPORT(void) dup_ui64vector (uint64 *X, long nl, long nh, uint64 *Y);32 IMAGE_EXPORT(void) dup_f32vector (float32 *X, long nl, long nh, float32 *Y);33 IMAGE_EXPORT(void) dup_f64vector (float64 *X, long nl, long nh, float64 *Y);34 IMAGE_EXPORT(void) dup_rgb8vector (rgb8 *X, long nl, long nh, rgb8 *Y);35 IMAGE_EXPORT(void) dup_rgbx8vector (rgbx8 *X, long nl, long nh, rgbx8 *Y);36 42 37 43 /* ---------------- */ 38 /* -- Conver tion -- */44 /* -- Conversion -- */ 39 45 /* ---------------- */ 40 46 41 // UP 47 #define convert_type1_vector_type2_vector(t1, t2) \ 48 void short_name(t1,convert_,short_name(t2,vector_,vector))(t1 * X, int32_t nl, int32_t nh, t2 * Y); 42 49 43 IMAGE_EXPORT(void) convert_si8vector_si16vector (sint8 *X, long nl, long nh, sint16 *Y); 44 IMAGE_EXPORT(void) convert_si8vector_si32vector (sint8 *X, long nl, long nh, sint32 *Y); 45 IMAGE_EXPORT(void) convert_si8vector_f32vector (sint8 *X, long nl, long nh, float32 *Y); 46 IMAGE_EXPORT(void) convert_si8vector_f64vector (sint8 *X, long nl, long nh, float64 *Y); 50 convert_type1_vector_type2_vector(int8_t,int16_t); 51 convert_type1_vector_type2_vector(int8_t,int32_t); 52 convert_type1_vector_type2_vector(int8_t,float); 53 convert_type1_vector_type2_vector(int8_t,double); 54 convert_type1_vector_type2_vector(uint8_t,uint16_t); 55 convert_type1_vector_type2_vector(uint8_t,uint32_t); 56 convert_type1_vector_type2_vector(uint8_t,float); 57 convert_type1_vector_type2_vector(uint8_t,double); 58 convert_type1_vector_type2_vector(int16_t,int32_t); 59 convert_type1_vector_type2_vector(int16_t,float); 60 convert_type1_vector_type2_vector(int16_t,double); 61 convert_type1_vector_type2_vector(uint16_t,uint32_t); 62 convert_type1_vector_type2_vector(uint16_t,float); 63 convert_type1_vector_type2_vector(uint16_t,double); 64 convert_type1_vector_type2_vector(int32_t,float); 65 convert_type1_vector_type2_vector(int32_t,double); 66 convert_type1_vector_type2_vector(uint32_t,float); 67 convert_type1_vector_type2_vector(uint32_t,double); 68 convert_type1_vector_type2_vector(int16_t,int8_t); 69 convert_type1_vector_type2_vector(uint16_t,uint8_t); 70 convert_type1_vector_type2_vector(int32_t,int8_t); 71 convert_type1_vector_type2_vector(int32_t,int16_t); 72 convert_type1_vector_type2_vector(uint32_t,uint8_t); 73 convert_type1_vector_type2_vector(uint32_t,uint16_t); 74 convert_type1_vector_type2_vector(float,int8_t); 75 convert_type1_vector_type2_vector(float,uint8_t); 76 convert_type1_vector_type2_vector(float,int16_t); 77 convert_type1_vector_type2_vector(float,uint16_t); 78 convert_type1_vector_type2_vector(float,int32_t); 79 convert_type1_vector_type2_vector(float,uint32_t); 80 convert_type1_vector_type2_vector(double,int8_t); 81 convert_type1_vector_type2_vector(double,uint8_t); 82 convert_type1_vector_type2_vector(double,int16_t); 83 convert_type1_vector_type2_vector(double,uint16_t); 84 convert_type1_vector_type2_vector(double,int32_t); 85 convert_type1_vector_type2_vector(double,uint32_t); 86 convert_type1_vector_type2_vector(double,float); 87 convert_type1_vector_type2_vector(uint8_t,rgb8); 88 convert_type1_vector_type2_vector(uint8_t,rgbx8); 89 convert_type1_vector_type2_vector(rgb8,uint8_t); 90 convert_type1_vector_type2_vector(rgbx8,uint8_t); 47 91 48 IMAGE_EXPORT(void) convert_ui8vector_ui16vector (uint8 *X, long nl, long nh, uint16 *Y);49 IMAGE_EXPORT(void) convert_ui8vector_ui32vector (uint8 *X, long nl, long nh, uint32 *Y);50 IMAGE_EXPORT(void) convert_ui8vector_f32vector (uint8 *X, long nl, long nh, float32 *Y);51 IMAGE_EXPORT(void) convert_ui8vector_f64vector (uint8 *X, long nl, long nh, float64 *Y);52 IMAGE_EXPORT(void) convert_ui8vector_rgb8vector (uint8 *X, long nl, long nh, rgb8 *Y);53 IMAGE_EXPORT(void) convert_ui8vector_rgbx8vector(uint8 *X, long nl, long nh, rgbx8 *Y);54 55 IMAGE_EXPORT(void) convert_si16vector_si32vector (sint16 *X, long nl, long nh, sint32 *Y);56 IMAGE_EXPORT(void) convert_si16vector_f32vector (sint16 *X, long nl, long nh, float32 *Y);57 IMAGE_EXPORT(void) convert_si16vector_f64vector (sint16 *X, long nl, long nh, float64 *Y);58 59 IMAGE_EXPORT(void) convert_ui16vector_ui32vector (uint16 *X, long nl, long nh, uint32 *Y);60 IMAGE_EXPORT(void) convert_ui16vector_f32vector (uint16 *X, long nl, long nh, float32 *Y);61 IMAGE_EXPORT(void) convert_ui16vector_f64vector (uint16 *X, long nl, long nh, float64 *Y);62 63 IMAGE_EXPORT(void) convert_si32vector_f32vector (sint32 *X, long nl, long nh, float32 *Y);64 IMAGE_EXPORT(void) convert_si32vector_f64vector (sint32 *X, long nl, long nh, float64 *Y);65 66 IMAGE_EXPORT(void) convert_ui32vector_f32vector (uint32 *X, long nl, long nh, float32 *Y);67 IMAGE_EXPORT(void) convert_ui32vector_f64vector (uint32 *X, long nl, long nh, float64 *Y);68 69 IMAGE_EXPORT(void) convert_f32vector_f64vector (float32 *X, long nl, long nh, float64 *Y);70 71 // DOWN72 73 IMAGE_EXPORT(void) convert_si16vector_si8vector(sint16 *X, long nl, long nh, sint8 *Y);74 75 IMAGE_EXPORT(void) convert_ui16vector_ui8vector(uint16 *X, long nl, long nh, uint8 *Y);76 77 IMAGE_EXPORT(void) convert_si32vector_si8vector (sint32 *X, long nl, long nh, sint8 *Y);78 IMAGE_EXPORT(void) convert_si32vector_si16vector(sint32 *X, long nl, long nh, sint16 *Y);79 80 IMAGE_EXPORT(void) convert_ui32vector_ui8vector (uint32 *X, long nl, long nh, uint8 *Y);81 IMAGE_EXPORT(void) convert_ui32vector_ui16vector(uint32 *X, long nl, long nh, uint16 *Y);82 83 IMAGE_EXPORT(void) convert_f32vector_si8vector (float32 *X, long nl, long nh, sint8 *Y);84 IMAGE_EXPORT(void) convert_f32vector_ui8vector (float32 *X, long nl, long nh, uint8 *Y);85 IMAGE_EXPORT(void) convert_f32vector_si16vector(float32 *X, long nl, long nh, sint16 *Y);86 IMAGE_EXPORT(void) convert_f32vector_ui16vector(float32 *X, long nl, long nh, uint16 *Y);87 IMAGE_EXPORT(void) convert_f32vector_si32vector(float32 *X, long nl, long nh, sint32 *Y);88 IMAGE_EXPORT(void) convert_f32vector_ui32vector(float32 *X, long nl, long nh, uint32 *Y);89 90 IMAGE_EXPORT(void) convert_f64vector_si8vector (float64 *X, long nl, long nh, sint8 *Y);91 IMAGE_EXPORT(void) convert_f64vector_ui8vector (float64 *X, long nl, long nh, uint8 *Y);92 IMAGE_EXPORT(void) convert_f64vector_si16vector(float64 *X, long nl, long nh, sint16 *Y);93 IMAGE_EXPORT(void) convert_f64vector_ui16vector(float64 *X, long nl, long nh, uint16 *Y);94 IMAGE_EXPORT(void) convert_f64vector_si32vector(float64 *X, long nl, long nh, sint32 *Y);95 IMAGE_EXPORT(void) convert_f64vector_ui32vector(float64 *X, long nl, long nh, uint32 *Y);96 IMAGE_EXPORT(void) convert_f64vector_f32vector (float64 *X, long nl, long nh, float32 *Y);97 98 IMAGE_EXPORT(void) convert_rgb8vector_ui8vector (rgb8 *X, long nl, long nh, uint8 *Y);99 IMAGE_EXPORT(void) convert_rgbx8vector_ui8vector(rgbx8 *X, long nl, long nh, uint8 *Y);100 92 101 93 /* … … 105 97 */ 106 98 107 IMAGE_EXPORT(void) lowpart_ui16vector_ui8vector(uint16 *X, long nl,long nh, uint8 *Y); 108 IMAGE_EXPORT(void) lowpart_ui32vector_ui8vector(uint32 *X, long nl,long nh, uint8 *Y); 109 110 /* --------------------- */ 111 /* --- split & merge --- */ 112 /* --------------------- */ 113 114 IMAGE_EXPORT(void) split_rgb8vector(rgb8 *X, long nl, long nh, uint8 *R, uint8 *G, uint8 *B); 115 IMAGE_EXPORT(void) split_rgb32vector(rgb32 *X, long nl, long nh, uint32 *R, uint32 *G, uint32 *B); 116 117 IMAGE_EXPORT(void) merge_rgb8vector(uint8 *R, uint8 *G, uint8 *B, long nl, long nh, rgb8 *X); 118 IMAGE_EXPORT(void) merge_rgb32vector(uint32 *R, uint32 *G, uint32 *B, long nl, long nh, rgb32 *X); 119 120 #ifdef __cplusplus 121 } 122 #endif 99 void lowpart_ui16vector_ui8vector(uint16_t * X, int32_t nl, int32_t nh, uint8_t * Y); 100 void lowpart_ui32vector_ui8vector(uint32_t * X, int32_t nl, int32_t nh, uint8_t * Y); 123 101 124 102 #endif /* __NRMEM1_H__ */ 103
Note: See TracChangeset
for help on using the changeset viewer.