新手上路
- 积分
- 39
- 金钱
- 39
- 注册时间
- 2019-8-5
- 在线时间
- 10 小时
|
1金钱
我现在已经将模拟摄像头输出的AV信号经过TVP5150了 软件解码能正常显示 但是速度慢 我现在想用DMA2D 硬件转换。 配置了很多 都不行 。 下面是初始化代码大家帮我看看哪里出问题了吗
void DMA2D_YUVTORGB()
{
DMA2D_HandleTypeDef DMA2D_HandleTPDF;
__DMA2D_CLK_ENABLE();
DMA2D_YUV_RGB.LayerCfg[1].InputOffset = 0;
DMA2D_YUV_RGB.LayerCfg[1].InputColorMode = DMA2D_INPUT_YCBCR;
DMA2D_YUV_RGB.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA;
//DMA2D_YUV_RGB.LayerCfg[1].InputAlpha = 0xff;
DMA2D_YUV_RGB.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;
DMA2D_YUV_RGB.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR;
DMA2D_YUV_RGB.LayerCfg[1].ChromaSubSampling = DMA2D_CSS_422;
DMA2D_YUV_RGB.Instance=DMA2D;
DMA2D_YUV_RGB.Init.Mode=DMA2D_M2M_PFC;
DMA2D_YUV_RGB.Init.ColorMode=DMA2D_OUTPUT_RGB565;
DMA2D_YUV_RGB.Init.OutputOffset=0; //偏移量
DMA2D_YUV_RGB.Init.AlphaInverted=DMA2D_REGULAR_ALPHA;
DMA2D_YUV_RGB.Init.RedBlueSwap=DMA2D_RB_REGULAR;
HAL_DMA2D_Init(&DMA2D_YUV_RGB);
HAL_NVIC_SetPriority(DMA2D_IRQn, 0 ,1);
HAL_NVIC_EnableIRQ(DMA2D_IRQn);
HAL_DMA2D_ConfigLayer(&DMA2D_YUV_RGB,1);
//HAL_DMA2D_BlendingStart(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height);
HAL_DMA2D_Start(&DMA2D_YUV_RGB,LCD_FB_START_ADDRESS+(800*480*3)+(800*480*3)+1,LCD_FB_START_ADDRESS,800,615);
}
|
|