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;