summaryrefslogtreecommitdiff
path: root/src/ipa/ipu3/algorithms/agc.cpp
AgeCommit message (Expand)Author
2024-11-26ipa: libipa: colour: Use the RGB class to model RGB valuesLaurent Pinchart
2024-11-26libcamera: Rename "shutter speed" to "exposure time"Laurent Pinchart
2024-11-18ipa: ipu3: Use centralised libipa helpersDaniel Scally
2024-09-02libcamera: ipu3: Formatting improvementsMilan Zamazal
2024-09-02libcamera: ipu3: Remove unused includesMilan Zamazal
2024-05-09libcamera: Drop remaining file name from header comment blocksLaurent Pinchart
2024-05-08ipa: ipu3: Remove bespoke AGC functions from IPU3Daniel Scally
2024-05-08ipa: ipu3: Derive ipu3::algorithms::Agc from AgcMeanLuminanceDaniel Scally
2023-06-06ipa: ipu3: agc: Drop hard-codec analogue gain maxJacopo Mondi
2022-10-24ipa: ipu3: Fill AGC and AWB metadata in algorithmsLaurent Pinchart
2022-10-24ipa: Pass metadata to Algorithm::process() functionLaurent Pinchart
2022-09-28ipa: libipa: algorithm: process(): Pass frame numberKieran Bingham
2022-09-27ipa: libipa: Pass a reference instead of pointer to Algorithm::process()Laurent Pinchart
2022-08-09ipa: ipu3: Register algorithmsLaurent Pinchart
2022-07-20libcamera: Remove extra ':' after '\todo'Laurent Pinchart
2022-05-18ipa: ipu3: Put IPAFrameContext(s) in a ring bufferUmang Jain
2022-05-18ipa: libipa: Add frame context pointer in process()Umang Jain
2022-05-18ipa: ipu3: Rework IPAFrameContextUmang Jain
2022-03-17ipa: ipu3: agc: Use existing local short-hand variable in configure()Laurent Pinchart
2022-03-17ipa: ipu3: agc: Reset frame count when configuring AGCLaurent Pinchart
2022-03-11ipa: ipu3: agc: Introduce lineDuration in IPASessionConfigurationJean-Michel Hautbois
2022-03-11ipa: ipu3: Return filtered valueJean-Michel Hautbois
2021-12-07libcamera: Use utils::abs_diff()Laurent Pinchart
2021-11-23ipa: ipu3: agc: Saturate the averages when computing relative luminanceLaurent Pinchart
2021-11-23ipa: ipu3: agc: Return the inter-quantile mean from measureBrightness()Laurent Pinchart
2021-11-23ipa: ipu3: agc: Rename currentYGainLaurent Pinchart
2021-11-23ipa: ipu3: agc: Standardize vocabulary on "relative luminance"Laurent Pinchart
2021-11-23ipa: ipu3: agc: Drop kMaxLuminance constantLaurent Pinchart
2021-11-16ipa: ipu3: agc: Remove the threshold for the histogram calculationJean-Michel Hautbois
2021-11-15ipa: ipu3: agc: Store exposure in units of timeJean-Michel Hautbois
2021-11-15ipa: ipu3: agc: Update previous exposure valueJean-Michel Hautbois
2021-11-15ipa: ipu3: agc: Improve gain calculationJean-Michel Hautbois
2021-11-15ipa: ipu3: agc: Refactor ev gain calculation and testingJean-Michel Hautbois
2021-11-15ipa: ipu3: agc: Compute the gain for each frameJean-Michel Hautbois
2021-11-15ipa: ipu3: agc: Limit the number of saturated cellsJean-Michel Hautbois
2021-11-15ipa: ipu3: Use sensor controls to update frameContextJean-Michel Hautbois
2021-10-26ipa: ipu3: agc: Clamp shutter speedJean-Michel Hautbois
2021-10-26ipa: ipu3: agc: Document AGC mean-based algorithmJean-Michel Hautbois
2021-10-22ipa: ipu3: Use sensor limits for analogue gainJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Remove unused variablesJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Refactor condition on exposure correctionJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Introduce previous exposure valueJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Rename gains properlyJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Simplify division of exposure/gainJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Use filtered exposure valuesJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Change analogue gain limitsJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Change exposure limitsJean-Michel Hautbois
2021-10-22ipa: ipu3: agc: Rename exposure values properlyJean-Michel Hautbois
2021-10-22ipa: ipu3: set frameContext before controlsJean-Michel Hautbois
2021-10-19ipa: ipu3: agc: Remove "using" directive from agc.h headerLaurent Pinchart
l opt">*driverName() const { return caps_.driver(); } const char *deviceName() const { return caps_.card(); } const char *busName() const { return caps_.bus_info(); } int getFormat(V4L2DeviceFormat *format); int setFormat(V4L2DeviceFormat *format); int exportBuffers(BufferPool *pool); int importBuffers(BufferPool *pool); int releaseBuffers(); int queueBuffer(Buffer *buffer); Signal<Buffer *> bufferReady; int streamOn(); int streamOff(); protected: std::string logPrefix() const; private: int getFormatSingleplane(V4L2DeviceFormat *format); int setFormatSingleplane(V4L2DeviceFormat *format); int getFormatMultiplane(V4L2DeviceFormat *format); int setFormatMultiplane(V4L2DeviceFormat *format); int requestBuffers(unsigned int count); int createPlane(Buffer *buffer, unsigned int plane, unsigned int length); Buffer *dequeueBuffer(); void bufferAvailable(EventNotifier *notifier); std::string deviceNode_; int fd_; V4L2Capability caps_; enum v4l2_buf_type bufferType_; enum v4l2_memory memoryType_; BufferPool *bufferPool_; std::atomic<unsigned int> queuedBuffersCount_; EventNotifier *fdEvent_; }; } /* namespace libcamera */ #endif /* __LIBCAMERA_V4L2_DEVICE_H__ */