Where can I get GTX 680 NVENC SDK ?

GeForce GTX 680 supports new h/w based H.264 encoder (NVENC).
There is no NVENC API in the Cuda SDK.
Where can I get the NVENC SDK or API ?

info from nvidia’s website:

NVENC
All Kepler GPUs also incorporate a new hardware-based H.264 video encoder, NVENC.
Prior to the introduction of Kepler, video encoding on previous GeForce products was handled by
encode software running on the GPU’s array of CUDA Cores. While the CUDA Cores were able to deliver
tremendous performance speedups compared to CPU-based encoding, one downside of using these
high-speed processor cores to process video encoding was increased power consumption.
By using specialized circuitry for H.264 encoding, the NVENC hardware encoder in Kepler is almost four
times faster than our previous CUDA-based encoder while consuming much less power.

It is important to note that an application can choose to encode using both NVENC hardware and
NVIDIA’s legacy CUDA encoder in parallel, without negatively affecting each other. However, some video
pre-processing algorithms may require CUDA, and this will result in reduced performance from the
CUDA encoder since the available CUDA Cores will be shared by the encoder and pre-processor.
NVENC provides the following:
[Can encode full HD resolution (1080p) videos up to 8x faster than real-time. For example, in high
performance mode, encoding of a 16 minute long 1080p, 30 fps video will take approximately 2
minutes.]
Support for H.264 Base, Main, and High Profile Level 4.1 (same as Blu-ray standard)
Supports MVC (Multiview Video Coding) for stereoscopic video—an extension of H.264 which is
used for Blu-ray 3D.
Up to 4096x4096 encode
We currently expose NVENC through proprietary APIs, and provide an SDK for development using
NVENC. Later this year, CUDA developers will also be able to use the high performance NVENC video
encoder. For example, you could use the compute engines for video pre-processing and then do the
actual H.264 encoding in NVENC. Alternatively, you can choose to improve overall video encoding
performance by running simultaneous parallel encoders in CUDA and NVENC, without affecting each
other’s performance.

NVENC enables a wide range of new use cases for consumers:
HD videoconferencing on mainstream notebooks
Sending the contents of the desktop to the big screen TV (gaming, video) through a wireless
connection
Authoring high quality Blu-ray discs from your HD camcorder
A beta version of Cyberlink MediaEspresso with NVENC support is now available on the GeForce GTX
680 press FTP. Support will be coming soon for Cyberlink PowerDirector and Arcsoft MediaConverter.

source: page 26 of: http://www.geforce.com/Active/en_US/...aper-FINAL.pdf

I have downloaded the NVENC SDK 2.0 Beta from the developer-relations site, and attempted to build the supplied sample project “nvEncoder.” Although the README file states that this project must be built under Linux, I tried building it under Windows 7 x64 (VS 2010 Express). I encountered a linking problem (“ATLS.LIB”), which I worked around by simply removing ATLS.LIB from the list of dependencies (in VS2010’s project settings.) That enabled me to get past the linker error.

After some struggles with supplying the proper command-line arguments to the nvEncoder.exe, I finally made it to this error message, which I can’t seem to get past:

GetNumberEncoders() has detected 1 CUDA capable GPU device(s) has Compute SM 3.0, NVENC Available ]

InitCUDA() has detected 1 CUDA capable GPU device(s) has Compute SM 3.0, Available NVENC ]

Select GPU #0 - < GeForce GTX 650 Ti > supports SM 3.0 and NVENC
File: .\src\CNVEncoder.cpp, Line: 1245, nvEncOpenEncodeSessionEx() returned with
error 21
Note: GUID key may be invalid or incorrect. Recommend to upgrade your drivers a
nd obtain a new key
NVENC error at .\src\CNVEncoder.cpp:1247 code=21(NVENC Feature not available for
current license key type) “nvStatus”

So does this mean the NVENC feature requires a signed NDA of some sort? Or did it fail because I compiled the project in VS2010 instead of Linux (as mentioned in the project’s README)?

Thank you

Okay, I have been granted a TRIAL key to test the encoder, and tried combining the “nvEncoder” + “cudaDecodeD3D9” sample-applications together. Basically, I want to create a sample ‘transcoder’, which will convert any Cuvid-readable video-bitstream (VC1, H264, MPEG4, or MPEG2) into an NVENC-encoded H264 output file.

This was more difficult than I thought – but I now have a prototype working (frame-mode only, no-D3D, CUDA-interface only, no preview window.) Only problem is a green horizontal-band at the top of the encoded output.

I’ve only been able to try one sample input-bitstream, a Mpeg-2 transport stream with 1920x1080 VC1 video (23.976fps) My transcoder application performs a ‘passthrough video’ operation by copying the NV12-output surface directly to the NVENC input structure. This works, but there is a green-horziontal “watermark” across the top of the output video frame. I assume this has something to do with the fact that I setup the video-encoding parameters to encode a 1920x1080 frame, but the closest coded picture-size (H264) is 1920x1088?

hello
We are looking for to try the NVENC SDK as well.
Could you please provide, from where you managed to download the SDK and obtain the trial key, because we have been also looking for this and all we can find are references to the SDK instead of the real thing
Plus, it is said that this SDK is still beta, and is planned to be included into the CUDA SDK proper. Is there a timetable on this?

I too am trying to find out if a license key is required for the NVENC API. If so how can i come by one?
I assume it is now part of the CUDA SDK ?

I’m getting the same error and I don’t know where to get this license. I’m getting no response from the NVidia Product Support, even if I want to get a commercial license. How did you get the license? Any contact?

I am running into the same issue with the license key. How did you guys solve it?

anybody got the license key?