[libcamera-devel] [PATCH v3 16/19] ipa: ipu3: ipa_context: Fix doxygen references

Jean-Michel Hautbois jeanmichel.hautbois at ideasonboard.com
Tue Oct 26 08:57:50 CEST 2021


Hi Laurent,

On 25/10/2021 23:41, Laurent Pinchart wrote:
> Hi Jean-Michel and Kieran,
> 
> Thank you for the patch.
> 
> On Fri, Oct 22, 2021 at 05:12:15PM +0200, Jean-Michel Hautbois wrote:
> 
> Missing From: line here too.
> 

Indeed...

>> The IPAFrameContext use unamed structures to group items.
>> Doxygen can not reference the member variables of the container structures
>> through the variable names, and expects the structure type name. As this is not
>> given, the structure variables are referenced from the parent structure.
>>
>> Remove the member name from the annonymous type to allow Doxygen to
>> match the implementation from the documentation.
> 
> I had tested this, and the output was equally bad :-( It's either a bug
> in doxygen, or something we're doing wrong (or both). I'd drop this
> patch as it doesn't create a better output and risks creating
> collisions, and report a bug to doxygen with a minimal test case
> instead.

Well, dropping it means we will have some warnings when building:
[9/9] Generating doxygen with a custom command
/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:62: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPASessionConfiguration::grid::bdsGrid

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:65: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPASessionConfiguration::grid::bdsOutputSize

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:68: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPASessionConfiguration::grid::stride

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:76: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPASessionConfiguration::agc::minShutterSpeed

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:79: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPASessionConfiguration::grid::maxShutterSpeed

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:82: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPASessionConfiguration::grid::minAnalogueGain

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:85: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPASessionConfiguration::grid::maxAnalogueGain

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:96: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPAFrameContext::agc::exposure

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:99: warning: no uniquely 
matching class member found for
   libcamera::ipa::ipu3::IPAFrameContext::agc::gain

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:112: warning: no 
uniquely matching class member found for
   gains::red

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:115: warning: no 
uniquely matching class member found for
   gains::green

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:118: warning: no 
uniquely matching class member found for
   gains::blue

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:126: warning: no 
uniquely matching class member found for
   libcamera::ipa::ipu3::IPAFrameContext::toneMapping::gamma

/home/jm/libcamera/src/ipa/ipu3/ipa_context.cpp:129: warning: no 
uniquely matching class member found for
   libcamera::ipa::ipu3::IPAFrameContext::toneMapping::gammaCorrection

> 
>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>> ---
>>   src/ipa/ipu3/ipa_context.cpp | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp
>> index 3e154e60..3c5aa89a 100644
>> --- a/src/ipa/ipu3/ipa_context.cpp
>> +++ b/src/ipa/ipu3/ipa_context.cpp
>> @@ -59,13 +59,13 @@ namespace libcamera::ipa::ipu3 {
>>    * \struct IPASessionConfiguration::grid
>>    * \brief Grid configuration of the IPA
>>    *
>> - * \var IPASessionConfiguration::grid::bdsGrid
>> + * \var IPASessionConfiguration::bdsGrid
>>    * \brief Bayer Down Scaler grid plane config used by the kernel
>>    *
>> - * \var IPASessionConfiguration::grid::bdsOutputSize
>> + * \var IPASessionConfiguration::bdsOutputSize
>>    * \brief BDS output size configured by the pipeline handler
>>    *
>> - * \var IPASessionConfiguration::grid::stride
>> + * \var IPASessionConfiguration::stride
>>    * \brief Number of cells on one line including the ImgU padding
>>    */
>>   
>> @@ -73,16 +73,16 @@ namespace libcamera::ipa::ipu3 {
>>    * \struct IPASessionConfiguration::agc
>>    * \brief AGC parameters configuration of the IPA
>>    *
>> - * \var IPASessionConfiguration::agc::minShutterSpeed
>> + * \var IPASessionConfiguration::minShutterSpeed
>>    * \brief Minimum shutter speed supported with the configured sensor
>>    *
>> - * \var IPASessionConfiguration::grid::maxShutterSpeed
>> + * \var IPASessionConfiguration::maxShutterSpeed
>>    * \brief Maximum shutter speed supported with the configured sensor
>>    *
>> - * \var IPASessionConfiguration::grid::minAnalogueGain
>> + * \var IPASessionConfiguration::minAnalogueGain
>>    * \brief Minimum analogue gain supported with the configured sensor
>>    *
>> - * \var IPASessionConfiguration::grid::maxAnalogueGain
>> + * \var IPASessionConfiguration::maxAnalogueGain
>>    * \brief Maximum analogue gain supported with the configured sensor
>>    */
>>   
>> @@ -93,10 +93,10 @@ namespace libcamera::ipa::ipu3 {
>>    * The exposure and gain determined are expected to be applied to the sensor
>>    * at the earliest opportunity.
>>    *
>> - * \var IPAFrameContext::agc::exposure
>> + * \var IPAFrameContext::exposure
>>    * \brief Exposure time expressed as a number of lines
>>    *
>> - * \var IPAFrameContext::agc::gain
>> + * \var IPAFrameContext::gain
>>    * \brief Analogue gain multiplier
>>    *
>>    * The gain should be adapted to the sensor specific gain code before applying.
>> @@ -106,16 +106,16 @@ namespace libcamera::ipa::ipu3 {
>>    * \struct IPAFrameContext::awb
>>    * \brief Context for the Automatic White Balance algorithm
>>    *
>> - * \struct IPAFrameContext::awb::gains
>> + * \struct IPAFrameContext::gains
>>    * \brief White balance gains
>>    *
>> - * \var IPAFrameContext::awb::gains::red
>> + * \var IPAFrameContext::red
>>    * \brief White balance gain for R channel
>>    *
>> - * \var IPAFrameContext::awb::gains::green
>> + * \var IPAFrameContext::green
>>    * \brief White balance gain for G channel
>>    *
>> - * \var IPAFrameContext::awb::gains::blue
>> + * \var IPAFrameContext::blue
>>    * \brief White balance gain for B channel
>>    */
>>   
>> @@ -123,10 +123,10 @@ namespace libcamera::ipa::ipu3 {
>>    * \struct IPAFrameContext::toneMapping
>>    * \brief Context for ToneMapping and Gamma control
>>    *
>> - * \var IPAFrameContext::toneMapping::gamma
>> + * \var IPAFrameContext::gamma
>>    * \brief Gamma value for the LUT
>>    *
>> - * \var IPAFrameContext::toneMapping::gammaCorrection
>> + * \var IPAFrameContext::gammaCorrection
>>    * \brief Per-pixel tone mapping implemented as a LUT
>>    *
>>    * The LUT structure is defined by the IPU3 kernel interface. See
> 


More information about the libcamera-devel mailing list