avcodec_decode_video2:额外的字节会阻止什么

avcodec_decode_video2: what do the extra bytes prevent?

本文关键字:字节 什么 decode video2 avcodec      更新时间:2023-10-16

在avcodec_decode_video2文档中,它给出了以下警告:

警告:

输入缓冲区FF_INPUT_BUFFER_PADDING_SIZE必须大于实际读取字节,因为一些优化的比特流读者一次读取 32 或 64 位,最后可以读取。这输入缓冲区 buf 的末尾应设置为 0,以确保 no对于损坏的 MPEG 流,会发生过度读取。

如果不这样做,这会导致发生过度读取时分段错误吗?还是可能导致奇怪的腐败?我只是好奇,因为我有腐败,我不确定这是否可能导致我的问题。

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

相关文章: