comparison libavcodec/h264_ompss.c @ 6:55fb61482128

VSs working
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Wed, 06 Mar 2013 14:35:39 +0100
parents 808fe898c011
children c8259123d224
comparison
equal deleted inserted replaced
3:da9d5e255731 4:b3c99b2b41db
211 SuperMBContext *smbc = args->smbc; 211 SuperMBContext *smbc = args->smbc;
212 int line = *(args->line); 212 int line = *(args->line);
213 H264Slice *s = &sbe->slice; 213 H264Slice *s = &sbe->slice;
214 for (int i=line*smbc->smb_height; i< (line+1)*smbc->smb_height && i< d->mb_height; i++) 214 for (int i=line*smbc->smb_height; i< (line+1)*smbc->smb_height && i< d->mb_height; i++)
215 draw_edges(d, s, i); 215 draw_edges(d, s, i);
216 VMS_App__free(args->line);
216 VSs__end_task( animatingSlv ); 217 VSs__end_task( animatingSlv );
217 } 218 }
218 VSsTaskType draw_edges_taskType = { 219 VSsTaskType draw_edges_taskType = {
219 .fn = &draw_edges_task, 220 .fn = &draw_edges_task,
220 .numCtldArgs = 3, 221 .numCtldArgs = 3,
574 //#pragma omp critical (dpb) 575 //#pragma omp critical (dpb)
575 VSs__start_critical(animatingSlv,0); 576 VSs__start_critical(animatingSlv,0);
576 release_dpb_entry(h, out, 1); 577 release_dpb_entry(h, out, 1);
577 VSs__end_critical(animatingSlv,0); 578 VSs__end_critical(animatingSlv,0);
578 } 579 }
579 print_report(oc->frame_number, oc->video_size, 0, h->verbose); 580 //print_report(oc->frame_number, oc->video_size, 0, h->verbose);
580 581
581 VSs__end_task( animatingSlv ); 582 VSs__end_task( animatingSlv );
582 } 583 }
583 584
584 VSsTaskType output_taskType = { 585 VSsTaskType output_taskType = {
695 taskID[1] = 5; 696 taskID[1] = 5;
696 taskID[2] = k; 697 taskID[2] = k;
697 VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID, animSlv); 698 VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID, animSlv);
698 699
699 smbc = acquire_smbc(h); 700 smbc = acquire_smbc(h);
700 SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, k, animSlv); 701 SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, k, animSlv);
701 release_ref_list_taskArgs release_ref_list_task_args; 702 release_ref_list_taskArgs release_ref_list_task_args;
702 release_ref_list_task_args.h = h; 703 release_ref_list_task_args.h = h;
703 release_ref_list_task_args.smbc = smbc; 704 release_ref_list_task_args.smbc = smbc;
704 release_ref_list_task_args.d = rc[k%2]; 705 release_ref_list_task_args.d = rc[k%2];
705 release_ref_list_task_args.sbe = &sbe[k%bufs]; 706 release_ref_list_task_args.sbe = &sbe[k%bufs];
800 //#pragma omp taskwait 801 //#pragma omp taskwait
801 VSs__taskwait(animSlv); 802 VSs__taskwait(animSlv);
802 803
803 while ((out=output_frame(h, oc, NULL, h->ofile, h->frame_width, h->frame_height))) ; 804 while ((out=output_frame(h, oc, NULL, h->ofile, h->frame_width, h->frame_height))) ;
804 805
805 print_report(oc->frame_number, oc->video_size, 1, h->verbose); 806 //print_report(oc->frame_number, oc->video_size, 1, h->verbose);
806 h->num_frames = oc->frame_number; 807 h->num_frames = oc->frame_number;
807 /* finished ! */ 808 /* finished ! */
808 809
809 free_parse_context(pc); 810 free_parse_context(pc);
810 free_nal_context (nc); 811 free_nal_context (nc);