[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