mirror of
https://github.com/espressif/esp-idf.git
synced 2025-09-30 19:19:21 +00:00
feat(ppa): add PPA driver support for ESP32P4
Modified API operation configuration structure Rename invoker to client Support YUV420 color mode for SRM Move PPA srm/blending engine reset ahead of any 2D-DMA channel configurations
This commit is contained in:
@@ -31,7 +31,7 @@ struct dma2d_descriptor_align8_s {
|
||||
uint32_t dma2d_en : 1; /*!< Whether to enable 2D functionality */
|
||||
uint32_t suc_eof : 1; /*!< Whether the descriptor is the last one in the link */
|
||||
uint32_t owner : 1; /*!< Who is allowed to access the buffer that this descriptor points to, select DMA2D_DESCRIPTOR_BUFFER_OWNER_CPU or DMA2D_DESCRIPTOR_BUFFER_OWNER_DMA
|
||||
When owner is chosen to be DMA, after DMA finishs with the descriptor, it will clear this bit
|
||||
When owner is chosen to be DMA, after DMA finishes with the descriptor, it will clear this bit
|
||||
For data transfer, the bit won't be cleared unless DMA2D_OUT_AUTO_WRBACK is enabled */
|
||||
}; /*!< Descriptor Word 0 */
|
||||
struct {
|
||||
|
@@ -42,7 +42,7 @@ typedef enum {
|
||||
PPA_SRM_COLOR_MODE_YUV444 = COLOR_TYPE_ID(COLOR_SPACE_YUV, COLOR_PIXEL_YUV444), /*!< PPA SRM color mode: YUV444 (limited range only)*/
|
||||
PPA_SRM_COLOR_MODE_YUV422 = COLOR_TYPE_ID(COLOR_SPACE_YUV, COLOR_PIXEL_YUV422), /*!< PPA SRM color mode: YUV422 (input only, limited range only) */
|
||||
// YUV444 and YUV422 not supported by PPA hardware, but seems like we can use 2D-DMA to do conversion before sending into and after coming out from the PPA module
|
||||
// If in_pic is YUV444/422, then TX DMA channnel could do DMA2D_CSC_TX_YUV444/422_TO_RGB888_601/709, so PPA in_color_mode is RGB888
|
||||
// If in_pic is YUV444/422, then TX DMA channel could do DMA2D_CSC_TX_YUV444/422_TO_RGB888_601/709, so PPA in_color_mode is RGB888
|
||||
// If out_pic is YUV444, then RX DMA channel could do DMA2D_CSC_RX_YUV420_TO_YUV444, so PPA out_color_mode is YUV420
|
||||
} ppa_srm_color_mode_t;
|
||||
|
||||
|
Reference in New Issue
Block a user