Contribute
Register

AMD RX 590 Graphics card

Joined
Oct 23, 2010
Messages
829
Motherboard
GA-Z77X-UP5-TH
CPU
i7-3770K
Graphics
RX 580
Mac
iMac, MacBook Pro
Mobile Phone
Android, iOS,
Do you know of any free apps to test for h264 or h265?
Not free ones that make use of the Apple API's.

I use FFMPEG command line to test the GPU. It's not the easy way to use as it's quite complex set of options.
ffmpeg uses the direct CPU or Apple's videotoolbox API (chosen by an option in the command line).
CPU based encoders use the options:
Code:
libx264
(for H.264) or
Code:
libx265
(for HEVC) and GPU based encoders use
Code:
h264_videotoolbox
(H.264) or
Code:
hevc_videotoolbox
(for H.265)

Apple in its infinitesimally closed world does not provide many options for App developers to the videotoolbox API.
But via with this API it is possible to test the encode/decode features without any specific App.

See examples of ffmpeg commands.

This will list the options available for H.264 encoder in Apple's videotoolbox AP
Code:
ffmpeg -h encoder=h264_videotoolbox
Similarly this will list H.265 (HEVC) capabilities (usually very limited):
Code:
ffmpeg -h encoder=hevc_videotoolbox
To transcode an HEVC sample to H.264 using the AMD GPU, use:
Code:
ffmpeg -i input-hevc.mkv -c:v h264_videotoolbox -b:v 120000k -profile:v high output-h264.mkv
For me, this makes my system very sluggish if I disable the IGPU. Had to use the reset button. This is the key issue with RX580 - the inability to encode H.264 on 10.13.6 (and one of the reasons why it has been disabled in Mojave 10.14.1). FCPX, VideoProc, etc fails too to do the same encode.

To transcode an H.264 sample to HEVC using the AMD GPU, use:
Code:
fmpeg -i input-h264.mkv -c:v hevc_videotoolbox -b:v 120000k -tag:v hvc1 -profile:v main10 output-h265.mkv
Without
Code:
-b:v 120000k
option, videotoolbox does a very bad conversion (~ 1mb/s Framerate). Conversion is very quick and good quality.

To transcode an HEVC sample to H.264 using the Intel CPU, use:
Code:
ffmpeg -i input-h265.mkv -c:v -c:v libx264 -b:v 120000k -profile:v high10 output-h264.mkv
This will take a long time (depending on the CPU).

To transcode an H.264 sample to HEVC using the Intel CPU, use:
Code:
ffmpeg -i input-h264.mkv -c:v libx265 -profile:v main10 output-h264.mkv
This too will take a long time (depending on the CPU). On my i7-3770K, average conversion rate was ~3 fps !!
 
Top