iOS/iPadOS VP9 Codec support

Hi,

is VP9 support available to MacOS alone?

On iOS 14 youtube is playing 4K Videos(supported 4K only in webm(vpx)), but when i try to create VP9 codec with videoToolBox, always it is failing.

       status = VTCopyVideoEncoderList(nil,&array);

No Vp9 encoder available.

       let isHWSupported = VTIsHardwareDecodeSupported(kCMVideoCodecType_VP9);

VP9 hardwareDecoder not supported. And when tryed to create VP9 decoder even when hardware acceleration not supported, it is failing(expected as VT supports hardware only video codecs). we can't even register supplementary decoders in iOS.

is VP9 really supported on iOS, how youtube playing VP9 on iOS and iPadOS? Checked on latest iOS 14.0.1, iPhone11 pro.
Hello,

I looked at WebKit code and they have a class to decode VP9 with VideoToolbox, which I used as reference for testing, but the code doesn't work on iOS. Maybe they are only preparing the code for a future update...

Even on iOS 14.2 and the latest Xcode Beta, VTIsHardwareDecodeSupported(kCMVideoCodecTypeVP9) is returning false and although CMVideoFormatDescriptionCreate() returns successfully with kCMVideoCodecTypeVP9, VTDecompressionSessionCreate() returns error -12906 which means "could not find decoder". So it looks that either Apple is hiding something or YouTube is using its own software decoder.


I tested on iPhone 13 with iOS 16.5 and VTIsHardwareDecodeSupported(kCMVideoCodecType_VP9); returns false. Which Apple device supports VP9 hardware decoding ?

iOS/iPadOS VP9 Codec support
 
 
Q