【发布时间】:2013-09-21 07:23:44
【问题描述】:
我正在使用MediaCodec 来解码使用 ffmpeg 编码的 h264 数据包。当我使用 ffmpeg 解码时,帧显示正常。但是,当我使用MediaCodec 硬件解码器进行解码时,有时会在帧中间出现黑条。仅当编码比特率设置得足够高(例如超过 4000000)以使任何给定的AVPacket 大小超过 95000 左右时,才会发生这种情况。似乎MediaCodec(或底层解码器)正在截断帧。不幸的是,我需要质量,所以比特率不能被拒绝。我已经验证帧没有在其他地方被截断,并且我尝试将 MediaFormat.KEY_MAX_INPUT_SIZE 设置为更高的值。
有没有人遇到过这个问题或知道我可以解决的方法?
我附上了一张我在 OpenGL 中渲染然后在我的 Galaxy S4 上解码的随机像素图像。
【问题讨论】:
标签: android ffmpeg stagefright android-mediacodec