Skip to main content
davidweisenbarger
Participating Frequently
August 16, 2012
Question

When or is it possible that Media Encoder and Encore will get GTX 680 CUDA support?

  • August 16, 2012
  • 1 reply
  • 15441 views

...and will it really make a difference?

Ive got the Creative Cloud deal, so my software is up to date (CS6) as of 8/16/12, and after installing my new GTX 680 4GB card and enabling it in Premiere and After Effects, I see a nice performance gain over my older GTX 550 ti 1.5GB.

When I drop a finished H.264 Blu-ray file into a sequence and export it from Premiere into AME, my graphics card shows about 40-60% regular usage throughout the encoding, no matter what format I am exporting to. But if I just drop the same original H.264 file into AME and set it to the exact same encode output preset, then the graphics card is not used at all.

Also, when you run GPUSniffer in the Encore program folder, you can see that it will not accept this card for GPU utilization. Ive looked all around for the Encore list of cards database it is pulling from, and Ive concluded that it must be in a compiled DLL file, so unlike Premiere, you cant modify it to detect the GPU. AME does not have either the list of supported cards or the GPUSniffer program in its program folder, so both of these programs will need the GTX 680 added to its list of supported cards by Adobe directly with an update, like they did with After Effects CS6.

I can only imagine that transcoding in either programs would benefit from CUDA accelleration, like a few other transcoding apps out there already use.

If Adobe is listening, the #1 thing I (all of us?) want in CS6 is for all transcoding products (Premiere direct export & projects, After Effects, Media Encoder direct file import, Encore) to utilize GTX 670 680 and 690 cards for accelleration out of the box. I dont want to use some 3rd party transcoder to get GPU aided transcoding, I want my CS6 Master Collection to be able to do it. Not too much to ask right?

This topic has been closed for replies.

1 reply

Harm_Millaard
Inspiring
August 16, 2012

Transcoding is a CPU matter. The only things that are hardware accelerated are scaling, blending and blurring. Everything else is software or CPU only.

My guess is that 680 support is not far off, since it is now supported in AE. See Mercury, CUDA, and what it all means

davidweisenbarger
Participating Frequently
August 16, 2012

If Adobe libraries are not using CUDA or the GPU to speed up transcoding processes, it can be done and is part of the purpose as far as I can see from Nvidia's developer site. An example of gpu transcoding artice with data: http://www.tomshardware.com/reviews/video-transcoding-amd-app-nvidia-cuda-intel-quicksync,2839-7.html

More transcoding with Nvidia: http://www.steves-digicams.com/knowledge-center/how-tos/video-software/converting-video-files-with-nvidia-cuda.html

And the Nvidia cuda dev site: http://developer.nvidia.com/cuda/cuda-toolkit

July 2, 2013

Hi, I have written a 'proof-of-concept' (i.e. unsupported beta) NVidia H264-encoder plugin for Adobe Premeire Pro CS6. If you are interested in trying it, go the following forum-post:http://forums.adobe.com/message/5458381

Couple of notes:

(0) GPU requirement: NVidia "Kepler" GPU or later (desktop GTX650 or higher, laptop GT650M or higher.)  The plugin uses the new dedicated hardware-encoder (NVENC) introduced with the 2012 Kepler GPU.

(1) the "ideal" best-case speedup (over Mainconcept H264) is roughly 4-5x on a consumer desktop PC (single-socket PC, Intel i5-3570K).  Naturally actual results vary on the source-video/render.

(2) Interlaced video encoding is NOT supported.  (I couldn't get this to work; I think it's a GPU-driver issue.)  

(3) Only uncompressed PCM-audio is supported (no AAC/AC-3 audio.) Also, multiplexing is limited to MPEG-2 TS.  If you want to generate *.MP4 files, you'll need to do your own offline postprocessing outside of Adobe.

(4) In terms of picture-quality (artifacts, compression efficiency), NVidia hardware (GPU) encoding is still inferior to software-only solutions (such as Mainconcept or x264.)

In short, don't expect the NVENC-plugin to replace software-encoding any time soon.  It's not a production-quality product.  And even if it were, software-encoding still has a place in a real workflow;  until consumer hardware-GPU encoding can match the video-quality of the Mainconcept encoder, you'll still be using Mainconcept to do your final production video renders.

cuda is meant for general computing including encoding.

if you performe h246 encoding using cuda on gtx680 it can be done 1 minutes for a video that takes 90 minutes on i7 cpu.

At that speed, the output of the hardware-encoder would be so poor, the video may as well be disposable.  NVENC is NOT faster than Intel Quicksync; actually Quicksync can be substantially faster.  But NVENC (currently) holds the slight edge in compression-quality.

Off on a tangent, CUDA in MPE acceleration offers both speed-advantage and quality-advantage, because the CUDA video-frame processing is highly parallelizable, and can exploit the GPU's numerous floating-point computational-arrays to speed-up processing and do more complex processing.  That's a double-win.  So what does this have to do with encoding?  Right now, hardware video-encoding (which comes after the video-rendering step) only offers improved speed.  My experience with NVENC has shown me it does not improved video-quality.  At best, it is comparable to good (and slower) software-encoding when allowed high video-bitrates.  At lower video-bitrates (such as Youtube streaming), software-encoding is still A LOT better.