[libcamera-devel] [PATCH 1/5] pipeline: raspberrypi: Sensor flips should be applied unconditionally

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Oct 19 15:55:25 CEST 2020


On 02/10/2020 11:57, Naushir Patuck wrote:
> Sorry, this should have not been included in this patch set :-)

Phew, I saw that and thought ... haven't we already moved this code
twice ;-)

Ignoring hehehe

--
Kieran

> 
> Naush
> 
> On Fri, 2 Oct 2020 at 10:33, Naushir Patuck <naush at raspberrypi.com> wrote:
>>
>> The code in pipeline_handler::start() that applies the flips were in a
>> block that was conditional on the RPi::IPA_CONFIG_SENSOR return result.
>> This should be applied unconditionally.
>>
>> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
>> ---
>>  .../pipeline/raspberrypi/raspberrypi.cpp      | 26 +++++++++----------
>>  1 file changed, 13 insertions(+), 13 deletions(-)
>>
>> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
>> index d4d04c0d..1052bdce 100644
>> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
>> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
>> @@ -1172,19 +1172,6 @@ int RPiCameraData::configureIPA(const CameraConfiguration *config)
>>                                               { V4L2_CID_EXPOSURE, result.data[resultIdx++] } });
>>                         sensorMetadata_ = result.data[resultIdx++];
>>                 }
>> -
>> -               /*
>> -                * Configure the H/V flip controls based on the combination of
>> -                * the sensor and user transform.
>> -                */
>> -               if (supportsFlips_) {
>> -                       ControlList ctrls(unicam_[Unicam::Image].dev()->controls());
>> -                       ctrls.set(V4L2_CID_HFLIP,
>> -                                 static_cast<int32_t>(!!(rpiConfig->combinedTransform_ & Transform::HFlip)));
>> -                       ctrls.set(V4L2_CID_VFLIP,
>> -                                 static_cast<int32_t>(!!(rpiConfig->combinedTransform_ & Transform::VFlip)));
>> -                       unicam_[Unicam::Image].dev()->setControls(&ctrls);
>> -               }
>>         }
>>
>>         if (result.operation & RPi::IPA_CONFIG_SENSOR) {
>> @@ -1198,6 +1185,19 @@ int RPiCameraData::configureIPA(const CameraConfiguration *config)
>>                 dropFrameCount_ = result.data[resultIdx++];
>>         }
>>
>> +       /*
>> +        * Configure the H/V flip controls based on the combination of
>> +        * the sensor and user transform.
>> +        */
>> +       if (supportsFlips_) {
>> +               ControlList ctrls(unicam_[Unicam::Image].dev()->controls());
>> +               ctrls.set(V4L2_CID_HFLIP,
>> +                         static_cast<int32_t>(!!(rpiConfig->combinedTransform_ & Transform::HFlip)));
>> +               ctrls.set(V4L2_CID_VFLIP,
>> +                         static_cast<int32_t>(!!(rpiConfig->combinedTransform_ & Transform::VFlip)));
>> +               unicam_[Unicam::Image].dev()->setControls(&ctrls);
>> +       }
>> +
>>         return 0;
>>  }
>>
>> --
>> 2.25.1
>>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list