Android MediaCodec可以用来解码输出yuv420格式。我想它应该是NV12格式,但是当我在Nexus6 7.1.1设备上尝试它时。其结果是非常陌生:android-MediaCodec解码器1080p输出yuv格式
ffplay -v信息-f rawvideo -pixel_format YUV420P -video_size 1280×720:
720P视频,它工作正常,输出YUV可以通过ffplay下面命令重演out.yuv
而out.yuv文件大小正好是宽*高* 3/2。
对于1080p视频,输出yuv颜色在顶部不正确。 out.yuv文件的大小是3133440,但width * height * 3/2应该是3110400,所以还有23040个字节。 听起来像顶层颜色不正确。
当尝试对其进行解码,以表面上看,它看起来不错。所以我猜问题只来自1080p YUV包。
请勿使用yuv输出,而应使用Image输出。请参阅https://developer.android.com/reference/android/media/MediaCodec.html#getOutputImage(int)。 – beetlej