Chrom-Art Accelerator(DMA2D)是一个图形加速器,提供了高级的比特显示,行数据拷贝和像素格式转换。它支持以下功能:
•长方形填充有固定的颜 {MOD}
•矩形复制
•矩形拷贝和像素格式转换
•长方形合成,混合和像素格式转换
支持各种图像格式编码,从间接的4 bpp颜 {MOD}模式到32 bpp直接的颜 {MOD}。它嵌入了专用内存来存储颜 {MOD}查找表。
DMA2D还支持基于块的YCbCr来处理JPEG解码器输出。一个中断可以在一个操作完成或在程序中产生。水印。
所有操作都是完全自动化的,并且独立于CPU或DMA执行。
void LCD_CopyBuffer_YCbCr_To_RGB(uint32_t *pSrc, uint16_t x, uint16_t y,uint16_t xsize, uint16_t ysize,uint32_t ChromaSampling)
为显示函数
pSrc:数据源
x :起始x坐标
y :起始y坐标
xsize:宽度
ysize:高度
ChromaSampling: {MOD}度抽样
代码内容可以对着寄存器看一下这就不多说了。(应为我还理解完)
FATFS_LinkDriver(&SD_Driver, SDPath);
f_mount(&SDFatFs, (TCHAR const*)SDPath, 1);
JPEG_OUTPUT_DATA_BUFFER = mymalloc(SRAMEX,1024*600*2);
JPEG_Handle.Instance = JPEG;
HAL_JPEG_Init(&JPEG_Handle);
// HAL_JPEG_DeInit(&JPEG_Handle);
//
// myfree(SRAMEX,JPEG_OUTPUT_DATA_BUFFER);
for (;;)
{
TICVK = HAL_GetTick();
JPEG_picture(path1,JPEG_OUTPUT_DATA_BUFFER);
LCD_CopyBuffer_YCbCr_To_RGB(JPEG_OUTPUT_DATA_BUFFER,0,0,JPEG_Info.ImageWidth, JPEG_Info.ImageHeight,JPEG_Info.ChromaSubsampling);
printf_dma("%s show ok %dms
",path1, HAL_GetTick()- TICVK);
osDelay(100);
LCD_Clear(BLACK);
}
这个是显示方法。。。。只支持RGB的屏幕
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>