Difference between revisions of "Altek AL6100 3D Imaging Linux driver"

From RidgeRun Developer Connection
Jump to: navigation, search
(Created page with "<seo title="ON Semiconductor Linux Drivers | Linux Driver for Jetson TX2 | RidgeRun Developer" titlemode="replace" keywords="GStreamer, Linux SDK, Linux BSP, Embedded Linux,...")
 
m
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<seo title="ON Semiconductor Linux Drivers | Linux Driver for Jetson TX2 | RidgeRun Developer" titlemode="replace" keywords="GStreamer, Linux SDK, Linux BSP,  Embedded Linux, Device Drivers, Nvidia, Xilinx, TI, NXP, Freescale, Embedded Linux driver development, Linux Software development, Embedded Linux SDK, Embedded Linux Application development, GStreamer Multimedia Framework,AR1335 Jetson TX2,AR1335,V4L2 Driver." description="Check out our comprehensive overview of the ON Semiconductor AR1335 Linux driver for Jetson TX2.Check out the features and more at RidgeRun!"></seo>
+
<seo title=" Altek AL6100 3D Imaging Linux driver | Altek AL6100 Linux Driver for Jetson TX2 | RidgeRun Developer" titlemode="replace" metakeywords="GStreamer, Linux SDK, Linux BSP,  Embedded Linux, Device Drivers, Nvidia, Xilinx, TI, NXP, Freescale, Embedded Linux driver development, Linux Software development, Embedded Linux SDK, Embedded Linux Application development, GStreamer Multimedia Framework,AL6100 Jetson TX2,AL6100,V4L2 Driver,AL6100 Linux driver,AL6100 3D Imaging,Altek AL6100." metadescription="Check out our comprehensive overview of the Altek AL6100 3D Imaging Linux driver for Jetson TX2.Check out the features and more at RidgeRun!"></seo>
  
 
<table>
 
<table>
Line 5: Line 5:
 
<td><div class="clear; float:right">__TOC__</div></td>
 
<td><div class="clear; float:right">__TOC__</div></td>
 
<td>
 
<td>
<html>
+
{{Shopping cart mpo for V4L2 camera drivers}}
<div id='product-component-1572042282993'></div>
 
<script type="text/javascript">
 
/*<![CDATA[*/
 
(function () {
 
  var scriptURL = 'https://sdks.shopifycdn.com/buy-button/latest/buy-button-storefront.min.js';
 
  if (window.ShopifyBuy) {
 
    if (window.ShopifyBuy.UI) {
 
      ShopifyBuyInit();
 
    } else {
 
      loadScript();
 
    }
 
  } else {
 
    loadScript();
 
  }
 
  function loadScript() {
 
    var script = document.createElement('script');
 
    script.async = true;
 
    script.src = scriptURL;
 
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
 
    script.onload = ShopifyBuyInit;
 
  }
 
  function ShopifyBuyInit() {
 
    var client = ShopifyBuy.buildClient({
 
      domain: 'ridgerun1.myshopify.com',
 
      storefrontAccessToken: 'b0ca98633a82de5d2f63cd51f5af30ac',
 
    });
 
    ShopifyBuy.UI.onReady(client).then(function (ui) {
 
      ui.createComponent('product', {
 
        id: '4318380851271',
 
        node: document.getElementById('product-component-1572042282993'),
 
        moneyFormat: '%24%7B%7Bamount%7D%7D',
 
        options: {
 
  "product": {
 
    "styles": {
 
      "product": {
 
        "@media (min-width: 601px)": {
 
          "max-width": "calc(25% - 20px)",
 
          "margin-left": "20px",
 
          "margin-bottom": "50px"
 
        }
 
      },
 
      "button": {
 
        "font-family": "Open Sans, sans-serif",
 
        "font-weight": "bold",
 
        "font-size": "18px",
 
        "padding-top": "17px",
 
        "padding-bottom": "17px",
 
        ":hover": {
 
          "background-color": "#0187a7"
 
        },
 
        "background-color": "#0196ba",
 
        ":focus": {
 
          "background-color": "#0187a7"
 
        },
 
        "border-radius": "5px",
 
        "padding-left": "50px",
 
        "padding-right": "50px"
 
      },
 
      "quantityInput": {
 
        "font-size": "18px",
 
        "padding-top": "17px",
 
        "padding-bottom": "17px"
 
      }
 
    },
 
    "text": {
 
      "button": "Add to cart"
 
    },
 
    "googleFonts": [
 
      "Open Sans"
 
    ]
 
  },
 
  "productSet": {
 
    "styles": {
 
      "products": {
 
        "@media (min-width: 601px)": {
 
          "margin-left": "-20px"
 
        }
 
      }
 
    }
 
  },
 
  "modalProduct": {
 
    "contents": {
 
      "img": false,
 
      "imgWithCarousel": true,
 
      "button": false,
 
      "buttonWithQuantity": true
 
    },
 
    "styles": {
 
      "product": {
 
        "@media (min-width: 601px)": {
 
          "max-width": "100%",
 
          "margin-left": "0px",
 
          "margin-bottom": "0px"
 
        }
 
      },
 
      "button": {
 
        "font-family": "Open Sans, sans-serif",
 
        "font-weight": "bold",
 
        "font-size": "18px",
 
        "padding-top": "17px",
 
        "padding-bottom": "17px",
 
        ":hover": {
 
          "background-color": "#0187a7"
 
        },
 
        "background-color": "#0196ba",
 
        ":focus": {
 
          "background-color": "#0187a7"
 
        },
 
        "border-radius": "5px",
 
        "padding-left": "50px",
 
        "padding-right": "50px"
 
      },
 
      "quantityInput": {
 
        "font-size": "18px",
 
        "padding-top": "17px",
 
        "padding-bottom": "17px"
 
      }
 
    },
 
    "googleFonts": [
 
      "Open Sans"
 
    ]
 
  },
 
  "cart": {
 
    "styles": {
 
      "button": {
 
        "font-family": "Open Sans, sans-serif",
 
        "font-weight": "bold",
 
        "font-size": "18px",
 
        "padding-top": "17px",
 
        "padding-bottom": "17px",
 
        ":hover": {
 
          "background-color": "#0187a7"
 
        },
 
        "background-color": "#0196ba",
 
        ":focus": {
 
          "background-color": "#0187a7"
 
        },
 
        "border-radius": "5px"
 
      },
 
      "title": {
 
        "color": "#4c4c4c"
 
      },
 
      "header": {
 
        "color": "#4c4c4c"
 
      },
 
      "lineItems": {
 
        "color": "#4c4c4c"
 
      },
 
      "subtotalText": {
 
        "color": "#4c4c4c"
 
      },
 
      "subtotal": {
 
        "color": "#4c4c4c"
 
      },
 
      "notice": {
 
        "color": "#4c4c4c"
 
      },
 
      "currency": {
 
        "color": "#4c4c4c"
 
      },
 
      "close": {
 
        "color": "#4c4c4c",
 
        ":hover": {
 
          "color": "#4c4c4c"
 
        }
 
      },
 
      "empty": {
 
        "color": "#4c4c4c"
 
      },
 
      "noteDescription": {
 
        "color": "#4c4c4c"
 
      },
 
      "discountText": {
 
        "color": "#4c4c4c"
 
      },
 
      "discountIcon": {
 
        "fill": "#4c4c4c"
 
      },
 
      "discountAmount": {
 
        "color": "#4c4c4c"
 
      }
 
    },
 
    "googleFonts": [
 
      "Open Sans"
 
    ]
 
  },
 
  "toggle": {
 
    "styles": {
 
      "toggle": {
 
        "font-family": "Open Sans, sans-serif",
 
        "font-weight": "bold",
 
        "background-color": "#0196ba",
 
        ":hover": {
 
          "background-color": "#0187a7"
 
        },
 
        ":focus": {
 
          "background-color": "#0187a7"
 
        }
 
      },
 
      "count": {
 
        "font-size": "18px"
 
      }
 
    },
 
    "googleFonts": [
 
      "Open Sans"
 
    ]
 
  },
 
  "lineItem": {
 
    "styles": {
 
      "variantTitle": {
 
        "color": "#4c4c4c"
 
      },
 
      "title": {
 
        "color": "#4c4c4c"
 
      },
 
      "price": {
 
        "color": "#4c4c4c"
 
      },
 
      "fullPrice": {
 
        "color": "#4c4c4c"
 
      },
 
      "discount": {
 
        "color": "#4c4c4c"
 
      },
 
      "discountIcon": {
 
        "fill": "#4c4c4c"
 
      },
 
      "quantity": {
 
        "color": "#4c4c4c"
 
      },
 
      "quantityIncrement": {
 
        "color": "#4c4c4c",
 
        "border-color": "#4c4c4c"
 
      },
 
      "quantityDecrement": {
 
        "color": "#4c4c4c",
 
        "border-color": "#4c4c4c"
 
      },
 
      "quantityInput": {
 
        "color": "#4c4c4c",
 
        "border-color": "#4c4c4c"
 
      }
 
    }
 
  }
 
},
 
      });
 
    });
 
  }
 
})();
 
/*]]>*/
 
</script>
 
</html>
 
 
<td>
 
<td>
{{Debug Symbol}} Problems running the pipelines shown on this page?<br>Please see our [http://developer.ridgerun.com/wiki/index.php?title=GStreamer_Debugging GStreamer Debugging guide] for help.
+
{{NVIDIA Preferred Partner logo}}
<br>
+
<td>
<br>
+
<td>
<div style='text-align: center;'>[[File:RR Contact Us.png|200px|link=http://www.ridgerun.com/contact]]</div>
+
{{GStreamer debug}}
</td>
+
<td>  
</td>
+
<center>
 +
{{ContactUs Button}}
 +
</center>
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
<br>
  
=AL6100 Features=
+
==AL6100 Features==
  
The ON Semiconductor AL6100 is an image sensor with the following features:
+
The Altek AL6100 is an image sensor with the following features:
  
* TODO
+
* Support RAW8, RAW10 and RAW14 image input formats
 +
* Type-3 PDAF/2PD pattern supporting
 +
** PDAF/2PD type 1: Pass-through PD via VC or DT to SoC
 +
** PDAF/2PD type 2: Pass-through PP via VC or DT to SoC
 +
** Type-3 PDAF: extract and correct phase pixel
 +
*** Output left and right PP via VC or DT to SoC
 +
** Type-3 2PD: Synthesis to Bayer format (2PD in, Bayer out)
 +
*** Output Y-left and Y-right PP via VC or DT to SoC
 +
* Real-time zz-HDR synthesis
 +
** High throughput: up to 27M 30fps(8bpp)
 +
*** Maximal width: 8096before 2PD merge, 7168 after 2PD merge
 +
*** Maximal height: 4992
 +
*** Aspect ratio: 16:9 and 4:3
 +
** AE histogram & stats
 +
*** With Long/Short exposure AE histogram generator
 +
*** AE stats at linear domain
 +
*** Included in meta data output via MIPI VC or DT
 +
** Dynamic range: ±2 EV (limited by sensor)
 +
** Exposure ratio (L:S)=1:1, 2:1, 4:1, 8:1 and 16:1
 +
** 14-bit to 10-bit global tone mapping curve compression
 +
* Real-time 720p depth map generation
 +
** Depth map output, resolution up to 720p/30fps@10-bit depth map and 3-bit confidence map.
 +
** Resolution, 1280x720@16:9 / 960x720@4:3
 +
** Support depth at 30fps max., frame rate will be the same as sensor’s frame rate .
 +
* High performance: up to 810Mpixel/sec(8bpp)
 +
* Support lens distortion rate: <10%
 +
* Frame rate: up to 480fps (PDAF only, without HDR and Depth applications)
 +
* Temperature Range
 +
** Operating, -20℃ to +85℃
 +
* Operating Voltage
 +
** Core: 0.9V
 +
** I/O: 1.8V
 +
* Application
 +
** Smart Phone
 +
** Tablet
 +
** IP CAM
 +
** Automobile
 +
** Drone camera
 +
** Wearable/Sport camera
 +
* Package
 +
** Type: FC-CSP
 +
** Dimension: 5x5x0.8 mm (WxLxH)
  
 
RidgeRun has developed a driver for the Jetson TX2 with the following support:
 
RidgeRun has developed a driver for the Jetson TX2 with the following support:
  
* TODO
+
* L4T 32.2.0 and Jetpack 4.2
 +
* V4L2 Media controller driver
 +
* Supported Formats:
 +
** Raw 10 bit Raw
 +
** Depth Stream: 16bit Raw
 +
** Metadata Stream: 8 bit Raw
 +
* Supported Resolutions:
 +
** Main Stream:
 +
*** 1296x1440@15
 +
*** 1280x720@15
 +
*** 656x720@15
 +
*** 656x800@15
 +
*** 640x360@15
 +
*** 640x400@15
 +
** Depth Stream:
 +
*** 1280x720@15
 +
*** 640x360@15
 +
*** 640x400@15
 +
** Metadata Stream:
 +
*** 128x32@15
 +
 
 +
==Enabling the driver==
 +
In order to use this driver, you have to patch and compile the kernel source using JetPack:
 +
 
 +
* Follow the instructions in [[Compiling_Jetson_TX1/TX2_source_code#Download_the_kernel_source_code | (Downloading sources)]] to get the kernel source code.
  
=Enabling the driver=
+
* Once you have the source code, apply the following patch in order to add the changes required for the AP1302 camera at the kernel and dtb level.
  
 
<pre>
 
<pre>
TODO
+
4.2_al6100.patch
 
</pre>
 
</pre>
  
=Using the driver=
+
* Follow the instructions in [[Compiling_Jetson_TX1/TX2_source_code#Build_Kernel | (Build Kernel)]] for building the kernel, and then flash the image.
  
==Gstreamer examples==
+
Make sure to enable AL6100 driver support:
 
+
<pre>
=== Capture ===
+
make menuconfig
 
 
<pre style="background:#d6e4f1">
 
TODO
 
 
</pre>
 
</pre>
  
The sensor will capture in the TODO mode
 
 
<pre>
 
<pre>
Setting pipeline to PAUSED ...
+
-> Device Drivers                                                                                                                       
 +
  -> Multimedia support                                                                                         
 +
    -> <*> AL6100 camera sensor support
 +
</pre>
  
Available Sensor modes :
+
==Using the driver==
3840 x 2160 FR=30.000000 CF=0x1209208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
 
Pipeline is live and does not need PREROLL ...
 
Setting pipeline to PLAYING ...
 
  
NvCameraSrc: Trying To Set Default Camera Resolution. Selected sensorModeIndex = 0 WxH = 3840x2160 FrameRate = 30.000000 ...
+
===V4l2-ctl examples===
  
New clock: GstSystemClock
+
====Capture====
 +
'''Main Stream''':
 +
<pre style="background:#d6e4f1">
 +
v4l2-ctl -d /dev/video1 --set-fmt-video=width=1296,height=1440 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
 
</pre>
 
</pre>
  
=== Video Encoding ===
+
'''Depth''':
 +
<pre style="background:#d6e4f1">
 +
v4l2-ctl -d /dev/video2 --set-fmt-video=width=2560,height=720 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
 +
</pre>
  
 +
'''Metadata''':
 
<pre style="background:#d6e4f1">
 
<pre style="background:#d6e4f1">
TODO
+
v4l2-ctl -d /dev/video3 --set-fmt-video=width=128,height=32 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
 
</pre>
 
</pre>
  
The sensor will capture in the TODO mode and the pipeline will encode the video and save it into test.ts file.
+
=== Performance ===
  
=== Dual Capture + Encoding ===
+
==== ARM Load ====
  
<pre style="background:#d6e4f1">
+
Tegrastats display the following output when capturing with all three streams:
TODO
+
<pre>
 +
RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [1%@345,off,off,0%@345,0%@345,0%@345]
 +
RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [2%@345,off,off,1%@345,0%@345,1%@345]
 +
RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [1%@345,off,off,0%@345,0%@345,0%@345]
 +
RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [2%@345,off,off,0%@345,1%@345,0%@345]
 
</pre>
 
</pre>
  
The sensor will capture from TODO cameras in the TODO mode and the pipeline will encode the videos and save them into test_0.ts and test_1.ts files.
+
==== Framerate ====
 +
<pre>
 +
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 15.00 fps<
 +
< 15.00 fps
 +
<< 15.00 fps
 +
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 15.00 fps
 +
< 15.00 fps
 +
<< 15.00 fps
 +
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 15.00 fps
 +
<< 15.00 fps
 +
<< 15.00 fps
  
== Performance ==
+
</pre>
  
=== ARM Load ===
+
===GStreamer examples===
  
Tegrastats display the following output when capturing with the sensor:
+
==== Capture ====
<pre>
 
RAM 1263/7855MB (lfb 1501x4MB) CPU [0%@2035,off,off,0%@2035,0%@2035,0%@2035]
 
RAM 1263/7855MB (lfb 1501x4MB) CPU [23%@960,off,off,17%@960,16%@960,23%@960]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [17%@345,off,off,17%@345,18%@345,20%@345]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [20%@345,off,off,16%@345,18%@345,15%@345]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [19%@345,off,off,13%@345,15%@345,14%@345]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [20%@345,off,off,15%@345,12%@345,15%@345]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [19%@345,off,off,15%@345,15%@345,16%@345]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [20%@345,off,off,18%@345,18%@345,17%@345]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [16%@345,off,off,15%@345,27%@345,17%@345]
 
RAM 1263/7855MB (lfb 1500x4MB) CPU [19%@345,off,off,18%@345,17%@345,19%@345]
 
</pre>
 
  
=== Framerate ===
+
Depth:
Using the next pipeline we were able to measure the framerate for single capture with perf element:
 
 
<pre style="background:#d6e4f1">
 
<pre style="background:#d6e4f1">
TODO
+
gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw, width=(int)2560, height=(int)720, format=(string)GRAY8' ! autovideosink
 
</pre>
 
</pre>
  
 +
The sensor will capture in the 2560x720@15 mode
 
<pre>
 
<pre>
GST-PERF INFO -->  Timestamp: 0:07:19.108602798; Bps: 782; fps: 30.0
+
Setting pipeline to PAUSED ...
GST-PERF INFO -->  Timestamp: 0:07:20.141189052; Bps: 782; fps: 30.3
+
Pipeline is live and does not need PREROLL ...
GST-PERF INFO -->  Timestamp: 0:07:21.174265435; Bps: 782; fps: 30.0
+
Setting pipeline to PLAYING ...
GST-PERF INFO -->  Timestamp: 0:07:22.207318757; Bps: 782; fps: 30.0
+
New clock: GstSystemClock
GST-PERF INFO -->  Timestamp: 0:07:23.240543516; Bps: 782; fps: 30.0
 
GST-PERF INFO -->  Timestamp: 0:07:24.273697886; Bps: 782; fps: 30.0
 
GST-PERF INFO -->  Timestamp: 0:07:25.306822764; Bps: 782; fps: 30.0
 
GST-PERF INFO -->  Timestamp: 0:07:26.340117514; Bps: 782; fps: 30.0
 
GST-PERF INFO -->  Timestamp: 0:07:27.373087284; Bps: 782; fps: 30.3
 
GST-PERF INFO -->  Timestamp: 0:07:28.406069581; Bps: 782; fps: 30.3
 
GST-PERF INFO -->  Timestamp: 0:07:29.439238457; Bps: 782; fps: 30.0
 
GST-PERF INFO -->  Timestamp: 0:07:30.472398102; Bps: 782; fps: 30.0
 
GST-PERF INFO -->  Timestamp: 0:07:31.472948042; Bps: 808; fps: 30.0
 
 
</pre>
 
</pre>
 
The results show the framerate constant at 30FPS that use nvcamerasrc and passing frames through the ISP to convert from bayer to yuv.
 
 
=== Latency ===
 
 
The glass to glass latency measured is about TODO ms with nvcamerasrc.
 
  
 
{{ContactUs}}
 
{{ContactUs}}
  
[[Category:Jetson]][[Category:Jetson V4L2 Drivers]]
+
[[Category:Jetson]][[Category:Jetson V4L2 Drivers]][[Category:JetsonNano]][[Category:JetsonTX2]][[Category:NVIDIA Xavier]][[Category:NVIDIA Jetson Orin]][[Category:Altek]]

Latest revision as of 03:10, 23 March 2023

Nvidia-preferred-partner-badge-rgb-for-screen.png

Error something wrong.jpg Problems running the pipelines shown on this page?
Please see our GStreamer Debugging guide for help.

RR Contact Us.png


AL6100 Features

The Altek AL6100 is an image sensor with the following features:

  • Support RAW8, RAW10 and RAW14 image input formats
  • Type-3 PDAF/2PD pattern supporting
    • PDAF/2PD type 1: Pass-through PD via VC or DT to SoC
    • PDAF/2PD type 2: Pass-through PP via VC or DT to SoC
    • Type-3 PDAF: extract and correct phase pixel
      • Output left and right PP via VC or DT to SoC
    • Type-3 2PD: Synthesis to Bayer format (2PD in, Bayer out)
      • Output Y-left and Y-right PP via VC or DT to SoC
  • Real-time zz-HDR synthesis
    • High throughput: up to 27M 30fps(8bpp)
      • Maximal width: 8096before 2PD merge, 7168 after 2PD merge
      • Maximal height: 4992
      • Aspect ratio: 16:9 and 4:3
    • AE histogram & stats
      • With Long/Short exposure AE histogram generator
      • AE stats at linear domain
      • Included in meta data output via MIPI VC or DT
    • Dynamic range: ±2 EV (limited by sensor)
    • Exposure ratio (L:S)=1:1, 2:1, 4:1, 8:1 and 16:1
    • 14-bit to 10-bit global tone mapping curve compression
  • Real-time 720p depth map generation
    • Depth map output, resolution up to 720p/30fps@10-bit depth map and 3-bit confidence map.
    • Resolution, 1280x720@16:9 / 960x720@4:3
    • Support depth at 30fps max., frame rate will be the same as sensor’s frame rate .
  • High performance: up to 810Mpixel/sec(8bpp)
  • Support lens distortion rate: <10%
  • Frame rate: up to 480fps (PDAF only, without HDR and Depth applications)
  • Temperature Range
    • Operating, -20℃ to +85℃
  • Operating Voltage
    • Core: 0.9V
    • I/O: 1.8V
  • Application
    • Smart Phone
    • Tablet
    • IP CAM
    • Automobile
    • Drone camera
    • Wearable/Sport camera
  • Package
    • Type: FC-CSP
    • Dimension: 5x5x0.8 mm (WxLxH)

RidgeRun has developed a driver for the Jetson TX2 with the following support:

  • L4T 32.2.0 and Jetpack 4.2
  • V4L2 Media controller driver
  • Supported Formats:
    • Raw 10 bit Raw
    • Depth Stream: 16bit Raw
    • Metadata Stream: 8 bit Raw
  • Supported Resolutions:
    • Main Stream:
      • 1296x1440@15
      • 1280x720@15
      • 656x720@15
      • 656x800@15
      • 640x360@15
      • 640x400@15
    • Depth Stream:
      • 1280x720@15
      • 640x360@15
      • 640x400@15
    • Metadata Stream:
      • 128x32@15

Enabling the driver

In order to use this driver, you have to patch and compile the kernel source using JetPack:

  • Once you have the source code, apply the following patch in order to add the changes required for the AP1302 camera at the kernel and dtb level.
4.2_al6100.patch
  • Follow the instructions in (Build Kernel) for building the kernel, and then flash the image.

Make sure to enable AL6100 driver support:

make menuconfig
-> Device Drivers                                                                                                                        
  -> Multimedia support                                                                                           
    -> <*> AL6100 camera sensor support

Using the driver

V4l2-ctl examples

Capture

Main Stream:

v4l2-ctl -d /dev/video1 --set-fmt-video=width=1296,height=1440 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

Depth:

v4l2-ctl -d /dev/video2 --set-fmt-video=width=2560,height=720 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

Metadata:

v4l2-ctl -d /dev/video3 --set-fmt-video=width=128,height=32 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

Performance

ARM Load

Tegrastats display the following output when capturing with all three streams:

RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [1%@345,off,off,0%@345,0%@345,0%@345]
RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [2%@345,off,off,1%@345,0%@345,1%@345]
RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [1%@345,off,off,0%@345,0%@345,0%@345]
RAM 331/7860MB (lfb 1486x4MB) SWAP 0/3930MB (cached 0MB) CPU [2%@345,off,off,0%@345,1%@345,0%@345]

Framerate

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 15.00 fps<
< 15.00 fps
<< 15.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 15.00 fps
< 15.00 fps
<< 15.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 15.00 fps
<< 15.00 fps
<< 15.00 fps

GStreamer examples

Capture

Depth:

gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw, width=(int)2560, height=(int)720, format=(string)GRAY8' ! autovideosink

The sensor will capture in the 2560x720@15 mode

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock


RidgeRun Resources

Quick Start Client Engagement Process RidgeRun Blog Homepage
Technical and Sales Support RidgeRun Online Store RidgeRun Videos Contact Us

OOjs UI icon message-progressive.svg Contact Us

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. Ridgerun-logo.svg
RR Contact Us.png