comparison VSs_tinyjpeg/loadjpeg.c @ 4:62350c40504f

running in sequential mode
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Mon, 20 Aug 2012 16:56:27 +0200
parents 42d636fee562
children
comparison
equal deleted inserted replaced
3:96c35edf16f7 4:7d553ba0d4b4
91 typedef struct{ 91 typedef struct{
92 unsigned char* rgb_data; 92 unsigned char* rgb_data;
93 char* d; 93 char* d;
94 FILE* fp; 94 FILE* fp;
95 int bufferlen; 95 int bufferlen;
96 }write_tga_task_args; 96 } write_tga_task_args;
97 97
98 VSsTaskType *write_tga_taskType; 98 VSsTaskType *write_tga_taskType;
99 99
100 int32 write_tga_taskArgTypes[2] = {IN, INOUT}; 100 int32 write_tga_taskArgTypes[2] = {IN, INOUT};
101 int32 write_tga_taskArgSizes[2] = {sizeof(unsigned char), sizeof(char)}; 101 int32 write_tga_taskArgSizes[2] = {sizeof(unsigned char), sizeof(char)};
102 102
103 //#pragma omp task input(*rgb_data) output(*d) inout(*d) 103 //#pragma omp task input(*rgb_data) output(*d) inout(*d)
104 void write_tga_task(void *_data, SlaveVP *animatingSlv ) { 104 void write_tga_task(void *_data, SlaveVP *animatingSlv ) {
105 105
106 write_tga_task_args* args = (write_tga_task_args*) _data; 106 write_tga_task_args* args2 = (write_tga_task_args*) _data;
107 FILE* fp = args->fp; 107 FILE* fp = args2->fp;
108 int bufferlen = args->bufferlen; 108 int bufferlen = args2->bufferlen;
109 unsigned char* rgb_data = args->rgb_data; 109 unsigned char* rgb_data = args2->rgb_data;
110 char* d = args->d; 110 char* d = args2->d;
111 111
112 // To disable ompss warnings 112 // To disable ompss warnings
113 d = d; 113 d = d;
114 unsigned char *data = rgb_data + bufferlen - RGB_DEPTH; 114 unsigned char *data = rgb_data + bufferlen - RGB_DEPTH;
115 do 115 do
119 data[2] = c; 119 data[2] = c;
120 data-=RGB_DEPTH; 120 data-=RGB_DEPTH;
121 } while (data >= rgb_data); 121 } while (data >= rgb_data);
122 122
123 fwrite(rgb_data, 1, bufferlen, fp); 123 fwrite(rgb_data, 1, bufferlen, fp);
124 VSs__end_task( animatingSlv );
124 } 125 }
125 126
126 127
127 int32 tinyjpegArgTypes[2] = {IN, OUT}; 128 int32 tinyjpegArgTypes[2] = {IN, OUT};
128 int32 tinyjpegArgSizes[2] = {sizeof(struct jdec_private), sizeof(uint8_t)}; 129 int32 tinyjpegArgSizes[2] = {sizeof(struct jdec_private), sizeof(uint8_t)};
264 VSs__create_seed_slave_and_do_work( &convert_one_image_wrapper, 265 VSs__create_seed_slave_and_do_work( &convert_one_image_wrapper,
265 NULL ); 266 NULL );
266 267
267 268
268 269
269 return 0; 270 exit(0);
270 } 271 }
271 272
272 273
273 274
274 void convert_one_image_wrapper( void *_params, SlaveVP *animSlv ){ 275 void convert_one_image_wrapper( void *_params, SlaveVP *animSlv ){
276 277
277 printf("Input file: %s\nOutput file: %s\n",input_filename,output_filename); 278 printf("Input file: %s\nOutput file: %s\n",input_filename,output_filename);
278 279
279 convert_one_image(input_filename, output_filename); 280 convert_one_image(input_filename, output_filename);
280 281
281 VSs__dissipate_slave( animSlv ); 282 VSs__end_thread( animSlv );
282 } 283 }
283 284