[FFmpeg-devel] [PATCH] Add HW H.264 and HEVC encoding for AMD GPUs based on AMF SDK

Mironov, Mikhail Mikhail.Mironov at amd.com
Tue Nov 28 01:45:56 EET 2017


> -----Original Message-----
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> Of Mark Thompson
> Sent: November 27, 2017 6:39 PM
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH] Add HW H.264 and HEVC encoding for
> AMD GPUs based on AMF SDK
> 
> On 27/11/17 23:34, Mironov, Mikhail wrote:
> >> -----Original Message-----
> >> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On
> Behalf
> >> Of Mark Thompson
> >> Sent: November 27, 2017 6:25 PM
> >> To: ffmpeg-devel at ffmpeg.org
> >> Subject: Re: [FFmpeg-devel] [PATCH] Add HW H.264 and HEVC encoding
> >> for AMD GPUs based on AMF SDK
> >>
> >> On 27/11/17 22:35, Mironov, Mikhail wrote:
> >>>>> -----Original Message-----
> >>>>> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On
> >>>>> Behalf Of Mark Thompson
> >>>>> Sent: November 27, 2017 3:11 PM
> >>>>> To: FFmpeg development discussions and patches <ffmpeg-
> >>>>> devel at ffmpeg.org>
> >>>>> Subject: [FFmpeg-devel] [PATCH] Add HW H.264 and HEVC encoding
> for
> >>>> AMD
> >>>>> GPUs based on AMF SDK
> >>>>>
> >>>>> From: mmironov <mikhail.mironov at amd.com>
> >>>>>
> >>>>> Requires AMF headers for at least version 1.4.2 (older versions do
> >>>>> not support building with C).
> >>>>> ---
> >>>>> Uses upstream headers from <https://github.com/GPUOpen-
> >>>>> LibrariesAndSDKs/AMF/tree/master/amf/public/include>.  I couldn't
> >>>>> find an official install method so I've assumed that the AMF
> >>>>> headers are under an AMF/ prefix (they have rather generic names,
> >>>>> so they need something).  Just copying the two directories from
> >>>>> the source path to /usr/local/include/AMF or similar is sufficient.
> >>>>>
> >>>>> I've also assumed that the features which don't yet exist upstream
> >>>>> (H.264 CONSTRAINED profiles) will appear in a future version 1.5.0.
> >>>>> There might be more version checking needed, but I'm not sure
> >>>>> (newer version / older header should work because of the version
> >>>>> initialisation, while older version / newer header fails at that maybe?).
> >>>>>
> >>>>> The OS checks are removed, it builds fine on Linux if you have the
> >> headers.
> >>>>>
> >>>>
> >>>> The public headers from github do not have several fixes that were
> >>>> done in the customized header.
> >>>> I could cherry-pick and push them but I did not test this for a
> >>>> while assuming that the custom header is used.
> >>>>
> >>>
> >>> Pushed.
> >>
> >> Thank you!
> >>
> >> Is there an official way to detect a finer version there?  (The
> >> version number is still 1.4.4.)  If not, we can just look for one of
> >> the just-added enum constants for the configure test.
> >
> > There is AMFQueryVersion() exposed as "C" export. See Factory.h It
> > will return driver version of runtime but at this point the API is forward and
> backward compatible.
> > The changes I pushed do not change API, just fixed C  compatibility issues.
> > So at this point there is no need to check version against header.
> > In the future if backward compatibility is broken AMFInit() will check
> header version and will return error.
> 
> We need to check the compatibility of the header at configure-time, though -
> configure needs to determine whether the header is usable or not.
> 
> If the user has, for example, the original 1.4.4 headers then the configure
> test looking for the AMFFactory will pass, but the compile will not succeed.

OK, I pushed version change to 1.4.4.1 in Version.h  You can check against it and 
when we push full update it will be 1.4.5.x or higher. 

> 
> - Mark
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list