ๆฆ‚ๅฟต

ๆต็จ‹

2

ๆ•ฐๆฎๅˆ†็ฆปๅญ˜ๅ‚จ

UI ็•Œ้ขใ€ๆ‘„ๅƒๅคด่ง†้ข‘ๅˆ†ๅˆซๅญ˜ไธคๅ—ๅฎŒๅ…จ็‹ฌ็ซ‹็š„็‰ฉ็†ๅ†…ๅญ˜๏ผŒไธ้œ€่ฆ่ฝฏไปถๆๅ‰ๅˆๅนถ็”ป้ขใ€‚

DRM/KMS ๅฎšไฝ๏ผš่ฐƒๅบฆ้…็ฝฎๅฑ‚๏ผŒไธๅ‚ไธŽๅƒ็ด ่žๅˆ

DRM ๅช่ดŸ่ดฃ็ฎก็†็ผ“ๅญ˜ใ€่ฎพ็ฝฎๅ›พๅฑ‚ๅ ๅŠ ๅ‚ๆ•ฐ๏ผŒไธ‹ๅ‘็กฌไปถๆŒ‡ไปค๏ผŒๆœฌ่บซๆฒกๆœ‰ๅƒ็ด ่ฟ็ฎ—่ƒฝๅŠ›๏ผŒไธไผš่žๅˆๅ›พๅฑ‚ใ€‚

VOP ๆ˜ฏ็œŸๆญฃ็š„็กฌไปถๅˆๆˆๅ•ๅ…ƒ

ๆ”ถๅˆฐ DRM ้…็ฝฎๅŽ๏ผŒVOP ็กฌไปถๅŒๆ—ถ่ฏปๅ–่ง†้ข‘็ผ“ๅญ˜ + UI ็ผ“ๅญ˜๏ผŒ็กฌไปถ่‡ชๅŠจๅคšๅฑ‚ๅ ๅŠ ๆททๅˆ๏ผŒๅ…จ็จ‹ๆ—  CPU ๆ‹ท่ด๏ผŒๆ€ง่ƒฝ้ซ˜ใ€‚

่พ“ๅ‡บ้“พ่ทฏ

VOP ๅˆๆˆๅฎŒๆ•ดๅ•่ทฏๅƒ็ด ๆต๏ผŒ้€š่ฟ‡ MIPI/RGB ๆŽ’็บฟ็›ดๆŽฅๆŽจๅˆฐๅฑๅน•ๆ˜พ็คบใ€‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                           ๅบ” ็”จ ๅฑ‚                                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                         โ”‚
โ”‚  โ”‚ V4L2 ้‡‡้›† โ”‚   โ”‚ librga   โ”‚   โ”‚ libdrm   โ”‚                         โ”‚
โ”‚  โ”‚ ๆŽฅๅฃ     โ”‚   โ”‚ ๆŽฅๅฃ     โ”‚   โ”‚ ๆŽฅๅฃ     โ”‚                           โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚              โ”‚              โ”‚
        โ–ผ              โ–ผ              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         ๅ†… ๆ ธ ้ฉฑ ๅŠจ ๅฑ‚                               โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”‚
โ”‚  โ”‚  rkisp   โ”‚   โ”‚  rga้ฉฑๅŠจ โ”‚   โ”‚rockchip- โ”‚   โ”‚ mipi_dsi โ”‚        โ”‚
โ”‚  โ”‚  ้ฉฑๅŠจ    โ”‚   โ”‚          โ”‚   โ”‚ drm (VOP)โ”‚   โ”‚ ้ฉฑๅŠจ     โ”‚        โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚              โ”‚              โ”‚              โ”‚
        โ–ผ              โ–ผ              โ–ผ              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          ็กฌ ไปถ ๅฑ‚                                    โ”‚
โ”‚                                                                     โ”‚
โ”‚   ๆ‘„ๅƒๅคด โ”€โ”€โ†’ MIPI CSI โ”€โ”€โ†’ ISP โ”€โ”€โ†’ DDR (YUV buffer)                 โ”‚
โ”‚                                      โ”‚                              โ”‚
โ”‚                                      โ–ผ                              โ”‚
โ”‚                                   RGA ๅผ•ๆ“Ž                          โ”‚
โ”‚                              (YUVโ†’RGB, ็ผฉๆ”พ)                        โ”‚
โ”‚                                      โ”‚                              โ”‚
โ”‚                                      โ–ผ                              โ”‚
โ”‚                              DDR (RGB display buffer)               โ”‚
โ”‚                                      โ”‚                              โ”‚
โ”‚                                      โ–ผ                              โ”‚
โ”‚                                   VOP ๆŽงๅˆถๅ™จ                        โ”‚
โ”‚                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                      โ”‚
โ”‚                              โ”‚  Plane 0      โ”‚ โ†โ”€โ”€ ไธปๆ˜พ็คบๅ›พๅฑ‚       โ”‚
โ”‚                              โ”‚  Plane 1      โ”‚ โ†โ”€โ”€ OSD/้ผ ๆ ‡ๅ›พๅฑ‚     โ”‚
โ”‚                              โ”‚  ็กฌไปถๅˆๆˆ     โ”‚                      โ”‚
โ”‚                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                      โ”‚
โ”‚                                     โ”‚                               โ”‚
โ”‚                                     โ–ผ                               โ”‚
โ”‚                              MIPI DSI / RGB ๆŽฅๅฃ                   โ”‚
โ”‚                                     โ”‚                               โ”‚
โ”‚                                     โ–ผ                               โ”‚
โ”‚                                  LCD ๅฑๅน•                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