# HG changeset patch # User Nina Engelhardt # Date 1342195140 -7200 # Node ID 42d636fee5628cfb74de1bfc8b32c79d8ad66c6a # Parent a52de05d2e2bfffd5f356cad62993e5224c1ec46 added second type of task diff -r a52de05d2e2b -r 42d636fee562 VSs_tinyjpeg/loadjpeg.c --- a/VSs_tinyjpeg/loadjpeg.c Tue Jul 10 11:42:46 2012 +0200 +++ b/VSs_tinyjpeg/loadjpeg.c Fri Jul 13 17:59:00 2012 +0200 @@ -88,10 +88,27 @@ return F; } -//todo +typedef struct{ + unsigned char* rgb_data; + char* d; + FILE* fp; + int bufferlen; +}write_tga_task_args; + +VSsTaskType *write_tga_taskType; + +int32 write_tga_taskArgTypes[2] = {IN, INOUT}; +int32 write_tga_taskArgSizes[2] = {sizeof(unsigned char), sizeof(char)}; + //#pragma omp task input(*rgb_data) output(*d) inout(*d) -void write_tga_task(FILE* fp, int bufferlen, unsigned char* rgb_data, char* d) { - +void write_tga_task(void *_data, SlaveVP *animatingSlv ) { + + write_tga_task_args* args = (write_tga_task_args*) _data; + FILE* fp = args->fp; + int bufferlen = args->bufferlen; + unsigned char* rgb_data = args->rgb_data; + char* d = args->d; + // To disable ompss warnings d = d; unsigned char *data = rgb_data + bufferlen - RGB_DEPTH; @@ -178,12 +195,25 @@ } + write_tga_taskType = VMS_App__malloc( sizeof(VSsTaskType) ); + write_tga_taskType->fn = &write_tga_task; + write_tga_taskType->numCtldArgs = 2; + write_tga_taskType->numTotalArgs = 4; + write_tga_taskType->sizeOfArgs = sizeof(write_tga_task_args); + write_tga_taskType->argTypes = write_tga_taskArgTypes; + write_tga_taskType->argSizes = write_tga_taskArgSizes; + + write_tga_task_args args2; char dummy; - for(i=0; i