Mercurial > cgi-bin > hgwebdir.cgi > PR > Applications > VSs > VSs__H264__App
changeset 7:c8259123d224
hide animating VP and entry point
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Wed, 15 May 2013 15:26:14 +0200 |
| parents | 55fb61482128 |
| children | 6c1433f5a562 |
| files | h264dec.c libavcodec/h264.h libavcodec/h264_ompss.c |
| diffstat | 3 files changed, 83 insertions(+), 84 deletions(-) [+] |
line diff
1.1 --- a/h264dec.c Wed Mar 06 14:35:39 2013 +0100 1.2 +++ b/h264dec.c Wed May 15 15:26:14 2013 +0200 1.3 @@ -260,7 +260,8 @@ 1.4 1.5 H264Context *h = get_h264dec_context(file_name, ifile, ofile, frame_width, frame_height, &cli_opts); 1.6 #if OMPSS 1.7 - VSs__create_seed_slave_and_do_work( &h264_decode_ompss , (void*)h ); 1.8 + if (h264_decode_ompss( h ) < 0) 1.9 + av_exit(-1); 1.10 #else 1.11 if (parallel){ 1.12 if (ARCH_CELL && !no_arch){
2.1 --- a/libavcodec/h264.h Wed Mar 06 14:35:39 2013 +0100 2.2 +++ b/libavcodec/h264.h Wed May 15 15:26:14 2013 +0200 2.3 @@ -64,7 +64,7 @@ 2.4 int h264_decode_cell(H264Context *h); 2.5 int h264_decode_cell_seq(H264Context *h); 2.6 2.7 -void h264_decode_ompss(void *_params, SlaveVP *animSlv); 2.8 +int h264_decode_ompss(H264Context *h); 2.9 2.10 int h264_decode_pthread(H264Context *h); 2.11 int h264_decode_seq(H264Context *h);
3.1 --- a/libavcodec/h264_ompss.c Wed Mar 06 14:35:39 2013 +0100 3.2 +++ b/libavcodec/h264_ompss.c Wed May 15 15:26:14 2013 +0200 3.3 @@ -40,7 +40,7 @@ 3.4 int32 parse_taskArgSizes[4] = {sizeof(ParserContext), sizeof(NalContext), sizeof(SliceBufferEntry), sizeof(H264Context)}; 3.5 3.6 //#pragma omp task inout(*pc, *nc) output(*sbe) 3.7 -static void parse_task(void *_data, SlaveVP *animatingSlv){ 3.8 +static void parse_task(void *_data){ 3.9 parse_taskArgs* args = (parse_taskArgs*) _data; 3.10 ParserContext *pc = args->pc; 3.11 NalContext *nc = args->nc; 3.12 @@ -58,7 +58,7 @@ 3.13 3.14 decode_nal_units(nc, s, &sbe->gb); 3.15 3.16 - VSs__end_task( animatingSlv ); 3.17 + VSs__end_task(); 3.18 } 3.19 3.20 VSsTaskType parse_taskType = { 3.21 @@ -80,7 +80,7 @@ 3.22 int32 decode_slice_entropy_taskArgSizes[3] = {sizeof(EntropyContext), sizeof(SliceBufferEntry), sizeof(H264Context)}; 3.23 3.24 //#pragma omp task inout(*ec) inout(*sbe) 3.25 -static void decode_slice_entropy_task(void *_data, SlaveVP *animatingSlv){ 3.26 +static void decode_slice_entropy_task(void *_data){ 3.27 decode_slice_entropy_taskArgs* args = (decode_slice_entropy_taskArgs*) _data; 3.28 EntropyContext *ec = args->ec; 3.29 SliceBufferEntry *sbe = args->sbe; 3.30 @@ -94,7 +94,7 @@ 3.31 3.32 if( !s->pps.cabac ){ 3.33 av_log(AV_LOG_ERROR, "Only cabac encoded streams are supported\n"); 3.34 - VSs__end_task( animatingSlv ); 3.35 + VSs__end_task(); 3.36 } 3.37 3.38 init_dequant_tables(s, ec); 3.39 @@ -124,11 +124,11 @@ 3.40 (void) eos; 3.41 if( ret < 0 || c->bytestream > c->bytestream_end + 2) { 3.42 av_log(AV_LOG_ERROR, "error while decoding MB %d %d, bytestream (%td)\n", m->mb_x, m->mb_y, c->bytestream_end - c->bytestream); 3.43 - VSs__end_task( animatingSlv ); 3.44 + VSs__end_task(); 3.45 } 3.46 } 3.47 } 3.48 - VSs__end_task( animatingSlv ); 3.49 + VSs__end_task(); 3.50 } 3.51 3.52 VSsTaskType decode_slice_entropy_taskType = { 3.53 @@ -167,7 +167,7 @@ 3.54 int32 decode_super_mb_taskArgSizes[6] = {sizeof(MBRecContext), sizeof(SliceBufferEntry), sizeof(SuperMBTask), sizeof(SuperMBTask), sizeof(SuperMBTask), sizeof(SuperMBContext)}; 3.55 3.56 //#pragma omp task input(*d, *sbe, *ml, *mur) inout(*m) 3.57 -static void decode_super_mb_task(void *_data, SlaveVP *animatingSlv){ 3.58 +static void decode_super_mb_task(void *_data){ 3.59 decode_super_mb_taskArgs* args = (decode_super_mb_taskArgs*) _data; 3.60 MBRecContext *d = args->d; 3.61 SliceBufferEntry *sbe = args->sbe; 3.62 @@ -178,7 +178,7 @@ 3.63 H264Slice *s = &sbe->slice; 3.64 H264Mb *mbs = sbe->mbs; 3.65 decode_super_mb_block(d, s, smbc, mbs, m->smb_x, m->smb_y); 3.66 - VSs__end_task( animatingSlv ); 3.67 + VSs__end_task(); 3.68 } 3.69 3.70 VSsTaskType decode_super_mb_taskType = { 3.71 @@ -203,7 +203,7 @@ 3.72 int32 draw_edges_taskArgSizes[5] = {sizeof(MBRecContext), sizeof(SliceBufferEntry), sizeof(SuperMBTask),sizeof(SuperMBContext),sizeof(int)}; 3.73 3.74 //#pragma omp task input(*d, *sbe) inout(*sm) 3.75 -static void draw_edges_task(void *_data, SlaveVP *animatingSlv){ 3.76 +static void draw_edges_task(void *_data){ 3.77 draw_edges_taskArgs* args = (draw_edges_taskArgs*) _data; 3.78 MBRecContext *d = args->d; 3.79 SliceBufferEntry *sbe = args->sbe; 3.80 @@ -214,7 +214,7 @@ 3.81 for (int i=line*smbc->smb_height; i< (line+1)*smbc->smb_height && i< d->mb_height; i++) 3.82 draw_edges(d, s, i); 3.83 VMS_App__free(args->line); 3.84 - VSs__end_task( animatingSlv ); 3.85 + VSs__end_task(); 3.86 } 3.87 VSsTaskType draw_edges_taskType = { 3.88 .fn = &draw_edges_task, 3.89 @@ -225,7 +225,7 @@ 3.90 .argSizes = draw_edges_taskArgSizes}; 3.91 3.92 3.93 -static void decode_mb_in_slice(H264Context *h, MBRecContext *d, SliceBufferEntry *sbe, SlaveVP* animSlv){ 3.94 +static void decode_mb_in_slice(H264Context *h, MBRecContext *d, SliceBufferEntry *sbe){ 3.95 int i,j; 3.96 3.97 SuperMBContext *smbc = acquire_smbc(h); 3.98 @@ -245,7 +245,7 @@ 3.99 decode_super_mb_task_args.ml = sml; 3.100 decode_super_mb_task_args.mur = smur; 3.101 decode_super_mb_task_args.m = sm; 3.102 - VSs__submit_task(&decode_super_mb_taskType, &decode_super_mb_task_args, animSlv); 3.103 + VSs__submit_task(&decode_super_mb_taskType, &decode_super_mb_task_args); 3.104 } 3.105 draw_edges_taskArgs draw_edges_task_args; 3.106 draw_edges_task_args.d = d; 3.107 @@ -254,9 +254,9 @@ 3.108 draw_edges_task_args.smbc = smbc; 3.109 draw_edges_task_args.line = VMS_App__malloc( sizeof(int) ); 3.110 *(draw_edges_task_args.line) = j; 3.111 - VSs__submit_task(&draw_edges_taskType, &draw_edges_task_args, animSlv); 3.112 + VSs__submit_task(&draw_edges_taskType, &draw_edges_task_args); 3.113 } 3.114 - VSs__taskwait_on(animSlv,sm); 3.115 + VSs__taskwait_on(sm); 3.116 //#pragma omp taskwait on(*sm) 3.117 3.118 release_smbc(h, smbc); 3.119 @@ -272,7 +272,7 @@ 3.120 int32 decode_slice_mb_taskArgSizes[3] = {sizeof(MBRecContext), sizeof(SliceBufferEntry), sizeof(H264Context)}; 3.121 3.122 //#pragma omp task inout(*d) inout(*sbe) 3.123 -static void decode_slice_mb_task(void *_data, SlaveVP *animatingSlv){ 3.124 +static void decode_slice_mb_task(void *_data){ 3.125 decode_slice_mb_taskArgs* args = (decode_slice_mb_taskArgs*) _data; 3.126 MBRecContext *d = args->d; 3.127 SliceBufferEntry *sbe = args->sbe; 3.128 @@ -295,27 +295,27 @@ 3.129 } 3.130 3.131 //#pragma omp critical (dpb) 3.132 - VSs__start_critical(animatingSlv,0); 3.133 + VSs__start_critical(0); 3.134 get_dpb_entry(h, s); 3.135 - VSs__end_critical(animatingSlv,0); 3.136 + VSs__end_critical(0); 3.137 3.138 if (!h->no_mbd){ 3.139 - decode_mb_in_slice (h, d, sbe, animatingSlv); 3.140 + decode_mb_in_slice (h, d, sbe); 3.141 } 3.142 3.143 for (int i=0; i<s->release_cnt; i++){ 3.144 for(int j=0; j<h->max_dpb_cnt; j++){ 3.145 if(h->dpb[j].cpn== s->release_ref_cpn[i]){ 3.146 //#pragma omp critical (dpb) 3.147 - VSs__start_critical(animatingSlv,0); 3.148 + VSs__start_critical(0); 3.149 release_dpb_entry(h, &h->dpb[j], 2); 3.150 - VSs__end_critical(animatingSlv,0); 3.151 + VSs__end_critical(0); 3.152 break; 3.153 } 3.154 } 3.155 } 3.156 s->release_cnt=0; 3.157 - VSs__end_task( animatingSlv ); 3.158 + VSs__end_task(); 3.159 } 3.160 3.161 VSsTaskType decode_slice_mb_taskType = { 3.162 @@ -343,7 +343,7 @@ 3.163 sizeof(SuperMBTask), sizeof(SuperMBTask), sizeof(SuperMBTask), sizeof(SuperMBContext)}; 3.164 3.165 //#pragma omp task input(*d, *sbe, *ml, *mur, *mprev) inout(*m) 3.166 -static void decode_3dwave_super_mb_task(void *_data, SlaveVP *animatingSlv){ 3.167 +static void decode_3dwave_super_mb_task(void *_data){ 3.168 decode_3dwave_super_mb_taskArgs* args = (decode_3dwave_super_mb_taskArgs*) _data; 3.169 MBRecContext *d = args->d; 3.170 SliceBufferEntry *sbe = args->sbe; 3.171 @@ -357,7 +357,7 @@ 3.172 H264Mb *mbs = sbe->mbs; 3.173 3.174 decode_super_mb_block(d, s, smbc, mbs, m->smb_x, m->smb_y); 3.175 - VSs__end_task( animatingSlv ); 3.176 + VSs__end_task(); 3.177 } 3.178 3.179 VSsTaskType decode_3dwave_super_mb_taskType = { 3.180 @@ -380,7 +380,7 @@ 3.181 int32 init_ref_list_and_get_dpb_taskArgSizes[4] = {sizeof(MBRecContext), sizeof(SliceBufferEntry), sizeof(int), sizeof(H264Context)}; 3.182 3.183 //#pragma omp task inout(*d, *sbe, *init) 3.184 -static void init_ref_list_and_get_dpb_task(void *_data, SlaveVP *animatingSlv){ 3.185 +static void init_ref_list_and_get_dpb_task(void *_data){ 3.186 init_ref_list_and_get_dpb_taskArgs* args = (init_ref_list_and_get_dpb_taskArgs*) _data; 3.187 MBRecContext *d = args->d; 3.188 SliceBufferEntry *sbe = args->sbe; 3.189 @@ -403,11 +403,11 @@ 3.190 } 3.191 3.192 //#pragma omp critical (dpb) 3.193 - VSs__start_critical(animatingSlv,0); 3.194 + VSs__start_critical(0); 3.195 get_dpb_entry(h, s); 3.196 - VSs__end_critical(animatingSlv,0); 3.197 + VSs__end_critical(0); 3.198 3.199 - VSs__end_task( animatingSlv ); 3.200 + VSs__end_task(); 3.201 } 3.202 3.203 VSsTaskType init_ref_list_and_get_dpb_taskType = { 3.204 @@ -418,7 +418,7 @@ 3.205 .argTypes = init_ref_list_and_get_dpb_taskArgTypes, 3.206 .argSizes = init_ref_list_and_get_dpb_taskArgSizes}; 3.207 3.208 -static SuperMBTask* add_decode_slice_3dwave_tasks(MBRecContext *d, SliceBufferEntry *sbe, SuperMBContext *smbc, int k, SlaveVP* animSlv){ 3.209 +static SuperMBTask* add_decode_slice_3dwave_tasks(MBRecContext *d, SliceBufferEntry *sbe, SuperMBContext *smbc, int k){ 3.210 int i,j; 3.211 3.212 int32* taskID; 3.213 @@ -445,11 +445,11 @@ 3.214 decode_3dwave_super_mb_task_args.mur = smur; 3.215 decode_3dwave_super_mb_task_args.mprev = smprev; 3.216 decode_3dwave_super_mb_task_args.m = sm; 3.217 - taskID = VSs__create_taskID_of_size(3,animSlv ); 3.218 + taskID = VSs__create_taskID_of_size(3 ); 3.219 taskID[1] = k; 3.220 taskID[2] = j; 3.221 taskID[3] = i; 3.222 - VSs__submit_task_with_ID(&decode_3dwave_super_mb_taskType, &decode_3dwave_super_mb_task_args, taskID, animSlv); 3.223 + VSs__submit_task_with_ID(&decode_3dwave_super_mb_taskType, &decode_3dwave_super_mb_task_args, taskID); 3.224 } 3.225 draw_edges_taskArgs draw_edges_task_args; 3.226 draw_edges_task_args.d = d; 3.227 @@ -458,11 +458,11 @@ 3.228 draw_edges_task_args.smbc = smbc; 3.229 draw_edges_task_args.line = VMS_App__malloc( sizeof(int) ); 3.230 *(draw_edges_task_args.line) = j; 3.231 - taskID = VSs__create_taskID_of_size(3, animSlv); 3.232 + taskID = VSs__create_taskID_of_size(3); 3.233 taskID[1] = k; 3.234 taskID[2] = j; 3.235 taskID[3] = i; 3.236 - VSs__submit_task_with_ID(&draw_edges_taskType, &draw_edges_task_args, taskID, animSlv); 3.237 + VSs__submit_task_with_ID(&draw_edges_taskType, &draw_edges_task_args, taskID); 3.238 } 3.239 3.240 for(; j< smb_height; j++){ 3.241 @@ -477,11 +477,11 @@ 3.242 decode_super_mb_task_args.ml = sml; 3.243 decode_super_mb_task_args.mur = smur; 3.244 decode_super_mb_task_args.m = sm; 3.245 - taskID = VSs__create_taskID_of_size(3,animSlv ); 3.246 + taskID = VSs__create_taskID_of_size(3 ); 3.247 taskID[1] = k; 3.248 taskID[2] = j; 3.249 taskID[3] = i; 3.250 - VSs__submit_task_with_ID(&decode_super_mb_taskType, &decode_super_mb_task_args, taskID, animSlv); 3.251 + VSs__submit_task_with_ID(&decode_super_mb_taskType, &decode_super_mb_task_args, taskID); 3.252 } 3.253 draw_edges_taskArgs draw_edges_task_args; 3.254 draw_edges_task_args.d = d; 3.255 @@ -490,11 +490,11 @@ 3.256 draw_edges_task_args.smbc = smbc; 3.257 draw_edges_task_args.line = VMS_App__malloc( sizeof(int) ); 3.258 *(draw_edges_task_args.line) = j; 3.259 - taskID = VSs__create_taskID_of_size(3, animSlv); 3.260 + taskID = VSs__create_taskID_of_size(3); 3.261 taskID[1] = k; 3.262 taskID[2] = j; 3.263 taskID[3] = i; 3.264 - VSs__submit_task_with_ID(&draw_edges_taskType, &draw_edges_task_args, taskID, animSlv); 3.265 + VSs__submit_task_with_ID(&draw_edges_taskType, &draw_edges_task_args, taskID); 3.266 } 3.267 return sm; 3.268 } 3.269 @@ -512,7 +512,7 @@ 3.270 int32 release_ref_list_taskArgSizes[6] = {sizeof(MBRecContext), sizeof(SliceBufferEntry), sizeof(SuperMBTask), sizeof(int), sizeof(H264Context), sizeof(SuperMBContext)}; 3.271 3.272 //#pragma omp task inout(*d, *sbe, *release) input (*lastsmb) 3.273 -static void release_ref_list_task(void *_data, SlaveVP *animatingSlv){ 3.274 +static void release_ref_list_task(void *_data){ 3.275 release_ref_list_taskArgs* args = (release_ref_list_taskArgs*) _data; 3.276 MBRecContext *d = args->d; 3.277 SliceBufferEntry *sbe = args->sbe; 3.278 @@ -526,9 +526,9 @@ 3.279 for(int j=0; j<h->max_dpb_cnt; j++){ 3.280 if(h->dpb[j].cpn== s->release_ref_cpn[i]){ 3.281 //#pragma omp critical (dpb) 3.282 - VSs__start_critical(animatingSlv,0); 3.283 + VSs__start_critical(0); 3.284 release_dpb_entry(h, &h->dpb[j], 2); 3.285 - VSs__end_critical(animatingSlv,0); 3.286 + VSs__end_critical(0); 3.287 break; 3.288 } 3.289 } 3.290 @@ -537,7 +537,7 @@ 3.291 3.292 release_smbc(h, smbc); 3.293 3.294 - VSs__end_task( animatingSlv ); 3.295 + VSs__end_task(); 3.296 } 3.297 3.298 VSsTaskType release_ref_list_taskType = { 3.299 @@ -564,7 +564,7 @@ 3.300 int32 output_taskArgSizes[3] = {sizeof(OutputContext), sizeof(SliceBufferEntry), sizeof(H264Context)}; 3.301 3.302 //#pragma omp task inout (*oc) input(*sbe) 3.303 -static void output_task(void *_data, SlaveVP *animatingSlv){ 3.304 +static void output_task(void *_data){ 3.305 output_taskArgs* args = (output_taskArgs*) _data; 3.306 OutputContext *oc = args->oc; 3.307 SliceBufferEntry *sbe = args->sbe; 3.308 @@ -573,13 +573,13 @@ 3.309 DecodedPicture* out =output_frame(h, oc, sbe->slice.curr_pic, h->ofile, h->frame_width, h->frame_height); 3.310 if (out){ 3.311 //#pragma omp critical (dpb) 3.312 - VSs__start_critical(animatingSlv,0); 3.313 + VSs__start_critical(0); 3.314 release_dpb_entry(h, out, 1); 3.315 - VSs__end_critical(animatingSlv,0); 3.316 + VSs__end_critical(0); 3.317 } 3.318 //print_report(oc->frame_number, oc->video_size, 0, h->verbose); 3.319 3.320 - VSs__end_task( animatingSlv ); 3.321 + VSs__end_task(); 3.322 } 3.323 3.324 VSsTaskType output_taskType = { 3.325 @@ -593,10 +593,8 @@ 3.326 /* 3.327 * The following code is the main loop of the file converter 3.328 */ 3.329 -//Put VMS entry point here 3.330 3.331 -void h264_decode_ompss( void *_params, SlaveVP *animSlv) { 3.332 - H264Context* h = (H264Context*) _params; 3.333 +int h264_decode_ompss( H264Context *h) { 3.334 3.335 const int bufs = h->pipe_bufs; 3.336 3.337 @@ -647,21 +645,21 @@ 3.338 parse_task_args.pc = pc; 3.339 parse_task_args.nc = nc; 3.340 parse_task_args.sbe = &sbe[k%bufs]; 3.341 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.342 + taskID = VSs__create_taskID_of_size(2); 3.343 taskID[1] = 1; 3.344 taskID[2] = k; 3.345 - VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID, animSlv); 3.346 + VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID); 3.347 3.348 decode_slice_entropy_taskArgs decode_slice_entropy_task_args; 3.349 decode_slice_entropy_task_args.h = h; 3.350 decode_slice_entropy_task_args.ec = ec[k%bufs]; 3.351 decode_slice_entropy_task_args.sbe = &sbe[k%bufs]; 3.352 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.353 + taskID = VSs__create_taskID_of_size(2); 3.354 taskID[1] = 2; 3.355 taskID[2] = k; 3.356 - VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, taskID, animSlv); 3.357 + VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, taskID); 3.358 //#pragma omp taskwait on(*pc) 3.359 - VSs__taskwait_on(animSlv,pc); 3.360 + VSs__taskwait_on(pc); 3.361 k++; 3.362 } 3.363 3.364 @@ -671,19 +669,19 @@ 3.365 parse_task_args.pc = pc; 3.366 parse_task_args.nc = nc; 3.367 parse_task_args.sbe = &sbe[k%bufs]; 3.368 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.369 + taskID = VSs__create_taskID_of_size(2); 3.370 taskID[1] = 3; 3.371 taskID[2] = k; 3.372 - VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID, animSlv); 3.373 + VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID); 3.374 3.375 decode_slice_entropy_taskArgs decode_slice_entropy_task_args; 3.376 decode_slice_entropy_task_args.h = h; 3.377 decode_slice_entropy_task_args.ec = ec[k%bufs]; 3.378 decode_slice_entropy_task_args.sbe = &sbe[k%bufs]; 3.379 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.380 + taskID = VSs__create_taskID_of_size(2); 3.381 taskID[1] = 4; 3.382 taskID[2] = k; 3.383 - VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, taskID, animSlv); 3.384 + VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, taskID); 3.385 3.386 k++; 3.387 3.388 @@ -692,13 +690,13 @@ 3.389 init_ref_list_and_get_dpb_task_args.d = rc[k%2]; 3.390 init_ref_list_and_get_dpb_task_args.sbe = &sbe[k%bufs]; 3.391 init_ref_list_and_get_dpb_task_args.init = &init; 3.392 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.393 + taskID = VSs__create_taskID_of_size(2); 3.394 taskID[1] = 5; 3.395 taskID[2] = k; 3.396 - VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID, animSlv); 3.397 + VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID); 3.398 3.399 smbc = acquire_smbc(h); 3.400 - SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, k, animSlv); 3.401 + SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, k); 3.402 release_ref_list_taskArgs release_ref_list_task_args; 3.403 release_ref_list_task_args.h = h; 3.404 release_ref_list_task_args.smbc = smbc; 3.405 @@ -706,21 +704,21 @@ 3.406 release_ref_list_task_args.sbe = &sbe[k%bufs]; 3.407 release_ref_list_task_args.lastsmb = lastsmb; 3.408 release_ref_list_task_args.release = &release; 3.409 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.410 + taskID = VSs__create_taskID_of_size(2); 3.411 taskID[1] = 6; 3.412 taskID[2] = k; 3.413 - VSs__submit_task_with_ID(&release_ref_list_taskType, &release_ref_list_task_args, taskID, animSlv); 3.414 + VSs__submit_task_with_ID(&release_ref_list_taskType, &release_ref_list_task_args, taskID); 3.415 3.416 output_taskArgs output_task_args; 3.417 output_task_args.h = h; 3.418 output_task_args.oc = oc; 3.419 output_task_args.sbe = &sbe[k%bufs]; 3.420 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.421 + taskID = VSs__create_taskID_of_size(2); 3.422 taskID[1] = 7; 3.423 taskID[2] = k; 3.424 - VSs__submit_task_with_ID(&output_taskType, &output_task_args, taskID, animSlv); 3.425 + VSs__submit_task_with_ID(&output_taskType, &output_task_args, taskID); 3.426 //#pragma omp taskwait on(*pc) 3.427 - VSs__taskwait_on(animSlv,pc); 3.428 + VSs__taskwait_on(pc); 3.429 } 3.430 3.431 for (int i=0; i< num_pre_ed; i++){ 3.432 @@ -730,12 +728,12 @@ 3.433 init_ref_list_and_get_dpb_task_args.d = rc[k%2]; 3.434 init_ref_list_and_get_dpb_task_args.sbe = &sbe[k%bufs]; 3.435 init_ref_list_and_get_dpb_task_args.init = &init; 3.436 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.437 + taskID = VSs__create_taskID_of_size(2); 3.438 taskID[1] = 8; 3.439 taskID[2] = i; 3.440 - VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID, animSlv); 3.441 + VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID); 3.442 smbc = acquire_smbc(h); 3.443 - SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, k, animSlv); 3.444 + SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, k); 3.445 release_ref_list_taskArgs release_ref_list_task_args; 3.446 release_ref_list_task_args.h = h; 3.447 release_ref_list_task_args.smbc = smbc; 3.448 @@ -743,63 +741,63 @@ 3.449 release_ref_list_task_args.sbe = &sbe[k%bufs]; 3.450 release_ref_list_task_args.lastsmb = lastsmb; 3.451 release_ref_list_task_args.release = &release; 3.452 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.453 + taskID = VSs__create_taskID_of_size(2); 3.454 taskID[1] = 9; 3.455 taskID[2] = k; 3.456 - VSs__submit_task_with_ID(&release_ref_list_taskType, &release_ref_list_task_args, taskID, animSlv); 3.457 + VSs__submit_task_with_ID(&release_ref_list_taskType, &release_ref_list_task_args, taskID); 3.458 3.459 output_taskArgs output_task_args; 3.460 output_task_args.h = h; 3.461 output_task_args.oc = oc; 3.462 output_task_args.sbe = &sbe[k%bufs]; 3.463 - taskID = VSs__create_taskID_of_size(2,animSlv ); 3.464 + taskID = VSs__create_taskID_of_size(2); 3.465 taskID[1] = 10; 3.466 taskID[2] = k; 3.467 - VSs__submit_task_with_ID(&output_taskType, &output_task_args, taskID, animSlv); 3.468 + VSs__submit_task_with_ID(&output_taskType, &output_task_args, taskID); 3.469 } 3.470 3.471 } else { 3.472 while(!pc->final_frame && frames++ < h->num_frames && !h->quit){ 3.473 3.474 - taskID = VSs__create_taskID_of_size(1,animSlv ); 3.475 + taskID = VSs__create_taskID_of_size(1); 3.476 taskID[1] = frames*10+1; 3.477 parse_taskArgs parse_task_args; 3.478 parse_task_args.h = h; 3.479 parse_task_args.pc = pc; 3.480 parse_task_args.nc = nc; 3.481 parse_task_args.sbe = &sbe[k%bufs]; 3.482 - VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID, animSlv); 3.483 + VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID); 3.484 3.485 - taskID = VSs__create_taskID_of_size(1,animSlv ); 3.486 + taskID = VSs__create_taskID_of_size(1); 3.487 taskID[1] = frames*10+2; 3.488 decode_slice_entropy_taskArgs decode_slice_entropy_task_args; 3.489 decode_slice_entropy_task_args.h = h; 3.490 decode_slice_entropy_task_args.ec = ec[k%bufs]; 3.491 decode_slice_entropy_task_args.sbe = &sbe[k%bufs]; 3.492 - VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args,taskID, animSlv); 3.493 + VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args,taskID); 3.494 3.495 - taskID = VSs__create_taskID_of_size(1,animSlv ); 3.496 + taskID = VSs__create_taskID_of_size(1); 3.497 taskID[1] = frames*10+3; 3.498 decode_slice_mb_taskArgs decode_slice_mb_task_args; 3.499 decode_slice_mb_task_args.h = h; 3.500 decode_slice_mb_task_args.d = rc[0]; 3.501 decode_slice_mb_task_args.sbe = &sbe[k%bufs]; 3.502 - VSs__submit_task_with_ID(&decode_slice_mb_taskType, &decode_slice_mb_task_args,taskID, animSlv); 3.503 + VSs__submit_task_with_ID(&decode_slice_mb_taskType, &decode_slice_mb_task_args,taskID); 3.504 3.505 - taskID = VSs__create_taskID_of_size(1,animSlv ); 3.506 + taskID = VSs__create_taskID_of_size(1); 3.507 taskID[1] = frames*10+4; 3.508 output_taskArgs output_task_args; 3.509 output_task_args.h = h; 3.510 output_task_args.oc = oc; 3.511 output_task_args.sbe = &sbe[k%bufs]; 3.512 - VSs__submit_task_with_ID(&output_taskType, &output_task_args,taskID, animSlv); 3.513 + VSs__submit_task_with_ID(&output_taskType, &output_task_args,taskID); 3.514 //#pragma omp taskwait on(*pc) 3.515 - VSs__taskwait_on(animSlv,pc); 3.516 + VSs__taskwait_on(pc); 3.517 k++; 3.518 } 3.519 } 3.520 //#pragma omp taskwait 3.521 - VSs__taskwait(animSlv); 3.522 + VSs__taskwait(); 3.523 3.524 while ((out=output_frame(h, oc, NULL, h->ofile, h->frame_width, h->frame_height))) ; 3.525 3.526 @@ -827,5 +825,5 @@ 3.527 } 3.528 #endif 3.529 3.530 - VSs__end_thread( animSlv ); 3.531 + return 0; 3.532 }
