android – 通过MediaCodec API使QualComm编码器工作

我正在尝试使用 Android MediaCodec API对NV12流进行硬件编码(avc).

使用OMX.qcom.video.encoder.avc时,分辨率1280×720和640×480工作正常,而其他(即640×360,320×240,800×480)产生输出,其中色度分量似乎发生偏移(请参阅snapshot).

我通过将输入图像保存到jpeg文件来仔细检查输入图像是否正确.
此问题仅发生在QualComm设备(即Samsung galaxy S4)上.

任何人都有这个正常工作?还需要任何额外的设置/怪癖吗?

解决方法

解码器(MediaCodec)有其MediaFormat,它可以使用 getOutputFormat接收.返回的实例可以打印到日志.在那里你可以看到一些有用的信息.例如,在您的情况下,像“slice-height”这样的值可能很有用.我怀疑它等于1280×720和640×480的高度,并且与其他分辨率不同.可能你应该使用这个值来获得色度偏移.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...