[FFmpeg-devel] [FFmpeg-cvslog] lavc/qsvenc: enable vp9 encoder

James Almer jamrial at gmail.com
Sun Nov 3 15:12:26 EET 2019


> ffmpeg | branch: master | Zhong Li <zhongli_dev at 126.com <https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog>> | Sat Oct 26 22:18:31 2019 +0800| [33583803e107b6d532def0f9d949364b01b6ad5a] | committer: Zhong Li
>
> lavc/qsvenc: enable vp9 encoder
>
> 1. must enable low_power mode since just VDENC can be supported by iHD
> driver right now
> 2. Coding option1 and extra_data are not supported by MSDK
> 3. IVF header will be inserted in MSDK by default, but it is not needed
> for FFmpeg, so disable it.
>
> Signed-off-by: Zhong Li <zhongli_dev at 126.com <https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog>>
>
> >/http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=33583803e107b6d532def0f9d949364b01b6ad5a
> /---
>
>  Changelog              |  1 +
>  configure              |  6 +++++
>  libavcodec/Makefile    |  1 +
>  libavcodec/allcodecs.c |  1 +
>  libavcodec/qsvenc.c    | 62 +++++++++++++++++++++++++++++++++++++++++++++++++-
>  libavcodec/qsvenc.h    |  6 +++++
>  6 files changed, 76 insertions(+), 1 deletion(-)
>
> diff --git a/Changelog b/Changelog
> index 7c971fce63..558ea8d60c 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -20,6 +20,7 @@ version <next>:
>  - maskedmin and maskedmax filters
>  - VDPAU VP9 hwaccel
>  - median filter
> +- QSV-accelerated VP9 encoding
>  
>  
>  version 4.2:
> diff --git a/configure b/configure
> index 875b77fdf1..211305ff2f 100755
> --- a/configure
> +++ b/configure
> @@ -3090,6 +3090,8 @@ vp9_qsv_decoder_select="qsvdec"
>  vp9_rkmpp_decoder_deps="rkmpp"
>  vp9_vaapi_encoder_deps="VAEncPictureParameterBufferVP9"
>  vp9_vaapi_encoder_select="vaapi_encode"
> +vp9_qsv_encoder_deps="libmfx MFX_CODEC_VP9"
> +vp9_qsv_encoder_select="qsvenc"
>  vp9_v4l2m2m_decoder_deps="v4l2_m2m vp9_v4l2_m2m"
>  wmv3_crystalhd_decoder_select="crystalhd"
>  
> @@ -6243,6 +6245,10 @@ enabled liblensfun        && require_pkg_config liblensfun lensfun lensfun.h lf_
>  # can find the libraries and headers through other means.
>  enabled libmfx            && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" MFXInit ||
>                                 { require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
> +if enabled libmfx; then
> +   check_cc MFX_CODEC_VP9 "mfx/mfxvp9.h mfx/mfxstructures.h" "MFX_CODEC_VP9"
> +fi
> +
>  enabled libmodplug        && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
>  enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
>  enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine ||
> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> index 34c3a22116..2b6fbbca2a 100644
> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -685,6 +685,7 @@ OBJS-$(CONFIG_VP9_CUVID_DECODER)       += cuviddec.o
>  OBJS-$(CONFIG_VP9_MEDIACODEC_DECODER)  += mediacodecdec.o
>  OBJS-$(CONFIG_VP9_RKMPP_DECODER)       += rkmppdec.o
>  OBJS-$(CONFIG_VP9_VAAPI_ENCODER)       += vaapi_encode_vp9.o
> +OBJS-$(CONFIG_VP9_QSV_ENCODER)         += qsvenc_vp9.o
This file is missing.



More information about the ffmpeg-devel mailing list