iOS上的H264解码-为什么在VTDecompressionSessionDecodeFrame中使用kVTDecodeFrame_EnableAsynchronousDecompression时会产生扭曲的图像?

时间:2019-04-08 19:57:43

标签: ios objective-c macos h.264 video-toolbox

我按照关于NALU的详细说明以及从此处使用VTDecompressionSessionCreateVTDecompressionSessionDecodeFrame解码h264流的示例:

How to use VideoToolbox to decompress H.264 video stream

出于测试目的,我使用编码器的方式与使用解码器的方式相同,因此我基本上是将编码器输出直接馈送到解码器中。经过一段时间的格式摆弄后,我使它起作用了,但是有一个讨厌的问题:

VTDecodeFrameFlags flags = kVTDecodeFrame_EnableAsynchronousDecompression;

创建扭曲的图像:

distorted

同时仅将标志设置为nil或其他有效的方法:

ok

我对编码器和解码器的经验很少,但是我的假设是该标志允许在内部对NALU进行重新排序,这会导致某些不良行为。这是正确的和预期的吗?处理此行为的正确方法是什么?或换种说法:我想念的是什么?不管我是否有此标志,我的解码器都不会抛出任何错误,只是声称一切正常。

0 个答案:

没有答案