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,
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
ext/mpeg2dec/Makefile
ext/sidplay/Makefile
ext/twolame/Makefile
+ext/x264/Makefile
docs/Makefile
docs/plugins/Makefile
docs/version.entities
$(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 \
<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>
<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>
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>
--- /dev/null
+<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 <josef.zlomek@itonis.tv>, Mark Nauwelaerts <mnauw@users.sf.net></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>
\ No newline at end of file
TWOLAME_DIR =
endif
+if USE_X264
+X264_DIR=x264
+else
+X264_DIR=
+endif
+
SUBDIRS = \
$(A52DEC_DIR) \
$(AMRNB_DIR) \
$(MAD_DIR) \
$(MPEG2DEC_DIR) \
$(SIDPLAY_DIR) \
- $(TWOLAME_DIR)
+ $(TWOLAME_DIR) \
+ $(X264_DIR)
DIST_SUBDIRS = \
a52dec \
mad \
mpeg2dec \
sidplay \
- twolame
+ twolame \
+ x264
@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.
@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
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
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
amrnbenc
mpeg2dec
+x264enc
xingmux
.dirstamp