summaryrefslogtreecommitdiff
path: root/src/ipa/rkisp1/algorithms/awb.cpp
AgeCommit message (Expand)Author
2024-11-26ipa: rkisp1: awb: Use Vector and Matrix for linear algebraLaurent Pinchart
2024-11-26ipa: rkisp1: awb: Use RGB class to store colour gainsLaurent Pinchart
2024-11-26ipa: libipa: colour: Use the RGB class to model RGB valuesLaurent Pinchart
2024-11-18ipa: rkisp1: Use centralised libipa helpersDaniel Scally
2024-10-18ipa: rkisp1: algorithms: awb: Check for correct stats typeStefan Klug
2024-09-02libcamera: rkisp1: Formatting improvementsMilan Zamazal
2024-09-02libcamera: rkisp1: Remove unused includesMilan Zamazal
2024-08-27ipa: rkisp1: Use the new ISP parameters abstractionLaurent Pinchart
2024-07-24ipa: rkisp1: awb: Unconditionally fill metadataStefan Klug
2024-07-24ipa rkisp1: Remove temperatureK from FrameContextStefan Klug
2024-07-24ipa: rkisp1: awb: Clamp gains to machine limitsStefan Klug
2024-05-08libcamera: Drop file name from header comment blocksLaurent Pinchart
2022-11-09ipa: Sort algorithm operations based on calling orderLaurent Pinchart
2022-10-24ipa: rkisp1: Fill AGC and AWB metadataLaurent Pinchart
2022-10-24ipa: Pass metadata to Algorithm::process() functionLaurent Pinchart
2022-09-28ipa: rkisp1: awb: Remove bias from gain calculationLaurent Pinchart
2022-09-28ipa: rkisp1: awb: Freeze AWB when means are too smallLaurent Pinchart
2022-09-28ipa: rkisp1: awb: Clamp gains to prevent divisions by zeroLaurent Pinchart
2022-09-28ipa: rkisp1: awb: Prevent RGB means from being negativeLaurent Pinchart
2022-09-28ipa: rkisp1: awb: Log means, gains and temperature in debug messageLaurent Pinchart
2022-09-28ipa: rkisp1: awb: Add support for RGB meansQuentin Schulz
2022-09-28ipa: rkisp1: awb: Use frame context to fix gains calculationsLaurent Pinchart
2022-09-28ipa: rkisp1: awb: Store per-frame information in frame contextLaurent Pinchart
2022-09-28ipa: rkisp1: Use frame number passed to Algorithm::prepare()Laurent Pinchart
2022-09-28ipa: rkisp1: Rename frameContext to activeStateKieran Bingham
2022-09-28ipa: libipa: algorithm: queueRequest(): Pass frame contextKieran Bingham
2022-09-28ipa: libipa: algorithm: process(): Pass frame numberKieran Bingham
2022-09-28ipa: libipa: algorithm: prepare(): Pass frame and frame ContextKieran Bingham
2022-09-27ipa: libipa: Pass a reference instead of pointer to Algorithm::process()Laurent Pinchart
2022-08-21ipa: rkisp1: Add enable field for AWB algorithm in IPA contextFlorian Sylvestre
2022-08-19ipa: rkisp1: Add manual color gainsPaul Elder
2022-06-29ipa: rkisp1: Register algorithmsLaurent Pinchart
2022-05-18ipa: libipa: Add frame context pointer in process()Umang Jain
2022-03-28ipa: rkisp1: Introduce AWBJean-Michel Hautbois
>"hi846", { .unitCellSize = { 1120, 1120 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, { controls::draft::TestPatternModeSolidColor, 1 }, { controls::draft::TestPatternModeColorBars, 2 }, { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, { controls::draft::TestPatternModePn9, 4 }, /* * No corresponding test pattern mode for: * 5: "Gradient Horizontal" * 6: "Gradient Vertical" * 7: "Check Board" * 8: "Slant Pattern" * 9: "Resolution Pattern" */ }, } }, { "imx219", { .unitCellSize = { 1120, 1120 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, { controls::draft::TestPatternModeColorBars, 1 }, { controls::draft::TestPatternModeSolidColor, 2 }, { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, { controls::draft::TestPatternModePn9, 4 }, }, } }, { "imx258", { .unitCellSize = { 1120, 1120 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, { controls::draft::TestPatternModeSolidColor, 1 }, { controls::draft::TestPatternModeColorBars, 2 }, { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, { controls::draft::TestPatternModePn9, 4 }, }, } }, { "ov5647", { .unitCellSize = { 1400, 1400 }, .testPatternModes = {}, } }, { "ov5670", { .unitCellSize = { 1120, 1120 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, { controls::draft::TestPatternModeColorBars, 1 }, }, } }, { "ov5693", { .unitCellSize = { 1400, 1400 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, { controls::draft::TestPatternModeColorBars, 2 }, /* * No corresponding test pattern mode for * 1: "Random data" and 3: "Colour Bars with * Rolling Bar". */ }, } }, { "ov8865", { .unitCellSize = { 1400, 1400 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, { controls::draft::TestPatternModeColorBars, 2 }, /* * No corresponding test pattern mode for: * 1: "Random data" * 3: "Color bars with rolling bar" * 4: "Color squares" * 5: "Color squares with rolling bar" */ }, } }, { "ov13858", { .unitCellSize = { 1120, 1120 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, { controls::draft::TestPatternModeColorBars, 1 }, }, } }, }; const auto it = sensorProps.find(sensor); if (it == sensorProps.end()) { LOG(CameraSensorProperties, Warning) << "No static properties available for '" << sensor << "'"; LOG(CameraSensorProperties, Warning) << "Please consider updating the camera sensor properties database"; return nullptr; } return &it->second; } } /* namespace libcamera */