使用的是dm6437的芯片,想要在缓存好第一帧之后获取第二帧进行缓存,然后两帧相减,请问如何获取第二帧的图像呢,我看到手册上是说明这里使用的是垂直同步管脚,但是该管脚可以设置为输入或者输出,要怎么设置呢?另外有相应的api函数可以使用吗
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
使用的是dm6437的芯片,想要在缓存好第一帧之后获取第二帧进行缓存,然后两帧相减,请问如何获取第二帧的图像呢,我看到手册上是说明这里使用的是垂直同步管脚,但是该管脚可以设置为输入或者输出,要怎么设置呢?另外有相应的api函数可以使用吗
Weiming,
一旦你配置好CDDC,Preview engine,图像会源源不断的输出到你配置的地址,你需要在VD中断里面修改输出的地址,保证采集的数据不被覆盖。
你好,我是想接收连续的两帧数据,然后进行差分处理。
附上我的代码。
int flag=0;
FVID_exchange(hGioVpfeCcdc, &frameBuffPtr);
flag=!flag;
/* Set as input buffer to Encoder: *
/* Write back and invalidate cache */
Memory_cacheWbInv(src, framesize);
src = (Uint8 *)displayFramBuff;
dst = (Uint8 *)frameBuffPtr->frame.frameBufferPtr;
pImg2=src;
if(flag==1)//如果flag=1,则获取第一帧
{
for(i=0;i<nHeight;i++)
{
for(j=0;j<nWidth;j++)
{
src++;
image[a]=*src;
src++;
a++;
}
}
}
src=pImg2;
if(flag==0)//如果flag=0,则获取第二帧
{
for(i=0;i<nHeight;i++)
{
for(j=0;j<nWidth;j++)
{
src++;
image2[b]=*src;
src++;
b++;
}
}
}
Memory_cacheWbInv(dst, framesize);
/* display the video frame */
FVID_exchange(hGioVpbeVid0, &frameBuffPtr);
我是这么写的,可是获取不到两帧数据