Skip to main content
Todd_Kopriva
Inspiring
January 4, 2011
Question

FAQ: Mercury Playback Engine, CUDA, OpenCL, Metal, and what it all means

  • January 4, 2011
  • 25 replies
  • 274495 views

Mercury Playback Engine is the given name for a group of improvments that is been built into Premiere Pro. See Adobe documentation on the topic here: Mercury Playback Engine (GPU Accelerated) renderer.

 

Those improvements includes: 

- 64-bit application

- multithreaded application

- processing of some things using CUDA
- processing of some things using OpenCL

- processing of some things using Metal

 

  • All versions of Premiere Pro (since CS5) have the first two of these: 64 bit and multi-threaded applicaton.
  • Since then, GPU Acceleration was added, enhancing Mercury Playback Engine performance.
    • CUDA support on Nvidia GPUs came first. Then, OpenCL and Metal processing for the Mercury Playback Engine came along. 
    • For current versions of Premiere Pro, you need at least 2 GB VRAM for HD. 4GB for 4K for the Mercury Playback Engine to function as specified.
    •  See System Requirments.

 

The official and up-to-date list of the cards that provide CUDA, OpenCL, and Metal processing features is here.

 

Here's a list of things that Premiere Pro can process with CUDA, OpenCL, and Metal:

- some effects

- scaling - (alternate link)

- deinterlacing

- blending modes

- color space conversions

 

  • One set of things that Premiere Pro's Mercury Playback Engine doesn't process: encoding and decoding. 

 

That said, two new options for GPU accelerated encoding have been added recently, both of which use different tech than the Mercury Playback Engine

  • GPU acceleration is available for decoding and encoding of H.264 and HEVC formats with certain Intel GPUs using Intel Quick Sync. Info here
  • GPU acceleration is also available for encoding of H.264 and HEVC formats regardless of CPU type. Info here.
  • The three technologies do work in concert, with default presets for hardware acceleration set accordingly.

 

  • Note that whether a frame can be processed by CUDA, OpenCL, or Metal depends on the size of the frame and the amount of VRAM on the graphics card. This article gives details about that.  Error Compiling Movie errors are often at the root this issue.

 

  • Processing with CUDA, OpenCL, or Metal doesn't just mean that things are faster. In some cases, it can actually mean that results are better, as with scaling. See this article for details.

 

  • If you don't have a supported GPU, you can still use Premiere Pro; you just won't get the advantages of processing with CUDA, OpenCL, or Metal.
    • For that, use Mercury Playback Engine Software Only mode. This mode is also useful as a troubleshooting tool to check any anomalies with effects or visuals. The drawback is that it is a lot slower than working with a supported GPU. 

An article on the Premiere Pro team blog based on the information and questions in this forum thread has been posted, please check that out.


Notes

  • The author of this post is no longer working at Adobe, so it needs to be updated by my team. The various Premiere Pro Team Blog links to this article still function as of June 2020, however, their removal is likely imminent. This info needs to be captured before its removal, as it contains critical information for editors. We ask for your patience as this gets fixed.
  • This article covers information about the Mercury Playback Engine GPU Acceleration. Please do not confuse this information with GPU accelerated exporting technology. More info on GPU accelerated exporting here.
  •  As of June 2020, on macOS, CUDA processing for the Mercury Playback Engine been deprecated for Premiere Pro. Use Metal now.

This topic has been closed for replies.

25 replies

February 10, 2011

Why is a powerhouse like Adobe behind when it comes to encoding? No CUDA/Stream/Quick Sync enhanced encoding in AME...

Intel released a plugin for AME that does basic H.264 profiles http://software.intel.com/en-us/articles/adobe-premiere-propremiere-el  ements-encoder-plug-in-using-intel-media-sdk-and-intel-quick-sync-vide  o-technology/

Intel lists the apps that support quick synch http://www.intel.com/technology/quicksynch/index.htm

* Arcsoft MediaConverter*
* Arcsoft MediaImpression*
* Corel Digital Studio*
* CyberLink MediaEspresso*
* CyberLink PowerDirector*
* MainConcept*
* Movavi Video Converter*
* Roxio Creator*

When will AME take advantage of CUDA/Stream/Quick Sync for encoding and why are you so behind the times??

Participant
January 9, 2011

So if Mercury Engine is "Grayed Out" in project

settings, that means your graphics card is not suitable?

My AVCHD footage is pixelating on the timeline, could that be the problem?

thanks

Participating Frequently
January 9, 2011

That Is Correct but you can make it suitable search for the "Premiere Pro hack" I have done it and now my GeForce GTX 460 works fine, I can't give you a direct link because forum rules don't allow it, however I think your graphics card has to have 1Gb of memory or perhaps 750 Mb. What are the specs of your card ?

Regards

Kevin

Participant
January 9, 2011

