VTDecompressionSession on iOS cannot decode interlaced H264 video

Originator:aman
Number:rdar://30669495 Date Originated:
Status:Open Resolved:
Product: Product Version:
Classification: Reproducible:
 
Area:
Core Media

Summary:
On iOS devices, VTDecompressionSession cannot handle interlaced H264 video input. The same input file works fine on macOS with VT. And VT on iOS works fine with progressive H264, as well as H264 with MBAFF interlacing.

Here is an example of a mp4 file which cannot be decoded on iOS with VT: https://s3.amazonaws.com/tmm1/videotoolbox/interlaced2.mp4

Steps to Reproduce:
1. Create VTDecompressionSession
2. Feed interlaced H264 video to session via VTDecompressionSessionDecodeFrame

Expected Results:
Expect VTDecompressionSessionDecodeFrame() to succeed

Actual Results:
VTDecompressionSessionDecodeFrame returns -12911 malfunction error

Version:
iOS 10

Configuration:
iPhone 6S

Comments

Apple Developer Relations

Engineering has provided the following feedback regarding this issue:

Correct and intentional. Please stop using interlaced video.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!