On Tue, Jul 14, 2015 at 09:29:11AM +0200, Hendrik Leppkes wrote: > On Tue, Jul 14, 2015 at 7:53 AM, Arttu Ylä-Outinen > <arttu.yla-outi...@tut.fi> wrote: > > Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outi...@tut.fi> > > --- > > Changelog | 1 + > > configure | 4 + > > doc/encoders.texi | 24 +++++ > > doc/general.texi | 10 +- > > libavcodec/Makefile | 1 + > > libavcodec/allcodecs.c | 1 + > > libavcodec/libkvazaar.c | 248 > > +++++++++++++++++++++++++++++++++++++++++++++++ > > libavcodec/version.h | 2 +- > > 8 files changed, 289 insertions(+), 2 deletions(-) > > create mode 100644 libavcodec/libkvazaar.c > > > > diff --git a/Changelog b/Changelog > > index ccd8d4a..a4451f9 100644 > > --- a/Changelog > > +++ b/Changelog > > @@ -15,6 +15,7 @@ version <next>: > > - adrawgraph audio and drawgraph video filter > > - removegrain video filter > > - Intel QSV-accelerated MPEG-2 video and HEVC encoding > > +- libkvazaar HEVC encoder > > > > > > version 2.7: > > diff --git a/configure b/configure > > index 88ee936..5616b59 100755 > > --- a/configure > > +++ b/configure > > @@ -222,6 +222,7 @@ External library support: > > --enable-libgsm enable GSM de/encoding via libgsm [no] > > --enable-libiec61883 enable iec61883 via libiec61883 [no] > > --enable-libilbc enable iLBC de/encoding via libilbc [no] > > + --enable-libkvazaar enable HEVC encoding via libkvazaar [no] > > --enable-libmfx enable HW acceleration through libmfx > > --enable-libmodplug enable ModPlug via libmodplug [no] > > --enable-libmp3lame enable MP3 encoding via libmp3lame [no] > > @@ -1386,6 +1387,7 @@ EXTERNAL_LIBRARY_LIST=" > > libgsm > > libiec61883 > > libilbc > > + libkvazaar > > libmfx > > libmodplug > > libmp3lame > > @@ -2464,6 +2466,7 @@ libgsm_ms_decoder_deps="libgsm" > > libgsm_ms_encoder_deps="libgsm" > > libilbc_decoder_deps="libilbc" > > libilbc_encoder_deps="libilbc" > > +libkvazaar_encoder_deps="libkvazaar" > > libmodplug_demuxer_deps="libmodplug" > > libmp3lame_encoder_deps="libmp3lame" > > libmp3lame_encoder_select="audio_frame_queue" > > @@ -5152,6 +5155,7 @@ enabled libgsm && { for gsm_hdr in "gsm.h" > > "gsm/gsm.h"; do > > check_lib "${gsm_hdr}" gsm_create -lgsm > > && break; > > done || die "ERROR: libgsm not found"; } > > enabled libilbc && require libilbc ilbc.h > > WebRtcIlbcfix_InitDecode -lilbc > > +enabled libkvazaar && require2 libkvazaar kvazaar.h kvz_api_get > > -lkvazaar > > enabled libmfx && require_pkg_config libmfx "mfx/mfxvideo.h" > > MFXInit > > enabled libmodplug && require_pkg_config libmodplug > > libmodplug/modplug.h ModPlug_Load > > enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h > > lame_set_VBR_quality -lmp3lame > > diff --git a/doc/encoders.texi b/doc/encoders.texi > > index 5946644..6e50a90 100644 > > --- a/doc/encoders.texi > > +++ b/doc/encoders.texi > > @@ -2315,6 +2315,30 @@ Setting a higher @option{bits_per_mb} limit will > > improve the speed. > > For the fastest encoding speed set the @option{qscale} parameter (4 is the > > recommended value) and do not set a size constraint. > > > > +@section libkvazaar > > + > > +Kvazaar H.265/HEVC encoder. > > + > > +Requires the presence of the libkvazaar headers and library during > > +configuration. You need to explicitly configure the build with > > +@option{--enable-libkvazaar}. > > + > > +@subsection Options > > + > > +@table @option > > + > > +@item b > > +Set target video bitrate in bit/s and enable rate control. > > + > > +@item threads > > +Set number of encoding threads. > > + > > +@item kvazaar-params > > +Set kvazaar parameters as a list of @var{name}=@var{value} pairs separated > > +by commas (,). See kvazaar documentation for a list of options. > > + > > +@end table > > + > > @c man end VIDEO ENCODERS > > > > @chapter Subtitles Encoders > > diff --git a/doc/general.texi b/doc/general.texi > > index 5089c36..dc22d90 100644 > > --- a/doc/general.texi > > +++ b/doc/general.texi > > @@ -145,6 +145,14 @@ x265 is under the GNU Public License Version 2 or later > > details), you must upgrade FFmpeg's license to GPL in order to use it. > > @end float > > > > +@section kvazaar > > + > > +FFmpeg can make use of the kvazaar library for HEVC encoding. > > + > > +Go to @url{https://github.com/ultravideo/kvazaar} and follow the > > +instructions for installing the library. Then pass > > +@code{--enable-libkvazaar} to configure to enable it. > > + > > @section libilbc > > > > iLBC is a narrowband speech codec that has been made freely available > > @@ -688,7 +696,7 @@ following image formats are supported: > > @item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 @tab E @tab X > > @tab encoding supported through external library libx264 and OpenH264 > > @item HEVC @tab X @tab X > > - @tab encoding supported through the external library libx265 > > + @tab encoding supported through external library libx265 and libkvazaar > > @item HNM version 4 @tab @tab X > > @item HuffYUV @tab X @tab X > > @item HuffYUV FFmpeg variant @tab X @tab X > > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > > index 70755f6..b7fe1c9 100644 > > --- a/libavcodec/Makefile > > +++ b/libavcodec/Makefile > > @@ -768,6 +768,7 @@ OBJS-$(CONFIG_LIBGSM_MS_DECODER) += libgsmdec.o > > OBJS-$(CONFIG_LIBGSM_MS_ENCODER) += libgsmenc.o > > OBJS-$(CONFIG_LIBILBC_DECODER) += libilbc.o > > OBJS-$(CONFIG_LIBILBC_ENCODER) += libilbc.o > > +OBJS-$(CONFIG_LIBKVAZAAR_ENCODER) += libkvazaar.o > > OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o > > mpegaudiodecheader.o > > OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o > > OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o > > diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c > > index 70c81c7..a352a47 100644 > > --- a/libavcodec/allcodecs.c > > +++ b/libavcodec/allcodecs.c > > @@ -530,6 +530,7 @@ void avcodec_register_all(void) > > REGISTER_ENCDEC (LIBGSM, libgsm); > > REGISTER_ENCDEC (LIBGSM_MS, libgsm_ms); > > REGISTER_ENCDEC (LIBILBC, libilbc); > > + REGISTER_ENCODER(LIBKVAZAAR, libkvazaar); > > This entry should be added further down in the file, in the section of > "external libraries that shouldn't be used by default", so that > libx265 remains the default if both are available. > Unless you can convince us how this one is much better and more complete? :)
moved down applied thanks PS: Arttu, you might want to send a patch which adds you to the MAINTAINERs file [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Into a blind darkness they enter who follow after the Ignorance, they as if into a greater darkness enter who devote themselves to the Knowledge alone. -- Isha Upanishad
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel