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

Zhong Li lizhong1008 at gmail.com
Mon Nov 4 09:16:06 EET 2019


James Almer <jamrial at gmail.com> 于2019年11月3日周日 下午9:18写道:
>
> > 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.

Sorry fot the mistake, patch has been sent.


More information about the ffmpeg-devel mailing list