Ignore:
Timestamp:
Jun 14, 2016, 5:23:56 PM (8 years ago)
Author:
meunier
Message:
  • Improved scripts for simulations and graphes
  • Continued to clean up the lib nrc2 (from nrio2x.x to nrmem1.c)
  • Added a version (Fast - Parmerge - No stats)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/applications/rosenfeld/nrc2/include/nrmem1.h

    r772 r823  
    1212#define __NRMEM1_H__
    1313
    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) \
     16void short_name(t,dup_,vector)(t * X, int32_t nl, int32_t nh, t * Y);
     17
     18dup_type_vector(int8_t);
     19dup_type_vector(uint8_t);
     20dup_type_vector(int16_t);
     21dup_type_vector(uint16_t);
     22dup_type_vector(int32_t);
     23dup_type_vector(uint32_t);
     24dup_type_vector(int64_t);
     25dup_type_vector(uint64_t);
     26dup_type_vector(float);
     27dup_type_vector(double);
     28dup_type_vector(rgb8);
     29dup_type_vector(rgbx8);
     30
     31/* --------------------- */
     32/* --- split & merge --- */
     33/* --------------------- */
     34
     35void split_rgb8vector(rgb8 * X, int32_t nl, int32_t nh,  uint8_t * R,  uint8_t * G,  uint8_t * B);
     36void split_rgb32vector(rgb32 * X, int32_t nl, int32_t nh, uint32_t * R, uint32_t * G, uint32_t * B);
     37
     38void merge_rgb8vector(uint8_t * R, uint8_t * G, uint8_t * B, int32_t nl, int32_t nh, rgb8 * X);
     39void merge_rgb32vector(uint32_t * R, uint32_t * G, uint32_t * B, int32_t nl, int32_t nh, rgb32 * X);
    2240
    2341
    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);
    3642
    3743/* ---------------- */
    38 /* -- Convertion -- */
     44/* -- Conversion -- */
    3945/* ---------------- */
    4046
    41 // UP
     47#define convert_type1_vector_type2_vector(t1, t2) \
     48void short_name(t1,convert_,short_name(t2,vector_,vector))(t1 * X, int32_t nl, int32_t nh, t2 * Y);
    4249
    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);
     50convert_type1_vector_type2_vector(int8_t,int16_t);
     51convert_type1_vector_type2_vector(int8_t,int32_t);
     52convert_type1_vector_type2_vector(int8_t,float);
     53convert_type1_vector_type2_vector(int8_t,double);
     54convert_type1_vector_type2_vector(uint8_t,uint16_t);
     55convert_type1_vector_type2_vector(uint8_t,uint32_t);
     56convert_type1_vector_type2_vector(uint8_t,float);
     57convert_type1_vector_type2_vector(uint8_t,double);
     58convert_type1_vector_type2_vector(int16_t,int32_t);
     59convert_type1_vector_type2_vector(int16_t,float);
     60convert_type1_vector_type2_vector(int16_t,double);
     61convert_type1_vector_type2_vector(uint16_t,uint32_t);
     62convert_type1_vector_type2_vector(uint16_t,float);
     63convert_type1_vector_type2_vector(uint16_t,double);
     64convert_type1_vector_type2_vector(int32_t,float);
     65convert_type1_vector_type2_vector(int32_t,double);
     66convert_type1_vector_type2_vector(uint32_t,float);
     67convert_type1_vector_type2_vector(uint32_t,double);
     68convert_type1_vector_type2_vector(int16_t,int8_t);
     69convert_type1_vector_type2_vector(uint16_t,uint8_t);
     70convert_type1_vector_type2_vector(int32_t,int8_t);
     71convert_type1_vector_type2_vector(int32_t,int16_t);
     72convert_type1_vector_type2_vector(uint32_t,uint8_t);
     73convert_type1_vector_type2_vector(uint32_t,uint16_t);
     74convert_type1_vector_type2_vector(float,int8_t);
     75convert_type1_vector_type2_vector(float,uint8_t);
     76convert_type1_vector_type2_vector(float,int16_t);
     77convert_type1_vector_type2_vector(float,uint16_t);
     78convert_type1_vector_type2_vector(float,int32_t);
     79convert_type1_vector_type2_vector(float,uint32_t);
     80convert_type1_vector_type2_vector(double,int8_t);
     81convert_type1_vector_type2_vector(double,uint8_t);
     82convert_type1_vector_type2_vector(double,int16_t);
     83convert_type1_vector_type2_vector(double,uint16_t);
     84convert_type1_vector_type2_vector(double,int32_t);
     85convert_type1_vector_type2_vector(double,uint32_t);
     86convert_type1_vector_type2_vector(double,float);
     87convert_type1_vector_type2_vector(uint8_t,rgb8);
     88convert_type1_vector_type2_vector(uint8_t,rgbx8);
     89convert_type1_vector_type2_vector(rgb8,uint8_t);
     90convert_type1_vector_type2_vector(rgbx8,uint8_t);
    4791
    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 // DOWN
    72 
    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);
    10092
    10193/*
     
    10597 */
    10698
    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
     99void lowpart_ui16vector_ui8vector(uint16_t * X, int32_t nl, int32_t nh, uint8_t * Y);
     100void lowpart_ui32vector_ui8vector(uint32_t * X, int32_t nl, int32_t nh, uint8_t * Y);
    123101
    124102#endif /* __NRMEM1_H__ */
     103
Note: See TracChangeset for help on using the changeset viewer.