Firefly开源社区

打印 上一主题 下一主题

关于增大MEDIACODEC的解码输入缓冲区的调试意见

493

积分

6

威望

0

贡献

技术达人

Rank: 2

积分
493
QQ

关于增大MEDIACODEC的解码输入缓冲区的调试意见

发表于 2016-6-29 20:16:10      浏览:12667 | 回复:3        打印      只看该作者   [复制链接] 楼主
本帖最后由 jingjin221 于 2016-8-4 11:51 编辑

在存储的过程成发现一个问题,存储FLASH的时候正常,在存储SD卡,发现和SPI冲突,应该是DMA的原因吧?在存储USB设备时候,感觉文件写入的时候会干扰到的我的视频解码,有时候回出现视频播放卡顿的现象!这是什么原因呢?我的U盘写入速度已经很高了,大概有20M/S,是2.0的USB!

最近在播放视频的同时加入了视频录制功能,发现在解码隔行视频的时候,我的缓冲区始终会爆掉!经查找原因应该是MEDIACODEC的硬解码缓冲区获取不到我又舍不得丢帧,所以导致我的解复用缓冲区爆掉!默认给我分配的解码输入缓冲区为4个WIDTH*HEIGHT*3/2,输入缓冲区为6个WIDTH*HEIGHT*3/2,输出缓冲区已经够了,主要是输入缓冲区不够,需要加大!一下为增大输入缓冲区的办法
  1. /**/ACodec.cpp

  2.     OMX_PARAM_PORTDEFINITIONTYPE def;
  3.     InitOMXParams(&def);
  4.     def.nPortIndex = portIndex;
  5.     status_t err = mOMX->getParameter(mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));        if(portIndex == kPortIndexInput) {
  6.                 ALOGE("JJ::setVideoFormatOnPort add the PortIndexInput Buffer");
  7.                 def.nBufferCountMin = 8;
  8.                 def.nBufferCountActual = 8;
  9.      }
  10.     err = mOMX->setParameter(
  11.             mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
复制代码






点评

关于存储USB速度很慢的原因 ,已找到问题所在,是由于U盘的文件系统格式问题,FAT32相比于NTFS来说写入速度要慢很多!!!如果项目是高速写入USB存储设备的话,建议格式化为NTFS  发表于 2016-8-22 09:51
回复

使用道具 举报

发表于 2016-6-29 22:26:48        只看该作者  沙发
好贴,已经设置精华。经常能看见楼主的好贴,楼主加油!
暴走的创客!
回复

使用道具 举报

79

积分

0

威望

0

贡献

技术小白

积分
79
发表于 2017-6-7 15:00:42        只看该作者  板凳
?,
改的哪几行代码?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表