How to improve image quality by using Nvidia Hardware Encoder?


I recently tried to use Nvidia hardware encoder and decoder. I calculated the PSNR of raw images and decoded images and I found the PSNR is a little bit lower than JPEG compression by using OpenCV or libjpeg. I already choose “NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID” to get the default encoder config.

Is there any other way I have try? What does it mean LOSSLESS? IIUC, lossless should mean we always get a same quality image after compression.

Can anyone help with this? Thanks!


If the hardware encoder only takes care of yuv420 format data, which means it internally converts whatever user provided format to yuv420 and then do encoding, how can we get lossless data? When you convert everything to yuv420, you already lost a huge amount of data.

Looking forward to someone’s help.


How? It is lossless to 4:2:0.