Android MediaCodec可用于解码输出yuv420格式。我想它应该是NV12格式,但是当我在Nexus6 7.1.1设备上试用它时。结果非常陌生:
答案 0 :(得分:1)
对于1080p,实际解码图片的高度很可能是1920x1088,而不是1920x1080。 (1920x1088加起来大小为3133440.)最底部的8个像素被解码并返回,但你不应该显示它们。
在这种情况下,输出MediaFormat.KEY_HEIGHT
中的MediaFormat
字段可能为1088,而crop-top
字段为0,crop-bottom
为1079.请参阅{{3有关如何读取这些字段的示例。
正如beetlej建议的那样,如果你使用https://android.googlesource.com/platform/cts/+/jb-mr2-release/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java#976方法收到的Image
课程(从Android 5.0开始提供),这些细节将会得到处理。