Without this metadata section the ffmpeg utility thinks that the AMF encoder
does not support input from D3D11 and DXVA2 hardware surfaces, causing
hardware pipelines to fail.
Fixes #8953.
}
return ret;
}
+
+const AVCodecHWConfigInternal *const ff_amfenc_hw_configs[] = {
+#if CONFIG_D3D11VA
+ HW_CONFIG_ENCODER_FRAMES(D3D11, D3D11VA),
+ HW_CONFIG_ENCODER_DEVICE(NONE, D3D11VA),
+#endif
+#if CONFIG_DXVA2
+ HW_CONFIG_ENCODER_FRAMES(DXVA2_VLD, DXVA2),
+ HW_CONFIG_ENCODER_DEVICE(NONE, DXVA2),
+#endif
+ NULL,
+};
#include "libavutil/fifo.h"
#include "avcodec.h"
+#include "hwconfig.h"
/**
int tier;
} AmfContext;
+extern const AVCodecHWConfigInternal *const ff_amfenc_hw_configs[];
+
/**
* Common encoder initization function
*/
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.pix_fmts = ff_amf_pix_fmts,
.wrapper_name = "amf",
+ .hw_configs = ff_amfenc_hw_configs,
};
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.pix_fmts = ff_amf_pix_fmts,
.wrapper_name = "amf",
+ .hw_configs = ff_amfenc_hw_configs,
};