Moved 'x264enc' from -bad to -ugly

This commit is contained in:
Jan Schmidt 2009-06-05 19:25:54 +01:00
parent 0823e9fa14
commit 5e176f4b0c
9 changed files with 102 additions and 3 deletions

View file

@ -377,6 +377,29 @@ AG_GST_CHECK_FEATURE(TWOLAME, [twolame], twolame, [
AC_SUBST(TWOLAME_LIBS)
])
dnl *** x264 (MPEG-4 part 10/h.264/AVC encoder) ***
translit(dnm, m, l) AM_CONDITIONAL(USE_X264, true)
AG_GST_CHECK_FEATURE(X264, [x264 plug-in], x264, [
AG_GST_CHECK_LIBHEADER(X264, x264, x264_nal_encode, -lm, x264.h,
AC_MSG_CHECKING([for uptodate x264 API version])
dnl _stdint not yet generated, so no compiling
AC_TRY_CPP([
#include <x264.h>
#if X264_BUILD < 55
#error "x264 build too old"
#endif
], [
AC_MSG_RESULT(yes)
X264_LIBS="$LDFLAGS -lx264 -lm"
X264_CFLAGS="$CFLAGS"
AC_SUBST(X264_LIBS)
AC_SUBST(X264_CFLAGS)
], [
AC_MSG_RESULT(no)
HAVE_X264=no
]))
])
else
dnl not building plugins with external dependencies,
@ -393,6 +416,7 @@ AM_CONDITIONAL(USE_MAD, false)
AM_CONDITIONAL(USE_MPEG2DEC, false)
AM_CONDITIONAL(USE_SIDPLAY, false)
AM_CONDITIONAL(USE_TWOLAME, false)
AM_CONDITIONAL(USE_X264, false)
fi dnl of EXT plugins
@ -479,6 +503,7 @@ ext/mad/Makefile
ext/mpeg2dec/Makefile
ext/sidplay/Makefile
ext/twolame/Makefile
ext/x264/Makefile
docs/Makefile
docs/plugins/Makefile
docs/version.entities

View file

@ -93,6 +93,7 @@ EXTRA_HFILES = \
$(top_srcdir)/ext/mad/gstmad.h \
$(top_srcdir)/ext/sidplay/gstsiddec.h \
$(top_srcdir)/ext/twolame/gsttwolame.h \
$(top_srcdir)/ext/x264/gstx264enc.h \
$(top_srcdir)/gst/asfdemux/gstrtspwms.h \
$(top_srcdir)/gst/mpegaudioparse/gstxingmux.h \
$(top_srcdir)/gst/realmedia/rademux.h \

View file

@ -32,6 +32,7 @@
<xi:include href="xml/element-siddec.xml" />
<xi:include href="xml/element-twolame.xml" />
<xi:include href="xml/element-synaesthesia.xml" />
<xi:include href="xml/element-x264enc.xml" />
<xi:include href="xml/element-xingmux.xml" />
</chapter>
@ -56,5 +57,6 @@
<xi:include href="xml/plugin-siddec.xml" />
<xi:include href="xml/plugin-synaesthesia.xml" />
<xi:include href="xml/plugin-twolame.xml" />
<xi:include href="xml/plugin-x264.xml" />
</chapter>
</book>

View file

@ -219,6 +219,20 @@ GST_TYPE_TWO_LAME
gst_two_lame_get_type
</SECTION>
<SECTION>
<FILE>element-x264enc</FILE>
<TITLE>x264enc</TITLE>
GstX264Enc
<SUBSECTION Standard>
GstX264EncClass
GST_X264_ENC
GST_X264_ENC_CLASS
GST_IS_X264_ENC
GST_IS_X264_ENC_CLASS
GST_TYPE_X264_ENC
</SECTION>
<SECTION>
<FILE>element-xingmux</FILE>
<TITLE>xingmux</TITLE>

View file

@ -0,0 +1,34 @@
<plugin>
<name>x264</name>
<description>libx264-based H264 plugins</description>
<filename>../../ext/x264/.libs/libgstx264.so</filename>
<basename>libgstx264.so</basename>
<version>0.10.11.1</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins git/prerelease</package>
<origin>Unknown package origin</origin>
<elements>
<element>
<name>x264enc</name>
<longname>x264enc</longname>
<class>Codec/Encoder/Video</class>
<description>H264 Encoder</description>
<author>Josef Zlomek &lt;josef.zlomek@itonis.tv&gt;, Mark Nauwelaerts &lt;mnauw@users.sf.net&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-h264, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</details>
</caps>
</pads>
</element>
</elements>
</plugin>

View file

@ -58,6 +58,12 @@ else
TWOLAME_DIR =
endif
if USE_X264
X264_DIR=x264
else
X264_DIR=
endif
SUBDIRS = \
$(A52DEC_DIR) \
$(AMRNB_DIR) \
@ -68,7 +74,8 @@ SUBDIRS = \
$(MAD_DIR) \
$(MPEG2DEC_DIR) \
$(SIDPLAY_DIR) \
$(TWOLAME_DIR)
$(TWOLAME_DIR) \
$(X264_DIR)
DIST_SUBDIRS = \
a52dec \
@ -80,4 +87,5 @@ DIST_SUBDIRS = \
mad \
mpeg2dec \
sidplay \
twolame
twolame \
x264

View file

@ -36,6 +36,8 @@ BuildRequires: gcc-c++
@USE_DVDREAD_TRUE@Provides: gstreamer-dvdread = %{version}-%{release}
@USE_MPEG2DEC_TRUE@Provides: gstreamer-mpeg2dec = %{version}-%{release}
@USE_X264_TRUE@Requires: x264
%description
GStreamer is a streaming media framework, based on graphs of elements which
operate on media data.
@ -111,8 +113,13 @@ rm -rf $RPM_BUILD_ROOT
@USE_MPEG2DEC_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstmpeg2dec.so
@USE_TWOLAME_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgsttwolame.so
%doc %{_datadir}/gtk-doc/html/gst-plugins-ugly-plugins-%{majorminor}/*
@USE_X264_TRUE@%{_datadir}/gstreamer-%{majorminor}/presets/GstX264Enc.prs
@USE_X264_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstx264.so
%changelog
* Fri Jun 5 2009 Jan Schmidt <thaytan at mad dot scientist dot com>
- Move x264enc plugin from -bad
* Fri Dec 15 2006 Thomas Vander Stichele <thomas at apestaart dot org>
- further cleanup
- add .doap file

View file

@ -36,11 +36,18 @@ else
MPEG2DEC =
endif
if USE_X264
check_x264enc=elements/x264enc
else
check_x264enc=
endif
check_PROGRAMS = \
generic/states \
$(AMRNB) \
$(LAME) \
$(MPEG2DEC) \
$(check_x264enc) \
elements/xingmux
# these tests don't even pass
@ -52,7 +59,7 @@ AM_CFLAGS = $(GST_OBJ_CFLAGS) $(GST_CHECK_CFLAGS) $(CHECK_CFLAGS)
LDADD = $(GST_OBJ_LIBS) $(GST_CHECK_LIBS) $(CHECK_LIBS)
# valgrind testing
VALGRIND_TESTS_DISABLE =
VALGRIND_TESTS_DISABLE = elements/x264enc
SUPPRESSIONS = $(top_srcdir)/common/gst.supp $(srcdir)/gst-plugins-ugly.supp

View file

@ -1,4 +1,5 @@
amrnbenc
mpeg2dec
x264enc
xingmux
.dirstamp