On 06/09/17 14:07, Luca Barbato wrote:
> Only on Windows the software plugin is available.
> ---
>
> libavcodec/qsvenc_hevc.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
> index 27ff0c6feb..efed4d98f4 100644
> --- a/libavcodec/qsvenc_hevc.c
> +++ b/libavcodec/qsvenc_hevc.c
> @@ -209,12 +209,18 @@ static av_cold int qsv_enc_close(AVCodecContext *avctx)
> return ff_qsv_enc_close(avctx, &q->qsv);
> }
>
> +#if defined(_WIN32)
> +#define LOAD_PLUGIN_DEFAULT LOAD_PLUGIN_HEVC_SW
> +#else
> +#define LOAD_PLUGIN_DEFAULT LOAD_PLUGIN_HEVC_HW
> +#endif
> +
> #define OFFSET(x) offsetof(QSVHEVCEncContext, x)
> #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
> static const AVOption options[] = {
> QSV_COMMON_OPTS
>
> - { "load_plugin", "A user plugin to load in an internal session",
> OFFSET(load_plugin), AV_OPT_TYPE_INT, { .i64 = LOAD_PLUGIN_HEVC_SW },
> LOAD_PLUGIN_NONE, LOAD_PLUGIN_HEVC_HW, VE, "load_plugin" },
> + { "load_plugin", "A user plugin to load in an internal session",
> OFFSET(load_plugin), AV_OPT_TYPE_INT, { .i64 = LOAD_PLUGIN_DEFAULT },
> LOAD_PLUGIN_NONE, LOAD_PLUGIN_HEVC_HW, VE, "load_plugin" },
> { "none", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_NONE },
> 0, 0, VE, "load_plugin" },
> { "hevc_sw", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_HEVC_SW
> }, 0, 0, VE, "load_plugin" },
> { "hevc_hw", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_HEVC_HW
> }, 0, 0, VE, "load_plugin" },
> --
> 2.11.1
In principle I'm very much in favour, except last time I looked at this there
was <https://lists.libav.org/pipermail/libav-devel/2016-November/080499.html>
(and earlier thread).
Are you able to test it on Broadwell? (Or with an older Media SDK version? Do
we care about that?)
- Mark
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel