Video Codec SDK 12.2 released

NVIDIA Video Codec SDK 12.2.72 is now available with following enhancements:

Encode features:

  1. UHQ Tuning Info: The new tuning info gives best quality in latency tolerant use cases (supported for HEVC only).

  2. Lookahead Level: Increased lookahead analysis to improve quality (supported for HEVC only).

  3. Temporal Filtering: Helps filter out noise to improve compression efficiency (supported for HEVC only).

  4. Unidirectional B Frames: Use of unidirectional B frames instead of P frames to improve quality, especially useful in Latency sensitive use cases (Supported for HEVC only).

  5. Higher Bit Depth Encoding: Encode 8-bit content as 10 bit (supported for HEVC and AV1).

Decode Features :

  1. SEI message Extraction: SEI messages are extracted from the input files when NVCUVID parser is used.
1 Like

hi, I have applied for the access of source code at GitLab
just submitted the info form.
but i can not see any available repo at my Gitlab.
anything else i supposed to do ?

In my humble opinion, there is a mistake in the nvEncodeAPI.h file. The nvEncGetEncodeProfileGUIDCount is wrongly defined with PNVENCGETENCODEPRESETCOUNT in the API struct list.

Here is a diff submission:

--- /s/workspace/Nvidia_Video_Codec_SDK/nvEncodeAPI.h_sav.h       2024-03-15 07:46:48.000000000 +0100
+++ /s/workspace/Nvidia_Video_Codec_SDK/nvEncodeAPI.h   2024-05-24 11:08:14.000000000 +0200
@@ -4452,8 +4452,8 @@
     uint32_t                        reserved;                          /**< [in]: Reserved and should be set to 0.                                                  */
     PNVENCOPENENCODESESSION         nvEncOpenEncodeSession;            /**< [out]: Client should access ::NvEncOpenEncodeSession() API through this pointer.        */
     PNVENCGETENCODEGUIDCOUNT        nvEncGetEncodeGUIDCount;           /**< [out]: Client should access ::NvEncGetEncodeGUIDCount() API through this pointer.       */
-    PNVENCGETENCODEPRESETCOUNT      nvEncGetEncodeProfileGUIDCount;    /**< [out]: Client should access ::NvEncGetEncodeProfileGUIDCount() API through this pointer.*/
-    PNVENCGETENCODEPRESETGUIDS      nvEncGetEncodeProfileGUIDs;        /**< [out]: Client should access ::NvEncGetEncodeProfileGUIDs() API through this pointer.    */
+    PNVENCGETENCODEPROFILEGUIDCOUNT nvEncGetEncodeProfileGUIDCount;    /**< [out]: Client should access ::NvEncGetEncodeProfileGUIDCount() API through this pointer.*/
+    PNVENCGETENCODEPROFILEGUIDS     nvEncGetEncodeProfileGUIDs;        /**< [out]: Client should access ::NvEncGetEncodeProfileGUIDs() API through this pointer.    */
     PNVENCGETENCODEGUIDS            nvEncGetEncodeGUIDs;               /**< [out]: Client should access ::NvEncGetEncodeGUIDs() API through this pointer.           */
     PNVENCGETINPUTFORMATCOUNT       nvEncGetInputFormatCount;          /**< [out]: Client should access ::NvEncGetInputFormatCount() API through this pointer.      */
     PNVENCGETINPUTFORMATS           nvEncGetInputFormats;              /**< [out]: Client should access ::NvEncGetInputFormats() API through this pointer.          */

Thank you for reporting this. I have filed internal tracking issue 4697186 for this.