Answers.Body: <p>Media Encoder and ffmpeg should generate the same quality if given the same encoding parameters.</p>
  
  <p>GPU encoders are provided by GPU vendors. I haven't heard of any third-party implementations. The possible differences lie in the wrappers i.e. the code which initializes the encoder parameters, and written by the interfacing app. There, I would expect ffmpeg to offer more fine-grained choices although I haven't look at AME's offerings as of late.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-03T05:27:32.270Z
Answers.LastActivityDate: 2018-04-03T05:27:32.270Z
Answers.UserDisplayName: Gyan
Answers.Body: <p>Speaking from a computer programming background, MPEG and H.264 encoding do not lend themselves to GPU hardware.  The encoding requires a lot of conditional logic and "if statements" where a CPU is superior.  The dedicated encoder chip in your camera does not work the same as the GPU in your computer; both are intended for video work, but specialize on different types of tasks.  Note a GPU works fine for decoding, which is an easier task.</p>
  
  <p>My personal experience is that few decent GPU encoders exist, and the best ones have slightly higher performance but noticeably poorer quality than CPU encoders.  Overall, I cannot recommend OpenCL or CUDA based encoders.  But - my experience is from a few years ago.  Software may have improved.  Side-by-side quality comparison with your particular footage is always best.</p>
  
  <p>EDIT:
  Looks like GPUs do have dedicated encoder circuits these days.  Support is available in select software on Linux and Windows.  See <a href="https://en.wikipedia.org/wiki/Video_Coding_Engine" rel="nofollow noreferrer">here</a> and <a href="https://en.wikipedia.org/wiki/Nvidia_NVENC" rel="nofollow noreferrer">here</a>.  Adobe Media Encoder is not listed.  If it uses OpenCL, then it's using the main part of the GPU and not the encoder circuit, so above comments on quality still stand.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-22T08:56:57.560Z
Answers.LastActivityDate: 2018-04-22T09:08:08.547Z
Answers.LastEditDate: 2018-04-22T09:08:08.547Z
Answers.UserDisplayName: MichaelsonBritt
Body: <p>On macOS, Adobe Media Encoder has options for hardware-accelerated rendering utilizing OpenCL, which seems to speed up encoding time. </p>
  
  <p>On the other hand, according to the <a href="https://trac.ffmpeg.org/wiki/HWAccelIntro" rel="nofollow noreferrer">ffmpeg wiki</a>, ffmpeg's hardware acceleration "typically generate output of significantly lower quality than good software encoders". Is this true of both Media Encoder and ffmpeg, or does Media Encoder somehow better utilize hardware for encoding?</p>
  
Tags: <ffmpeg><encoding><adobe-media-encoder>
Title: Hardware acceleration in Adobe Media Encoder vs ffmpeg
UserDisplayName: erp
ThreadText: # Hardware acceleration in Adobe Media Encoder vs ffmpeg
  
  (Asked by: username_0 on 2018-04-02)
  
  On macOS, Adobe Media Encoder has options for hardware-accelerated rendering utilizing OpenCL, which seems to speed up encoding time.
  
  On the other hand, according to the [ffmpeg wiki](https://trac.ffmpeg.org/wiki/HWAccelIntro), ffmpeg's hardware acceleration "typically generate output of significantly lower quality than good software encoders". Is this true of both Media Encoder and ffmpeg, or does Media Encoder somehow better utilize hardware for encoding?
  
  **Tags:** ffmpeg, encoding, adobe-media-encoder
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2018-04-03. Score: 2 | Accepted answer
  
  Media Encoder and ffmpeg should generate the same quality if given the same encoding parameters.
  
  GPU encoders are provided by GPU vendors. I haven't heard of any third-party implementations. The possible differences lie in the wrappers i.e. the code which initializes the encoder parameters, and written by the interfacing app. There, I would expect ffmpeg to offer more fine-grained choices although I haven't look at AME's offerings as of late.
  
  
  ---
  
  ### Answer by username_2 on 2018-04-22. Score: 0
  
  Speaking from a computer programming background, MPEG and H.264 encoding do not lend themselves to GPU hardware. The encoding requires a lot of conditional logic and "if statements" where a CPU is superior. The dedicated encoder chip in your camera does not work the same as the GPU in your computer; both are intended for video work, but specialize on different types of tasks. Note a GPU works fine for decoding, which is an easier task.
  
  My personal experience is that few decent GPU encoders exist, and the best ones have slightly higher performance but noticeably poorer quality than CPU encoders. Overall, I cannot recommend OpenCL or CUDA based encoders. But - my experience is from a few years ago. Software may have improved. Side-by-side quality comparison with your particular footage is always best.
  
  EDIT:
  Looks like GPUs do have dedicated encoder circuits these days. Support is available in select software on Linux and Windows. See [here](https://en.wikipedia.org/wiki/Video_Coding_Engine) and [here](https://en.wikipedia.org/wiki/Nvidia_NVENC). Adobe Media Encoder is not listed. If it uses OpenCL, then it's using the main part of the GPU and not the encoder circuit, so above comments on quality still stand.
  
  
  ---
  
  