Lines Matching refs:frame
246 for (auto frame = mFrameHolder.begin(); frame != mFrameHolder.end(); frame++) { in error() local
247 if (frame->mLargeWork) { in error()
248 finalizeWork(*frame, 0, true); in error()
249 worklist->push_back(std::move(frame->mLargeWork)); in error()
250 frame->reset(); in error()
264 std::list<MultiAccessUnitInfo>::iterator frame = in flush() local
266 while (frame != mFrameHolder.end() && !foundFlushedFrame) { in flush()
267 auto it = frame->mComponentFrameIds.find( in flush()
269 if (it != frame->mComponentFrameIds.end()) { in flush()
272 << " with " << frame->inOrdinal.frameIndex.peekull(); in flush()
273 (*iterWork)->input.ordinal.frameIndex = frame->inOrdinal.frameIndex; in flush()
274 frame = mFrameHolder.erase(frame); in flush()
277 ++frame; in flush()
439 std::list<MultiAccessUnitInfo>::iterator frame = in gather() local
441 while (!foundFrame && frame != mFrameHolder.end()) { in gather()
443 auto it = frame->mComponentFrameIds.find(thisFrameIndex); in gather()
444 if (it != frame->mComponentFrameIds.end()) { in gather()
448 << ") -> frameIndex " << frame->inOrdinal.frameIndex.peekull(); in gather()
452 || frame->mLargeFrameTuning.maxSize == 0) { in gather()
454 frame->mComponentFrameIds.erase(it); in gather()
457 if (frame->mLargeWork) { in gather()
458 finalizeWork(*frame); in gather()
459 addOutWork(frame->mLargeWork); in gather()
460 frame->reset(); in gather()
463 frame->mLargeWork = std::move(work); in gather()
464 frame->mLargeWork->input.ordinal.frameIndex = in gather()
465 frame->inOrdinal.frameIndex; in gather()
466 finalizeWork(*frame); in gather()
467 addOutWork(frame->mLargeWork); in gather()
468 frame->reset(); in gather()
470 frame->mComponentFrameIds.clear(); in gather()
473 } else if (C2_OK != (res = processWorklets(*frame, work, addOutWork))) { in gather()
479 if (frame->mLargeWork == nullptr) { in gather()
480 frame->mLargeWork.reset(new C2Work); in gather()
481 frame->mLargeWork->input.ordinal = frame->inOrdinal; in gather()
482 frame->mLargeWork->input.ordinal.frameIndex = in gather()
483 frame->inOrdinal.frameIndex; in gather()
485 frame->mLargeWork->result = res; in gather()
486 finalizeWork(*frame); in gather()
487 addOutWork(frame->mLargeWork); in gather()
488 frame->reset(); in gather()
489 frame->mComponentFrameIds.clear(); in gather()
494 << " -> " << frame->inOrdinal.frameIndex.peekull(); in gather()
495 frame->mComponentFrameIds.erase(it); in gather()
499 if ((frame->mWview in gather()
500 && (frame->mWview->offset() >= frame->mLargeFrameTuning.thresholdSize)) in gather()
501 || frame->mComponentFrameIds.empty()) { in gather()
502 if (frame->mLargeWork) { in gather()
503 frame->mLargeWork->result = C2_OK; in gather()
504 finalizeWork(*frame); in gather()
505 addOutWork(frame->mLargeWork); in gather()
506 frame->reset(); in gather()
509 if (frame->mComponentFrameIds.empty()) { in gather()
511 frame = mFrameHolder.erase(frame); in gather()
518 frame++; in gather()
528 c2_status_t MultiAccessUnitHelper::createLinearBlock(MultiAccessUnitInfo &frame) { in createLinearBlock() argument
534 uint32_t maxOutSize = frame.mLargeFrameTuning.maxSize; in createLinearBlock()
535 c2_status_t err = mLinearPool->fetchLinearBlock(maxOutSize, usage, &frame.mBlock); in createLinearBlock()
536 LOG(DEBUG) << "Allocated block with offset : " << frame.mBlock->offset() in createLinearBlock()
537 << " size " << frame.mBlock->size() << " Capacity " << frame.mBlock->capacity(); in createLinearBlock()
542 frame.mWview = std::make_shared<C2WriteView>(frame.mBlock->map().get()); in createLinearBlock()
544 frame.mLargeFrameTuning.maxSize in createLinearBlock()
545 << " alloc size " << frame.mWview->size(); in createLinearBlock()
552 c2_status_t MultiAccessUnitHelper::processWorklets(MultiAccessUnitInfo &frame, in processWorklets() argument
556 auto allocateWork = [&](MultiAccessUnitInfo &frame, in processWorklets()
560 if (frame.mLargeWork == nullptr) { in processWorklets()
561 frame.mLargeWork.reset(new C2Work); in processWorklets()
562 frame.mLargeWork->result = C2_OK; in processWorklets()
563 frame.mLargeWork->input.flags = (C2FrameData::flags_t)0; in processWorklets()
564 frame.mLargeWork->input.ordinal = frame.inOrdinal; in processWorklets()
565 frame.mLargeWork->input.ordinal.frameIndex = frame.inOrdinal.frameIndex; in processWorklets()
568 if (frame.mLargeWork->worklets.size() == 0) { in processWorklets()
569 frame.mLargeWork->worklets.emplace_back(new C2Worklet); in processWorklets()
570 frame.mLargeWork->worklets.back()->output.flags = (C2FrameData::flags_t)0; in processWorklets()
574 if (frame.mWview == nullptr) { in processWorklets()
575 ret = createLinearBlock(frame); in processWorklets()
588 if (frame.mLargeWork) { in processWorklets()
589 finalizeWork(frame); in processWorklets()
590 addWork(frame.mLargeWork); in processWorklets()
591 frame.reset(); in processWorklets()
593 frame.mLargeWork = std::move(work); in processWorklets()
594 frame.mLargeWork->input.ordinal.frameIndex = frame.inOrdinal.frameIndex; in processWorklets()
595 finalizeWork(frame, (*worklet)->output.flags, true); in processWorklets()
596 addWork(frame.mLargeWork); in processWorklets()
597 frame.reset(); in processWorklets()
608 frame.mLargeFrameTuning.maxSize = in processWorklets()
609 (frame.mLargeFrameTuning.maxSize / frameSize) * frameSize; in processWorklets()
610 frame.mLargeFrameTuning.thresholdSize = in processWorklets()
611 (frame.mLargeFrameTuning.thresholdSize / frameSize) * frameSize; in processWorklets()
614 c2_status_t c2ret = allocateWork(frame, true); in processWorklets()
619 flags |= frame.mLargeWork->input.flags; in processWorklets()
620 frame.mLargeWork->input.flags = (C2FrameData::flags_t)flags; in processWorklets()
621 C2FrameData& outputFramedata = frame.mLargeWork->worklets.front()->output; in processWorklets()
632 LOG(DEBUG) << "maxOutSize " << frame.mLargeFrameTuning.maxSize in processWorklets()
633 << " threshold " << frame.mLargeFrameTuning.thresholdSize; in processWorklets()
648 frame.mInfos.insert(frame.mInfos.end(), in processWorklets()
655 if ((frame.mWview != nullptr) in processWorklets()
656 && (frame.mWview->offset() >= frame.mLargeFrameTuning.thresholdSize)) { in processWorklets()
657 frame.mLargeWork->result = C2_OK; in processWorklets()
658 finalizeWork(frame, flagsForCopy); in processWorklets()
659 addWork(frame.mLargeWork); in processWorklets()
660 frame.reset(); in processWorklets()
663 if (inputSize > frame.mLargeFrameTuning.maxSize) { in processWorklets()
666 << " configured max size " << frame.mLargeFrameTuning.maxSize in processWorklets()
668 if (frame.mLargeWork && (frame.mWview && frame.mWview->offset() > 0)) { in processWorklets()
669 frame.mLargeWork->result = C2_OK; in processWorklets()
670 finalizeWork(frame, flagsForCopy); in processWorklets()
671 addWork(frame.mLargeWork); in processWorklets()
672 frame.reset(); in processWorklets()
674 frame.mLargeFrameTuning.maxSize = inputSize; in processWorklets()
675 } else if ((frame.mWview != nullptr) in processWorklets()
676 && (inputSize > frame.mWview->size())) { in processWorklets()
678 << frame.mWview->offset(); in processWorklets()
679 if (frame.mWview->offset() > 0) { in processWorklets()
680 frame.mLargeWork->result = C2_OK; in processWorklets()
681 finalizeWork(frame, flagsForCopy); in processWorklets()
682 addWork(frame.mLargeWork); in processWorklets()
683 frame.reset(); in processWorklets()
687 allocateWork(frame, true, true); in processWorklets()
689 flags |= frame.mLargeWork->input.flags; in processWorklets()
690 frame.mLargeWork->input.flags = (C2FrameData::flags_t)flags; in processWorklets()
694 frame.mLargeWork->result = rView.error(); in processWorklets()
695 frame.mLargeWork->worklets.clear(); in processWorklets()
696 finalizeWork(frame, 0, true); in processWorklets()
697 addWork(frame.mLargeWork); in processWorklets()
698 frame.reset(); in processWorklets()
705 toCopy = c2_min(frame.mWview->size(), (inputSize - inputOffset)); in processWorklets()
713 memcpy(frame.mWview->data(), rView.data() + inputOffset, toCopy); in processWorklets()
714 frame.mWview->setOffset(frame.mWview->offset() + toCopy); in processWorklets()
716 mergeAccessUnitInfo(frame, flagsForCopy, toCopy, timestamp); in processWorklets()
719 frame.mLargeWork->worklets.front()->output.buffers.push_back(std::move(buffer)); in processWorklets()
727 frame.mLargeWork->result = C2_OK; in processWorklets()
729 frame.mLargeWork->worklets.front()->output.ordinal.timestamp = timestamp; in processWorklets()
730 finalizeWork(frame, flagsForCsdOrEnd, true); in processWorklets()
731 addWork(frame.mLargeWork); in processWorklets()
732 frame.reset(); in processWorklets()
739 MultiAccessUnitInfo& frame, uint32_t inFlags, bool forceComplete) { in finalizeWork() argument
740 if (frame.mLargeWork == nullptr) { in finalizeWork()
744 frame.mLargeWork->input.ordinal = frame.inOrdinal; in finalizeWork()
746 int64_t timeStampUs = frame.inOrdinal.timestamp.peekull(); in finalizeWork()
747 if (!frame.mAccessUnitInfos.empty()) { in finalizeWork()
748 timeStampUs = frame.mAccessUnitInfos.front().timestamp; in finalizeWork()
749 } else if (!frame.mLargeWork->worklets.empty()) { in finalizeWork()
750 std::unique_ptr<C2Worklet> &worklet = frame.mLargeWork->worklets.front(); in finalizeWork()
756 << frame.mLargeWork->input.ordinal.frameIndex.peekull() in finalizeWork()
761 && (frame.mLargeWork->result == C2_OK) in finalizeWork()
762 && (!frame.mComponentFrameIds.empty())) { in finalizeWork()
765 if (frame.mLargeWork->result == C2_OK) { in finalizeWork()
769 if (!frame.mLargeWork->worklets.empty() && in finalizeWork()
770 frame.mLargeWork->worklets.front() != nullptr) { in finalizeWork()
771 frame.mLargeWork->workletsProcessed = 1; in finalizeWork()
772 C2FrameData& outFrameData = frame.mLargeWork->worklets.front()->output; in finalizeWork()
773 outFrameData.ordinal.frameIndex = frame.inOrdinal.frameIndex.peekull(); in finalizeWork()
775 finalFlags |= frame.mLargeWork->worklets.front()->output.flags; in finalizeWork()
778 if (frame.mBlock && (frame.mWview->offset() > 0)) { in finalizeWork()
779 size_t size = frame.mWview->offset(); in finalizeWork()
783 frame.mWview->setOffset(0); in finalizeWork()
785 frame.mBlock->share(0, size, ::C2Fence())); in finalizeWork()
786 frame.mLargeWork->worklets.front()->output.buffers.push_back(std::move(c2Buffer)); in finalizeWork()
788 if (frame.mLargeWork->worklets.front()->output.buffers.size() > 0) { in finalizeWork()
790 frame.mLargeWork->worklets.front()->output.buffers.front(); in finalizeWork()
792 if (frame.mAccessUnitInfos.size() > 0) { in finalizeWork()
794 frame.mAccessUnitInfos.back().flags |= C2FrameData::FLAG_END_OF_STREAM; in finalizeWork()
798 frame.mAccessUnitInfos.size(), 0u, frame.mAccessUnitInfos); in finalizeWork()
799 frame.mInfos.push_back(largeFrame); in finalizeWork()
800 frame.mAccessUnitInfos.clear(); in finalizeWork()
802 for (auto &info : frame.mInfos) { in finalizeWork()
807 if (frame.mConfigUpdate.size() > 0) { in finalizeWork()
810 make_move_iterator(frame.mConfigUpdate.begin()), in finalizeWork()
811 make_move_iterator(frame.mConfigUpdate.end())); in finalizeWork()
814 frame.mConfigUpdate.clear(); in finalizeWork()
815 frame.mInfos.clear(); in finalizeWork()
816 frame.mBlock.reset(); in finalizeWork()
817 frame.mWview.reset(); in finalizeWork()
824 MultiAccessUnitInfo &frame, in mergeAccessUnitInfo() argument
833 if (frame.mAccessUnitInfos.empty()) { in mergeAccessUnitInfo()
834 frame.mAccessUnitInfos.emplace_back(flags, size, timestamp); in mergeAccessUnitInfo()
838 (frame.mAccessUnitInfos.back().flags == flags)) { in mergeAccessUnitInfo()
840 C2AccessUnitInfosStruct &s = frame.mAccessUnitInfos.back(); in mergeAccessUnitInfo()
843 frame.mAccessUnitInfos.emplace_back(flags, size, timestamp); in mergeAccessUnitInfo()