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

本帖最后由 jingjin221 于 2016-8-4 11:51 编辑

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

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

/**/ACodec.cpp

    OMX_PARAM_PORTDEFINITIONTYPE def;
    InitOMXParams(&def);
    def.nPortIndex = portIndex;
    status_t err = mOMX->getParameter(mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));        if(portIndex == kPortIndexInput) {
                ALOGE("JJ::setVideoFormatOnPort add the PortIndexInput Buffer");
                def.nBufferCountMin = 8;
                def.nBufferCountActual = 8;
     }
    err = mOMX->setParameter(
            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));

好贴,已经设置精华。经常能看见楼主的好贴,楼主加油!

?,
改的哪几行代码?