summaryrefslogtreecommitdiffstats
path: root/libavcodec/amfenc.c
Commit message (Collapse)AuthorAgeFilesLines
* libavcodec/amfenc: Vulkan initialization support for encoder.OvchinnikovDmitrii2019-08-271-2/+15
| | | | | | | | | | | | | | | | | | Added linux support for amf encoder through vulkan. To use h.264(AMD VCE) encoder on linux amdgru-pro version 19.20+ and amf-amdgpu-pro package(amdgru-pro contains, but does not install automatically) are required. This driver can be installed using amdgpu-pro-install script in official amd driver archive. Initialization of amf encoder occurs in this order: 1) trying to initialize through dx11(only windows) 2) trying to initialize through dx9(only windows) 3) trying to initialize through vulkan Only Vulkan initialization available on linux.
* amfenc: Remove spurious initialisationsMark Thompson2018-04-151-47/+29
| | | | Also minor cosmetics.
* amfenc: Add DXVA2 hardware frame input supportAlexander Kravchenko2018-04-151-0/+79
| | | | | | | Adds support for AMF initialisation from a DXVA2 (Direct3D9) device, and then allows passing DXVA2 surfaces into an AMF encoder. Signed-off-by: Mark Thompson <sw@jkqxz.net>
* amfenc: Ensure that the software format of hardware frames is validAlexander Kravchenko2018-04-151-3/+9
| | | | Signed-off-by: Mark Thompson <sw@jkqxz.net>
* amfenc: Do not automatically download/upload unknown hardware input framesMark Thompson2018-04-151-53/+35
| | | | | | | | Supplying a hardware input frame which is not in the input hardware frames context is not allowed by the API, so additional code to handle it is not necessary. Further, handling it automatically results in very low performance - it is more appropriate to fail immediately so that the user can fix their incorrect setup.
* amfenc: Fail to open if the user-supplied device is not usableMark Thompson2018-04-151-49/+81
| | | | | | | | If the user supplies a device or frames context then it is an error not to use it; this is consistent with other hardware components. Also factorise out the D3D11 initialisation and improve error messages.
* lavc/amfenc: Retain a reference to D3D frames used as input during the ↵Alexander Kravchenko2018-04-101-1/+94
| | | | | | | | | encoding process Fixes ticket #6990. Tested-by: James Almer <jamrial@gmail.com> Reviewed-by: Mark Thompson <sw@jkqxz.net>
* Merge commit '34c113335b53d83ed343de49741f0823aa1f8cc6'Mark Thompson2018-01-161-2/+2
|\ | | | | | | | | | | | | | | | | | | * commit '34c113335b53d83ed343de49741f0823aa1f8cc6': Add support for H.264 and HEVC hardware encoding for AMD GPUs based on AMF SDK Most of this was already present from 9ea6607d294526688ab1b1342cb36ee159683e88, this just applies some minor fixups and adds the general documentation. Merged-by: Mark Thompson <sw@jkqxz.net>
| * Add support for H.264 and HEVC hardware encoding for AMD GPUs based on AMF SDKMichael Wootton2018-01-041-0/+608
| | | | | | | Requires AMF headers for at least version 1.4.4.1. Signed-off-by: Mikhail Mironov <mikhail.mironov@amd.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avcodec/amfenc: move config.h include where it's neededJames Almer2017-11-291-0/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* Add HW H.264 and HEVC encoding for AMD GPUs based on AMF SDKMikhail Mironov2017-11-281-0/+604
Requires AMF headers for at least version 1.4.4.1. Signed-off-by: Mikhail Mironov <mikhail.mironov@amd.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
OpenPOWER on IntegriCloud