我正在使用libstagefright解码一个1020p的视频,该视频在Android上具有基线高和31级。
在模拟器上视频解码失败,我认为原因是softavc根据代码here不支持高基线
但是我在使用OMX.MTK.VIDEO.DECODER.AVC解码器的真实设备上测试了这段代码。根据这个link,这个解码器支持31级的高基线解码。
但视频结果是乱码。
有没有人有任何见解,为什么会这样?什么是可能的解决方案?
答案 0 :(得分:0)
我认为您正在拍摄分辨率为1920 x 1080的视频。建议将解码后的缓冲区宽度和高度分别调整为最接近的128和32的倍数,以避免出现乱码。
ALIGN(decoded_buffer_width, 128)
ALIGN(decoded_buffer_height, 32)
因此,您必须使用1920 x 1088 进行计算