8. NPCM 影片驅動¶
此驅動用於控制新唐 NPCM SoC 上存在的影片捕獲/差異 (VCD) 引擎和編碼壓縮引擎 (ECE)。 VCD 可以從數字影片輸入捕獲幀,並比較記憶體中的兩個幀,ECE 可以將幀資料壓縮為 HEXTILE 格式。
8.1. 驅動特定控制¶
8.1.1. V4L2_CID_NPCM_CAPTURE_MODE¶
VCD 引擎支援兩種模式
COMPLETE 模式
將下一個完整幀捕獲到記憶體中。
DIFF 模式
將傳入幀與儲存在記憶體中的幀進行比較,並更新記憶體中已區分的幀。
應用程式可以使用 V4L2_CID_NPCM_CAPTURE_MODE 控制來設定具有不同控制值的 VCD 模式 (enum v4l2_npcm_capture_mode)
V4L2_NPCM_CAPTURE_MODE_COMPLETE:將 VCD 設定為 COMPLETE 模式。V4L2_NPCM_CAPTURE_MODE_DIFF:將 VCD 設定為 DIFF 模式。
8.1.2. V4L2_CID_NPCM_RECT_COUNT¶
如果使用 V4L2_PIX_FMT_HEXTILE 格式,VCD 將捕獲幀資料,然後 ECE 將資料壓縮為 HEXTILE 矩形,並使用遠端幀緩衝區協議中定義的佈局將其儲存在 V4L2 影片緩衝區中
(RFC 6143, https://www.rfc-editor.org/rfc/rfc6143.html#section-7.6.1)
+--------------+--------------+-------------------+
| No. of bytes | Type [Value] | Description |
+--------------+--------------+-------------------+
| 2 | U16 | x-position |
| 2 | U16 | y-position |
| 2 | U16 | width |
| 2 | U16 | height |
| 4 | S32 | encoding-type (5) |
+--------------+--------------+-------------------+
| HEXTILE rectangle data |
+-------------------------------------------------+
應用程式可以透過 VIDIOC_DQBUF 獲取影片緩衝區,然後呼叫 V4L2_CID_NPCM_RECT_COUNT 控制來獲取此緩衝區中的 HEXTILE 矩形數量。
8.2. 參考¶
include/uapi/linux/npcm-video.h
版權所有 © 2022 新唐科技