Video capture

Description

This sample application uses the Video to capture frames from a video capture device then uses the Display Interface to display them onto an LCD screen (if any).

Requirements

This sample needs a video capture device (e.g. a camera) but it is not mandatory. Supported camera modules on some i.MX RT boards can be found below.

Wiring

On NXP MIMXRT1064-EVK, the MT9M114 camera module should be plugged in the J35 camera connector. A USB cable should be connected from a host to the micro USB debug connector (J41) in order to get console output via the freelink interface.

On NXP MIMXRT1170-EVK/EVKB, the OV5640 camera module should be plugged into the J2 camera connector. A USB cable should be connected from a host to the micro USB debug connector (J11) in order to get console output via the daplink interface.

Building and Running

For NXP MIMXRT1064-EVK, build this sample application with the following commands:

west build -b mimxrt1064_evk --shield dvp_fpc24_mt9m114 --shield rk043fn66hs_ctg samples/subsys/video/capture

For NXP MIMXRT1170-EVK/EVKB, build this sample application with the following commands:

west build -b mimxrt1170_evk/mimxrt1176/cm7 --shield nxp_btb44_ov5640 --shield rk055hdmipi4ma0 samples/subsys/video/capture

For testing purpose without the need of any real video capture and/or display hardwares, a video software pattern generator is supported by the above build commands without specifying the shields.

Sample Output

 Video device: csi@402bc000
 - Capabilities:
   RGBP width [480; 480; 0] height [272; 272; 0]
   YUYV width [480; 480; 0] height [272; 272; 0]
   RGBP width [640; 640; 0] height [480; 480; 0]
   YUYV width [640; 640; 0] height [480; 480; 0]
   RGBP width [1280; 1280; 0] height [720; 720; 0]
   YUYV width [1280; 1280; 0] height [720; 720; 0]
 - Default format: RGBP 480x272

 Display device: display-controller@402b8000
 - Capabilities:
   x_resolution = 480, y_resolution = 272, supported_pixel_formats = 40
   current_pixel_format = 32, current_orientation = 0

 Capture started
 Got frame 0! size: 261120; timestamp 249 ms
 Got frame 1! size: 261120; timestamp 282 ms
 Got frame 2! size: 261120; timestamp 316 ms
 Got frame 3! size: 261120; timestamp 350 ms
 Got frame 4! size: 261120; timestamp 384 ms
 Got frame 5! size: 261120; timestamp 418 ms
 Got frame 6! size: 261120; timestamp 451 ms

<repeats endlessly>

References