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);
106 std::vector< Argus::AcRegion > regions;
107 std::vector<float> sharpnessScore;
108 if (iCaptureMeta->getAfRegions(®ions) != Argus::STATUS_OK)
109 ORIGINATE_ERROR(
"Failed to get AF regions");
111 if (iCaptureMeta->getSharpnessScore(&sharpnessScore) != Argus::STATUS_OK)
112 ORIGINATE_ERROR(
"Failed to get sharpness score");
114 PROPAGATE_ERROR(dispatcher.
message(
"Focus control info: focuser position %d ",
115 iCaptureMeta->getFocuserPosition()));
116 for (uint32_t j = 0; j < regions.size(); j++)
118 PROPAGATE_ERROR(dispatcher.
message(
" region %d %d %d %d, score %f ",
119 regions[j].left(), regions[j].top(), regions[j].right(),
120 regions[j].bottom(), sharpnessScore[j]));
122 PROPAGATE_ERROR(dispatcher.
message(
"\n"));
125 Argus::Rectangle<uint32_t> region;
126 region = iCaptureMeta->getBayerHistogramRegion();
127 PROPAGATE_ERROR(dispatcher.
message(
"BayerHistogram region %d %d %d %d, \n",
128 region.left(), region.top(), region.right(), region.bottom()));
131 Argus::AeFlickerState state = iCaptureMeta->getFlickerState();
132 PROPAGATE_ERROR(dispatcher.
message(
"Flicker state %s \n", state.getName()));
134 PROPAGATE_ERROR(dispatcher.
message(
"aperture info: aperture position %d \n",
135 iCaptureMeta->getAperturePosition()));
138 const Argus::Ext::IInternalFrameCount *iInternalFrameCount =
139 Argus::interface_cast<
const Argus::Ext::IInternalFrameCount>(metaData);
140 if (iInternalFrameCount)
142 const uint64_t currentFrameCount = iInternalFrameCount->getInternalFrameCount();