Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
I am trying to test the encoding but I get a segmentation error:
Code:
g5@G5 Downloads % ffmpeg -i file_example_MP4_1920_18MG.mp4 -c:v hevc_amf -c:a copy -quality quality -b:v 3M -bufsize 16M -maxrate  6M outhevcAMD.mp4                   
zsh: segmentation fault  ffmpeg -i file_example_MP4_1920_18MG.mp4 -c:v hevc_amf -c:a copy -quality   3

Anybody knows why?
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
I am trying to test the encoding but I get a segmentation error:
Code:
g5@G5 Downloads % ffmpeg -i file_example_MP4_1920_18MG.mp4 -c:v hevc_amf -c:a copy -quality quality -b:v 3M -bufsize 16M -maxrate  6M outhevcAMD.mp4                   
zsh: segmentation fault  ffmpeg -i file_example_MP4_1920_18MG.mp4 -c:v hevc_amf -c:a copy -quality   3

Anybody knows why?

Please check the command in my previous post.


In MacOS, we won’t command FFMpeg to use AMF. Instead, we only ask it to use VideoToolBox, then the OS will assign the associate GPU to handle the decoding / encoding work.

This is why I emphasised a few times that HEAccel is a system wide function in MacOS. Either work or doesn’t work. And there is no 3rd party software can use HWAccel without my hack on cMP in MacOS.
 
Last edited:

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
Please check the command in my previous post.


In MacOS, we won’t command FFMpeg to use AMF. Instead, we only ask it to use VideoToolBox, then the OS will assign the associate GPU to handle the decoding / encoding work.

This is why I emphasised a few times that HEAccel is a system wide function in MacOS. Either work or doesn’t work. And there is no 3rd party software can use HWAccel without my hack on cMP in MacOS.
Code:
g5@G5 Downloads % ffmpeg -hwaccel videotoolbox -i file_example_MP4_1920_18MG.mp4 -vcodec hevc_videotoolbox -b:v 12000k -c:a copy /Downloads/HEVC.mp4                  
zsh: segmentation fault  ffmpeg -hwaccel videotoolbox -i file_example_MP4_1920_18MG.mp4 -vcodec  -b:v


g5@G5 Downloads % ffplay file_example_MP4_1920_18MG.mp4
zsh: segmentation fault  ffplay file_example_MP4_1920_18MG.mp4

I get segmentation fault even with ffplay
 

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
In Mojave ffmpeg:
Code:
G5% ffmpeg -hwaccel videotoolbox -i file_example_MP4_1920_18MG.mp4 -vcodec hevc_videotoolbox -b:v 12000k -c:a copy HEVC.mp4       
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file_example_MP4_1920_18MG.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomavc1
    creation_time   : 2015-08-07T09:13:36.000000Z
  Duration: 00:00:30.53, start: 0.000000, bitrate: 4675 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4486 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Video Handler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Audio Handler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_videotoolbox))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hevc_videotoolbox @ 0x7f931b00ce00] Error: cannot create compression session: -12903
[hevc_videotoolbox @ 0x7f931b00ce00] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
G5% ffmpeg -hwaccel videotoolbox -i file_example_MP4_1920_18MG.mp4 -vcodec hevc_videotoolbox -b:v 12000k -c:a -allow_sw 1 copy HEVC.mp4
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file_example_MP4_1920_18MG.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomavc1
    creation_time   : 2015-08-07T09:13:36.000000Z
  Duration: 00:00:30.53, start: 0.000000, bitrate: 4675 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4486 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Video Handler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Audio Handler
[NULL @ 0x7f7fb181fe00] Unable to find a suitable output format for '1'
1: Invalid argument
[automerge]1573311541[/automerge]
Playing the file with ffplay:
Code:
G5% ffplay file_example_MP4_1920_18MG.mp4
ffplay version 4.1.4 Copyright (c) 2003-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file_example_MP4_1920_18MG.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomavc1
    creation_time   : 2015-08-07T09:13:36.000000Z
  Duration: 00:00:30.53, start: 0.000000, bitrate: 4675 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4486 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Video Handler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Audio Handler
  59.56 A-V: -0.018 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
