完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-5-28 17:06 编辑
Hi, DM8127_IPNC_RDK_3.8 在采集显示直通usecase中,multich_capturedisplay.c,在Rules.make打开了宏YUV_FRAMES_TO_A8,准备把cameraLink的queue0保存到本地 pCameraOutPrm = &pCameraInstPrm->outParams[0]; pCameraOutPrm->dataFormat = SYSTEM_DF_YUV422I_UYVY; pCameraOutPrm->scEnable = FALSE; pCameraOutPrm->scOutWidth = 1920; pCameraOutPrm->scOutHeight = 1080; pCameraOutPrm->outQueId = 0; 本地保存YUV数据的代码并未完善,在ti_mcfw_ipcframes.c中,打开了宏CUSTOM_SD_DEMO,并在App_ipcFramesFileWriteCreate中修改代码指定了文件名及路径; 编译通过,运行,可以正常显示图像。 说明在App_ipcFramesSendRecvFxn()中,Vcam_getFullVideoFrames(&bufList,0)确实从ipcFramesInHost获取到了视频数据;Vdis_putFullVideoFrames(&bufList)也确实把数据又发给了ipcFramsOutHost,并且显示正常,那么这个bufList应该是没问题的吧。 但是在App_ipcFrameFileWrite(&bufList)中,虽然确实保存了文件VID_CH00.yuv下来,但是该yuv文件在电脑上显示却异常: 这是为什么呢? 应该怎么保存文件呢? 先谢谢各位了! |
|
相关推荐
5个回答
|
|
原代码是在fopen文件后一直在fwrite保存,文件会越来越大;我修改了App_ipcFrameFileWrite,在for(frameId=0; frameId
for(frameId=0; frameId [ App_ipcFramesFileOpen(); pBuf = &pFrameBufList->frames[frameId]; if(pBuf->channelNum pChInfo = &gApp_ipcFramesCtrl.chFrameInfo[pBuf->channelNum]; frameSize = (pBuf->frameWidth * pBuf->frameHeight) << 1; pChInfo->totalDataSize += frameSize; pChInfo->numFrames++; if(pBuf->frameWidth > pChInfo->maxWidth) pChInfo->maxWidth = pBuf->frameWidth; if(pBuf->frameHeight > pChInfo->maxHeight) pChInfo->maxHeight = pBuf->frameHeight; ] if(gApp_ipcFramesCtrl.fileFrameWriteEnable) [ if(pBuf->channelNum== gApp_ipcFramesCtrl.fileFrameWriteChn && gApp_ipcFramesCtrl.fileFrameWriteState == FILE_WRITE_RUNNING) [ UInt32 pMemVirtAddr; pMemVirtAddr = 0; App_mMap((UInt32)(pBuf->phyAddr[0][0]), frameSize, &pMemVirtAddr); writeDataSize = fwrite((Ptr) pMemVirtAddr, 1, frameSize, gApp_ipcFramesCtrl.fp); if(writeDataSize!=frameSize) [ gApp_ipcFramesCtrl.fileFrameWriteState = FILE_WRITE_STOPPED; fclose(gApp_ipcFramesCtrl.fp); OSA_printf(" Closing file [%s] for CH%dn", gApp_ipcFramesCtrl.fileFrameWriteName, gApp_ipcFramesCtrl.fileFrameWriteChn); ] App_unmapMem(); ] ] fclose(gApp_ipcFramesCtrl.fp); ] 保存下来的yuv文件在电脑上显示也是异常的...... 按理说,通过bufList,ipcFramesInHost获取到数据------>送回数据到ipcFramesOutHost,并显示正常了,应该能说明bufList这个数据没问题吧。请问中间的通过bufList保存数据哪里错了,到底该怎么保存文件呢? |
|
|
|
jiejiadz 发表于 2018-5-28 14:05 Harry, 看图像的话就是偏移(pitch)不对(图像buffer的宽度可能比实际图像要大)。你可以尝试把得到的YUV的宽度配置为1920+32或者1920+64看看。 |
|
|
|
物是人非aaa 发表于 2018-5-28 14:14 根据你的建议,我修改图像宽度为1920+64,(高度192081080/1084=1045)后,图像显示如下,除了右侧部分其他正常显示了! 非常感谢你的指点,又让我看到了希望。 现在我就是疑惑,为什么会这样,右侧的那片灰色是怎么回事? |
|
|
|
jiejiadz 发表于 2018-5-28 14:29 Harry, 因为使能了VNF的关系,请参考以下VNF相关文档。 |
|
|
|
你好! 再麻烦你一下。 我了解了VNF会对图像做padding,导致增加pitch,可是我在multich_capturedisplay.c这个usecase中并未用到VNF呀? 不知道我这么问对不对.... |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
669 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1048 浏览 1 评论
731 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
520 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
120浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:57 , Processed in 0.904810 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号