diff options
author | Mark Thompson <sw@jkqxz.net> | 2020-04-13 16:33:15 +0100 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2020-04-26 18:38:25 +0100 |
commit | 858eba0ca4b680ce23c4eebd1460db333989b0a4 (patch) | |
tree | 845facb49e0218e4c04fcead6edc8ec715a25470 /libavcodec/hwconfig.h | |
parent | 2594f6a362c788a036dbf3e27d540d15fe7f72d0 (diff) | |
download | ffmpeg-858eba0ca4b680ce23c4eebd1460db333989b0a4.tar.gz |
lavc: Extend hardware config metadata to encoders
Diffstat (limited to 'libavcodec/hwconfig.h')
-rw-r--r-- | libavcodec/hwconfig.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libavcodec/hwconfig.h b/libavcodec/hwconfig.h index 4199ffdd50..f421dc909f 100644 --- a/libavcodec/hwconfig.h +++ b/libavcodec/hwconfig.h @@ -81,4 +81,22 @@ typedef struct AVCodecHWConfigInternal { #define HWACCEL_XVMC(codec) \ HW_CONFIG_HWACCEL(0, 0, 1, XVMC, NONE, ff_ ## codec ## _xvmc_hwaccel) +#define HW_CONFIG_ENCODER(device, frames, ad_hoc, format, device_type_) \ + &(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 = NULL, \ + } + +#define HW_CONFIG_ENCODER_DEVICE(format, device_type_) \ + HW_CONFIG_ENCODER(1, 0, 0, format, device_type_) + +#define HW_CONFIG_ENCODER_FRAMES(format, device_type_) \ + HW_CONFIG_ENCODER(0, 1, 0, format, device_type_) + #endif /* AVCODEC_HWCONFIG_H */ |