<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 12 дек. 2024 г., 04:09 Andrew Randrianasulu <<a href="mailto:randrianasulu@gmail.com" rel="noreferrer noreferrer" target="_blank">randrianasulu@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 12 дек. 2024 г., 03:11 Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">terjejhanssen@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
<br>
Den 12.12.2024 00:46, skrev Andrew Randrianasulu via Cin:<br>
> As Terje requested I looked up into amf compilation, _it seems_ it <br>
> just require headers at compilation stage BUT amdgpu-pro runtime for <br>
> any real use, and it goes via vulkan anyway ?<br>
><br>
><br>
> <a href="https://ffmpeg.org/general.html#AMD-AMF_002fVCE" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://ffmpeg.org/general.html#AMD-AMF_002fVCE</a><br>
><br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><a href="https://gpuopen.com/advanced-media-framework/" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://gpuopen.com/advanced-media-framework/</a></div><div dir="auto"><br></div><div dir="auto">according to this (official?) site amf encoder component how can be used with mesa's radv driver, so may be less proprietary components can be installed? If whole thing granular enough ....</div><div dir="auto"><br></div><div dir="auto">=====</div><div dir="auto"><br></div><div dir="auto"><div dir="auto">Version 1.4.34.0
</div>
<div dir="auto"><ul><li>Added Linux support for DVR sample.</li><li>New HEVC header insertion mode.</li><li>Stable support for RADV drivers for AMF on Linux in VideoConverter/HQScaler/VideoEncoder and experimental for decoder.</li></ul><div dir="auto">======</div></div></div><div dir="auto"><br></div><div dir="auto"></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Driver%20Linux" rel="noreferrer noreferrer" target="_blank">https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Driver%20Linux</a></div><div dir="auto"><br></div><div dir="auto">this page says you can install just AMF component by using</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><pre>sudo amdgpu-install -y --usecase=amf</pre><pre>thankfully, there is also uninstall script ;)</pre></div><div dir="auto">but you still need copy of amd headers manually placed in correct location, and also ffmpeg compiled with--enable-amf</div><div dir="auto"><br></div><div dir="auto">notably, ffmpeg 7.1 also gives high bitrate in this case according to</div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/514">https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/514</a></div><div dir="auto"><br></div><div dir="auto">ah, it was just changed default ... in ffmpeg 7.1</div><div dir="auto"><br></div><div dir="auto">but hopefully someone can try this manual install script route and report how it behaves ...</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br><br><br><br><br>
<br>
Some related sections I have extracted and collected, but not neccessary <br>
up to date:<br>
<br>
AMD / Mesa<br>
The Mesa VAAPI driver uses the UVD (Unified Video Decoder) and VCE <br>
(Video Coding Engine) hardware found in all recent AMD graphics cards <br>
and APUs.<br>
<a href="https://trac.ffmpeg.org/wiki/Hardware/VAAPI#AMDMesa" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://trac.ffmpeg.org/wiki/Hardware/VAAPI#AMDMesa</a><br>
<br>
And this reminded me about our interlace problematic:<br>
Encoding and interlacing support in Mesa are incompatible because of the <br>
data layout in GPU memory. By default, frames are separated into fields <br>
and interlaced video is supported but encoding is not. Set the <br>
environment variable VAAPI_DISABLE_INTERLACE to 1 to be able to use the <br>
encoder (but without any interlaced video support).<br>
<br>
AMD/VAAPI<br>
<a href="https://trac.ffmpeg.org/wiki/HWAccelIntro#PlatformAPIAvailability" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://trac.ffmpeg.org/wiki/HWAccelIntro#PlatformAPIAvailability</a><br>
P Partial support (some devices / some features).<br>
<br>
VAAPI<br>
<a href="https://trac.ffmpeg.org/wiki/HWAccelIntro#VAAPI" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://trac.ffmpeg.org/wiki/HWAccelIntro#VAAPI</a><br>
Video Acceleration API (VAAPI) is a non-proprietary and royalty-free <br>
open source software library ("libva") and API specification, initially <br>
developed by Intel but can be used in combination with other devices.<br>
<br>
It can be used to access the Quick Sync hardware in Intel GPUs (!?)and <br>
the UVD/VCE hardware in AMD GPUs. See VAAPI.<br>
<br>
AMD UVD/VCE ¶<br>
<a href="https://trac.ffmpeg.org/wiki/HWAccelIntro#AMDUVDVCE" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://trac.ffmpeg.org/wiki/HWAccelIntro#AMDUVDVCE</a><br>
AMD UVD is usable for decode via VDPAU and VAAPI in Mesa on Linux. VCE <br>
also has some initial support for encode via VAAPI, but should be <br>
considered experimental.<br>
<br>
AMF is effectively supported by FFmpeg to significantly speed up video <br>
encoding, decoding, and transcoding via AMD GPUs.<br>
<br>
AMD / Mesa<br>
<a href="https://trac.ffmpeg.org/wiki/Hardware/VAAPI#AMDMesa" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://trac.ffmpeg.org/wiki/Hardware/VAAPI#AMDMesa</a><br>
The Mesa VAAPI driver uses the UVD (Unified Video Decoder) and VCE <br>
(Video Coding Engine) hardware found in all recent AMD graphics cards <br>
and APUs.<br>
<br>
i965 Driver<br>
<a href="https://trac.ffmpeg.org/wiki/Hardware/QuickSync#i965vs.iHDDrivervs.libvpllibmfx" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://trac.ffmpeg.org/wiki/Hardware/QuickSync#i965vs.iHDDrivervs.libvpllibmfx</a><br>
Supports VAAPI<br>
i965 is packaged as standard in most Linux distributions.<br>
Runs on older and cheaper devices.<br>
Common API for applications which may also use AMD hardware with Mesa.<br>
Interoperable with standard APIs (EGL/OpenGL, OpenCL).<br>
<br>
</blockquote></div></div></div>
</blockquote></div></div></div>