Mercurial > cgi-bin > hgwebdir.cgi > PR > Applications > VSs > VSs__H264__App
comparison libavcodec/h264_ompss.c @ 4:96e628866d41
naming some tasks to help debugging
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Wed, 19 Dec 2012 15:40:26 +0100 |
| parents | 0b056460c67d |
| children | 808fe898c011 |
comparison
equal
deleted
inserted
replaced
| 1:69df04756016 | 2:a195d11d2a84 |
|---|---|
| 589 SliceBufferEntry *sbe; | 589 SliceBufferEntry *sbe; |
| 590 SuperMBContext *smbc; | 590 SuperMBContext *smbc; |
| 591 | 591 |
| 592 DecodedPicture *out; | 592 DecodedPicture *out; |
| 593 int frames=0; | 593 int frames=0; |
| 594 | |
| 595 int32* taskID; | |
| 594 | 596 |
| 595 #if HAVE_LIBSDL2 | 597 #if HAVE_LIBSDL2 |
| 596 pthread_t sdl_thr; | 598 pthread_t sdl_thr; |
| 597 if (h->display){ | 599 if (h->display){ |
| 598 pthread_create(&sdl_thr, NULL, sdl_thread, h); | 600 pthread_create(&sdl_thr, NULL, sdl_thread, h); |
| 624 parse_taskArgs parse_task_args; | 626 parse_taskArgs parse_task_args; |
| 625 parse_task_args.h = h; | 627 parse_task_args.h = h; |
| 626 parse_task_args.pc = pc; | 628 parse_task_args.pc = pc; |
| 627 parse_task_args.nc = nc; | 629 parse_task_args.nc = nc; |
| 628 parse_task_args.sbe = &sbe[k%bufs]; | 630 parse_task_args.sbe = &sbe[k%bufs]; |
| 629 VSs__submit_task(&parse_taskType, &parse_task_args, animSlv); | 631 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 632 taskID[1] = 1; | |
| 633 taskID[2] = num_pre_ed; | |
| 634 VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID, animSlv); | |
| 630 | 635 |
| 631 decode_slice_entropy_taskArgs decode_slice_entropy_task_args; | 636 decode_slice_entropy_taskArgs decode_slice_entropy_task_args; |
| 632 decode_slice_entropy_task_args.h = h; | 637 decode_slice_entropy_task_args.h = h; |
| 633 decode_slice_entropy_task_args.ec = ec[k%bufs]; | 638 decode_slice_entropy_task_args.ec = ec[k%bufs]; |
| 634 decode_slice_entropy_task_args.sbe = &sbe[k%bufs]; | 639 decode_slice_entropy_task_args.sbe = &sbe[k%bufs]; |
| 635 VSs__submit_task(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, animSlv); | 640 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 641 taskID[1] = 2; | |
| 642 taskID[2] = num_pre_ed; | |
| 643 VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, taskID, animSlv); | |
| 636 //#pragma omp taskwait on(*pc) | 644 //#pragma omp taskwait on(*pc) |
| 637 VSs__taskwait_on(animSlv,pc); | 645 VSs__taskwait_on(animSlv,pc); |
| 638 k++; | 646 k++; |
| 639 } | 647 } |
| 640 | 648 |
| 642 parse_taskArgs parse_task_args; | 650 parse_taskArgs parse_task_args; |
| 643 parse_task_args.h = h; | 651 parse_task_args.h = h; |
| 644 parse_task_args.pc = pc; | 652 parse_task_args.pc = pc; |
| 645 parse_task_args.nc = nc; | 653 parse_task_args.nc = nc; |
| 646 parse_task_args.sbe = &sbe[k%bufs]; | 654 parse_task_args.sbe = &sbe[k%bufs]; |
| 647 VSs__submit_task(&parse_taskType, &parse_task_args, animSlv); | 655 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 656 taskID[1] = 3; | |
| 657 taskID[2] = frames; | |
| 658 VSs__submit_task_with_ID(&parse_taskType, &parse_task_args, taskID, animSlv); | |
| 648 | 659 |
| 649 decode_slice_entropy_taskArgs decode_slice_entropy_task_args; | 660 decode_slice_entropy_taskArgs decode_slice_entropy_task_args; |
| 650 decode_slice_entropy_task_args.h = h; | 661 decode_slice_entropy_task_args.h = h; |
| 651 decode_slice_entropy_task_args.ec = ec[k%bufs]; | 662 decode_slice_entropy_task_args.ec = ec[k%bufs]; |
| 652 decode_slice_entropy_task_args.sbe = &sbe[k%bufs]; | 663 decode_slice_entropy_task_args.sbe = &sbe[k%bufs]; |
| 653 VSs__submit_task(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, animSlv); | 664 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 665 taskID[1] = 4; | |
| 666 taskID[2] = frames; | |
| 667 VSs__submit_task_with_ID(&decode_slice_entropy_taskType, &decode_slice_entropy_task_args, taskID, animSlv); | |
| 654 | 668 |
| 655 k++; | 669 k++; |
| 656 | 670 |
| 657 init_ref_list_and_get_dpb_taskArgs init_ref_list_and_get_dpb_task_args; | 671 init_ref_list_and_get_dpb_taskArgs init_ref_list_and_get_dpb_task_args; |
| 658 init_ref_list_and_get_dpb_task_args.h = h; | 672 init_ref_list_and_get_dpb_task_args.h = h; |
| 659 init_ref_list_and_get_dpb_task_args.d = rc[k%2]; | 673 init_ref_list_and_get_dpb_task_args.d = rc[k%2]; |
| 660 init_ref_list_and_get_dpb_task_args.sbe = &sbe[k%bufs]; | 674 init_ref_list_and_get_dpb_task_args.sbe = &sbe[k%bufs]; |
| 661 init_ref_list_and_get_dpb_task_args.init = &init; | 675 init_ref_list_and_get_dpb_task_args.init = &init; |
| 662 VSs__submit_task(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, animSlv); | 676 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 677 taskID[1] = 5; | |
| 678 taskID[2] = frames; | |
| 679 VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID, animSlv); | |
| 663 | 680 |
| 664 smbc = acquire_smbc(h); | 681 smbc = acquire_smbc(h); |
| 665 SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, animSlv); | 682 SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, animSlv); |
| 666 release_ref_list_taskArgs release_ref_list_task_args; | 683 release_ref_list_taskArgs release_ref_list_task_args; |
| 667 release_ref_list_task_args.h = h; | 684 release_ref_list_task_args.h = h; |
| 668 release_ref_list_task_args.smbc = smbc; | 685 release_ref_list_task_args.smbc = smbc; |
| 669 release_ref_list_task_args.d = rc[k%2]; | 686 release_ref_list_task_args.d = rc[k%2]; |
| 670 release_ref_list_task_args.sbe = &sbe[k%bufs]; | 687 release_ref_list_task_args.sbe = &sbe[k%bufs]; |
| 671 release_ref_list_task_args.lastsmb = lastsmb; | 688 release_ref_list_task_args.lastsmb = lastsmb; |
| 672 release_ref_list_task_args.release = &release; | 689 release_ref_list_task_args.release = &release; |
| 673 VSs__submit_task(&release_ref_list_taskType, &release_ref_list_task_args, animSlv); | 690 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 691 taskID[1] = 6; | |
| 692 taskID[2] = frames; | |
| 693 VSs__submit_task_with_ID(&release_ref_list_taskType, &release_ref_list_task_args, taskID, animSlv); | |
| 674 | 694 |
| 675 output_taskArgs output_task_args; | 695 output_taskArgs output_task_args; |
| 676 output_task_args.h = h; | 696 output_task_args.h = h; |
| 677 output_task_args.oc = oc; | 697 output_task_args.oc = oc; |
| 678 output_task_args.sbe = &sbe[k%bufs]; | 698 output_task_args.sbe = &sbe[k%bufs]; |
| 679 VSs__submit_task(&output_taskType, &output_task_args, animSlv); | 699 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 700 taskID[1] = 7; | |
| 701 taskID[2] = frames; | |
| 702 VSs__submit_task_with_ID(&output_taskType, &output_task_args, taskID, animSlv); | |
| 680 //#pragma omp taskwait on(*pc) | 703 //#pragma omp taskwait on(*pc) |
| 681 VSs__taskwait_on(animSlv,pc); | 704 VSs__taskwait_on(animSlv,pc); |
| 682 } | 705 } |
| 683 | 706 |
| 684 for (int i=0; i< num_pre_ed; i++){ | 707 for (int i=0; i< num_pre_ed; i++){ |
| 686 init_ref_list_and_get_dpb_taskArgs init_ref_list_and_get_dpb_task_args; | 709 init_ref_list_and_get_dpb_taskArgs init_ref_list_and_get_dpb_task_args; |
| 687 init_ref_list_and_get_dpb_task_args.h = h; | 710 init_ref_list_and_get_dpb_task_args.h = h; |
| 688 init_ref_list_and_get_dpb_task_args.d = rc[k%2]; | 711 init_ref_list_and_get_dpb_task_args.d = rc[k%2]; |
| 689 init_ref_list_and_get_dpb_task_args.sbe = &sbe[k%bufs]; | 712 init_ref_list_and_get_dpb_task_args.sbe = &sbe[k%bufs]; |
| 690 init_ref_list_and_get_dpb_task_args.init = &init; | 713 init_ref_list_and_get_dpb_task_args.init = &init; |
| 691 VSs__submit_task(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, animSlv); | 714 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 715 taskID[1] = 8; | |
| 716 taskID[2] = i; | |
| 717 VSs__submit_task_with_ID(&init_ref_list_and_get_dpb_taskType, &init_ref_list_and_get_dpb_task_args, taskID, animSlv); | |
| 692 smbc = acquire_smbc(h); | 718 smbc = acquire_smbc(h); |
| 693 SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, animSlv); | 719 SuperMBTask *lastsmb= add_decode_slice_3dwave_tasks(rc[k%2], &sbe[k%bufs], smbc, animSlv); |
| 694 release_ref_list_taskArgs release_ref_list_task_args; | 720 release_ref_list_taskArgs release_ref_list_task_args; |
| 695 release_ref_list_task_args.h = h; | 721 release_ref_list_task_args.h = h; |
| 696 release_ref_list_task_args.smbc = smbc; | 722 release_ref_list_task_args.smbc = smbc; |
| 697 release_ref_list_task_args.d = rc[k%2]; | 723 release_ref_list_task_args.d = rc[k%2]; |
| 698 release_ref_list_task_args.sbe = &sbe[k%bufs]; | 724 release_ref_list_task_args.sbe = &sbe[k%bufs]; |
| 699 release_ref_list_task_args.lastsmb = lastsmb; | 725 release_ref_list_task_args.lastsmb = lastsmb; |
| 700 release_ref_list_task_args.release = &release; | 726 release_ref_list_task_args.release = &release; |
| 701 VSs__submit_task(&release_ref_list_taskType, &release_ref_list_task_args, animSlv); | 727 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 728 taskID[1] = 9; | |
| 729 taskID[2] = frames; | |
| 730 VSs__submit_task_with_ID(&release_ref_list_taskType, &release_ref_list_task_args, taskID, animSlv); | |
| 702 | 731 |
| 703 output_taskArgs output_task_args; | 732 output_taskArgs output_task_args; |
| 704 output_task_args.h = h; | 733 output_task_args.h = h; |
| 705 output_task_args.oc = oc; | 734 output_task_args.oc = oc; |
| 706 output_task_args.sbe = &sbe[k%bufs]; | 735 output_task_args.sbe = &sbe[k%bufs]; |
| 707 VSs__submit_task(&output_taskType, &output_task_args, animSlv); | 736 taskID = VSs__create_taskID_of_size(2,animSlv ); |
| 737 taskID[1] = 10; | |
| 738 taskID[2] = frames; | |
| 739 VSs__submit_task_with_ID(&output_taskType, &output_task_args, taskID, animSlv); | |
| 708 } | 740 } |
| 709 | 741 |
| 710 } else { | 742 } else { |
| 711 while(!pc->final_frame && frames++ < h->num_frames && !h->quit){ | 743 while(!pc->final_frame && frames++ < h->num_frames && !h->quit){ |
| 712 int32* taskID; | 744 |
| 713 taskID = VSs__create_taskID_of_size(1,animSlv ); | 745 taskID = VSs__create_taskID_of_size(1,animSlv ); |
| 714 taskID[1] = frames*10+1; | 746 taskID[1] = frames*10+1; |
| 715 parse_taskArgs parse_task_args; | 747 parse_taskArgs parse_task_args; |
| 716 parse_task_args.h = h; | 748 parse_task_args.h = h; |
| 717 parse_task_args.pc = pc; | 749 parse_task_args.pc = pc; |
