Message ID | 20231204001013.404720-1-andrey.konovalov@linaro.org |
---|---|
Headers | show |
Series |
|
Related | show |
On 04/12/2023 01:10, Andrey Konovalov wrote: > Here is a draft implementation of Software ISP and Software IPA > which provide debayering and implementation of image processing > algorithms for systems without a hardware ISP, or in cases when > there are no public drivers for the hardware ISP present in the > system. > > The implementation of the Software ISP is a reference one. > A naive AWB alorithm is implemented as part of a function which > does debayering and statistics calculations - the algorithm part > is to be moved to the IPA in the next version of the patch set. > And for debayering itself there is already a more efficient > implementation by Hans de Goede. This patch set is currently using > the earlier debayering implementation as it is less lines of code > and is OK for the initial discussion. > Only RAW10P format from the sensor is currently supported, but > other debayering functions can be easily added (which of them to > call is decided based on the input format). > > The Software IPA has only auto exposure and AGC. For the AGC > the analogue gain control of the camera sensor is used (if > available). The algorithm is very much simplified, and is > mostly included as a reference code. > > The 6th patch renames some variables in the simple pipeline > handler for the Software ISP to use the same buffer handling > code as the Converter currently does. This lets one to > avoid adding extra code to the pipeline handler, but also > makes the Software ISP and the Converter mutually exclusive. > > The Software ISP / IPA are intended to be used with the simple > pipeline handler. The proper integration isn't done yet, and > the last patch in this series unconditionally creates the > Software ISP and Software IPA instances if the pipeline is > not using a Converter. In the future the Software ISP / IPA > would be created if the media pipeline can only produce raw > Bayer frames. And a possibility to use different implementations > of Software ISP and IPA will be added. > > This patch set uses SharedMemObject class used by the RPi pipeline > handler - the second patch in the series moves the header file > to a common directory. > > This patch set has been tested on Qualcomm RB5 board with > a mezzanine board equipped with RPi camera v2 (not the > standard RB5 camera mezzanine). > Great work, thanks for posting. Do you have a link to a buildable tree from gitlab for this series that can be shared ? --- bod
Hi Bryan, On 04.12.2023 12:40, Bryan O'Donoghue wrote: > On 04/12/2023 01:10, Andrey Konovalov wrote: >> Here is a draft implementation of Software ISP and Software IPA >> which provide debayering and implementation of image processing >> algorithms for systems without a hardware ISP, or in cases when >> there are no public drivers for the hardware ISP present in the >> system. >> >> The implementation of the Software ISP is a reference one. >> A naive AWB alorithm is implemented as part of a function which >> does debayering and statistics calculations - the algorithm part >> is to be moved to the IPA in the next version of the patch set. >> And for debayering itself there is already a more efficient >> implementation by Hans de Goede. This patch set is currently using >> the earlier debayering implementation as it is less lines of code >> and is OK for the initial discussion. >> Only RAW10P format from the sensor is currently supported, but >> other debayering functions can be easily added (which of them to >> call is decided based on the input format). >> >> The Software IPA has only auto exposure and AGC. For the AGC >> the analogue gain control of the camera sensor is used (if >> available). The algorithm is very much simplified, and is >> mostly included as a reference code. >> >> The 6th patch renames some variables in the simple pipeline >> handler for the Software ISP to use the same buffer handling >> code as the Converter currently does. This lets one to >> avoid adding extra code to the pipeline handler, but also >> makes the Software ISP and the Converter mutually exclusive. >> >> The Software ISP / IPA are intended to be used with the simple >> pipeline handler. The proper integration isn't done yet, and >> the last patch in this series unconditionally creates the >> Software ISP and Software IPA instances if the pipeline is >> not using a Converter. In the future the Software ISP / IPA >> would be created if the media pipeline can only produce raw >> Bayer frames. And a possibility to use different implementations >> of Software ISP and IPA will be added. >> >> This patch set uses SharedMemObject class used by the RPi pipeline >> handler - the second patch in the series moves the header file >> to a common directory. >> >> This patch set has been tested on Qualcomm RB5 board with >> a mezzanine board equipped with RPi camera v2 (not the >> standard RB5 camera mezzanine). >> > > Great work, thanks for posting. > > Do you have a link to a buildable tree from gitlab for this series that can be shared ? I've pushed it to https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commits/SoftwareISP-v02/ Thanks, Andrey > --- > bod >