VideoToolBox is a video codec. It takes video demux packets and decodes them into video frames of yuv (8 or 10 bit, depending on source content). It's the caller's job to render those video frames. So MrMC takes those video frames and renders them into onto a NSView with GLES, which is then displayed on iOS/tvOS.
When VideoToolBox is selected as the codec, MrMC uses GLES to do the rendering. GLES can only do 8 bit, so HDR -> SDR but since tone mapping is not done, you get washed out colors. MrMC would have to render in Metal to get 10 bit HDR rendered with correct colors.
AVFoundation codec actually uses an API called AVSampleBufferDisplayLayer. It's the same thing that AVPlayer (apple's player) uses. It uses VideoToolBox for decode and Metal internally to decode AND render to a "layer" which we associate with a NSView. This NSView is under the GLES layer (which is transparent). So what you see is video with GLES over top.
Calling AVFoundation codec CDVDVideoCodecAVFoundation is actually over general. But calling it CDVDVideoCodecAVSampleBufferDisplayLayer looked funny so we named it CDVDVideoCodecAVFoundation
