diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
commit | 59203c63bb777a3bacec32fb8830fba33540e809 (patch) | |
tree | 58298e711c0ff0575818c30485b44a2f21bf28a0 /media/ffvpx/libavcodec/hwaccel.h | |
parent | Adding upstream version 126.0.1. (diff) | |
download | firefox-59203c63bb777a3bacec32fb8830fba33540e809.tar.xz firefox-59203c63bb777a3bacec32fb8830fba33540e809.zip |
Adding upstream version 127.0.upstream/127.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'media/ffvpx/libavcodec/hwaccel.h')
-rw-r--r-- | media/ffvpx/libavcodec/hwaccel.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/media/ffvpx/libavcodec/hwaccel.h b/media/ffvpx/libavcodec/hwaccel.h deleted file mode 100644 index 3aaa92571c..0000000000 --- a/media/ffvpx/libavcodec/hwaccel.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef AVCODEC_HWACCEL_H -#define AVCODEC_HWACCEL_H - -#include "avcodec.h" -#include "hwaccels.h" - - -#define HWACCEL_CAP_ASYNC_SAFE (1 << 0) - - -typedef struct AVCodecHWConfigInternal { - /** - * This is the structure which will be returned to the user by - * avcodec_get_hw_config(). - */ - AVCodecHWConfig public; - /** - * If this configuration uses a hwaccel, a pointer to it. - * If not, NULL. - */ - const AVHWAccel *hwaccel; -} AVCodecHWConfigInternal; - - -// These macros are used to simplify AVCodecHWConfigInternal definitions. - -#define HW_CONFIG_HWACCEL(device, frames, ad_hoc, format, device_type_, name) \ - &(const AVCodecHWConfigInternal) { \ - .public = { \ - .pix_fmt = AV_PIX_FMT_ ## format, \ - .methods = (device ? AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX : 0) | \ - (frames ? AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX : 0) | \ - (ad_hoc ? AV_CODEC_HW_CONFIG_METHOD_AD_HOC : 0), \ - .device_type = AV_HWDEVICE_TYPE_ ## device_type_, \ - }, \ - .hwaccel = &name, \ - } - -#define HW_CONFIG_INTERNAL(format) \ - &(const AVCodecHWConfigInternal) { \ - .public = { \ - .pix_fmt = AV_PIX_FMT_ ## format, \ - .methods = AV_CODEC_HW_CONFIG_METHOD_INTERNAL, \ - .device_type = AV_HWDEVICE_TYPE_NONE, \ - }, \ - .hwaccel = NULL, \ - } - -#define HWACCEL_DXVA2(codec) \ - HW_CONFIG_HWACCEL(1, 1, 1, DXVA2_VLD, DXVA2, ff_ ## codec ## _dxva2_hwaccel) -#define HWACCEL_D3D11VA2(codec) \ - HW_CONFIG_HWACCEL(1, 1, 0, D3D11, D3D11VA, ff_ ## codec ## _d3d11va2_hwaccel) -#define HWACCEL_NVDEC(codec) \ - HW_CONFIG_HWACCEL(1, 1, 0, CUDA, CUDA, ff_ ## codec ## _nvdec_hwaccel) -#define HWACCEL_VAAPI(codec) \ - HW_CONFIG_HWACCEL(1, 1, 1, VAAPI, VAAPI, ff_ ## codec ## _vaapi_hwaccel) -#define HWACCEL_VDPAU(codec) \ - HW_CONFIG_HWACCEL(1, 1, 1, VDPAU, VDPAU, ff_ ## codec ## _vdpau_hwaccel) -#define HWACCEL_VIDEOTOOLBOX(codec) \ - HW_CONFIG_HWACCEL(1, 1, 1, VIDEOTOOLBOX, VIDEOTOOLBOX, ff_ ## codec ## _videotoolbox_hwaccel) -#define HWACCEL_D3D11VA(codec) \ - HW_CONFIG_HWACCEL(0, 0, 1, D3D11VA_VLD, NONE, ff_ ## codec ## _d3d11va_hwaccel) -#define HWACCEL_XVMC(codec) \ - HW_CONFIG_HWACCEL(0, 0, 1, XVMC, NONE, ff_ ## codec ## _xvmc_hwaccel) - -#endif /* AVCODEC_HWACCEL_H */ |