Shrinivas Ramani wrote:...This thread is about the media pool clip being present with a recognised path (and metadata etc), but a bad decode for some of them some of the time. A whole other issue....
On this topic, we think it is M3-specific. I would test it myself but I only have an M1 Ultra, M1 Max and M2 Pro. It doesn't happen on those. Obvious questions include whether it's specific to certain 10-bit 4:2:2 H.264 variants, or does it happen on some H.265 formats.
I worked with a user having an M3 to obtain the following while decoding 10-bit 4:2:2 H.264 V-Log from a Lumix camera. These are selected messages from the terminal command "log show". The comments in parentheses are mine.
VTDecoderXPCService: (AppleVideoDecoder) AppleAVD: <private>() codecType: AVC, encryptionScheme 6, 3840 x 2160, tryAllFrames = 0, iChatUsage: 0, session: 0x124937c20 built <private> <private>
(Codec is AVC (H.264), don't know what the other items mean)
VTDecoderXPCService: (AppleVideoDecoder) AppleAVD: <private>: Compressed buffers enabled! CompressionType:3. luma depth 10 chroma format 2
(Luma depth means 10-bit luma, chroma format 2 might mean 4:2:2. The other terms are private and implementation specific)
kernel: (AppleAVD) AppleAVD: VADecodeFrame() : received reset Before Decoding - Flush DPB, framenumber 1
("Kernel:" means that AppleAVD is in kernel address space and may have received an error requiring flushing DPB = Decoded Picture Buffer.)
kernel: (AppleAVD) AppleAVD: INFO: logPerfStats(): avdIdx 0, Percentage of time spent at Vmin: 99%, Vnom: 0%, Vmax: 0%, histogram █▁▁
kernel: (AppleAVD) AppleAVD: INFO: logUserClientStats(): avdIdx 0, UserClientCount 2, 0, 0, 0, 1, histogram ▁▁▁▁▁
kernel: (AppleAVD) AppleAVD: isSystemWiredLimitExceeded(): ERROR! vmPageWireCount (0x971d5) > m_physPageCountLimit (0x90000)!
kernel: (AppleAVD) AppleAVD: newUserClient(): failed with error -536870210
(Wired pages are pinned RAM-resident, so there is a limit on these to 0x90000, but during the AppleAVD call it was above that at 0x971d5)
(-536870210 = signed 2's complement 0xE00002BE, likely corresponding to below 0x2be kIOReturnNoResources error)
VTDecoderXPCService: (AppleVideoDecoder) AppleAVD: <private>(): IOServiceOpen failed e00002be
(0x2be = kIOReturnNoResources from IOReturn.h)
VTDecoderXPCService: (AppleVideoDecoder) AppleAVD: AppleAVD_H264VideoDecoder ERROR: createAppleAVDHW_H264DecoderInstance returned error
VTDecoderXPCService: (AppleVideoDecoder) AppleAVD: <private>(): failed with error -12913
(-12913 is defined in VTError.h as kVTVideoDecoderNotAvailableNowErr)
Resolve: (libxpc.dylib) [com.apple.xpc:connection] [0x600024f5ce10] invalidated after the last release of the connection object
Resolve: (libxpc.dylib) [com.apple.xpc:connection] [0x402451100] invalidated after the last release of the connection object
VTDecoderXPCService: (libxpc.dylib) [com.apple.xpc:connection] [0x144621960] invalidated after getting a no-senders notification - client is gone
(VTDecoderXPCService is the out-of-process decoder added starting with Catalina. Message indicates the XPC process tried to communicate with the Resolve client process, but got an "unavailable" status. This is probably resulting from the prior error conditions.)