[FFmpeg-devel] [PATCH] avcodec: Remove libutvideo support

Derek Buitenhuis derek.buitenhuis at gmail.com
Wed Feb 10 16:47:52 CET 2016


* Upstream libutvideo doesn't build as a lib, and Linux is not supported.
  It has no API.
* The fork that was used as an argument to keep support is *also* broken and
  unmaintained now, and it's maintainer/author is fine with removal.
* A third fork on github, *also* doesn't work.
* The only working library that I can find is a package for an obscure distro,
  in German only, with a bunch of patches applied.
* The ASM in libutvideo doesn't even work on x86_64.
* More, I'm sure others can fill in.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
---
 Changelog                    |   1 +
 LICENSE.md                   |   3 -
 MAINTAINERS                  |   1 -
 configure                    |   6 -
 libavcodec/Makefile          |   3 -
 libavcodec/allcodecs.c       |   1 -
 libavcodec/libutvideo.h      |  72 -----------
 libavcodec/libutvideodec.cpp | 272 -----------------------------------------
 libavcodec/libutvideoenc.cpp | 281 -------------------------------------------
 libavcodec/version.h         |   4 +-
 10 files changed, 3 insertions(+), 641 deletions(-)
 delete mode 100644 libavcodec/libutvideo.h
 delete mode 100644 libavcodec/libutvideodec.cpp
 delete mode 100644 libavcodec/libutvideoenc.cpp

diff --git a/Changelog b/Changelog
index 749eb61..424434d 100644
--- a/Changelog
+++ b/Changelog
@@ -67,6 +67,7 @@ version <next>:
 - streamselect video and astreamselect audio filter
 - swaprect filter
 - metadata video and ametadata audio filter
+- libutvideo encoder and decoder removed
 
 
 version 2.8:
diff --git a/LICENSE.md b/LICENSE.md
index 0c53d0f..6c45705 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -17,8 +17,6 @@ Specifically, the GPL parts of FFmpeg are:
   - `libavcodec/x86/flac_dsp_gpl.asm`
   - `libavcodec/x86/idct_mmx.c`
   - `libavfilter/x86/vf_removegrain.asm`
-- libutvideo encoding/decoding wrappers in
-  `libavcodec/libutvideo*.cpp`
 - the X11 grabber in `libavdevice/x11grab.c`
 - the swresample test app in
   `libswresample/swresample-test.c`
@@ -86,7 +84,6 @@ The following libraries are under GPL:
 - frei0r
 - libcdio
 - librubberband
-- libutvideo
 - libvidstab
 - libx264
 - libx265
diff --git a/MAINTAINERS b/MAINTAINERS
index b62a4f8..d7d4af1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -209,7 +209,6 @@ Codecs:
   libschroedinger*                      David Conrad
   libspeexdec.c                         Justin Ruggles
   libtheoraenc.c                        David Conrad
-  libutvideo*                           Derek Buitenhuis
   libvorbis.c                           David Conrad
   libvpx*                               James Zern
   libx264.c                             Mans Rullgard, Jason Garrett-Glaser
diff --git a/configure b/configure
index 2148f11..90a4169 100755
--- a/configure
+++ b/configure
@@ -251,7 +251,6 @@ External library support:
   --enable-libtesseract    enable Tesseract, needed for ocr filter [no]
   --enable-libtheora       enable Theora encoding via libtheora [no]
   --enable-libtwolame      enable MP2 encoding via libtwolame [no]
-  --enable-libutvideo      enable Ut Video encoding and decoding via libutvideo [no]
   --enable-libv4l2         enable libv4l2/v4l-utils [no]
   --enable-libvidstab      enable video stabilization using vid.stab [no]
   --enable-libvo-amrwbenc  enable AMR-WB encoding via libvo-amrwbenc [no]
@@ -1475,7 +1474,6 @@ EXTERNAL_LIBRARY_LIST="
     libtesseract
     libtheora
     libtwolame
-    libutvideo
     libv4l2
     libvidstab
     libvo_amrwbenc
