Re: [FFmpeg-devel] [PATCH] Added Turing codec interface for ffmpeg
On Tue, 29 Nov 2016 17:18:49 + Matteo Naccariwrote: > - This patch contains the changes to interface the Turing codec > (http://turingcodec.org/) to ffmpeg. The patch was modified to address > the comments in the review as follows: > - Added a pkg-config file to list all dependencies required by > libturing. This should address the issue pointed out by Hendrik > Leppkes on Fri 18/11/2016 > - The buffer to store the turing-params options has now a size which > depends on how many of these parameters have been passed by the user. > The sizeof(char) and casting for the malloc calls have been removed as > per suggestion of wm4. Moreover, the maximum length for a whole option > (i.e. --param=value) is computed and the related buffer size allocated > accordingly. > --- > LICENSE.md | 1 + > configure | 5 + > libavcodec/Makefile| 1 + > libavcodec/allcodecs.c | 1 + > libavcodec/libturing.c | 270 > + > 5 files changed, 278 insertions(+) > create mode 100644 libavcodec/libturing.c > > diff --git a/LICENSE.md b/LICENSE.md > index 640633c..86e5371 100644 > --- a/LICENSE.md > +++ b/LICENSE.md > @@ -85,6 +85,7 @@ The following libraries are under GPL: > - frei0r > - libcdio > - librubberband > +- libturing > - libvidstab > - libx264 > - libx265 > diff --git a/configure b/configure > index 6345fc2..022ffa9 100755 > --- a/configure > +++ b/configure > @@ -255,6 +255,7 @@ External library support: >--enable-libssh enable SFTP protocol via libssh [no] >--enable-libtesseractenable Tesseract, needed for ocr filter [no] >--enable-libtheora enable Theora encoding via libtheora [no] > + --enable-libturing enable H.265/HEVC encoding via libturing [no] >--enable-libtwolame enable MP2 encoding via libtwolame [no] >--enable-libv4l2 enable libv4l2/v4l-utils [no] >--enable-libvidstab enable video stabilization using vid.stab [no] > @@ -1534,6 +1535,7 @@ EXTERNAL_LIBRARY_LIST=" > libssh > libtesseract > libtheora > +libturing > libtwolame > libv4l2 > libvidstab > @@ -2831,6 +2833,7 @@ libspeex_decoder_deps="libspeex" > libspeex_encoder_deps="libspeex" > libspeex_encoder_select="audio_frame_queue" > libtheora_encoder_deps="libtheora" > +libturing_encoder_deps="libturing" > libtwolame_encoder_deps="libtwolame" > libvo_amrwbenc_encoder_deps="libvo_amrwbenc" > libvorbis_decoder_deps="libvorbis" > @@ -5096,6 +5099,7 @@ die_license_disabled gpl frei0r > die_license_disabled gpl libcdio > die_license_disabled gpl librubberband > die_license_disabled gpl libsmbclient > +die_license_disabled gpl libturing > die_license_disabled gpl libvidstab > die_license_disabled gpl libx264 > die_license_disabled gpl libx265 > @@ -5754,6 +5758,7 @@ enabled libssh&& require_pkg_config libssh > libssh/sftp.h sftp_init > enabled libspeex && require_pkg_config speex speex/speex.h > speex_decoder_init -lspeex > enabled libtesseract && require_pkg_config tesseract tesseract/capi.h > TessBaseAPICreate > enabled libtheora && require libtheora theora/theoraenc.h > th_info_init -ltheoraenc -ltheoradec -logg > +enabled libturing && require_pkg_config libturing turing.h > turing_version > enabled libtwolame&& require libtwolame twolame.h twolame_init > -ltwolame && > { check_lib twolame.h > twolame_encode_buffer_float32_interleaved -ltwolame || > die "ERROR: libtwolame must be installed and > version must be >= 0.3.10"; } > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > index 82f7fa2..cadefdc 100644 > --- a/libavcodec/Makefile > +++ b/libavcodec/Makefile > @@ -880,6 +880,7 @@ OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o > OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o > OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o > OBJS-$(CONFIG_LIBTWOLAME_ENCODER) += libtwolame.o > +OBJS-$(CONFIG_LIBTURING_ENCODER) += libturing.o > OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o > OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o > OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \ > diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c > index ada9481..0e61a4a 100644 > --- a/libavcodec/allcodecs.c > +++ b/libavcodec/allcodecs.c > @@ -610,6 +610,7 @@ void avcodec_register_all(void) > REGISTER_ENCDEC (LIBSPEEX, libspeex); > REGISTER_ENCODER(LIBTHEORA, libtheora); > REGISTER_ENCODER(LIBTWOLAME,libtwolame); > +REGISTER_ENCODER(LIBTURING, libturing); > REGISTER_ENCODER(LIBVO_AMRWBENC,libvo_amrwbenc); > REGISTER_ENCDEC (LIBVORBIS, libvorbis); > REGISTER_ENCDEC (LIBVPX_VP8,libvpx_vp8); > diff --git
Re: [FFmpeg-devel] [PATCH] Added Turing codec interface for ffmpeg
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 On 29/11/2016 17:18, Matteo Naccari wrote: > [...] Please send any later versions of this patch as a reply to the same thread with a v3 (or later). For example (for this email): [PATCH v3] Thanks, - -- Josh PGP fingerprint: A93A602D7A6D3C5388D792BCD052D40DDEF9703D -BEGIN PGP SIGNATURE- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJYPcAXAAoJENBS1A3e+XA9rUcP/3MPd02eNhdicHaXvi901eFs LW5gUkzZfHIB9MqslgRyxtOEFwNzUxaavQCJUGTMSn/hkzXUNYH3Mlsg9w6yata/ Sh1nHrm9/iEOAKSu46m+0NhIIjlbX3kDQWUcAV3dixig2bMiYjyS0skypgIXVPCX C+Kkbn4yv1YgJkogAXzftxsIsqegZuPIEJIxhahU1CCnUTaCPvw4mRaahtqZTx9U O2ucQ6Z46oWIZArub8VGeC0rEYhesHwTQ24iyLGXHQWbQ92gxRaZ9z8Xw/Mxmzdn D2scnqQR4BimjC9DQtSIKxIdnAknQtokNvLYJs59V4Y7DPBXgsA7mHoUBmW5ZDeh kh5MkUuHQwOm9QbpHY7oXiMNTPwo3yJY8XNzTmykscCPVVL4GWdlbEFRjxWFpYFG JTZ03TGcinOI+JpV4Air0tocijySnxDGSGvekMJC2KrNDIDuMRxc8tHFtp9tBRny oHz2noIBenzO8UjxWAL7APLGBMiajB0I+9Kyunh7zaPyN3uq3tIQvtmAshKFZNhY 5g3jPJsfONBBl3Du4USroWHTxO2CkVEZPouZKyJHj25Y+iYk7EM6eq8YJrhtx5fN +tTYbaTIt0LjrKi2Q/mehgU7vBMj8TxT/ke+zi2TG/4PuqhVzH5in+q+TWkUxm6L hznUVrlS39z1vQ+4lwh1 =jLHk -END PGP SIGNATURE- ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] Added Turing codec interface for ffmpeg
- This patch contains the changes to interface the Turing codec (http://turingcodec.org/) to ffmpeg. The patch was modified to address the comments in the review as follows: - Added a pkg-config file to list all dependencies required by libturing. This should address the issue pointed out by Hendrik Leppkes on Fri 18/11/2016 - The buffer to store the turing-params options has now a size which depends on how many of these parameters have been passed by the user. The sizeof(char) and casting for the malloc calls have been removed as per suggestion of wm4. Moreover, the maximum length for a whole option (i.e. --param=value) is computed and the related buffer size allocated accordingly. --- LICENSE.md | 1 + configure | 5 + libavcodec/Makefile| 1 + libavcodec/allcodecs.c | 1 + libavcodec/libturing.c | 270 + 5 files changed, 278 insertions(+) create mode 100644 libavcodec/libturing.c diff --git a/LICENSE.md b/LICENSE.md index 640633c..86e5371 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -85,6 +85,7 @@ The following libraries are under GPL: - frei0r - libcdio - librubberband +- libturing - libvidstab - libx264 - libx265 diff --git a/configure b/configure index 6345fc2..022ffa9 100755 --- a/configure +++ b/configure @@ -255,6 +255,7 @@ External library support: --enable-libssh enable SFTP protocol via libssh [no] --enable-libtesseractenable Tesseract, needed for ocr filter [no] --enable-libtheora enable Theora encoding via libtheora [no] + --enable-libturing enable H.265/HEVC encoding via libturing [no] --enable-libtwolame enable MP2 encoding via libtwolame [no] --enable-libv4l2 enable libv4l2/v4l-utils [no] --enable-libvidstab enable video stabilization using vid.stab [no] @@ -1534,6 +1535,7 @@ EXTERNAL_LIBRARY_LIST=" libssh libtesseract libtheora +libturing libtwolame libv4l2 libvidstab @@ -2831,6 +2833,7 @@ libspeex_decoder_deps="libspeex" libspeex_encoder_deps="libspeex" libspeex_encoder_select="audio_frame_queue" libtheora_encoder_deps="libtheora" +libturing_encoder_deps="libturing" libtwolame_encoder_deps="libtwolame" libvo_amrwbenc_encoder_deps="libvo_amrwbenc" libvorbis_decoder_deps="libvorbis" @@ -5096,6 +5099,7 @@ die_license_disabled gpl frei0r die_license_disabled gpl libcdio die_license_disabled gpl librubberband die_license_disabled gpl libsmbclient +die_license_disabled gpl libturing die_license_disabled gpl libvidstab die_license_disabled gpl libx264 die_license_disabled gpl libx265 @@ -5754,6 +5758,7 @@ enabled libssh&& require_pkg_config libssh libssh/sftp.h sftp_init enabled libspeex && require_pkg_config speex speex/speex.h speex_decoder_init -lspeex enabled libtesseract && require_pkg_config tesseract tesseract/capi.h TessBaseAPICreate enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg +enabled libturing && require_pkg_config libturing turing.h turing_version enabled libtwolame&& require libtwolame twolame.h twolame_init -ltwolame && { check_lib twolame.h twolame_encode_buffer_float32_interleaved -ltwolame || die "ERROR: libtwolame must be installed and version must be >= 0.3.10"; } diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 82f7fa2..cadefdc 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -880,6 +880,7 @@ OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o OBJS-$(CONFIG_LIBTWOLAME_ENCODER) += libtwolame.o +OBJS-$(CONFIG_LIBTURING_ENCODER) += libturing.o OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \ diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index ada9481..0e61a4a 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -610,6 +610,7 @@ void avcodec_register_all(void) REGISTER_ENCDEC (LIBSPEEX, libspeex); REGISTER_ENCODER(LIBTHEORA, libtheora); REGISTER_ENCODER(LIBTWOLAME,libtwolame); +REGISTER_ENCODER(LIBTURING, libturing); REGISTER_ENCODER(LIBVO_AMRWBENC,libvo_amrwbenc); REGISTER_ENCDEC (LIBVORBIS, libvorbis); REGISTER_ENCDEC (LIBVPX_VP8,libvpx_vp8); diff --git a/libavcodec/libturing.c b/libavcodec/libturing.c new file mode 100644 index 000..a62fafb --- /dev/null +++ b/libavcodec/libturing.c @@ -0,0 +1,270 @@ +/* + * libturing encoder + * + * Copyright (c) 2016 Turing Codec contributors + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can
Re: [FFmpeg-devel] [PATCH] Added Turing codec interface for ffmpeg
On Mon, 28 Nov 2016 16:29:32 + Matteo Naccariwrote: > - This patch contains the changes to interface the Turing codec > (http://turingcodec.org/) to ffmpeg. The patch was modified to address > the comments in the review as follows: > - Added a pkg-config file to list all dependencies required by > libturing. This should address the issue pointed out by Hendrik > Leppkes on Fri 18/11/2016 > - The buffer to store the turing-params options has now a size which > depends on how many of these parameters have been passed by the user. > This should address the issue pointed out by wm4 and Moritz Barsnick > on the ffmpeg-devel reflector > --- > LICENSE.md | 1 + > configure | 5 + > libavcodec/Makefile| 1 + > libavcodec/allcodecs.c | 1 + > libavcodec/libturing.c | 268 > + > 5 files changed, 276 insertions(+) > create mode 100644 libavcodec/libturing.c > > diff --git a/LICENSE.md b/LICENSE.md > index 640633c..86e5371 100644 > --- a/LICENSE.md > +++ b/LICENSE.md > @@ -85,6 +85,7 @@ The following libraries are under GPL: > - frei0r > - libcdio > - librubberband > +- libturing > - libvidstab > - libx264 > - libx265 > diff --git a/configure b/configure > index 6345fc2..022ffa9 100755 > --- a/configure > +++ b/configure > @@ -255,6 +255,7 @@ External library support: >--enable-libssh enable SFTP protocol via libssh [no] >--enable-libtesseractenable Tesseract, needed for ocr filter [no] >--enable-libtheora enable Theora encoding via libtheora [no] > + --enable-libturing enable H.265/HEVC encoding via libturing [no] >--enable-libtwolame enable MP2 encoding via libtwolame [no] >--enable-libv4l2 enable libv4l2/v4l-utils [no] >--enable-libvidstab enable video stabilization using vid.stab [no] > @@ -1534,6 +1535,7 @@ EXTERNAL_LIBRARY_LIST=" > libssh > libtesseract > libtheora > +libturing > libtwolame > libv4l2 > libvidstab > @@ -2831,6 +2833,7 @@ libspeex_decoder_deps="libspeex" > libspeex_encoder_deps="libspeex" > libspeex_encoder_select="audio_frame_queue" > libtheora_encoder_deps="libtheora" > +libturing_encoder_deps="libturing" > libtwolame_encoder_deps="libtwolame" > libvo_amrwbenc_encoder_deps="libvo_amrwbenc" > libvorbis_decoder_deps="libvorbis" > @@ -5096,6 +5099,7 @@ die_license_disabled gpl frei0r > die_license_disabled gpl libcdio > die_license_disabled gpl librubberband > die_license_disabled gpl libsmbclient > +die_license_disabled gpl libturing > die_license_disabled gpl libvidstab > die_license_disabled gpl libx264 > die_license_disabled gpl libx265 > @@ -5754,6 +5758,7 @@ enabled libssh&& require_pkg_config libssh > libssh/sftp.h sftp_init > enabled libspeex && require_pkg_config speex speex/speex.h > speex_decoder_init -lspeex > enabled libtesseract && require_pkg_config tesseract tesseract/capi.h > TessBaseAPICreate > enabled libtheora && require libtheora theora/theoraenc.h > th_info_init -ltheoraenc -ltheoradec -logg > +enabled libturing && require_pkg_config libturing turing.h > turing_version > enabled libtwolame&& require libtwolame twolame.h twolame_init > -ltwolame && > { check_lib twolame.h > twolame_encode_buffer_float32_interleaved -ltwolame || > die "ERROR: libtwolame must be installed and > version must be >= 0.3.10"; } > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > index 82f7fa2..cadefdc 100644 > --- a/libavcodec/Makefile > +++ b/libavcodec/Makefile > @@ -880,6 +880,7 @@ OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o > OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o > OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o > OBJS-$(CONFIG_LIBTWOLAME_ENCODER) += libtwolame.o > +OBJS-$(CONFIG_LIBTURING_ENCODER) += libturing.o > OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o > OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o > OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \ > diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c > index ada9481..0e61a4a 100644 > --- a/libavcodec/allcodecs.c > +++ b/libavcodec/allcodecs.c > @@ -610,6 +610,7 @@ void avcodec_register_all(void) > REGISTER_ENCDEC (LIBSPEEX, libspeex); > REGISTER_ENCODER(LIBTHEORA, libtheora); > REGISTER_ENCODER(LIBTWOLAME,libtwolame); > +REGISTER_ENCODER(LIBTURING, libturing); > REGISTER_ENCODER(LIBVO_AMRWBENC,libvo_amrwbenc); > REGISTER_ENCDEC (LIBVORBIS, libvorbis); > REGISTER_ENCDEC (LIBVPX_VP8,libvpx_vp8); > diff --git a/libavcodec/libturing.c b/libavcodec/libturing.c > new file mode 100644 > index 000..eedaae0 > --- /dev/null > +++
[FFmpeg-devel] [PATCH] Added Turing codec interface for ffmpeg
- This patch contains the changes to interface the Turing codec (http://turingcodec.org/) to ffmpeg. The patch was modified to address the comments in the review as follows: - Added a pkg-config file to list all dependencies required by libturing. This should address the issue pointed out by Hendrik Leppkes on Fri 18/11/2016 - The buffer to store the turing-params options has now a size which depends on how many of these parameters have been passed by the user. This should address the issue pointed out by wm4 and Moritz Barsnick on the ffmpeg-devel reflector --- LICENSE.md | 1 + configure | 5 + libavcodec/Makefile| 1 + libavcodec/allcodecs.c | 1 + libavcodec/libturing.c | 268 + 5 files changed, 276 insertions(+) create mode 100644 libavcodec/libturing.c diff --git a/LICENSE.md b/LICENSE.md index 640633c..86e5371 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -85,6 +85,7 @@ The following libraries are under GPL: - frei0r - libcdio - librubberband +- libturing - libvidstab - libx264 - libx265 diff --git a/configure b/configure index 6345fc2..022ffa9 100755 --- a/configure +++ b/configure @@ -255,6 +255,7 @@ External library support: --enable-libssh enable SFTP protocol via libssh [no] --enable-libtesseractenable Tesseract, needed for ocr filter [no] --enable-libtheora enable Theora encoding via libtheora [no] + --enable-libturing enable H.265/HEVC encoding via libturing [no] --enable-libtwolame enable MP2 encoding via libtwolame [no] --enable-libv4l2 enable libv4l2/v4l-utils [no] --enable-libvidstab enable video stabilization using vid.stab [no] @@ -1534,6 +1535,7 @@ EXTERNAL_LIBRARY_LIST=" libssh libtesseract libtheora +libturing libtwolame libv4l2 libvidstab @@ -2831,6 +2833,7 @@ libspeex_decoder_deps="libspeex" libspeex_encoder_deps="libspeex" libspeex_encoder_select="audio_frame_queue" libtheora_encoder_deps="libtheora" +libturing_encoder_deps="libturing" libtwolame_encoder_deps="libtwolame" libvo_amrwbenc_encoder_deps="libvo_amrwbenc" libvorbis_decoder_deps="libvorbis" @@ -5096,6 +5099,7 @@ die_license_disabled gpl frei0r die_license_disabled gpl libcdio die_license_disabled gpl librubberband die_license_disabled gpl libsmbclient +die_license_disabled gpl libturing die_license_disabled gpl libvidstab die_license_disabled gpl libx264 die_license_disabled gpl libx265 @@ -5754,6 +5758,7 @@ enabled libssh&& require_pkg_config libssh libssh/sftp.h sftp_init enabled libspeex && require_pkg_config speex speex/speex.h speex_decoder_init -lspeex enabled libtesseract && require_pkg_config tesseract tesseract/capi.h TessBaseAPICreate enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg +enabled libturing && require_pkg_config libturing turing.h turing_version enabled libtwolame&& require libtwolame twolame.h twolame_init -ltwolame && { check_lib twolame.h twolame_encode_buffer_float32_interleaved -ltwolame || die "ERROR: libtwolame must be installed and version must be >= 0.3.10"; } diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 82f7fa2..cadefdc 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -880,6 +880,7 @@ OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o OBJS-$(CONFIG_LIBTWOLAME_ENCODER) += libtwolame.o +OBJS-$(CONFIG_LIBTURING_ENCODER) += libturing.o OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \ diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index ada9481..0e61a4a 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -610,6 +610,7 @@ void avcodec_register_all(void) REGISTER_ENCDEC (LIBSPEEX, libspeex); REGISTER_ENCODER(LIBTHEORA, libtheora); REGISTER_ENCODER(LIBTWOLAME,libtwolame); +REGISTER_ENCODER(LIBTURING, libturing); REGISTER_ENCODER(LIBVO_AMRWBENC,libvo_amrwbenc); REGISTER_ENCDEC (LIBVORBIS, libvorbis); REGISTER_ENCDEC (LIBVPX_VP8,libvpx_vp8); diff --git a/libavcodec/libturing.c b/libavcodec/libturing.c new file mode 100644 index 000..eedaae0 --- /dev/null +++ b/libavcodec/libturing.c @@ -0,0 +1,268 @@ +/* + * libturing encoder + * + * Copyright (c) 2016 Turing Codec contributors + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software