34 #include <Argus/Ext/InternalFrameCount.h>
36 namespace ArgusSamples {
41 , m_sessionPerfTracker(sessionPerfTracker)
51 std::vector<Argus::EventType> eventTypes;
52 eventTypes.push_back(Argus::EVENT_TYPE_CAPTURE_COMPLETE);
69 Argus::IEventQueue *iEventQueue =
70 Argus::interface_cast<Argus::IEventQueue>(
m_eventQueue.get());
72 ORIGINATE_ERROR(
"Failed to get iEventQueue");
74 for (uint32_t i = 0; i < iEventQueue->getSize(); i++)
76 const Argus::Event *
event = iEventQueue->getEvent(i);
77 const Argus::IEvent *iEvent = Argus::interface_cast<
const Argus::IEvent>(event);
79 ORIGINATE_ERROR(
"Failed to get IEvent interface");
81 if (iEvent->getEventType() == Argus::EVENT_TYPE_CAPTURE_COMPLETE)
85 const Argus::IEventCaptureComplete *iEventCaptureComplete
86 = Argus::interface_cast<
const Argus::IEventCaptureComplete>(event);
87 const Argus::CaptureMetadata *metaData = iEventCaptureComplete->getMetadata();
90 const Argus::ICaptureMetadata *iCaptureMeta =
91 Argus::interface_cast<
const Argus::ICaptureMetadata>(metaData);
103 std::vector< Argus::AcRegion > regions;
104 std::vector<float> sharpnessScore;
105 if (iCaptureMeta->getAfRegions(®ions) != Argus::STATUS_OK)
106 ORIGINATE_ERROR(
"Failed to get AF regions");
108 if (iCaptureMeta->getSharpnessScore(&sharpnessScore) != Argus::STATUS_OK)
109 ORIGINATE_ERROR(
"Failed to get sharpness score");
111 PROPAGATE_ERROR(dispatcher.
message(
"Focus control info: focuser position %d ",
112 iCaptureMeta->getFocuserPosition()));
113 for (uint32_t j = 0; j < regions.size(); j++)
115 PROPAGATE_ERROR(dispatcher.
message(
" region %d %d %d %d, score %f ",
116 regions[j].left(), regions[j].top(), regions[j].right(),
117 regions[j].bottom(), sharpnessScore[j]));
119 PROPAGATE_ERROR(dispatcher.
message(
"\n"));
122 Argus::Rectangle<uint32_t> region;
123 region = iCaptureMeta->getBayerHistogramRegion();
124 PROPAGATE_ERROR(dispatcher.
message(
"BayerHistogram region %d %d %d %d, \n",
125 region.left(), region.top(), region.right(), region.bottom()));
128 Argus::AeFlickerState state = iCaptureMeta->getFlickerState();
129 PROPAGATE_ERROR(dispatcher.
message(
"Flicker state %s \n", state.getName()));
132 const Argus::Ext::IInternalFrameCount *iInternalFrameCount =
133 Argus::interface_cast<
const Argus::Ext::IInternalFrameCount>(metaData);
134 if (iInternalFrameCount)
136 const uint64_t currentFrameCount = iInternalFrameCount->getInternalFrameCount();