From: Rico Tzschichholz Date: Sun, 29 Apr 2012 17:56:17 +0000 (+0000) Subject: Import x264_0.123.2189+git35cf912-1.debian.tar.gz X-Git-Tag: archive/raspbian/2%0.148.2748+git97eaef2-1+rpi1~1^2^2^2^2^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=eb0eab82c7dcff3cf76d4b204eb5181501369f0e;p=x264.git Import x264_0.123.2189+git35cf912-1.debian.tar.gz [dgit import tarball x264 2:0.123.2189+git35cf912-1 x264_0.123.2189+git35cf912-1.debian.tar.gz] --- eb0eab82c7dcff3cf76d4b204eb5181501369f0e diff --git a/README.Debian b/README.Debian new file mode 100644 index 0000000..5f29696 --- /dev/null +++ b/README.Debian @@ -0,0 +1,10 @@ +This package ships non-PIC code in shared objects in the i386 variant + +The reason is that x264 uses a lot of hand written assembler that is not +relocatable for performance reasons. Writing the assembler code in a way +that is becomes relocatable is unfeasible. + +Upstream takes care to use non-pic code only on architectures that +support this. + + -- Reinhard Tartler , Fri, 10 Feb 2012 21:30:39 +0100 diff --git a/README.source b/README.source new file mode 100644 index 0000000..37b17f9 --- /dev/null +++ b/README.source @@ -0,0 +1 @@ +This package uses quilt for patching. See /usr/share/doc/quilt/README.source. diff --git a/changelog b/changelog new file mode 100644 index 0000000..497247d --- /dev/null +++ b/changelog @@ -0,0 +1,560 @@ +x264 (2:0.123.2189+git35cf912-1) unstable; urgency=low + + * Update to new upstream snapshot + * Imported Upstream version 0.123.2189+git35cf912 + * Regenerate manpage + + -- Rico Tzschichholz Sun, 29 Apr 2012 19:56:17 +0200 + +x264 (2:0.120.2171+git01f7a33-4) unstable; urgency=low + + * Team upload. + * Rebuild to pick gpac's new shlib. + + -- Alessio Treglia Sat, 21 Apr 2012 08:25:51 +0200 + +x264 (2:0.120.2171+git01f7a33-3) unstable; urgency=low + + * Fix issue of setting hardened CFLAGS for shared library. + + -- Andres Mejia Sat, 17 Mar 2012 14:00:21 -0400 + +x264 (2:0.120.2171+git01f7a33-2) unstable; urgency=low + + * Allow dev package to be multiarch installable. + * Bump to Standards-Version 3.9.3. + * Add hardened build flags excluding -O2 and -g. + + -- Andres Mejia Sat, 17 Mar 2012 13:37:11 -0400 + +x264 (2:0.120.2171+git01f7a33-1) unstable; urgency=low + + * Update to new upstream snapshot + * Imported Upstream version 0.120.2171+git01f7a33 + * Regenerate manpage + + -- Rico Tzschichholz Thu, 15 Mar 2012 17:37:19 +0100 + +x264 (2:0.120.2151+gita3f4407-3) unstable; urgency=low + + * Upload to unstable + + -- Reinhard Tartler Wed, 15 Feb 2012 22:58:10 +0100 + +x264 (2:0.120.2151+gita3f4407-2) experimental; urgency=low + + [ Fabian Greffrath ] + * Meanwhile, upstream enabled PIC for the shared library build on ia64, + mips* and hppa/parisc (once more closes: #642810), so remove our + Debian-specific workarounds. + + [ Reinhard Tartler ] + * Build against libgpac to enable MP4 output + * Add a note about non-relocatable code in the README.Debian file, + Closes: #657019, LP: #919509 + + -- Reinhard Tartler Fri, 10 Feb 2012 21:26:18 +0100 + +x264 (2:0.120.2151+gita3f4407-1) unstable; urgency=low + + * Update to new upstream snapshot + * Imported Upstream version 0.120.2151+gita3f4407 + * Regenerate manpage + + -- Rico Tzschichholz Sun, 05 Feb 2012 10:31:05 +0100 + +x264 (2:0.120.2127+gitf33c8cb-2) experimental; urgency=low + + * don't forcefully set --as-needed linker flag to avoid setting it twice + * Filter out system-wide setting of -Bsymbolic-functions to avoid FTBFS + + -- Reinhard Tartler Wed, 18 Jan 2012 15:22:35 +0100 + +x264 (2:0.120.2127+gitf33c8cb-1) experimental; urgency=low + + [ Fabian Greffrath ] + * Simplify the debhelper install file generation. + * Do not hard-code the library SONAME in debian/rules + and the debhelper install file anymore. + * Build the CLI only for the shared library build, + as this is the actual configuration that we ship in the x264 package. + * Generate the manpage from the CLI of the shared build. + * Simplify the manpage generation. + * Do not hard-code the library SONAME anywhere. Instead, read it from + the upstream files and regenerate debian/control. + + [ Reinhard Tartler ] + * Update to new upstream snapshot + * Imported Upstream version 0.120.2127+gitf33c8cb + + -- Reinhard Tartler Mon, 16 Jan 2012 21:35:50 +0100 + +x264 (2:0.118.2092+git6eac7c3-2) unstable; urgency=low + + [ Fabian Greffrath ] + * Remove build-on-hurd.patch, it has already been applied upstream and + is thus applied twice in Debian. + + [ Reinhard Tartler ] + * Rebuild against newer libav 0.7.3 to enable libavfilter/libavcodec + input support. + + -- Reinhard Tartler Sat, 31 Dec 2011 11:43:02 +0100 + +x264 (2:0.118.2092+git6eac7c3-1) unstable; urgency=low + + [ Rico Tzschichholz ] + * New upstream snapshot. + * Drop arch-alpha.patch which is upstream + + [ Reinhard Tartler ] + * debian/control: normalize fieldswith wrap-and-sort + * remove unnecessary Conflicts/Replaces on non-existing package x264-bin + + -- Reinhard Tartler Mon, 31 Oct 2011 19:47:16 +0100 + +x264 (2:0.118.2085+git8a62835-1) unstable; urgency=low + + * Team upload. + * New upstream snapshot. + * Drop basic-spell-check.patch which is upstream + * Rename shared library package to lib264-118 + + -- Rico Tzschichholz Thu, 13 Oct 2011 10:27:50 +0200 + +x264 (2:0.116.2042+git178455c-3) unstable; urgency=low + + * Debian's alpha buildds identify themselves as alphaev67, + so consider alpha* as ALPHA (Closes: #642810). + + -- Fabian Greffrath Thu, 06 Oct 2011 10:33:25 +0200 + +x264 (2:0.116.2042+git178455c-2) unstable; urgency=low + + * Convert package to include multiarch support. + + -- Andres Mejia Sat, 17 Sep 2011 14:08:08 -0400 + +x264 (2:0.116.2042+git178455c-1) unstable; urgency=low + + * New upstream snapshot. + * Allow compilation on the Hurd + + -- Reinhard Tartler Tue, 09 Aug 2011 20:44:54 +0200 + +x264 (2:0.116.2037+gitf8ebd4a-3) unstable; urgency=low + + [ Fabian Greffrath ] + * Build-Depend on yasm on all i386 and amd64 archs, + fixes FTBFS on kfreebsd-i386. Remove lpia, it's deprecated. + * Remove trailing comma from Build-Depends. + * Build shared lib with --enable-pic on mips*, + hopefully fixes FTBFS on these arches. + + [ Reinhard Tartler ] + * enable parallel builds + * print config.log in case the configure script fails + * enable ffms2 input module + + -- Reinhard Tartler Wed, 27 Jul 2011 21:36:26 +0200 + +x264 (2:0.116.2037+gitf8ebd4a-2) unstable; urgency=low + + [ Fabian Greffrath ] + * Override dh_auto_clean, not dh_clean. + * Actually build the cli against the shared lib. + + [ Andres Mejia ] + * Prepare new revision. + * Generate x264 manpage only once and drop build-depends on help2man. This + makes for one less build dependency to put on the buildd machines. x264 + manpage should be generated once for each new release on a dev machine and + tracked in git packaging repo. + + -- Andres Mejia Tue, 26 Jul 2011 22:23:58 -0400 + +x264 (2:0.116.2037+gitf8ebd4a-1) unstable; urgency=low + + [ Andres Mejia ] + * New upstream release. (Closes: #405212) + * version.sh modifications no longer need to be made, an updated version.sh + is installed in upstream tarball. + * Shared library package is renamed to lib264-116. + * fix-8x8dct+slices+no-sliced-threads+cavlc+deblock.patch is removed, has + been applied upstream. + * Add DM-Upload-Allowed: yes. + * Convert package to 3.0 (quilt). + * Convert packaging to dh 7. + * Change Priority to optional. + * Update to my @debian.org email. + * Update VCS-* entries to new anonscm location. + * --enable-static must be explicitly set to build static library. + * Add proper version depends for debhelper. + * Update debian/copyright with new license information for new upstream + snapshot. + * Update debian/copyright to use DEP-5 spec. + * Add patch to do basic spell check. + * Include all public headers in dev package. + + [ Reinhard Tartler ] + * Lower debhelper compat level to 7 + * Don't set --enable-debug, no longer a known option for ./configure. + + -- Andres Mejia Mon, 25 Jul 2011 19:37:52 -0400 + +x264 (2:0.98.1653+git88b90d9-3) unstable; urgency=low + + * Build for unstable. + * Relax dependency on libavformat-dev down to 4:0.5 or greater. + * Bump Standards-Version to 3.9.1, no changes needed. + + -- Andres Mejia Thu, 05 Aug 2010 16:28:28 -0400 + +x264 (2:0.98.1653+git88b90d9-2) experimental; urgency=low + + * Upload to Debian. Closes: #354667, #405212 + * update download site in debian/copyright + * avoid running configure on distclean + * remove libgpac-dev from build-depends, not available in debian yet. + + -- Reinhard Tartler Sat, 31 Jul 2010 20:57:46 -0400 + +x264 (2:0.98.1653+git88b90d9-1) maverick; urgency=low + + * require libavformat-dev from 0.6 or better + * remove conflicts/replaces to ancient package x264-bin (dapper! + times) + * new upstream release + + -- Reinhard Tartler Sun, 04 Jul 2010 16:23:51 -0400 + +x264 (2:0.85.1448+git1a6d32-5) unstable; urgency=low + + * Prepare new upload for Debian. + * Edit git-buildpackage config file for master branch. + * Add myself to Uploaders field. + * Note the x264 homepage. + + -- Andres Mejia Sat, 08 May 2010 02:08:19 -0400 + +x264 (2:0.85.1448+git1a6d32-4) lucid; urgency=low + + * install sse optimized version in /usr/lib/sse2. LP: #550524 + + -- Reinhard Tartler Tue, 30 Mar 2010 22:27:28 +0200 + +x264 (2:0.85.1448+git1a6d32-3) lucid; urgency=low + + [ Loïc Minier ] + * Finish confflags logic and/or add workarounds + + [ Reinhard Tartler ] + * build depend on libgpac-dev to enable mp4 support, LP: #464797 + * simplify configure line, LP: #538555 + * generate manpage with help2man to keep it up-to-date, LP: #391281 + + -- Reinhard Tartler Sun, 14 Mar 2010 10:10:26 +0100 + +x264 (2:0.85.1448+git1a6d32-2) lucid; urgency=low + + * Add check_c() macro and use it for altivec check + + -- Loïc Minier Tue, 09 Mar 2010 21:40:23 +0100 + +x264 (2:0.85.1448+git1a6d32-1) lucid; urgency=low + + [ Loic Minier ] + * Drop --enable-pic, let's see what breaks, LP: #524859 + + [ Reinhard Tartler ] + * New upstream snapshot, no new features, LP: #526396 + * remove quilt infrastructure + * don't set CFLAGS in debian/rules, upstream build system overrides + this anyways + + -- Reinhard Tartler Sun, 21 Feb 2010 16:57:21 +0100 + +x264 (2:0.85.1442.1+git781d30-1) lucid; urgency=low + + * use proper upstream version + (NB: the first number (85) is the API version, + the second the number of git commits so far) + * New upstream version should fix: LP: #315697, #463516 + * Many ARM Neon Optimisations, LP: #388388 + * this package is properly maintained in ubuntu. Indicate this by using + "-N" as versioning scheme. + * change versioning scheme as discussed with upstream. Requires bumping + epoch, though. + * ensure that MP4 output support is enabled, LP: #464797 + + -- Reinhard Tartler Thu, 18 Feb 2010 07:39:51 +0100 + +x264 (1:0.svn20100213+gitfcf70c-0ubuntu1~ppa1) lucid; urgency=low + + * new upstream version test upload. + + -- Reinhard Tartler Sat, 13 Feb 2010 18:07:40 +0100 + +x264 (1:0.svn20090621+git364d7d-0ubuntu2) karmic; urgency=low + + * update symbol files with architecture specific symbols. + * remove reference to the now removed bime version, LP: #371786 + + -- Reinhard Tartler Sun, 21 Jun 2009 18:18:51 +0200 + +x264 (1:0.svn20090621+git364d7d-0ubuntu1) karmic; urgency=low + + * New Upstream Version + * add symbols file + * make dh_makeshlibs less strict + + -- Reinhard Tartler Sun, 21 Jun 2009 11:22:31 +0200 + +x264 (1:0.svn20090502-0.0ubuntu2) karmic; urgency=low + + * take over marillats package under the umbrella of pkg-multimedia + + -- Reinhard Tartler Sun, 14 Jun 2009 17:49:13 +0200 + +x264 (1:0.svn20090502-0.0ubuntu1) karmic; urgency=low + + * Merge from debian-multimedia, Ubuntu remaining changes: + - Build-Depends on yasm for lpia. + + -- Alessio Treglia Mon, 04 May 2009 23:15:42 +0200 + +x264 (1:0.svn20090502-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Sat, 02 May 2009 10:34:20 +0200 + +x264 (1:0.svn20090413-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Mon, 13 Apr 2009 15:43:31 +0200 + +x264 (1:0.svn20090327-0.1) unstable; urgency=low + + * New patch to fix powerpc build. + + -- Christian Marillat Sat, 28 Mar 2009 14:12:38 +0100 + +x264 (1:0.svn20090327-0.0) unstable; urgency=low + + * New git release. + * New library soname (67). + * Don't Build-Depends on libgpac-dev (circulary dependency with ffmpeg, + gpac and x264) and remove --enable-mp4-output. + + -- Christian Marillat Fri, 27 Mar 2009 15:02:02 +0100 + +x264 (1:0.svn20090222-0.0) unstable; urgency=low + + * New git release. + * New library soname (66). + + -- Christian Marillat Sun, 22 Feb 2009 09:07:29 +0100 + +x264 (1:0.svn20090115-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Thu, 15 Jan 2009 18:22:50 +0100 + +x264 (1:0.svn20081230-0.0ubuntu1) jaunty; urgency=low + + * Merge from Debian multimedia (LP: #243451), remaining Ubuntu changes: + - b-d on yasm on lpia. + + -- Lionel Le Folgoc Thu, 15 Jan 2009 23:15:42 +0100 + +x264 (1:0.svn20081230-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Tue, 30 Dec 2008 16:11:33 +0100 + +x264 (1:0.svn20081210-0.0) unstable; urgency=low + + * Net git release. + * Now yasm is the default assembler. + * The GTK frontend is gone. + + -- Christian Marillat Wed, 10 Dec 2008 14:40:45 +0100 + +x264 (1:0.svn20080712-0.1) unstable; urgency=high + + * Seems to be a problem with the previous release (Segfault) that I'm + unable to reproduce, so back to this version for Lenny. + + -- Christian Marillat Sat, 13 Sep 2008 17:53:03 +0200 + +x264 (0.svn20080828-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Thu, 28 Aug 2008 12:59:18 +0200 + +x264 (0.svn20080712-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Sat, 12 Jul 2008 23:13:24 +0200 + +x264 (0.svn20080616-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Mon, 16 Jun 2008 15:26:32 +0200 + +x264 (1:0.svn20080408-0.0ubuntu1) intrepid; urgency=low + + * Merge from debian-multimedia. Remaining Ubuntu changes: + - Maintainer field + - Set epoch + + -- John Dong Sat, 03 May 2008 01:12:18 -0400 + +x264 (0.svn20080408-0.0) unstable; urgency=low + + * New git release. + + -- Christian Marillat Tue, 08 Apr 2008 14:21:37 +0200 + +x264 (0.svn20080223-0.0) unstable; urgency=low + + * New svn release 736. + + -- Christian Marillat Sat, 23 Feb 2008 14:31:31 +0100 + +x264 (1:0.svn20071224-0.0ubuntu1) hardy; urgency=low + + * Merge from debian-multimedia (LP: #177082) + - Maintainer field + - Set epoch + - b-d nasm on lpia + - Drop b-d version on nasm, associated Debian issue not relevant + to Ubuntu. + + -- John Dong Sun, 06 Jan 2008 23:38:50 -0500 + +x264 (0.svn20071224-0.0) unstable; urgency=low + + * New svn release 714. + + -- Christian Marillat Mon, 24 Dec 2007 09:23:30 +0100 + +x264 (0.svn20071202-0.0) unstable; urgency=low + + * New svn release 705. + + -- Christian Marillat Sun, 02 Dec 2007 14:24:50 +0100 + +x264 (1:0.svn20070930-0.0ubuntu2) hardy; urgency=low + + * No source change reupload, got accidentally removed from archive. + + -- John Dong Fri, 30 Nov 2007 23:00:11 -0500 + +x264 (1:0.svn20070930-0.0ubuntu1) hardy; urgency=low + + * Fakesync with debian-multimedia (LP: #138854) + - Set epoch + - b-d nasm on lpia + - Drop b-d version on nasm, associated Debian issue not relevant + to Ubuntu. + + -- John Dong Sun, 18 Nov 2007 15:14:01 -0500 + +x264 (0.svn20070930-0.0) unstable; urgency=low + + * New svn release 680. + + -- Christian Marillat Sun, 30 Sep 2007 09:25:00 +0200 + +x264 (0.svn20070823-0.1) unstable; urgency=low + + * Same bug as in 0.svn20070613-0.2 yasm doesn't work and the latest nasm + (0.99.01-1) doesn't work too... So make a Build-Depends on + nasm (= 0.98.38-1.2). + + + -- Christian Marillat Fri, 31 Aug 2007 18:41:42 +0200 + +x264 (0.svn20070823-0.0) unstable; urgency=low + + * New svn release 671. + * Back to yasm for i386 (doesn't build with latest nasm and yasm support + for i386 seem's to be fixed). + + -- Christian Marillat Thu, 23 Aug 2007 10:19:52 +0200 + +x264 (0.svn20070613-0.2) unstable; urgency=low + + * Build with nasm for i386. + + -- Christian Marillat Sat, 23 Jun 2007 11:50:58 +0200 + +x264 (0.svn20070613-0.1) unstable; urgency=low + + * Forgot to add dpatch in Build-Depends. Also this package is build with + --enable-mp4-output + + -- Christian Marillat Wed, 13 Jun 2007 23:31:55 +0200 + +x264 (0.svn20070613-0.0) unstable; urgency=low + + * New svn release. + * Build with --enable-gtk, --enable-mp4-output and --enable-visualize + * Use yasm instead of nasm for i386. + + -- Christian Marillat Wed, 13 Jun 2007 17:45:02 +0200 + +x264 (0.svn20070309-5) unstable; urgency=low + + * Upload for my repository. + + -- Christian Marillat Wed, 16 May 2007 15:29:36 +0200 + +x264 (0.svn20070309-4) unstable; urgency=low + + * debian/patches/010_altivec_crash.diff: + + Updated upstream patch to fix an FTBFS. + + -- Sam Hocevar (Debian packages) Wed, 14 Mar 2007 23:10:23 +0100 + +x264 (0.svn20070309-3) unstable; urgency=low + + * debian/control: + + Set pkg-multimedia-maintainers as main maintainer, added Fabian + Greffrath as uploader. + + Updated VCS fields. + + * debian/patches/010_altivec_crash.diff: + + New patch from upstream: runtime AltiVec detection and workaround + for gcc generating AltiVec code here and there with -maltivec. + + -- Sam Hocevar (Debian packages) Wed, 14 Mar 2007 19:20:43 +0100 + +x264 (0.svn20070309-2) unstable; urgency=low + + * debian/rules: + + Activate --enable-pthread. + * debian/control: + + Added conflicts/replaces x264-bin because of unofficial packages that + decided "x264" was not a good package name for the "x264" program + (Closes: #414648). + * debian/copyright: + + Cleaned up, removed mention to NetBSD files that are no longer here. + * debian/patches/000_usr_prefix.diff: + + Remove this patch in favour of --prefix=/usr. + + -- Sam Hocevar (Debian packages) Tue, 13 Mar 2007 02:04:58 +0100 + +x264 (0.svn20070309-1) unstable; urgency=low + + * Initial release (Closes: #405212). + + -- Sam Hocevar (Debian packages) Fri, 9 Mar 2007 22:59:37 +0100 diff --git a/compat b/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/confflags b/confflags new file mode 100644 index 0000000..143a7b8 --- /dev/null +++ b/confflags @@ -0,0 +1,153 @@ +# -*- mode: makefile -*- +# vi:syntax=make +# configure flags logic + +# Set CFLAGS from DEB_CFLAGS if defined, otherwise add build flags from +# dpkg-buildflags excluding -g and -O2. +CFLAGS = $(or $(DEB_CFLAGS),$(shell dpkg-buildflags --get CFLAGS 2>/dev/null | sed -e 's/-g\|-O2//g')) +ifeq (,$(CFLAGS)) + # Handle case for versions of Debian/Ubuntu that have dpkg-dev (<< 1.15.7). + CFLAGS = -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security +endif +shared_extra_cflags = $(CFLAGS) + +LDFLAGS := $(filter-out %-Bsymbolic-functions,$(LDFLAGS)) + +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +common_confflags += --prefix=/usr --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) + +# XXX why isn't --enable-visualize used in the static build? +# TODO --disable-asm when we build an opt flavor? +static_confflags += \ + $(common_confflags) \ + --enable-static \ + --disable-cli + +# upstream defaults to forcing a bunch of optimizations on various arches; +# --disable-asm should disable them all, but then we need to figure out what +# the toolchain actually targets to turn then back on ourselves if appropriate; +# also, we try providing an optimized flavor for the arches / toolchain +# combinations where it makes sense + +shared_confflags += \ + $(common_confflags) \ + --enable-shared \ + --system-libx264 + +opt_confflags += \ + $(common_confflags) \ + --enable-shared \ + --disable-cli \ + --libdir=$(opt_libdir) + +# this is only used for the check_asm macro +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +CC := gcc +else +CC := $(DEB_HOST_GNU_TYPE)-gcc +endif + +# this outputs 0 or 1 depending on whether a piece of C or assembly can be +# compiled with the *default* gcc flags; this is used to test the toolchain +# *default* configuration +check_c = $(shell echo 'int main(void) { $(1); }' | $(CC) -Werror $(2) -x c - -o /dev/null 2>/dev/null && echo 1 || echo 0) +check_asm = $(call check_c, __asm__ volatile("$(1)")) + +do_opt := no + +# X86 upstream arch, hurd-i386, i386, and kfreebsd-i386 Debian arches; upstream +# adds -march=i686 and -mfpmath=sse -msse by default and runtime detects MMX, +# SSE, SSE2 etc. +ifneq (,$(filter i386 i486 i586 i686 pentium,$(DEB_HOST_GNU_CPU))) +sse_asm := addss m0, m0 +has_sse := $(call check_asm, $(sse_asm)) +ifneq ($(has_sse),1) +# build an SSE optimized flavor for i686 +do_opt := yes +opt_libdir := /usr/lib/$(DEB_HOST_MULTIARCH)/i686/sse2 +shared_confflags += --disable-asm +endif +endif + +# X86_64 upstream arch, amd64 and kfreebsd-amd64 Debian arches; no upstream +# flags by default +#ifeq (x86-64,$(DEB_HOST_GNU_CPU)) +#endif + +# PPC upstream arch, powerpc and ppc64 Debian arches; upstream adds -maltivec +# -mabi=altivec by default +# XXX upstream: --disable-asm should disable altivec; fixed in +# 6a443d3cdf338408b1b39e7f336306d2a34703f6 +ifneq (,$(filter powerpc powerpc64,$(DEB_HOST_GNU_CPU))) +altivec_c := vector signed int v1, v2, v3; v1 = vec_add(v2, v3) +has_altivec := $(call check_c, $(altivec_c), -include altivec.h) +ifneq ($(has_altivec),1) +# build an Altivec optimized flavor +do_opt := yes +opt_libdir := /usr/lib/$(DEB_HOST_MULTIARCH)/altivec +shared_confflags += --disable-asm +endif +endif + +# Sparc and UltraSparc upstream arches, sparc Debian arch; upstream adds +# -mcpu=ultrasparc to CFLAGS and LDFLAGS and -xarch=v8plusa to ASFLAGS by +# default +# XXX upstream: --disable-asm should disable vis; fixed in +# 6a443d3cdf338408b1b39e7f336306d2a34703f6 +ifeq (sparc,$(DEB_HOST_GNU_CPU)) +vis_asm := pdist %f0, %f0, %f0 +has_vis := $(call check_asm, $(vis_asm)) +ifneq ($(has_vis),1) +# build a VIS optimized flavor +do_opt := yes +opt_libdir := /usr/lib/$(DEB_HOST_MULTIARCH)/v9 +shared_confflags += --disable-asm +endif +endif + +# MIPS upstream arch, mips and mipsel Debian arches; no upstream flags by +# default +#ifneq (,$(filter mips mipsel,$(DEB_HOST_GNU_CPU))) +#endif + +# ARM upsteam arch, arm, armeb, and armel Debian arches; upstream prepends -O3 +# -fno-fast-math by default, but that's ok as we override -O and we don't care +# about -ffast-math which is said to be negligible and buggy by upstream, and +# appends -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp by default; upstream +# supports ARMv6t2 with runtime detection of NEON, so if the baseline supports +# ARMv6t2, use it, otherwise build a NEON opt flavor; note that NEON implies +# VFP and ARMv7 and hence the flags are ok +ifeq (arm,$(DEB_HOST_GNU_CPU)) +armv6t2_asm := movt r0, \#0 +has_armv6t2 := $(call check_asm, $(armv6t2_asm)) +ifeq ($(has_armv6t2),1) +# extract the actual -march= the toolchain targets +toolchain_arch := $(shell $(CC) -v 2>&1 | sed -n '/^Configured with: / s/.* --with-arch=\([^ ]*\).*/\1/p') +ifeq ($(toolchain_arch),) +toolchain_arch := armv6t2 +endif +shared_extra_cflags += -march=$(toolchain_arch) +else +do_opt := yes +opt_libdir := /usr/lib/$(DEB_HOST_MULTIARCH)/neon/vfp +shared_confflags += --disable-asm +endif +endif + +# S390 upstream arch, s390 and s390x Debian arches; no upstream flags by +# default +#ifneq (,$(filter s390 s390x,$(DEB_HOST_GNU_CPU))) +#endif + +# IA64 upstream arch, ia64 Debian arch; no upstream flags by default +#ifeq (ia64,$(DEB_HOST_GNU_CPU)) +#endif + +# there's no special handling for other arches upstream, except for PARISC +# which is not supported in Debian and for which there's no upstream flags by +# default + diff --git a/control b/control new file mode 100644 index 0000000..0522ea1 --- /dev/null +++ b/control @@ -0,0 +1,77 @@ +Source: x264 +Section: libs +Priority: optional +Maintainer: Debian Multimedia Maintainers +Uploaders: + Reinhard Tartler , + Fabian Greffrath , + Rico Tzschichholz , + Andres Mejia +Build-Depends: + debhelper (>= 8.1.3~), + libavformat-dev (>= 4:0.5), + libffms2-dev, + libgpac-dev (>= 0.4.5+svn4019~dfsg0), + libx11-dev, + yasm [any-i386 any-amd64] +Standards-Version: 3.9.3 +DM-Upload-Allowed: yes +Vcs-Git: git://anonscm.debian.org/pkg-multimedia/x264.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-multimedia/x264.git +Homepage: http://www.videolan.org/developers/x264.html + +Package: x264 +Section: graphics +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: video encoder for the H.264/MPEG-4 AVC standard + x264 is an advanced commandline encoder for creating H.264 (MPEG-4 AVC) + video streams. + . + x264 supports the following features: + * CABAC (context-based adaptive binary arithmetic coding) and CAVLC + (context-based adaptive variable length coding + * multiple reference frames + * 16x16, 8x8 and 4x4 intra-predicted macroblocks + * all P-frame inter-predicted macroblock types + * B-Inter-predicted macroblock types from 16x16 down to 8x8 + * rate distortion optimization + * multiple rate control modes (constant quantizer, constant quality, single + or multipass ABR with the option of VBV) + * scene cut detection + * adaptive B-frame placement, with the option of keeping B-frames as + references / arbitrary frame order + * 8x8 and 4x4 adaptive spatial transform (high profile) + * lossless mode (high 4:4:4 profile) + * custom quantization matrices (high profile) + * parallel encoding on multiple CPUs + * interlaced streams + +Package: libx264-123 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: x264 video coding library + libx264 is an advanced encoding library for creating H.264 (MPEG-4 AVC) + video streams. + . + This package contains the libx264 shared library. + +Package: libx264-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: + libx264-123 (= ${binary:Version}), + ${misc:Depends} +Description: development files for libx264 + libx264 is an advanced encoding library for creating H.264 (MPEG-4 AVC) + video streams. + . + This package contains the static library and headers used to build programs + that use libx264. diff --git a/control.in b/control.in new file mode 100644 index 0000000..dc7b2a6 --- /dev/null +++ b/control.in @@ -0,0 +1,77 @@ +Source: x264 +Section: libs +Priority: optional +Maintainer: Debian Multimedia Maintainers +Uploaders: + Reinhard Tartler , + Fabian Greffrath , + Rico Tzschichholz , + Andres Mejia +Build-Depends: + debhelper (>= 8.1.3~), + libavformat-dev (>= 4:0.5), + libffms2-dev, + libgpac-dev (>= 0.4.5+svn4019~dfsg0), + libx11-dev, + yasm [any-i386 any-amd64] +Standards-Version: 3.9.3 +DM-Upload-Allowed: yes +Vcs-Git: git://anonscm.debian.org/pkg-multimedia/x264.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-multimedia/x264.git +Homepage: http://www.videolan.org/developers/x264.html + +Package: x264 +Section: graphics +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: video encoder for the H.264/MPEG-4 AVC standard + x264 is an advanced commandline encoder for creating H.264 (MPEG-4 AVC) + video streams. + . + x264 supports the following features: + * CABAC (context-based adaptive binary arithmetic coding) and CAVLC + (context-based adaptive variable length coding + * multiple reference frames + * 16x16, 8x8 and 4x4 intra-predicted macroblocks + * all P-frame inter-predicted macroblock types + * B-Inter-predicted macroblock types from 16x16 down to 8x8 + * rate distortion optimization + * multiple rate control modes (constant quantizer, constant quality, single + or multipass ABR with the option of VBV) + * scene cut detection + * adaptive B-frame placement, with the option of keeping B-frames as + references / arbitrary frame order + * 8x8 and 4x4 adaptive spatial transform (high profile) + * lossless mode (high 4:4:4 profile) + * custom quantization matrices (high profile) + * parallel encoding on multiple CPUs + * interlaced streams + +Package: @libx264N@ +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: x264 video coding library + libx264 is an advanced encoding library for creating H.264 (MPEG-4 AVC) + video streams. + . + This package contains the libx264 shared library. + +Package: libx264-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: + @libx264N@ (= ${binary:Version}), + ${misc:Depends} +Description: development files for libx264 + libx264 is an advanced encoding library for creating H.264 (MPEG-4 AVC) + video streams. + . + This package contains the static library and headers used to build programs + that use libx264. diff --git a/copyright b/copyright new file mode 100644 index 0000000..9a809cd --- /dev/null +++ b/copyright @@ -0,0 +1,171 @@ +Format: http://anonscm.debian.org/viewvc/dep/web/deps/dep5.mdwn?revision=174&view=markup +Upstream-Name: x264 +Upstream-Contact: x264-devel@videolan.org +Source: http://www.videolan.org/developers/x264.html + +Files: * +Copyright: 2003-2011 x264 project +License: GPL-2+ or other + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + This program is also available under a commercial proprietary license. + For more information, contact us at licensing@x264.com. + +Files: common/x86/x86inc.asm +Copyright: 2005-2011 x264 project +License: ISC + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Files: debian/* +Copyright: 2008-2011 Reinhard Tartler + 2008-2011 Fabian Greffrath + 2008-2011 Andres Mejia +License: GPL-2+ + +Files: extras/avisynth_c.h +Copyright: 2003 Kevin Atkinson +License: GPL-2+ with other exception + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + As a special exception, I give you permission to link to the + Avisynth C interface with independent modules that communicate with + the Avisynth C interface solely through the interfaces defined in + avisynth_c.h, regardless of the license terms of these independent + modules, and to copy and distribute the resulting combined work + under terms of your choice, provided that every copy of the + combined work is accompanied by a complete copy of the source code + of the Avisynth C interface and Avisynth itself (with the version + used to produce the combined work), being distributed under the + terms of the GNU General Public License plus this exception. An + independent module is a module which is not derived from or based + on Avisynth C Interface, such as 3rd-party filters, import and + export plugins, or graphical user interfaces. + +Files: extras/getopt.* +Copyright: 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001 + Free Software Foundation, Inc. +License: LGPL-2.1+ + This file is part of the GNU C Library. + . + The GNU C Library 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 Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . + +Files: extras/inttypes.h +Copyright: 2006 Alexander Chemeris +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. The name of the author may be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: extras/gas-preprocessor.pl +Copyright: David Conrad +License: GPL-2+ + +Files: extras/stdint.h +Copyright: none +License: public-domain + THIS SOFTWARE IS NOT COPYRIGHTED + . + This source code is offered for use in the public domain. You may + use, modify or distribute it freely. + . + This code is distributed in the hope that it will be useful but + WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + DISCLAIMED. This includes but is not limited to warranties of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +License: GPL-2+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian GNU/Linux systems, the complete text of the GNU General Public + License version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +License: LGPL-2.1+ + This library 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 Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . + . + On Debian GNU/Linux systems, the complete text of the GNU Lesser General Public + License can be found in `/usr/share/common-licenses/LGPL-2.1'. diff --git a/debian-version.sh b/debian-version.sh new file mode 100644 index 0000000..560221a --- /dev/null +++ b/debian-version.sh @@ -0,0 +1,11 @@ +#!/bin/sh -e + +# mimics upstream's version.h but works inside the debian package +VENDOR=`dpkg-vendor --query vendor` +PACKAGE_VERSION=`dpkg-parsechangelog | awk '/^Version:/ {print $$2}'` +BUILD=`grep '#define X264_BUILD' < x264.h | sed -e 's/.* \([1-9][0-9]*\).*/\1/'` +POINTVER=`echo $PACKAGE_VERSION | sed -e 's/[0-9]\:\(0\.[0-9]*\.[0-9]*\).*/\1/'` + +echo "#define X264_VERSION \" ${VENDOR}_${PACKAGE_VERSION}\"" >> config.h +echo "#define X264_POINTVER \"$POINTVER ${VENDOR}_${PACKAGE_VERSION}\"" >> config.h + diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..1615f89 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,6 @@ +[DEFAULT] +upstream-branch = upstream +debian-branch = master +upstream-tag = upstream/%(version)s +debian-tag = debian/%(version)s +pristine-tar = True diff --git a/libx264-dev.install.in b/libx264-dev.install.in new file mode 100644 index 0000000..e739ef8 --- /dev/null +++ b/libx264-dev.install.in @@ -0,0 +1,4 @@ +shared/usr/lib/@DEB_HOST_MULTIARCH@/libx264.so usr/lib/@DEB_HOST_MULTIARCH@ +static/usr/lib/@DEB_HOST_MULTIARCH@/libx264.a usr/lib/@DEB_HOST_MULTIARCH@ +shared/usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/x264.pc usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig +shared/usr/include usr diff --git a/libx264N.install.in b/libx264N.install.in new file mode 100644 index 0000000..96b2468 --- /dev/null +++ b/libx264N.install.in @@ -0,0 +1 @@ +shared/usr/lib/@DEB_HOST_MULTIARCH@/libx264.so.* usr/lib/@DEB_HOST_MULTIARCH@ diff --git a/rules b/rules new file mode 100755 index 0000000..0b68d9e --- /dev/null +++ b/rules @@ -0,0 +1,67 @@ +#!/usr/bin/make -f + +libx264N := libx264-$(shell grep '\#define X264_BUILD' < x264.h | cut -f 3 -d ' ') + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) + +include debian/confflags + +DH_INSTALL_FILES = debian/$(libx264N).install \ + debian/libx264-dev.install + +%: + dh $@ --parallel + +.PHONY: debian/control +debian/control: + sed -e 's/@libx264N@/$(libx264N)/g' $@.in > $@ + +$(DH_INSTALL_FILES): + sed -e 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $(subst $(libx264N),libx264N,$@).in > $@ + +override_dh_auto_build: + # Build static lib + LDFLAGS="$(LDFLAGS)" ./configure $(static_confflags) \ + || ( tail -v -n +0 config.log config.log ; exit 1 ) + $(MAKE) + $(MAKE) install DESTDIR=$(CURDIR)/debian/install/static + $(MAKE) distclean + # Build shared lib + CFLAGS="$(shared_extra_cflags)" LDFLAGS="$(LDFLAGS)" ./configure $(shared_confflags) \ + || ( tail -v -n +0 config.log config.log ; exit 1 ) + $(MAKE) + $(MAKE) install DESTDIR=$(CURDIR)/debian/install/shared +ifeq ($(do_opt),yes) + $(MAKE) distclean + # Build opt lib + LDFLAGS="$(LDFLAGS)" ./configure $(opt_confflags) \ + || ( tail -v -n +0 config.log config.log ; exit 1 ) + $(MAKE) + $(MAKE) install DESTDIR=$(CURDIR)/debian/install/opt +endif + +override_dh_auto_configure: + # dh_auto_configure phase handled via dh_auto_build. + +override_dh_auto_install: + # dh_auto_install phase handled via dh_auto_build. + +override_dh_auto_clean: debian/control + rm -rf debian/install + $(MAKE) -o config.mak distclean + dh_clean config.mak2 $(DH_INSTALL_FILES) + +override_dh_install: $(DH_INSTALL_FILES) + dh_install --list-missing --sourcedir=debian/install +ifeq ($(do_opt),yes) + mkdir -p debian/$(libx264N)$(opt_libdir) + cp -a debian/install/opt$(opt_libdir)/*.so.* debian/$(libx264N)$(opt_libdir) +endif + +debian/x264.1: build + env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/install/shared/usr/lib/$(DEB_HOST_MULTIARCH)" \ + help2man -n "fast h264 encoder" -N -s1 -S "Videolan project" -h '--fullhelp' \ + debian/install/shared/usr/bin/x264 > debian/x264.1 diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 0000000..b85bd9b --- /dev/null +++ b/source/lintian-overrides @@ -0,0 +1,2 @@ +# Ignore this, since currently only debhelper (>= 8.1.3~) is needed. +x264 source: package-needs-versioned-debhelper-build-depends 9 diff --git a/watch b/watch new file mode 100644 index 0000000..72d6c7d --- /dev/null +++ b/watch @@ -0,0 +1 @@ +# x264 currently does not have any releases diff --git a/x264-get-orig-source b/x264-get-orig-source new file mode 100755 index 0000000..725fab3 --- /dev/null +++ b/x264-get-orig-source @@ -0,0 +1,61 @@ +#!/bin/sh + +# Script used to generate the orig source tarball for x264. + +X264_GIT_URL="git://git.videolan.org/x264.git" +X264_GIT_COMMIT="35cf912671fddcb3e701bf667a75f77dd8b28264" +DATE_RETRIEVED="20120428" +COMMIT_SHORT_FORM="$(echo $X264_GIT_COMMIT | \ + sed -e 's/^\([[:xdigit:]]\{,7\}\).*/\1/')" + +git clone "$X264_GIT_URL" "x264-git${COMMIT_SHORT_FORM}" +cd "x264-git${COMMIT_SHORT_FORM}" +git checkout "$X264_GIT_COMMIT" + +# We must determine the version after switching to the right commit and before +# making any modifications +POINTVER=$(./version.sh | grep X264_POINTVER | \ + sed -e 's/.*"\([.0-9]\+\)[[:space:]]\+\([a-fA-F0-9]\+\)".*/\1 \2/' | \ + cut -d ' ' -f 1) +X264_VERSION="${POINTVER}+git${COMMIT_SHORT_FORM}" + +# Rewrite version.sh since .git repo won't be available in Debian packaging. +LINE1=$(./version.sh | grep X264_VERSION) +LINE2=$(./version.sh | grep X264_POINTVER) +cat <version.sh +#!/bin/sh +# Script modified from upstream source for Debian packaging since packaging +# won't include .git repository. +echo '${LINE1}' +echo '${LINE2}' +EOF +chmod a+x version.sh + +cp -vf /usr/share/misc/config.guess . +cp -vf /usr/share/misc/config.sub . +cd .. + +# Rename the upstream directory +mv "x264-git${COMMIT_SHORT_FORM}" "x264-${X264_VERSION}" + +# Remove temp files and other cruft from source tarball +# The find command snippet here was taken from debhelper's dh_clean command +# with some modification to delete more unneeded files. +echo "Removing temp files and other cruft from source tarball" +find x264-${X264_VERSION} \( \( -type f -a \ + \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ + -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ + -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ + -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ + -o -name config.status -o -name config.cache -o -name config.log \ + \) -exec rm -f "{}" \; \) -o \ + \( -type d -a -name autom4te.cache -prune -exec rm -rf "{}" \; \) \) +rm -rf x264-${X264_VERSION}/.git +rm -f x264-${X264_VERSION}/.gitignore + +# Remove empty directories +echo "Removing empty directories" +find x264-${X264_VERSION} -type d -empty -delete + +tar --exclude-vcs -czf "x264_${X264_VERSION}.orig.tar.gz" \ + "x264-${X264_VERSION}/" diff --git a/x264.1 b/x264.1 new file mode 100644 index 0000000..15ae6a8 --- /dev/null +++ b/x264.1 @@ -0,0 +1,756 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. +.TH X264 "1" "April 2012" "Videolan project" "User Commands" +.SH NAME +x264 \- fast h264 encoder +.SH DESCRIPTION +x264 core:123 r2189 35cf912 +Syntax: x264 [options] \fB\-o\fR outfile infile +.PP +Infile can be raw (in which case resolution is required), +.IP +or YUV4MPEG (*.y4m), +or Avisynth if compiled with support (no). +or libav* formats if compiled with lavf support (yes) or ffms support (yes). +.SS "Outfile type is selected by filename:" +.IP +\&.264 \-> Raw bytestream +\&.mkv \-> Matroska +\&.flv \-> Flash Video +\&.mp4 \-> MP4 if compiled with GPAC support (yes) +.PP +Output bit depth: 8 (configured at compile time) +.SH OPTIONS + +.TP +\fB\-h\fR, \fB\-\-help\fR +List basic options +.TP +\fB\-\-longhelp\fR +List more options +.TP +\fB\-\-fullhelp\fR +List all options +.PP +Example usage: +.IP +Constant quality mode: +.IP +x264 \fB\-\-crf\fR 24 \fB\-o\fR +.IP +Two\-pass with a bitrate of 1000kbps: +.IP +x264 \fB\-\-pass\fR 1 \fB\-\-bitrate\fR 1000 \fB\-o\fR +x264 \fB\-\-pass\fR 2 \fB\-\-bitrate\fR 1000 \fB\-o\fR +.IP +Lossless: +.IP +x264 \fB\-\-qp\fR 0 \fB\-o\fR +.IP +Maximum PSNR at the cost of speed and visual quality: +.IP +x264 \fB\-\-preset\fR placebo \fB\-\-tune\fR psnr \fB\-o\fR +.IP +Constant bitrate at 1000kbps with a 2 second\-buffer: +.IP +x264 \fB\-\-vbv\-bufsize\fR 2000 \fB\-\-bitrate\fR 1000 \fB\-o\fR +.PP +Presets: +.TP +\fB\-\-profile\fR +Force the limits of an H.264 profile +Overrides all settings. +\- baseline: +.IP +\fB\-\-no\-8x8dct\fR \fB\-\-bframes\fR 0 \fB\-\-no\-cabac\fR +\fB\-\-cqm\fR flat \fB\-\-weightp\fR 0 +No interlaced. +No lossless. +.IP +\- main: +.IP +\fB\-\-no\-8x8dct\fR \fB\-\-cqm\fR flat +No lossless. +.IP +\- high: +.IP +No lossless. +.IP +\- high10: +.IP +No lossless. +Support for bit depth 8\-10. +.IP +\- high422: +.IP +No lossless. +Support for bit depth 8\-10. +Support for 4:2:0/4:2:2 chroma subsampling. +.IP +\- high444: +.IP +Support for bit depth 8\-10. +Support for 4:2:0/4:2:2/4:4:4 chroma subsampling. +.TP +\fB\-\-preset\fR +Use a preset to select encoding settings [medium] +Overridden by user settings. +\- ultrafast: +.IP +\fB\-\-no\-8x8dct\fR \fB\-\-aq\-mode\fR 0 \fB\-\-b\-adapt\fR 0 +\fB\-\-bframes\fR 0 \fB\-\-no\-cabac\fR \fB\-\-no\-deblock\fR +\fB\-\-no\-mbtree\fR \fB\-\-me\fR dia \fB\-\-no\-mixed\-refs\fR +\fB\-\-partitions\fR none \fB\-\-rc\-lookahead\fR 0 \fB\-\-ref\fR 1 +\fB\-\-scenecut\fR 0 \fB\-\-subme\fR 0 \fB\-\-trellis\fR 0 +\fB\-\-no\-weightb\fR \fB\-\-weightp\fR 0 +.IP +\- superfast: +.IP +\fB\-\-no\-mbtree\fR \fB\-\-me\fR dia \fB\-\-no\-mixed\-refs\fR +\fB\-\-partitions\fR i8x8,i4x4 \fB\-\-rc\-lookahead\fR 0 +\fB\-\-ref\fR 1 \fB\-\-subme\fR 1 \fB\-\-trellis\fR 0 \fB\-\-weightp\fR 1 +.IP +\- veryfast: +.IP +\fB\-\-no\-mixed\-refs\fR \fB\-\-rc\-lookahead\fR 10 +\fB\-\-ref\fR 1 \fB\-\-subme\fR 2 \fB\-\-trellis\fR 0 \fB\-\-weightp\fR 1 +.IP +\- faster: +.IP +\fB\-\-no\-mixed\-refs\fR \fB\-\-rc\-lookahead\fR 20 +\fB\-\-ref\fR 2 \fB\-\-subme\fR 4 \fB\-\-weightp\fR 1 +.IP +\- fast: +.IP +\fB\-\-rc\-lookahead\fR 30 \fB\-\-ref\fR 2 \fB\-\-subme\fR 6 +\fB\-\-weightp\fR 1 +.IP +\- medium: +.IP +Default settings apply. +.IP +\- slow: +.IP +\fB\-\-b\-adapt\fR 2 \fB\-\-direct\fR auto \fB\-\-me\fR umh +\fB\-\-rc\-lookahead\fR 50 \fB\-\-ref\fR 5 \fB\-\-subme\fR 8 +.IP +\- slower: +.IP +\fB\-\-b\-adapt\fR 2 \fB\-\-direct\fR auto \fB\-\-me\fR umh +\fB\-\-partitions\fR all \fB\-\-rc\-lookahead\fR 60 +\fB\-\-ref\fR 8 \fB\-\-subme\fR 9 \fB\-\-trellis\fR 2 +.IP +\- veryslow: +.IP +\fB\-\-b\-adapt\fR 2 \fB\-\-bframes\fR 8 \fB\-\-direct\fR auto +\fB\-\-me\fR umh \fB\-\-merange\fR 24 \fB\-\-partitions\fR all +\fB\-\-ref\fR 16 \fB\-\-subme\fR 10 \fB\-\-trellis\fR 2 +\fB\-\-rc\-lookahead\fR 60 +.IP +\- placebo: +.IP +\fB\-\-bframes\fR 16 \fB\-\-b\-adapt\fR 2 \fB\-\-direct\fR auto +\fB\-\-slow\-firstpass\fR \fB\-\-no\-fast\-pskip\fR +\fB\-\-me\fR tesa \fB\-\-merange\fR 24 \fB\-\-partitions\fR all +\fB\-\-rc\-lookahead\fR 60 \fB\-\-ref\fR 16 \fB\-\-subme\fR 11 +\fB\-\-trellis\fR 2 +.TP +\fB\-\-tune\fR +Tune the settings for a particular type of source +or situation +.IP +Overridden by user settings. +Multiple tunings are separated by commas. +Only one psy tuning can be used at a time. +\- film (psy tuning): +.IP +\fB\-\-deblock\fR \fB\-1\fR:\-1 \fB\-\-psy\-rd\fR :0.15 +.IP +\- animation (psy tuning): +.IP +\fB\-\-bframes\fR {+2} \fB\-\-deblock\fR 1:1 +\fB\-\-psy\-rd\fR 0.4: \fB\-\-aq\-strength\fR 0.6 +\fB\-\-ref\fR {Double if >1 else 1} +.IP +\- grain (psy tuning): +.IP +\fB\-\-aq\-strength\fR 0.5 \fB\-\-no\-dct\-decimate\fR +\fB\-\-deadzone\-inter\fR 6 \fB\-\-deadzone\-intra\fR 6 +\fB\-\-deblock\fR \fB\-2\fR:\-2 \fB\-\-ipratio\fR 1.1 +\fB\-\-pbratio\fR 1.1 \fB\-\-psy\-rd\fR :0.25 +\fB\-\-qcomp\fR 0.8 +.IP +\- stillimage (psy tuning): +.IP +\fB\-\-aq\-strength\fR 1.2 \fB\-\-deblock\fR \fB\-3\fR:\-3 +\fB\-\-psy\-rd\fR 2.0:0.7 +.IP +\- psnr (psy tuning): +.IP +\fB\-\-aq\-mode\fR 0 \fB\-\-no\-psy\fR +.IP +\- ssim (psy tuning): +.IP +\fB\-\-aq\-mode\fR 2 \fB\-\-no\-psy\fR +.IP +\- fastdecode: +.IP +\fB\-\-no\-cabac\fR \fB\-\-no\-deblock\fR \fB\-\-no\-weightb\fR +\fB\-\-weightp\fR 0 +.IP +\- zerolatency: +.IP +\fB\-\-bframes\fR 0 \fB\-\-force\-cfr\fR \fB\-\-no\-mbtree\fR +\fB\-\-sync\-lookahead\fR 0 \fB\-\-sliced\-threads\fR +\fB\-\-rc\-lookahead\fR 0 +.TP +\fB\-\-slow\-firstpass\fR +Don't force these faster settings with \fB\-\-pass\fR 1: +\fB\-\-no\-8x8dct\fR \fB\-\-me\fR dia \fB\-\-partitions\fR none +\fB\-\-ref\fR 1 \fB\-\-subme\fR {2 if >2 else unchanged} +\fB\-\-trellis\fR 0 \fB\-\-fast\-pskip\fR +.PP +Frame\-type options: +.HP +\fB\-I\fR, \fB\-\-keyint\fR Maximum GOP size [250] +.TP +\fB\-i\fR, \fB\-\-min\-keyint\fR +Minimum GOP size [auto] +.TP +\fB\-\-no\-scenecut\fR +Disable adaptive I\-frame decision +.TP +\fB\-\-scenecut\fR +How aggressively to insert extra I\-frames [40] +.TP +\fB\-\-intra\-refresh\fR +Use Periodic Intra Refresh instead of IDR frames +.TP +\fB\-b\fR, \fB\-\-bframes\fR +Number of B\-frames between I and P [3] +.TP +\fB\-\-b\-adapt\fR +Adaptive B\-frame decision method [1] +Higher values may lower threading efficiency. +\- 0: Disabled +\- 1: Fast +\- 2: Optimal (slow with high \fB\-\-bframes\fR) +.TP +\fB\-\-b\-bias\fR +Influences how often B\-frames are used [0] +.TP +\fB\-\-b\-pyramid\fR +Keep some B\-frames as references [normal] +\- none: Disabled +\- strict: Strictly hierarchical pyramid +\- normal: Non\-strict (not Blu\-ray compatible) +.TP +\fB\-\-open\-gop\fR +Use recovery points to close GOPs +Only available with b\-frames +.TP +\fB\-\-no\-cabac\fR +Disable CABAC +.TP +\fB\-r\fR, \fB\-\-ref\fR +Number of reference frames [3] +.TP +\fB\-\-no\-deblock\fR +Disable loop filter +.TP +\fB\-f\fR, \fB\-\-deblock\fR +Loop filter parameters [0:0] +.TP +\fB\-\-slices\fR +Number of slices per frame; forces rectangular +slices and is overridden by other slicing options +.HP +\fB\-\-slice\-max\-size\fR Limit the size of each slice in bytes +.HP +\fB\-\-slice\-max\-mbs\fR Limit the size of each slice in macroblocks +.TP +\fB\-\-tff\fR +Enable interlaced mode (top field first) +.TP +\fB\-\-bff\fR +Enable interlaced mode (bottom field first) +.TP +\fB\-\-constrained\-intra\fR +Enable constrained intra prediction. +.TP +\fB\-\-pulldown\fR +Use soft pulldown to change frame rate +\- none, 22, 32, 64, double, triple, euro (requires cfr input) +.TP +\fB\-\-fake\-interlaced\fR +Flag stream as interlaced but encode progressive. +Makes it possible to encode 25p and 30p Blu\-Ray +streams. Ignored in interlaced mode. +.TP +\fB\-\-frame\-packing\fR For stereoscopic videos define frame arrangement +\- 0: checkerboard \- pixels are alternatively from L and R +\- 1: column alternation \- L and R are interlaced by column +\- 2: row alternation \- L and R are interlaced by row +\- 3: side by side \- L is on the left, R on the right +\- 4: top bottom \- L is on top, R on bottom +\- 5: frame alternation \- one view per frame +.PP +Ratecontrol: +.TP +\fB\-q\fR, \fB\-\-qp\fR +Force constant QP (0\-69, 0=lossless) +.TP +\fB\-B\fR, \fB\-\-bitrate\fR +Set bitrate (kbit/s) +.TP +\fB\-\-crf\fR +Quality\-based VBR (0\-51) [23.0] +.HP +\fB\-\-rc\-lookahead\fR Number of frames for frametype lookahead [40] +.HP +\fB\-\-vbv\-maxrate\fR Max local bitrate (kbit/s) [0] +.HP +\fB\-\-vbv\-bufsize\fR Set size of the VBV buffer (kbit) [0] +.TP +\fB\-\-vbv\-init\fR +Initial VBV buffer occupancy [0.9] +.TP +\fB\-\-crf\-max\fR +With CRF+VBV, limit RF to this value +May cause VBV underflows! +.TP +\fB\-\-qpmin\fR +Set min QP [0] +.TP +\fB\-\-qpmax\fR +Set max QP [69] +.TP +\fB\-\-qpstep\fR +Set max QP step [4] +.TP +\fB\-\-ratetol\fR +Tolerance of ABR ratecontrol and VBV [1.0] +.TP +\fB\-\-ipratio\fR +QP factor between I and P [1.40] +.TP +\fB\-\-pbratio\fR +QP factor between P and B [1.30] +.TP +\fB\-\-chroma\-qp\-offset\fR +QP difference between chroma and luma [0] +.TP +\fB\-\-aq\-mode\fR +AQ method [1] +\- 0: Disabled +\- 1: Variance AQ (complexity mask) +\- 2: Auto\-variance AQ (experimental) +.TP +\fB\-\-aq\-strength\fR +Reduces blocking and blurring in flat and +textured areas. [1.0] +.TP +\fB\-p\fR, \fB\-\-pass\fR +Enable multipass ratecontrol +\- 1: First pass, creates stats file +\- 2: Last pass, does not overwrite stats file +\- 3: Nth pass, overwrites stats file +.TP +\fB\-\-stats\fR +Filename for 2 pass stats ["x264_2pass.log"] +.TP +\fB\-\-no\-mbtree\fR +Disable mb\-tree ratecontrol. +.TP +\fB\-\-qcomp\fR +QP curve compression [0.60] +.TP +\fB\-\-cplxblur\fR +Reduce fluctuations in QP (before curve compression) [20.0] +.TP +\fB\-\-qblur\fR +Reduce fluctuations in QP (after curve compression) [0.5] +.TP +\fB\-\-zones\fR //... +Tweak the bitrate of regions of the video +Each zone is of the form +.IP +,,