完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
在DM642的示例程序中加了一段进行反色处理的代码,但是显示出来之后会有视频亮线,如果直接对整幅图像循环处理,在显示的时候图像会乱序抖动闪烁,有前辈说是因为要分奇数场和偶数场来进行处理,但是不知道缓冲区中那些行是奇数行哪些是偶数行,代码应该如何修改,求助大神,一下为部分代码
while(1){/* loop for 4 seconds */ capFrameBuf= (FVID_Frame *)SCOM_getMsg(fromInput1toDIS, SYS_FOREVER); /* copy data from capture buffer to display buffer */ /***************************************************/ for(i = 0; i < numLines; i ++) { DAT_copy(capFrameBuf->frame.iFrm.y1 + i * capLinePitch, disFrameBuf->frame.iFrm.y1+ i * disLinePitch, numPixels); DAT_copy(capFrameBuf->frame.iFrm.cb1 + i * (capLinePitch >> 1), disFrameBuf->frame.iFrm.cb1 + i * (disLinePitch >> 1), numPixels>>1); DAT_copy(capFrameBuf->frame.iFrm.cr1 +i * (capLinePitch >> 1), disFrameBuf->frame.iFrm.cr1 + i * (disLinePitch >> 1), numPixels>>1); } //自己加的代码开始 for(i=200;i<400;i++) { for(j=200;j<400;j++) { *(Uint8*)((Uint32)(disFrameBuf->frame.iFrm.y1)+i*numPixels+j)=0xFF- *(Uint8*)((Uint32)(disFrameBuf->frame.iFrm.y1)+i*numPixels+j); } for(j=100;j<200;j++) { *(Uint8*)((Uint32)(disFrameBuf->frame.iFrm.cb1)+i*(numPixels>>1)+j)=0x80; *(Uint8*)((Uint32)(disFrameBuf->frame.iFrm.cr1)+i*(numPixels>>1)+j)=0x80; } } //自己加的代码结束 /*-----------------------------------------------------------*/ /*Display the decoded frame. */ /*-----------------------------------------------------------*/ DAT_wait(DAT_XFRID_WAITALL); CACHE_clean(CACHE_L2ALL,NULL,NULL); FVID_exchange(disChan, &disFrameBuf); |
|
相关推荐
1个回答
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
TMS320C6748 板卡设计中是否一定需要有SDRAM或者DDR
1958 浏览 0 评论
988 浏览 0 评论
3654 浏览 1 评论
【六岳微LY-F335开发板试用体验】epwm启动ADC并在OLED上显示结果
4493 浏览 0 评论
【六岳微LY-F335开发板试用体验】软件开发环境及调试下载
4541 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 16:48 , Processed in 0.636850 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3592