完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我在进行一帧图像的显示时候,unsigned char * ptr=malloc(736*576);
在里面填充了图像数据之后,数据正确 if(Display_get(hDisplay, &hDisBuf) < 0) [ printf("Failed to get display buffern"); goto cleanup; ] Buffer_setUserPtr(hDisBuf, ptr);//报错1 if (Display_put(hDisplay,hDisBuf) < 0) //报错2 [ printf("Failed to put display buffern"); goto cleanup; ] 上面是送给显示,但是输出以下报错信息,请问是怎么回事 buffer_size hOutdavinci_v4l2 davinci_v4l2.1: Failed to map user address Buf2 is 0 Failed to put display buffer 下面的是display的属性设置,还请论坛各位大神及ti的老师们不吝赐教,万分感谢。 DisgfxAttrs.dim.height = 576; DisgfxAttrs.dim.width = 736; DisgfxAttrs.dim.lineLength = Dmai_roundUp(BufferGfx_calcLineLength(DisgfxAttrs.dim.width, colorSpace), 32); DisgfxAttrs.dim.x = 0; DisgfxAttrs.dim.y = 0; if (colorSpace == ColorSpace_YUV420PSEMI) [ bufSize = (DisgfxAttrs.dim.lineLength * DisgfxAttrs.dim.height * 3 / 2); // bufSize += RSZ_WIDTH*RSZ_HEIGHT*2;//720*576*2; ] else [ bufSize = DisgfxAttrs.dim.lineLength * DisgfxAttrs.dim.height * 2; ] DisgfxAttrs.colorSpace = colorSpace; /* Update global data for user interface */ gblSetImageWidth(736); gblSetImageHeight(576); DisgfxAttrs.dim.height = RSZ_HEIGHT; DisgfxAttrs.dim.width = RSZ_WIDTH;//720; DisgfxAttrs.dim.lineLength = Dmai_roundUp(BufferGfx_calcLineLength(DisgfxAttrs.dim.width, colorSpace), 32); DisgfxAttrs.dim.x = 0; DisgfxAttrs.dim.y = 0; if (colorSpace == ColorSpace_YUV420PSEMI) [ bufSize = (DisgfxAttrs.dim.lineLength * DisgfxAttrs.dim.height * 3 / 2); ] else [ bufSize = DisgfxAttrs.dim.lineLength * DisgfxAttrs.dim.height * 2; ] printf("DisgfxAttrs.dim.lineLength = %drn", DisgfxAttrs.dim.lineLength); printf("DisgfxAttrs.dim.height = %drn", DisgfxAttrs.dim.height); /* Create a table of buffers to use with the capture driver */ DisgfxAttrs.colorSpace = colorSpace; /* Create a table of buffers to use with the display driver */ hDispBufTab = BufTab_create(NUM_DISPLAY_BUFS, bufSize, BufferGfx_getBufferAttrs(&DisgfxAttrs)); if (hDispBufTab == NULL) [ printf("Failed to create buftabn"); goto cleanup; ] /* Create display device driver instance if preview is needed */ if (1) [ dAttrs.videoStd = videoStd; if ( (dAttrs.videoStd == VideoStd_CIF) || (dAttrs.videoStd == VideoStd_SIF_NTSC) || (dAttrs.videoStd == VideoStd_SIF_PAL) || (dAttrs.videoStd == VideoStd_VGA) || (dAttrs.videoStd == VideoStd_D1_NTSC) || (dAttrs.videoStd == VideoStd_D1_PAL) ) [ dAttrs.videoOutput = Display_Output_COMPOSITE; ] else [ dAttrs.videoOutput = Display_Output_COMPONENT; ] dAttrs.numBufs = NUM_DISPLAY_BUFS; dAttrs.colorSpace = colorSpace; dAttrs.width = 736;//capDim.width; dAttrs.height = 576;//capDim.height; hDisplay = Display_create(hDispBufTab, &dAttrs); if (hDisplay == NULL) [ printf("Failed to create display devicen"); goto cleanup; ] ] |
|
相关推荐
2个回答
|
|
忘记补充了,数据是420SP格式的,然后VideoStd_D1_PAL
|
|
|
|
peng wu7 : 您好!想问下,怎么在LCD上显示YUV数据呢? 虽然YUV->RGB->FB也可以,但速度太慢了? 文档说VID层支持显示YUV?能给点思路吗? |
|
|
|
只有小组成员才能发言,加入小组>>
340 浏览 1 评论
535 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
781 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
655 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1138 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
65浏览 29评论
173浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
255浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
205浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
60浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 07:39 , Processed in 0.883924 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号