Sorry

Windows 7 64 bit

4 GB Ram

Graphics - NVidea Geforce 7300 LE 128mb DDR3

Processor - Twin Intel core 2 cpu 6300 1.86 ghz

Hard Disks - 3 on Raid 0

Message was edited by: Michael J Ward

Stephen Shankland
Known Participant
January 4, 2011

Is it possible to rebase Mercury Playback Engine on OpenCL, which I imagine might make it easier to support ATI cards? I have one computer with an Nvidia card and another with an ATI card. Is OpenCL appropriate and sufficiently mature?

Todd_Kopriva
Inspiring
January 4, 2011
> Is it possible to rebase Mercury Playback Engine on OpenCL, which I imagine might make it easier to support ATI cards? I have one computer with an Nvidia card and another with an ATI card. Is OpenCL appropriate and sufficiently mature?

As we were beginning the work for Premiere Pro CS5, OpenCL wasn't far enough along.

Regarding plans for future versions: Sorry, but we can't comment on what may or may not be done in future versions. That said, we rely heavily on feature requests to determine how many people want a specific feature. If you'd like to see us use OpenCL for processing, please submit a feature request.

Participant
May 24, 2012

Hello, I need to export my video to tape but mercury playback is greyed out. I have an ATI Mobility Radeion HD 5650. From reading the forum, it appears my card does not have the CUDA processing features needed to enable Mercury. Is this correct? And if so, is there a work around that would enable me to export my video to tape?? Please help, I'm a film student and my final project is past due and I've done all this work but unable to turn in assignment as required (mini-DV).  Thanks in advance

able123
Inspiring
January 4, 2011

------------

a lot of  people think that 'Mercury' just refers to CUDA processing.  This is  wrong. To see that this was not the original intent, you need  look no  further than the project settings UI strings 'Mercury Playback  Engine  GPU Acceleration' and 'Mercury Playback Engine Software Only',  which  would make no sense if 'Mercury' meant "hardware" (i.e., CUDA).

--------------

so with the mercury playback software only there are still significant improvements in processing or functionality of PP but with CUDA there is even MORE speed due to using the hardware ( gpu and cuda  ? )

how much of the gpu does the software ONLY use ??  in comparison to the gpu using the vram to take stress off the cpu processing ?

Todd_Kopriva
Inspiring
January 4, 2011

> how much of the gpu does the software ONLY use ?

None. That's the point. The term 'software' in this context refers to CPU-only processing.

CUDA is a technology (architecture, programming language, etc.) for a certain kind of GPU processing.

Colin Brougham
Participating Frequently
January 4, 2011

None. That's the point. The term 'software' in this context refers to CPU-only processing.

Well, this begs the question, then: why market and then include in the software the confusing phrase "Mercury Playback Engine?" I mean, I understand the desire for catchy slogans and stuff that can adorn ad slicks, but if you have access to the Mercury Playback Engine regardless of having an approved GPU or not, why bother? It seems it would be easier and more logical to simply say, "Premiere Pro CS5 is fast. Add a certain graphics card, and it will be even faster."

Endusers ultimately don't care about the names of underlying proprietary technologies. Sure, we all love to boast about a certain brand or another that we purchase or use, but "Mercury Playback Engine" isn't a brand. Tell them what they can do to squeeze more performance out of the software, and leave it at that. If Adobe wants to sell more copies of Premiere Pro, simply stop referring to MPE at all, and say, "Right out of the box, you have X; add a specific GPU and you have X+10."

PS: Todd, you should probably refer to the Mercury Playback Engine correctly, and not just Mercury... or Dennis will send you a nasty note

Todd_Kopriva
Inspiring
January 4, 2011

Feel free to ask questions, folks.


Participating Frequently
January 4, 2011

Why a list?

I find it a bit unfair that there should be a list and a very small one at that, when I was buying my card I looked at the GTX 470 which is now on the list but all the revues said that the newer GTX 460 was better I.E. faster lower power consumption etc. Anyone buying a card has a dilemma, buy the older slower card and be on the list or buy the newer faster card which is not on the list. Why can't PPCS5 just look at your card and decide whether it's good enough to use Mercury ? Harm mentioned that it was possible to "hack" PP to use a non listed card and I have done this but is it allowed ?

Regards

Kevin Mooney

Todd_Kopriva
Inspiring
January 4, 2011

> Why a list?

There's a lot of testing work that goes into making sure that a given card works without problems and actually provides the features in a way that we can support.

We don't want to say that people can use any card and then have some cards cause problems. We learned this the hard way on the After Effects side, where a lot of problems arise from people trying to use the OpenGL features with cards that we haven't been abe to test against and verify.

If there's a specific card that you want us to add to the list of cards that Premiere Pro CS5 can use for CUDA processing, then let us know with a feature request.