嵌入式开发之davinci--- 8148 中dsp在dsp_drv.c中的processdata()加算法出现下边缘条纹问题
(1)问题原因
dsp在alglink_priv.c中做灰度处理发现,下面出现条纹,后面发现是cache 缓存没及时写进内存问题
(2)解决办法
for(frameId=0; frameId<frameList.numFrames; frameId++)
{
pFrame = frameList.frames[frameId];
if(pFrame->channelNum >= pObj->inQueInfo.numCh)
continue;
// do SW OSD
if (pObj->createArgs.enableOSDAlg)
{
AlgLink_OsdalgProcessFrame(&pObj->osdAlg, pFrame);
}
memset(pFrame->addr[0][1], 0x80, 1920*1080/2);//add by pkf 11-4 128
Cache_wb(pFrame->addr[0][0], 1920*1080, Cache_Type_ALL,TRUE);
Cache_wb(pFrame->addr[0][1], 1920*1080/2, Cache_Type_ALL,TRUE);//add write alse cache_in()
//memset(pFrame->addr[1][1], 0x80, 1920*1080/4);
}
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/21756/132424.aspx
http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/22729.aspx