[libcamera-devel] [PATCH v2 15/18] libcamera: pipeline: simple: enable use of Soft ISP and Soft IPA

Andrei Konovalov andrey.konovalov.ynk at gmail.com
Sun Jan 14 21:04:53 CET 2024


Hi,

On 14.01.2024 20:09, Pavel Machek wrote:
> Hi!
> 
>>   
>> +	/*
>> +	 * Create SoftwareIsp unconditionally if no converter is used
>> +	 * - to be revisited
>> +	 */
>> +	if (!converter_) {
>> +		swIsp_ = SoftwareIspFactoryBase::create(pipe, sensor_->controls());
>> +		if (!swIsp_) {
>> +			LOG(SimplePipeline, Warning)
>> +				<< "Failed to create software ISP, disabling software debayering";
>> +			swIsp_.reset();
>> +		} else {
>> +			swIsp_->inputBufferReady.connect(this, &SimpleCameraData::conversionInputDone);
>> +			swIsp_->outputBufferReady.connect(this, &SimpleCameraData::conversionOutputDone);
>> +			swIsp_->ispStatsReady.connect(this, &SimpleCameraData::ispStatsReady);
>> +
>> +			swIsp_->getSignalSetSensorControls().connect(this, &SimpleCameraData::setSensorControls);
>> +		}
>> +	}
>> +
> 
> I guess this needs to be revisited before the merge?

Currently there is a build-time choice of instantiating:
   -Dpipelines=simple/simple -Dipas=simple/simple
or not instantiating:
   -Dpipelines=simple
the Soft ISP and the Soft IPA.

Does it need to be a run-time option? How should this work from the user perspective then?

For me the only obvious disadvantage of always creating the Soft ISP/IPA if it
is enabled in build configuration is that in this case the frames can be captured
only in RGB888 or BGR888 formats. Capturing raw bayer data isn't possible, as
Soft ISP/IPA always debayers all the raw bayer formats it supports.

Thanks,
Andrey

> Best regards,
> 									Pavel


More information about the libcamera-devel mailing list