@@ -2637,8 +2635,6 @@ libspeex_encoder_deps="libspeex"
 libspeex_encoder_select="audio_frame_queue"
 libtheora_encoder_deps="libtheora"
 libtwolame_encoder_deps="libtwolame"
-libutvideo_decoder_deps="libutvideo"
-libutvideo_encoder_deps="libutvideo"
 libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
 libvorbis_decoder_deps="libvorbis"
 libvorbis_encoder_deps="libvorbis"
@@ -4875,7 +4871,6 @@ die_license_disabled gpl frei0r
 die_license_disabled gpl libcdio
 die_license_disabled gpl librubberband
 die_license_disabled gpl libsmbclient
-die_license_disabled gpl libutvideo
 die_license_disabled gpl libvidstab
 die_license_disabled gpl libx264
 die_license_disabled gpl libx265
@@ -5513,7 +5508,6 @@ enabled libtheora         && require libtheora theora/theoraenc.h th_info_init -
 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"; }
-enabled libutvideo        && require_cpp utvideo "stdint.h stdlib.h utvideo/utvideo.h utvideo/Codec.h" 'CCodec*' -lutvideo -lstdc++
 enabled libv4l2           && require_pkg_config libv4l2 libv4l2.h v4l2_ioctl
 enabled libvidstab        && require_pkg_config "vidstab >= 0.98" vid.stab/libvidstab.h vsMotionDetectInit
 enabled libvo_amrwbenc    && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 941057b..97ff292 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -831,8 +831,6 @@ 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_LIBUTVIDEO_DECODER)         += libutvideodec.o
-OBJS-$(CONFIG_LIBUTVIDEO_ENCODER)         += libutvideoenc.o
 OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER)     += libvo-amrwbenc.o
 OBJS-$(CONFIG_LIBVORBIS_DECODER)          += libvorbisdec.o
 OBJS-$(CONFIG_LIBVORBIS_ENCODER)          += libvorbisenc.o \
@@ -939,7 +937,6 @@ SKIPHEADERS                            += %_tablegen.h                  \
 SKIPHEADERS-$(CONFIG_D3D11VA)          += d3d11va.h dxva2_internal.h
 SKIPHEADERS-$(CONFIG_DXVA2)            += dxva2.h dxva2_internal.h
 SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER)  += libschroedinger.h
-SKIPHEADERS-$(CONFIG_LIBUTVIDEO)       += libutvideo.h
 SKIPHEADERS-$(CONFIG_LIBVPX)           += libvpx.h
 SKIPHEADERS-$(CONFIG_LIBWEBP_ENCODER)  += libwebpenc_common.h
 SKIPHEADERS-$(CONFIG_QSV)              += qsv.h qsv_internal.h
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index c7c1af5..8508cb7 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -578,7 +578,6 @@ void avcodec_register_all(void)
     REGISTER_ENCDEC (LIBSPEEX,          libspeex);
     REGISTER_ENCODER(LIBTHEORA,         libtheora);
     REGISTER_ENCODER(LIBTWOLAME,        libtwolame);
-    REGISTER_ENCDEC (LIBUTVIDEO,        libutvideo);
     REGISTER_ENCODER(LIBVO_AMRWBENC,    libvo_amrwbenc);
     REGISTER_ENCDEC (LIBVORBIS,         libvorbis);
     REGISTER_ENCDEC (LIBVPX_VP8,        libvpx_vp8);
diff --git a/libavcodec/libutvideo.h b/libavcodec/libutvideo.h
deleted file mode 100644
index 0c03097..0000000
diff --git a/libavcodec/libutvideodec.cpp b/libavcodec/libutvideodec.cpp
deleted file mode 100644
index 7c60f4f..0000000
diff --git a/libavcodec/libutvideoenc.cpp b/libavcodec/libutvideoenc.cpp
deleted file mode 100644
index d5dfef9..0000000
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 02063c8..ae8f2ba 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,8 +29,8 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR  57
-#define LIBAVCODEC_VERSION_MINOR  24
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MINOR  23
+#define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
-- 
2.7.0



More information about the ffmpeg-devel mailing list