libcamera on imx8mp

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

libcamera on imx8mp

Jump to solution
1,237 Views
zhangjunsheng
Contributor III

Hi NXP FAEs:

 

     I would like to know currently if NXP have any libcamera support on imx8mp platform? 
     https://libcamera.org/getting-started.html.

     I see in yocoto kirkstone bsp, recipe libcamera is under meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb. when I add target libcamera into image and run on imx8mp-evk board, libcamera reports nothing when detecting capture device. and when run gst-launch, the result is the same.

LIBCAMERA_LOG_LEVELS=*:DEBUG gst-device-monitor-1.0 Video
IPAModule ipa_module.cpp:329 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed
IPAManager ipa_manager.cpp:240 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so'
Camera camera_manager.cpp:293 libcamera v0.0.0
Camera camera_manager.cpp:106 Starting camera manager
DeviceEnumerator device_enumerator.cpp:224 New media device "mxc-md" created from /dev/media0
DeviceEnumerator device_enumerator_udev.cpp:95 Defer media device /dev/media0 due to 1 missing dependencies
DeviceEnumerator device_enumerator_udev.cpp:320 All dependencies for media device /dev/media0 found
DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media0: mxc-md
Camera camera_manager.cpp:149 Found registered pipeline handler 'PipelineHandlerUVC'
Camera camera_manager.cpp:149 Found registered pipeline handler 'SimplePipelineHandler'
Camera camera_manager.cpp:149 Found registered pipeline handler 'PipelineHandlerVimc'

 

      when I read back the libcamera code, I find camera need be registered before libcamera use it.

bool PipelineHandlerRPi::match(DeviceEnumerator *enumerator)
{
	DeviceMatch unicam("unicam");
	MediaDevice *unicamDevice = acquireMediaDevice(enumerator, unicam);

	if (!unicamDevice) {
		LOG(RPI, Debug) << "Unable to acquire a Unicam instance";
		return false;
	}

	DeviceMatch isp("bcm2835-isp");
	MediaDevice *ispDevice = acquireMediaDevice(enumerator, isp);

	if (!ispDevice) {
		LOG(RPI, Debug) << "Unable to acquire ISP instance";
		return false;
	}

	int ret = registerCamera(unicamDevice, ispDevice);
	if (ret) {
		LOG(RPI, Error) << "Failed to register camera: " << ret;
		return false;
	}

	return true;
}

      so, I have below questions.
      1. Does NXP bsp currently support libcamera, such as for camera device ov5640?

       2. If not, does NXP have any plan to support libcamera or have any suggestion/reference design/guid/patch for that?

       3. How complex is it for adding suppor to a new camera in libcamera?

       I am quite new for libcamera and expect your help/guid/information.

best regards.

Johnson

1 Solution
1,170 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @zhangjunsheng 

I hope you are doing well.

if the customer has not their algorithm for 3A and other modules, we don't suggest they use lib-camera,

VSI sdk is good chooise. we will support vsi SDK now.

if the customer has interesting in lib-camera and they are isp expert, there is an open source on GitLab  https://gitlab.com/ideasonboard/nxp/libcamera

 

Thanks & Regards,

Sanket Parekh

View solution in original post

0 Kudos
4 Replies
1,201 Views
khang_letruong
Senior Contributor III
0 Kudos
1,171 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @zhangjunsheng 

I hope you are doing well.

if the customer has not their algorithm for 3A and other modules, we don't suggest they use lib-camera,

VSI sdk is good chooise. we will support vsi SDK now.

if the customer has interesting in lib-camera and they are isp expert, there is an open source on GitLab  https://gitlab.com/ideasonboard/nxp/libcamera

 

Thanks & Regards,

Sanket Parekh

0 Kudos
1,076 Views
zhangjunsheng
Contributor III
Hi Sanket Parekh,

Thanks for the information. I will explore more basing on your information.

Best regards.
Johnson
0 Kudos
1,164 Views
khang_letruong
Senior Contributor III

Hi @Sanket_Parekh ,

What is the vsi SDK and how to access it, please ?

Thanks in advance and best regards,

Khang

0 Kudos