Difference between revisions of "Sony IMX214 Linux Driver"
Efernandez (talk | contribs) (Created page with "<seo title="Sony IMX214 Linux Driver | IMX214 Linux Driver for NVIDIA Jetson | RidgeRun" titlemode="replace" keywords="GStreamer, Embedded Linux, Device Drivers, NVIDIA, Xilin...") |
Efernandez (talk | contribs) (→ON Semiconductor ARX3A0 Features) |
||
Line 267: | Line 267: | ||
</table> | </table> | ||
− | == | + | == Sony IMX214 Features == |
IMX214 is a diagonal 5.867mm(Type 1/3.06) 13 Mega-pixel CMOS active pixel type stacked image sensor with a square pixel array. It adopts Exmor RS™ technology to achieve high speed mage capturing by column parallel A/D converter circuits and high sensitivity and low noise image (comparing with conventional CMOS image sensor) through the backside illuminated imaging pixel structure. R, G, and B pigment primary color mosaic filter is employed. (Taken from [https://www.mouser.com/datasheet/2/897/ProductBrief_IMX214_20150428-1289331.pdf Mouser webpage]). | IMX214 is a diagonal 5.867mm(Type 1/3.06) 13 Mega-pixel CMOS active pixel type stacked image sensor with a square pixel array. It adopts Exmor RS™ technology to achieve high speed mage capturing by column parallel A/D converter circuits and high sensitivity and low noise image (comparing with conventional CMOS image sensor) through the backside illuminated imaging pixel structure. R, G, and B pigment primary color mosaic filter is employed. (Taken from [https://www.mouser.com/datasheet/2/897/ProductBrief_IMX214_20150428-1289331.pdf Mouser webpage]). |
Revision as of 09:33, 4 April 2022
|
|
|
Sony IMX214 Features
IMX214 is a diagonal 5.867mm(Type 1/3.06) 13 Mega-pixel CMOS active pixel type stacked image sensor with a square pixel array. It adopts Exmor RS™ technology to achieve high speed mage capturing by column parallel A/D converter circuits and high sensitivity and low noise image (comparing with conventional CMOS image sensor) through the backside illuminated imaging pixel structure. R, G, and B pigment primary color mosaic filter is employed. (Taken from Mouser webpage).
IMX214 Linux driver support
- NVIDIA Jetson Nano
IMX214 Linux driver features
Xavier NX |
|
---|
Enabling IMX214 Linux Driver
In order to use this driver, you have to patch and compile the kernel source using JetPack:
Follow the instructions in (Downloading sources) to get the kernel source code.
- Once you have the source code, apply the following patch in order to add the changes required for the ARX3A0 camera at kernel and dtb level.
4.5.1_nx_arx3a0-v0.2.0.patch
- Follow the instructions in (Build Kernel) for building the kernel, and then flash the image.
Make sure to enable ARX3A0 driver support:
make menuconfig
-> Device Drivers -> Multimedia support -> NVIDIA overlay Encoders, decoders, sensors and other helper chips -> <*> ARX3A0 camera sensor support
GStreamer Examples: Testing a ARX3A0 Linux Driver
Capture and Display
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=560,height=560,format=GRAY16_LE ! videoconvert ! xvimagesink
Video Encoding
RECORDING_FILE="recording.mp4" gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=560,height=560,format=GRAY16_LE ! videoconvert ! omxh264enc ! h264parse ! qtmux ! filesink location=$RECORDING_FILE_0 -e
The sensor will capture in the 560x560@360 mode and the pipeline will encode the video and save it into a recording.mp4 file.
Dual Capture + Encoding
RECORDING_FILE_0="recording_0.mp4" RECORDING_FILE_1="recording_1.mp4" gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=560,height=560,format=GRAY16_LE ! videoconvert ! omxh264enc ! h264parse ! qtmux ! filesink location=$RECORDING_FILE_0 v4l2src device=/dev/video1 ! video/x-raw,width=560,height=560,format=GRAY16_LE ! videoconvert ! omxh264enc ! h264parse ! qtmux ! filesink location=$RECORDING_FILE_1 ! xvimagesink -e
The sensor will capture from 2 cameras in the 560x560@360 mode and the pipeline will encode the videos and save them into recording_0.mp4 and recording_1.mp4 files.
Global Gain Example
The driver allows global gain control.
v4l2-ctl -d /dev/video0 --set-ctrl gain=$GAIN_VALUE
Exposure Example
The driver allows also exposure time control.
v4l2-ctl -d /dev/video0 --set-ctrl exposure=$EXPOSURE_VALUE
Performance of the IMX214 Linux Driver
Using the next pipeline we were able to measure the framerate and CPU load for single capture with perf element:
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=560,height=560,format=GRAY16_LE ! perf print-arm-load=true ! fakesink
GST-PERF INFO: timestamp 0:03:16.383008862; bps: 1863106560,000; fps: 360,442; cpu: 14; GST-PERF INFO: timestamp 0:03:17.384480538; bps: 1863106560,000; fps: 360,470; cpu: 16; GST-PERF INFO: timestamp 0:03:18.385772573; bps: 1863106560,000; fps: 360,534; cpu: 14; GST-PERF INFO: timestamp 0:03:19.387378203; bps: 1863106560,000; fps: 359,423; cpu: 14; GST-PERF INFO: timestamp 0:03:20.388781521; bps: 1857945600,000; fps: 360,494; cpu: 15;
RidgeRun Resources | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Visit our Main Website for the RidgeRun Products and Online Store. RidgeRun Engineering informations are available in RidgeRun Professional Services, RidgeRun Subscription Model and Client Engagement Process wiki pages. Please email to support@ridgerun.com for technical questions and contactus@ridgerun.com for other queries. Contact details for sponsoring the RidgeRun GStreamer projects are available in Sponsor Projects page. | ![]() ![]() |