[automerge]1573311976[/automerge]
Swordsmith play ffmpeg drops a-lot of frames:
Code:
G5% ffplay /Volumes/High\ Sierra/Users/g5/Downloads/Sony\ Swordsmith\ HDR\ UHD\ 4K\ Demo.mp4
ffplay version 4.1.4 Copyright (c) 2003-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/High Sierra/Users/g5/Downloads/Sony Swordsmith HDR UHD 4K Demo.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    creation_time   : 2016-10-24T05:33:14.000000Z
  Duration: 00:01:26.10, start: 0.000000, bitrate: 71567 kb/s
    Stream #0:0(und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 71382 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2016-10-24T06:29:51.000000Z
      handler_name    : Video Media Handler
      encoder         : HEVC Coding
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2016-10-24T06:29:51.000000Z
      handler_name    : Sound Media Handler
 121.64 A-V: -0.030 fd=3080 aq=    0KB vq=    0KB sq=    0B f=0/0
[automerge]1573312094[/automerge]
But quicktime plays perfectly (no CPU usage)
 
Last edited:

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
1573323320072.png


Only Quicktime and VLC play well HEVC full GPU and no CPU utilization. ffmpeg and Videoproc stutter. VLC only dropped 8 frames.
[automerge]1573324239[/automerge]
All tests done with original cMP5.1 SMBIOS shikigva=102. Videoproc says HEVC not enabled:
1573324234287.png
 
Last edited:

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
HEVC Playback VLC GTX Titan. CPU almost not used.
1573325669527.png


HEVC Playback Quicktime GTX Titan. CPU almost not used.
1573325890821.png
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
In Mojave ffmpeg:
Code:
G5% ffmpeg -hwaccel videotoolbox -i file_example_MP4_1920_18MG.mp4 -vcodec hevc_videotoolbox -b:v 12000k -c:a copy HEVC.mp4       
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file_example_MP4_1920_18MG.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomavc1
    creation_time   : 2015-08-07T09:13:36.000000Z
  Duration: 00:00:30.53, start: 0.000000, bitrate: 4675 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4486 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Video Handler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Audio Handler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_videotoolbox))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hevc_videotoolbox @ 0x7f931b00ce00] Error: cannot create compression session: -12903
[hevc_videotoolbox @ 0x7f931b00ce00] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
G5% ffmpeg -hwaccel videotoolbox -i file_example_MP4_1920_18MG.mp4 -vcodec hevc_videotoolbox -b:v 12000k -c:a -allow_sw 1 copy HEVC.mp4
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file_example_MP4_1920_18MG.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomavc1
    creation_time   : 2015-08-07T09:13:36.000000Z
  Duration: 00:00:30.53, start: 0.000000, bitrate: 4675 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4486 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Video Handler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Audio Handler
[NULL @ 0x7f7fb181fe00] Unable to find a suitable output format for '1'
1: Invalid argument
[automerge]1573311541[/automerge]
Playing the file with ffplay:
Code:
G5% ffplay file_example_MP4_1920_18MG.mp4
ffplay version 4.1.4 Copyright (c) 2003-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file_example_MP4_1920_18MG.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomavc1
    creation_time   : 2015-08-07T09:13:36.000000Z
  Duration: 00:00:30.53, start: 0.000000, bitrate: 4675 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4486 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Video Handler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Audio Handler
  59.56 A-V: -0.018 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
