I understand that with NvEnc, it converts a input format of RGB to a YUV format (NV12 i believe) before encoding, this is a convenience thing. But what about converting the RGB to a YUV444 format for encoding? Do i have to manually convert my RGB format to a YUV444 for encoding? Or is there a way to tell NvEnc to convert the RGB to a 444 format instead of a 420 format.
Also, is there an optimal YUV format i would want to convert to for input format? I know it supports NV12, YV12, and YUV420 (and YUV444, AYUV for 444 sampling). So which one is optimal? Are the internals of NvEnc also converting all of these formats to something the encode pipeline can use? Would converting to a specific format over another help performance so nvenc has to do a bit less work? I would assume because there is only 1 444 format, that YUV420 would be the best format to use?
There are other topics that ask this question, but none of them are answered (that I have found).