1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 .. include:: <isonum.txt> 3 .. include:: <isonum.txt> 4 4 5 NPCM video driver 5 NPCM video driver 6 ================= 6 ================= 7 7 8 This driver is used to control the Video Captu 8 This driver is used to control the Video Capture/Differentiation (VCD) engine 9 and Encoding Compression Engine (ECE) present 9 and Encoding Compression Engine (ECE) present on Nuvoton NPCM SoCs. The VCD can 10 capture a frame from digital video input and c 10 capture a frame from digital video input and compare two frames in memory, and 11 the ECE can compress the frame data into HEXTI 11 the ECE can compress the frame data into HEXTILE format. 12 12 13 Driver-specific Controls 13 Driver-specific Controls 14 ------------------------ 14 ------------------------ 15 15 16 V4L2_CID_NPCM_CAPTURE_MODE 16 V4L2_CID_NPCM_CAPTURE_MODE 17 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 17 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 18 18 19 The VCD engine supports two modes: 19 The VCD engine supports two modes: 20 20 21 - COMPLETE mode: 21 - COMPLETE mode: 22 22 23 Capture the next complete frame into memory. 23 Capture the next complete frame into memory. 24 24 25 - DIFF mode: 25 - DIFF mode: 26 26 27 Compare the incoming frame with the frame st 27 Compare the incoming frame with the frame stored in memory, and updates the 28 differentiated frame in memory. 28 differentiated frame in memory. 29 29 30 Application can use ``V4L2_CID_NPCM_CAPTURE_MO 30 Application can use ``V4L2_CID_NPCM_CAPTURE_MODE`` control to set the VCD mode 31 with different control values (enum v4l2_npcm_ 31 with different control values (enum v4l2_npcm_capture_mode): 32 32 33 - ``V4L2_NPCM_CAPTURE_MODE_COMPLETE``: will se 33 - ``V4L2_NPCM_CAPTURE_MODE_COMPLETE``: will set VCD to COMPLETE mode. 34 - ``V4L2_NPCM_CAPTURE_MODE_DIFF``: will set VC 34 - ``V4L2_NPCM_CAPTURE_MODE_DIFF``: will set VCD to DIFF mode. 35 35 36 V4L2_CID_NPCM_RECT_COUNT 36 V4L2_CID_NPCM_RECT_COUNT 37 ~~~~~~~~~~~~~~~~~~~~~~~~ 37 ~~~~~~~~~~~~~~~~~~~~~~~~ 38 38 39 If using V4L2_PIX_FMT_HEXTILE format, VCD will 39 If using V4L2_PIX_FMT_HEXTILE format, VCD will capture frame data and then ECE 40 will compress the data into HEXTILE rectangles 40 will compress the data into HEXTILE rectangles and store them in V4L2 video 41 buffer with the layout defined in Remote Frame 41 buffer with the layout defined in Remote Framebuffer Protocol: 42 :: 42 :: 43 43 44 (RFC 6143, https://www.rfc-editor.o 44 (RFC 6143, https://www.rfc-editor.org/rfc/rfc6143.html#section-7.6.1) 45 45 46 +--------------+--------------+---- 46 +--------------+--------------+-------------------+ 47 | No. of bytes | Type [Value] | Des 47 | No. of bytes | Type [Value] | Description | 48 +--------------+--------------+---- 48 +--------------+--------------+-------------------+ 49 | 2 | U16 | x-p 49 | 2 | U16 | x-position | 50 | 2 | U16 | y-p 50 | 2 | U16 | y-position | 51 | 2 | U16 | wid 51 | 2 | U16 | width | 52 | 2 | U16 | hei 52 | 2 | U16 | height | 53 | 4 | S32 | enc 53 | 4 | S32 | encoding-type (5) | 54 +--------------+--------------+---- 54 +--------------+--------------+-------------------+ 55 | HEXTILE rectangle dat 55 | HEXTILE rectangle data | 56 +---------------------------------- 56 +-------------------------------------------------+ 57 57 58 Application can get the video buffer through V 58 Application can get the video buffer through VIDIOC_DQBUF, and followed by 59 calling ``V4L2_CID_NPCM_RECT_COUNT`` control t 59 calling ``V4L2_CID_NPCM_RECT_COUNT`` control to get the number of HEXTILE 60 rectangles in this buffer. 60 rectangles in this buffer. 61 61 62 References 62 References 63 ---------- 63 ---------- 64 include/uapi/linux/npcm-video.h 64 include/uapi/linux/npcm-video.h 65 65 66 **Copyright** |copy| 2022 Nuvoton Technologies 66 **Copyright** |copy| 2022 Nuvoton Technologies
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.