I’m trying to encode/decode in the YUV 4:4:4 colorspace with the H.264/AVC codec, but while NVENC has no problem encoding my 4:4:4 file, NVDEC doesn’t seem able to decode it.
I’m using a RTX 4000 with the latest SDK (10.0.26) sample app for both encoding (AppEncD3D11.exe) and decoding (AppDec.exe). The H.264 / 4:4:4 file is valid (I checked it against others decoders) and the AppDec.exe error occur in NvDecoder.cpp when doing the decode caps check:
CUDA_DRVAPI_CALL(cuCtxPushCurrent(m_cuContext)); NVDEC_API_CALL(cuvidGetDecoderCaps(&decodecaps)); CUDA_DRVAPI_CALL(cuCtxPopCurrent(NULL)); if(!decodecaps.bIsSupported){
Checking the Encode and Decode GPU support Matrix, the Encoder section clearly specified H264 4:2:0, 4:4:4 and lossless as being supported, but the Decoder section is less descriptive with only one AVCHD column for H.264 (AVCHD is an old Sony/Panasonic format which doesn’t support UHD or lossless, but NVDEC does, so that description seem invalid)
So my question is does NVDEC support H.264 / 4:4:4 or did Nvidia create a GPU/SDK codec that can only encode this format, without being able to decode it?
PS: HEVC / 4:4:4 is working fine in NVENC/NVDEC, but I need to use the H.264 codec for my application