使用libstagefright解码高清视频会导致视频乱码

时间:2015-08-27 06:42:00

标签: android android-ndk decoding stagefright

我正在使用libstagefright解码一个1020p的视频,该视频在Android上具有基线高和31级。

在模拟器上视频解码失败,我认为原因是softavc根据代码here不支持高基线

但是我在使用OMX.MTK.VIDEO.DECODER.AVC解码器的真实设备上测试了这段代码。根据这个link,这个解码器支持31级的高基线解码。

但视频结果是乱码。

有没有人有任何见解,为什么会这样?什么是可能的解决方案?

1 个答案:

答案 0 :(得分:0)

我认为您正在拍摄分辨率为1920 x 1080的视频。建议将解码后的缓冲区宽度和高度分别调整为最接近的128和32的倍数,以避免出现乱码。

ALIGN(decoded_buffer_width, 128)
ALIGN(decoded_buffer_height, 32)

因此,您必须使用1920 x 1088 进行计算