[automerge]1573311976[/automerge]
Swordsmith play ffmpeg drops a-lot of frames:
Code:
G5% ffplay /Volumes/High\ Sierra/Users/g5/Downloads/Sony\ Swordsmith\ HDR\ UHD\ 4K\ Demo.mp4
ffplay version 4.1.4 Copyright (c) 2003-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.12)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4-with-options --enable-shared --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-chromaprint --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-openssl --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/High Sierra/Users/g5/Downloads/Sony Swordsmith HDR UHD 4K Demo.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    creation_time   : 2016-10-24T05:33:14.000000Z
  Duration: 00:01:26.10, start: 0.000000, bitrate: 71567 kb/s
    Stream #0:0(und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 71382 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2016-10-24T06:29:51.000000Z
      handler_name    : Video Media Handler
      encoder         : HEVC Coding
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2016-10-24T06:29:51.000000Z
      handler_name    : Sound Media Handler
 121.64 A-V: -0.030 fd=3080 aq=    0KB vq=    0KB sq=    0B f=0/0
[automerge]1573312094[/automerge]
But quicktime plays perfectly (no CPU usage)

I almost never use FFPlay, not sure if it default to use hardware decode. It seems not (according to your test).
[automerge]1573330835[/automerge]
HEVC Playback VLC GTX Titan. CPU almost not used.
View attachment 876096

HEVC Playback Quicktime GTX Titan. CPU almost not used.
View attachment 876097

Interesting configuration. In never expect anyone will mix these three GPU on a cMP.

Anyway, the GTX Titan not even have HEVC hardware decode.

It’s either activity monitor can’t handle that config correctly. Or even some error at OS level.
 
Last edited:

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
I almost never use FFPlay, not sure if it default to use hardware decode. It seems not (according to your test).
So I did a lot of testing with the Titan. VlC, QuickTime and finalcutpro use to the full extent the GPU (40 percent). CPU usage in FCP is 2-3%. Similar results for the AMD.
[automerge]1573331117[/automerge]
And this is HEVC video and the videoproc says no hardware accel for HEVC. Plus it stutters when playing the same video. I will not use it.
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
It’s a known cosmetic error. When you activate H264 hardware acceleration in Mojave by my method, HEVC hardware decode will also be activated, no exception. Either both work, or both doesn’t work. But VideoProc can indicate that correctly.

For Titan, remove all other GPU, then we will know the answer.
[automerge]1573331525[/automerge]
Anyway, I won’t be too surprised some player (or even the OS) can’t handle GPU hardware acceleration correctly when mixing GPU like this.
 
Last edited:

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
It’s a known cosmetic error. When you activate H642 hardware acceleration in Mojave by my method, HEVC hardware decode will also be activated, no exception. Either both work, or both doesn’t work. But VideoProc can indicate that correctly.

For Titan, remove all other GPU, then we will know the answer.
[automerge]1573331525[/automerge]
Anyway, I won’t be too surprised some player (or even the OS) can’t handle GPU hardware acceleration correctly when mixing GPU like this.
I tried the RX-580 alone. Videoproc does not detect hardware accel HEVC. It does only when spoofing full imacpro SMBIOS.
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
I tried the RX-580 alone. Videoproc does not detect hardware accel HEVC. It does only when spoofing full imacpro SMBIOS.

That’s exactly what I mean, HEVC hardware decode won’t show up without SMBIOS spoofing, but will work (as long as H264 HWaccel detected)
[automerge]1573332663[/automerge]
And if you want to prove the Titan can do the same thing, remove all other GPU but only leave the Titan, then run the test.

This is the best way to avoid any false result.
 
  • Like
Reactions: Reindeer_Games

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
That’s exactly what I mean, HEVC hardware decode won’t show up without SMBIOS spoofing, but will work (as long as H264 HWaccel detected)
[automerge]1573332663[/automerge]
And if you want to prove the Titan can do the same thing, remove all other GPU but only leave the Titan, then run the test.

