avcodec_decode_video2:额外的字节阻止了什么?

时间:2013-09-17 18:35:04

标签: c++ ffmpeg decoding

documentation for avcodec_decode_video2中,它会发出以下警告:

  

警告:

     

输入缓冲区必须大于FF_INPUT_BUFFER_PADDING_SIZE   实际读取字节,因为一些优化的比特流    读者一次读取32或64位,并可以读取结束。该    输入缓冲区buf的结尾应该设置为0以确保没有    对于损坏的MPEG流,会发生重读。

如果没有实现,这会在发生重读时导致分段错误吗?或者它是否可能导致奇怪的腐败?我很好奇,因为我有腐败,我不确定这是否可能导致我的问题。

1 个答案:

答案 0 :(得分:2)

它不一定会导致分段错误,但它会undefined behavior,因为这些读者会读取未分配的内存。这可能会使程序立即崩溃,或者工作一段时间,甚至看起来工作正常:您永远无法确定undefined behavior是什么时候。