现在调试过程中发现了这样一个问题,前端sensor传来的视频流用ISS采集一切正常,但是根据需求,需要实现抓拍功能,也就是需要前端sensor将视频停下来,然后抓拍单独发一张图片给VP,可是一旦中断了视频流以后,8127就会循环处理内部已有的图像然后通过Video-OUT输出。根本无法再从VP口获取数据,请问各位大大这是怎么回事哪?是需要做哪些设置吗?
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.
你好,
请问“需要前端sensor将视频停下来,然后抓拍单独发一张图片给VP”,请问你是改变了sensor输出的时序么?这是我们ISP不允许的。如果要改变sensor输入的时序,改变后,需要复位ISS.
请问你们的视频和抓拍的图像的大小不一样吗?
你好,
复位ISS请参考CAMERA_LINK_CMD_FORCE_RESET。但复位ISS也是需要时间的,所以你需要分析一下,是收到抓拍信号后,能否就使用当前帧编码jpeg,或者下一帧编码jpeg?
bobo你好!
不知道你是怎样在ISS端实现视频流采集的,应该是采集YUV格式的帧数据吧!
我现在也在做这一块。
在ISS端保存数据。
我在文件/ipnc_rdk/ipnc_mcfw/mcfw/src_bios6/links_m3vpss/camera|cameraLink_drv.c中
Int32 CameraLink_drvProcessData(CameraLink_Obj * pObj)函数 添加如下代码。
FILE* p = NULL;
char *name;
name="image.YUV";
if((p=fopen(name,"w+"))==NULL)
Vps_printf("Creat YUV file failed\n");
fwrite(pFrame->addr[0][0],1,pObj->createArgs.vipInst[0].sensorOutWidth*pObj->createArgs.vipInst[0].sensorOutHeight*2,p);
fclose(p);
p = NULL;
Vps_printf("M3 save framewidth=%d,height=%d\n",pObj->createArgs.vipInst[0].sensorOutWidth,pObj->createArgs.vipInst[0].sensorOutHeight);
saveframe=0;
编译通过。程序也可以执行。
有打印信息Vps_printf("In M3 frame save!");
M3 save framewidth=
但是没有生成文件image.YUV。这是为什么呢?
如何实现YUV图像额保存呢?
望不吝赐教,谢谢!
你的代码跑在m3上是不能访问文件系统的,请通过共享内存传到A8上在A8上保存。
请参考DCC抓取raw和yuv的流程。
您好 我也遇到和您像似的现象,我是用DCC去抓拍就导致H264和您说的一样 也是循环播放了。
http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/22195.aspx 不知道 您后来有没有发现细节方面的信息啊?