This is the best way to avoid any false result.
Something screws up when only Titan is installed in the expansion chassis. Hardware acceleration breaks:
Code:
-----------------------------------------------------------------------
System Info
-----------------------------------------------------------------------
Host                           G5.lan
OS                             macOS Catalina Version 10.15.1 (Build 19B88)
Kernel                         Darwin 19.0.0 x86_64
RAM                            128.00 GB
Model Identifier               MacPro5,1
CPU                            Intel(R) Xeon(R) CPU           X5690  @ 3.47GHz
Intel Generation               ???
Platform ID                    0x00000000
Board ID                       Mac-F221BEC8
FW Version                     144.0.0.0.0
Serial Number                 
Hardware UUID                 
System ID                     
ROM                           
Board Serial Number           
VDA Decoder                    Decoder Failed
-----------------------------------------------------------------------
Serial Info
-----------------------------------------------------------------------
Country                        Unknown
Year                           2011
Week                           12.17.2011-12.23.2011
Line                           707 (copy 1)
Model                          MacPro5,1
Valid                          Possibly
-----------------------------------------------------------------------
display
-----------------------------------------------------------------------
GPU Name                       GK110 [GeForce GTX TITAN]
GPU Device ID                  0x100510DE
Quartz Extreme (QE/CI)         Yes
Metal Supported                Yes
Metal Device Name              NVIDIA GeForce GTX TITAN
Metal Default Device           Yes
Metal Low Power                No
Metal Headless                 No
Not sure if it has something to do that the GFX0 is not occupied? But both Titan and even GT-640 use HEVC when all slots are occupied. I have renamed PXS2 to GFX1.
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
Something screws up when only Titan is installed in the expansion chassis. Hardware acceleration breaks:
Code:
-----------------------------------------------------------------------
System Info
-----------------------------------------------------------------------
Host                           G5.lan
OS                             macOS Catalina Version 10.15.1 (Build 19B88)
Kernel                         Darwin 19.0.0 x86_64
RAM                            128.00 GB
Model Identifier               MacPro5,1
CPU                            Intel(R) Xeon(R) CPU           X5690  @ 3.47GHz
Intel Generation               ???
Platform ID                    0x00000000
Board ID                       Mac-F221BEC8
FW Version                     144.0.0.0.0
Serial Number                 
Hardware UUID                 
System ID                     
ROM                           
Board Serial Number           
VDA Decoder                    Decoder Failed
-----------------------------------------------------------------------
Serial Info
-----------------------------------------------------------------------
Country                        Unknown
Year                           2011
Week                           12.17.2011-12.23.2011
Line                           707 (copy 1)
Model                          MacPro5,1
Valid                          Possibly
-----------------------------------------------------------------------
display
-----------------------------------------------------------------------
GPU Name                       GK110 [GeForce GTX TITAN]
GPU Device ID                  0x100510DE
Quartz Extreme (QE/CI)         Yes
Metal Supported                Yes
Metal Device Name              NVIDIA GeForce GTX TITAN
Metal Default Device           Yes
Metal Low Power                No
Metal Headless                 No
Not sure if it has something to do that the GFX0 is not occupied? But both Titan and even GT-640 use HEVC when all slots are occupied. I have renamed PXS2 to GFX1.

GFX0 renaming is not required for HEVC decode. That only required for HEVC encoding.

Again, best test would be remove the RX580, and only install the Titan, then see if hardware acceleration still available.
 

MacManu77

macrumors regular
Jan 31, 2018
110
4
guys I can't apply any of the 2 methods... but in the past I had succeeded. I take the various steps to the letters ... maybe it's better that I do a clean installation of Mojave first?
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
guys I can't apply any of the 2 methods... but in the past I had succeeded. I take the various steps to the letters ... maybe it's better that I do a clean installation of Mojave first?

If you don't know what's messed up. Then most likely start from a clean Mojave will be faster.
 

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
GFX0 renaming is not required for HEVC decode. That only required for HEVC encoding.

Again, best test would be remove the RX580, and only install the Titan, then see if hardware acceleration still available.
Maybe i missed something but why do we think the NVIDIA GTX TITAN would get hardware [de/en]coding now?
 
  • Like
Reactions: thisisnotmyname
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.