Decoding support of YUV 4:4:4


I read that there is only NV12 support for HW decoding so far. Consistently, I also saw that the only value in the cudaVideoSurfaceFormat enum is cudaVideoSurfaceFormat_NV12. However, we successfully decoded a HEVC file with YUV 4:4:4. So does this mean that the actual decoding is already implemented but the output to CUDA surface is not yet supported?

Is there a timeline on this? Can you tell when it will be available?

4:4:4 decoding is not yet available in our hardware. Can you please elaborate what you mean by “we successfully decoded HEVC file with YUV 4:4:4”? Something is missing…

Thanks for the reply.

What I meant is, we have video material encoded with 444 and we were successfully decoding and playing it back, e.g. using the GL sample in the 7.1.9 SDK on a Quadro P6000. However, since we upgraded to SDK version 8 yesterday, it stopped working, giving us a generic error message instead. That’s pretty weird. We were just wondering what happened in the background, if 444 was actually decoded but for some reason then converted to NV12 for passing it via CUDA surface.

As you said it’s not yet available I guess there must be a different explanation. Seems like we have to (at least?) wait for Volta for this feature.

Is there an alternative to using YUV444 to achieve similar quality gains that can be decoded by nvdec?