AVVideoMaxKeyFrameIntervalDurationKey = 0 has different behavior on HEVC than H264

Originator:cellsworth
Number:rdar://FB7528508 Date Originated:2020-01-09
Status:Open Resolved:
Product:AVFoundation Product Version:
Classification:Bug Reproducible:Always
 
Using AVVideoCodecTypeH264 with AVVideoMaxKeyFrameIntervalDurationKey = 0, we get a keyframe approximately every 30 frames.

Using AVVideoCodecTypeHEVC with AVVideoMaxKeyFrameIntervalDurationKey = 0, we get a single keyframe. This is equivalent to setting AVVideoMaxKeyFrameIntervalDurationKey = CGFLOAT_MAX. If we do not set this value, we get a keyframe approximately every 30 frames.

The documentation describes 0 as the default, which is misleading since the behavior when we set 0 is not the same as the behavior when we don't set it: https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_maxkeyframeintervalduration

Comments


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!