From: Sebastian Ramacher Date: Tue, 30 Jul 2024 13:11:15 +0000 (+0200) Subject: Import x264_0.164.3108+git31e19f9-2.debian.tar.xz X-Git-Tag: archive/raspbian/2%0.164.3108+git31e19f9-2+rpi1^2~3^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=dbf4f4efe69a141feedf528ac8b24893c3418ae1;p=x264.git Import x264_0.164.3108+git31e19f9-2.debian.tar.xz [dgit import tarball x264 2:0.164.3108+git31e19f9-2 x264_0.164.3108+git31e19f9-2.debian.tar.xz] --- dbf4f4efe69a141feedf528ac8b24893c3418ae1 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..6b45e20 --- /dev/null +++ b/changelog @@ -0,0 +1,1068 @@ +x264 (2:0.164.3108+git31e19f9-2) unstable; urgency=medium + + * Team upload + * debian/patches: Fix incompatible pointer type errors on ppc64el + + -- Sebastian Ramacher Tue, 30 Jul 2024 15:11:15 +0200 + +x264 (2:0.164.3108+git31e19f9-1) unstable; urgency=medium + + * Update to new stable upstream + * New upstream version 0.164.3108+git31e19f9 + * Regenerate manpage + + -- Rico Tzschichholz Sun, 28 Jan 2024 22:48:50 +0100 + +x264 (2:0.164.3095+gitbaee400-3) unstable; urgency=medium + + * Team upload + * debian/: Disable gpac support + gpac is a constant source of security issues. gpac support is disabled so + it can be removed from bookworm. + + -- Sebastian Ramacher Wed, 12 Apr 2023 23:37:05 +0200 + +x264 (2:0.164.3095+gitbaee400-2) unstable; urgency=medium + + * Team upload + * Upload to unstable + + -- Sebastian Ramacher Thu, 16 Jun 2022 19:31:55 +0200 + +x264 (2:0.164.3095+gitbaee400-1) experimental; urgency=medium + + [ Rico Tzschichholz ] + * Update to new stable upstream + * New upstream version 0.164.3095+gitbaee400 + * Update debian/control for soname bump + * Regenerate manpage + + [ Sebastian Ramacher ] + * debian/control: Bump Standards-Version + * debian/copyright: Update copyright years + + -- Rico Tzschichholz Sat, 11 Jun 2022 17:19:41 +0200 + +x264 (2:0.163.3060+git5db6aa6-2) unstable; urgency=medium + + * Team upload + * Upload to unstable + + -- Sebastian Ramacher Sat, 26 Feb 2022 18:21:41 +0100 + +x264 (2:0.163.3060+git5db6aa6-1) experimental; urgency=medium + + [ Debian Janitor ] + * Use secure URI in Homepage field. + * Set upstream metadata fields: Repository. + * Update standards version to 4.5.1, no changes needed. + + [ Rico Tzschichholz ] + * Update to new stable upstream + * New upstream version 0.163.3060+git5db6aa6 + * Update debian/control for soname bump + * Drop upstream and obsolete GPAC patches + * Add build-dep on pkg-config + * Regenerate manpage + + [ Sebastian Ramacher ] + * debian/control: Bump Standards-Version + * debian/copyright: Bump copyright years + + -- Rico Tzschichholz Fri, 18 Feb 2022 08:35:05 +0100 + +x264 (2:0.160.3011+gitcde9a93-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Backport upstream fix to support GPAC >= 0.8.0. (Closes: #975441) + + -- Adrian Bunk Thu, 15 Jul 2021 15:06:22 +0300 + +x264 (2:0.160.3011+gitcde9a93-2) unstable; urgency=medium + + * Team upload + * Upload to unstable + * debian/rules: Fix awk invocation to work with make 4.2 and 4.3 (Closes: + #966241) + + -- Sebastian Ramacher Sun, 26 Jul 2020 16:52:56 +0200 + +x264 (2:0.160.3011+gitcde9a93-1) experimental; urgency=medium + + * Update to new stable upstream + * New upstream version 0.160.3011+gitcde9a93 + * Update debian/control for soname bump + * Regenerate manpage + + -- Rico Tzschichholz Mon, 13 Jul 2020 21:29:33 +0200 + +x264 (2:0.159.2999+git296494a-2) unstable; urgency=medium + + * Team upload + * Upload to unstable + + -- Sebastian Ramacher Sun, 12 Jul 2020 18:46:44 +0200 + +x264 (2:0.159.2999+git296494a-1) experimental; urgency=medium + + [ Fabian Greffrath ] + * Remove myself from Uploaders + + [ Rico Tzschichholz ] + * Update to new stable upstream + * New upstream version 0.159.2999+git296494a + * Drop upstreamed "Export x264_stack_align" patch + * Update debian/control for soname bump + * Regenerate manpage + + [ Ondřej Nový ] + * Use debhelper-compat instead of debian/compat + + [ Sebastian Ramacher ] + * debian/control: + - Bump debhlper compat to 13 + - Bump Standards-Version + - Set RRR: no + * debian/copyright: Bump copyright years + * debian/rules: Fix awk invocation + + -- Rico Tzschichholz Sun, 21 Jun 2020 15:52:08 +0200 + +x264 (2:0.155.2917+git0a84d98-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sebastian Ramacher Thu, 27 Sep 2018 22:03:40 +0200 + +x264 (2:0.155.2917+git0a84d98-1) experimental; urgency=medium + + [ Ondřej Nový ] + * d/copyright: Change Format URL to correct one + * d/control: Set Vcs-* to salsa.debian.org + * d/changelog: Remove trailing whitespaces + + [ Felipe Sateler ] + * Change maintainer address to debian-multimedia@lists.debian.org + + [ Ondřej Nový ] + * d/tests: Use AUTOPKGTEST_TMP instead of ADTTMP + + [ Rico Tzschichholz ] + * Update to new stable upstream + * New upstream version 0.155.2917+git0a84d98 + * Drop custom 10bit build, upstream supports this as runtime option now + * Update debian/control for soname bump + * Regenerate manpage + * Update copyright years + + [ Sebastian Ramacher ] + * debian/{rules,confflags}: + - Use dpkg include for architecture variables. + - Fix dh_install --list-missing warning. + - Remove cruft. + - Handle CPPFLAGS. + * debian/patches: Export x264_stack_align. + * debian/: Bump debhelper compat to 11. + * debian/control: + - Drop obsolete dpkg-dev B-D. + - Bump Standards-Version. + + -- Rico Tzschichholz Fri, 24 Aug 2018 17:25:59 +0200 + +x264 (2:0.152.2854+gite9a5903-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sebastian Ramacher Fri, 19 Jan 2018 12:36:28 +0100 + +x264 (2:0.152.2854+gite9a5903-1) experimental; urgency=medium + + [ Rico Tzschichholz ] + * Update to new stable upstream + * New upstream version 0.152.2854+gite9a5903 + * Require nasm (>= 2.13) instead of yasm + * Update debian/control for soname bump + * Regenerate manpage + + [ Sebastian Ramacher ] + * debian/control: + - Bump Standards-Version. + - Remove obsolete Pre-Depends. + + -- Rico Tzschichholz Fri, 05 Jan 2018 12:14:48 +0100 + +x264 (2:0.148.2795+gitaaa9aa8-1) unstable; urgency=medium + + [ Rico Tzschichholz ] + * Update to new stable upstream + * New upstream version 0.148.2795+gitaaa9aa8 + * Regenerate manpage + * Update copyright years + + [ Sebastian Ramacher ] + * debian/control: Bump Standards-Version. + + -- Rico Tzschichholz Wed, 28 Jun 2017 08:31:44 +0200 + +x264 (2:0.148.2748+git97eaef2-1) unstable; urgency=medium + + * Update to new stable upstream + * New upstream version 0.148.2748+git97eaef2 + * Regenerate manpage + + -- Rico Tzschichholz Wed, 25 Jan 2017 10:40:48 +0100 + +x264 (2:0.148.2728+git4d5c8b0-1) unstable; urgency=medium + + * Update to new stable upstream + * New upstream version 0.148.2728+git4d5c8b0 + + -- Rico Tzschichholz Thu, 08 Dec 2016 09:36:51 +0100 + +x264 (2:0.148.2708+git86b7198-1) unstable; urgency=medium + + [ Ondřej Nový ] + * autopkgtest: Use ffmpeg/ffprobe instead of deprecated avconv/avprobe + * autopkgtest: Use $ADTTMP instead of own tmp directory + * autopkgtest: Check if produced file is H.264 + + [ Rico Tzschichholz ] + * Update to new stable upstream + * Imported Upstream version 0.148.2708+git86b7198 + + [ Helmut Grohne ] + * Fix FTCBFS: Pass cross flags to configure. (Closes: #838317) + + -- Rico Tzschichholz Wed, 21 Sep 2016 22:59:37 +0200 + +x264 (2:0.148.2699+gita5e06b9-1) unstable; urgency=medium + + * Update to new stable upstream + * Imported Upstream version 0.148.2699+gita5e06b9 + + -- Rico Tzschichholz Tue, 14 Jun 2016 08:20:58 +0200 + +x264 (2:0.148.2668+gitfd2c324-1) unstable; urgency=medium + + [ Sebastian Ramacher ] + * debian/rules: Update comment. + * debian/control.in: + - Update Vcs-*. + - Bump Standards-Version. + + [ Rico Tzschichholz ] + * Update to new stable upstream + * Imported Upstream version 0.148.2668+gitfd2c324 + + -- Rico Tzschichholz Thu, 12 May 2016 11:12:16 +0200 + +x264 (2:0.148.2643+git5c65704-1) unstable; urgency=medium + + [ Rico Tzschichholz ] + * Update to new stable upstream + * Imported Upstream version 0.148.2643+git5c65704 + * Refresh properly_detect_x32.patch + + [ Sebastian Ramacher ] + * debian/confflags: No longer filter -g since we have automatic dbgsym + packages now. + + -- Rico Tzschichholz Mon, 18 Jan 2016 18:36:02 +0100 + +x264 (2:0.148.2601+gita0cd7d3-3) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sebastian Ramacher Sun, 01 Nov 2015 19:42:10 +0100 + +x264 (2:0.148.2601+gita0cd7d3-2) experimental; urgency=medium + + * Pass --disable-asm while building on mips, mipsel, mips64el + (Closes: #802550) + + -- Rico Tzschichholz Wed, 21 Oct 2015 12:27:32 +0200 + +x264 (2:0.148.2601+gita0cd7d3-1) experimental; urgency=medium + + * Update to new stable upstream + * Imported Upstream version 0.148.2601+gita0cd7d3 + * Update debian/control for soname bump + * Refresh patches and drop aarch64 build-fix + + -- Rico Tzschichholz Wed, 14 Oct 2015 20:26:50 +0200 + +x264 (2:0.146.2555+git0c21480-1) unstable; urgency=medium + + [ Rico Tzschichholz ] + * Update to new stable upstream + * Imported Upstream version 0.146.2555+git0c21480 + + [ Sebastian Ramacher ] + * debian/source/lintian-overrides: Removed, no longer needed. + + -- Rico Tzschichholz Mon, 03 Aug 2015 16:37:49 +0200 + +x264 (2:0.146.2538+git121396c-3) unstable; urgency=medium + + * Team upload. + + [ Johannes Schauer ] + * To avoid a circular build dependency, do not build depend on + libavformat-dev, libffms2-dev and libgpac-dev and do not build the x264 + package when building the stage1 profile. To that end: + - add build profile annotations to Build-Depends + - add Build-Profiles field so that only the library is built in the + stage1 build profile + - add --disable-avs --disable-ffms --disable-gpac to common_confflags + when building with stage1 + - depend on the proper versions of debhelper and dpkg-dev for parsing + build profile information in debian/control + Based on patch by Peter Pentchev + (Closes: #752103, #735742) + + [ Sebastian Ramacher ] + * debian/copyright: other is Expat. + + -- Sebastian Ramacher Wed, 15 Jul 2015 23:03:53 +0200 + +x264 (2:0.146.2538+git121396c-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sebastian Ramacher Sat, 23 May 2015 14:57:56 +0200 + +x264 (2:0.146.2538+git121396c-1) experimental; urgency=medium + + [ Rico Tzschichholz ] + * Update to new upstream snapshot + * Imported Upstream version 0.146.2538+git121396c + * Fix the build on AArch64 (Thanks to Matthias Klose) + + [ Sebastian Ramacher ] + * debian/copyright: + - Fix path to gas-processor.pl. + - Update copyright years. + - Remove unused paragraph. + + -- Rico Tzschichholz Mon, 11 May 2015 12:34:22 +0200 + +x264 (2:0.142.2495+git6a301b6-1) experimental; urgency=low + + [ Fabian Greffrath ] + * Add a wrapper script to load the 10-bit variant of libx264. + (Closes: #751458) + + [ Rico Tzschichholz ] + * Update to new upstream snapshot + * Imported Upstream version 0.142.2495+git6a301b6 + * Fix wrapper script installation and don't require dpkg-dev + * Drop obsolete build-dep on libx11-dev (Closes: #752093) + * Add properly_detect_x32.patch (Closes: #775349) + + -- Rico Tzschichholz Wed, 14 Jan 2015 23:32:51 +0100 + +x264 (2:0.142.2431+gita5831aa-1) unstable; urgency=low + + * Update to new upstream snapshot + * Imported Upstream version 0.142.2431+gita5831aa + * Fixes for armel and armhf (Closes: #752168) + + -- Reinhard Tartler Thu, 10 Jul 2014 21:21:51 -0400 + +x264 (2:0.142.2412+gitd7e6896-1) unstable; urgency=medium + + * Update to new upstream snapshot + * Imported Upstream version 0.142.2412+gitd7e6896 + * Drop powerpcspe.patch which got upstreamed + + -- Rico Tzschichholz Sat, 07 Jun 2014 09:16:36 +0200 + +x264 (2:0.142.2389+git956c8d8-5) unstable; urgency=medium + + [ Peter Michael Green ] + * Check gcc version directly to determine whether or not + -fno-aggressive-loop-optimizations should be set rather than assuming based + on architecture. Closes: #745104 + + [ Reinhard Tartler ] + * Recompile against libav10 + * Link dynamically against libgpac + + -- Reinhard Tartler Mon, 12 May 2014 18:52:02 -0400 + +x264 (2:0.142.2389+git956c8d8-4) unstable; urgency=low + + * Do not set -fno-aggressive-loop-optimizations on sparc, which was + introduced only in gcc 4.8 and the debian sparc port currently uses + only gcc 4.6 (closes: #743713) + + -- Reinhard Tartler Sat, 05 Apr 2014 17:45:59 -0400 + +x264 (2:0.142.2389+git956c8d8-3) unstable; urgency=low + + * Upload to unstable + * Remove Andres Meja from Uploaders. Andres is MIA according to the MIA + team. Thank you for maintaining x264, Andres! (Closes: #743527) + * Bump standards version to 3.9.5, no changes needed + + -- Reinhard Tartler Sat, 05 Apr 2014 08:52:14 -0400 + +x264 (2:0.142.2389+git956c8d8-2) experimental; urgency=low + + [ William Grant ] + * Add aarch64-pic.patch to enable -fPIC on arm64 to fix link failure. + + [ Andrew Starr-Bochicchio ] + * Compile using -fno-aggressive-loop-optimizations (LP: #1241772) + + [ Dimitri John Ledkov ] + * Update config.guess/sub, attempt building on pp64el + + [ Reinhard Tartler ] + * Document the license of extras/cl*.h (Closes: #739499) + * Pickup the patches documented above from Ubuntu while retaining proper + attribution. + * Add autopkgtest test case "encode_testimage" + + [ Roland Stigge ] + * Disable altivec on powerpcspe (Closes: #701628) + + -- Reinhard Tartler Sun, 23 Mar 2014 11:09:02 -0400 + +x264 (2:0.142.2389+git956c8d8-1) experimental; urgency=low + + * Update to new upstream snapshot + + -- Reinhard Tartler Thu, 13 Feb 2014 23:27:06 +0000 + +x264 (2:0.133.2339+git585324f-2) unstable; urgency=low + + * Upload to unstable + * Tighten dependency on libgpac-dev + + -- Reinhard Tartler Mon, 19 Aug 2013 17:58:18 +0200 + +x264 (2:0.133.2339+git585324f-1) experimental; urgency=low + + * Update to new upstream snapshot + * Imported Upstream version 0.133.2339+git585324f + * Regenerate debian/control and manpage + + -- Rico Tzschichholz Fri, 26 Jul 2013 18:44:18 +0200 + +x264 (2:0.130.2282+git1db4621-2) experimental; urgency=low + + * Build against libav9 in debian/experimental + + -- Reinhard Tartler Mon, 20 May 2013 14:14:53 +0200 + +x264 (2:0.130.2282+git1db4621-1) experimental; urgency=low + + [ Rico Tzschichholz ] + * Update to new upstream snapshot + * Imported Upstream version 0.130.2282+git1db4621 + * Regenerate debian/control + * Regenerate manpage + * Fix some lintian warnings + + [ Reinhard Tartler ] + * Upload to experimental for now until the release team approves this + transition. + + -- Reinhard Tartler Mon, 20 May 2013 13:46:44 +0200 + +x264 (2:0.129.2238+git9c4ba4b-1) experimental; urgency=low + + [ Reinhard Tartler ] + * Build both 8bit and 10bit versions of libx264, Closes: #667573 + + [ Rico Tzschichholz ] + * Update to new upstream snapshot + * Imported Upstream version 0.129.2238+git9c4ba4b + * Regenerate manpage + * Regenerate debian/control + + -- Rico Tzschichholz Mon, 14 Jan 2013 16:51:23 +0100 + +x264 (2:0.125.2209+git68dfb7b-1) experimental; urgency=low + + * Update to new upstream snapshot + * Imported Upstream version 0.125.2209+git68dfb7b + * Regenerate manpage + * Regenerate debian/control + + -- Rico Tzschichholz Wed, 19 Sep 2012 09:58:50 +0200 + +x264 (2:0.124.2198+git1c97f35-1) experimental; urgency=low + + * Update to new upstream snapshot + * Imported Upstream version 0.124.2198+git1c97f35 + * Regenerate manpage + * Regenerate debian/control + + -- Rico Tzschichholz Fri, 25 May 2012 07:37:26 +0200 + +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/confflags b/confflags new file mode 100644 index 0000000..66dbfbe --- /dev/null +++ b/confflags @@ -0,0 +1,159 @@ +# -*- mode: makefile -*- +# vi:syntax=make +# configure flags logic + +extra_cflags = $(CFLAGS) $(CPPFLAGS) + +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) --disable-gpac + +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) +common_confflags += --host=$(DEB_HOST_GNU_TYPE) --cross-prefix=$(DEB_HOST_GNU_TYPE)- +endif + +ifneq (,$(filter stage1,$(DEB_BUILD_PROFILES))) +common_confflags += --disable-avs --disable-ffms +endif + +# 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 +static_confflags += --disable-asm +opt_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, mipsel and mips64el Debian arches; no upstream flags by +# default +ifneq (,$(filter mips mipsel mips64el,$(DEB_HOST_GNU_CPU))) +shared_confflags += --disable-asm +static_confflags += --disable-asm +opt_confflags += --disable-asm +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 +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..5f6fca9 --- /dev/null +++ b/control @@ -0,0 +1,74 @@ +Source: x264 +Section: libs +Priority: optional +Maintainer: Debian Multimedia Maintainers +Uploaders: + Reinhard Tartler , + Rico Tzschichholz +Build-Depends: + debhelper-compat (= 13), + libavformat-dev (>= 6:9) , + libffms2-dev , + nasm (>= 2.13) [any-i386 any-amd64], + pkg-config +Standards-Version: 4.6.1 +Vcs-Git: https://salsa.debian.org/multimedia-team/x264.git +Vcs-Browser: https://salsa.debian.org/multimedia-team/x264 +Homepage: https://www.videolan.org/developers/x264.html +Rules-Requires-Root: no + +Package: x264 +Section: graphics +Architecture: any +Build-Profiles: +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-164 +Architecture: any +Multi-Arch: same +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-164 (= ${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..00f81b9 --- /dev/null +++ b/control.in @@ -0,0 +1,74 @@ +Source: x264 +Section: libs +Priority: optional +Maintainer: Debian Multimedia Maintainers +Uploaders: + Reinhard Tartler , + Rico Tzschichholz +Build-Depends: + debhelper-compat (= 13), + libavformat-dev (>= 6:9) , + libffms2-dev , + nasm (>= 2.13) [any-i386 any-amd64], + pkg-config +Standards-Version: 4.6.1 +Vcs-Git: https://salsa.debian.org/multimedia-team/x264.git +Vcs-Browser: https://salsa.debian.org/multimedia-team/x264 +Homepage: https://www.videolan.org/developers/x264.html +Rules-Requires-Root: no + +Package: x264 +Section: graphics +Architecture: any +Build-Profiles: +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 +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..ecec628 --- /dev/null +++ b/copyright @@ -0,0 +1,164 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: x264 +Upstream-Contact: x264-devel@videolan.org +Source: http://www.videolan.org/developers/x264.html + +Files: * +Copyright: 2003-2022 x264 project +License: GPL-2+ +Comment: + 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-2020 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-2014 Reinhard Tartler + 2008-2014 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: tools/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. + +Files: extras/cl*.h +Copyright: (c) 2008-2012 The Khronos Group Inc +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Materials. + . + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +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'. 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/patches/0001-properly_detect_x32.patch b/patches/0001-properly_detect_x32.patch new file mode 100644 index 0000000..db06c23 --- /dev/null +++ b/patches/0001-properly_detect_x32.patch @@ -0,0 +1,50 @@ +From: Adam Borowski +Date: Tue, 30 Jul 2024 15:09:54 +0200 +Subject: Properly detect x32. + +As usually, x32 gets mistaken for amd64 (both are x86-64 ABIs after all). +This version doesn't use any assembly yet, a proper port is needed. +--- + common/common.h | 2 +- + configure | 8 ++++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/common/common.h b/common/common.h +index 975e1d4..ff1d410 100644 +--- a/common/common.h ++++ b/common/common.h +@@ -804,7 +804,7 @@ static ALWAYS_INLINE int x264_predictor_clip( int16_t (*dst)[2], int16_t (*mvc)[ + return cnt; + } + +-#if ARCH_X86 || ARCH_X86_64 ++#if ARCH_X86 || ARCH_X86_64 || ARCH_X32 + #include "x86/util.h" + #endif + +diff --git a/configure b/configure +index e242e73..de2b711 100755 +--- a/configure ++++ b/configure +@@ -736,6 +736,10 @@ esac + + LDFLAGS="$LDFLAGS $libm" + ++case `$CC -dumpmachine` in ++ *gnux32) host_cpu=x32 ++esac ++ + stack_alignment=4 + case $host_cpu in + i*86) +@@ -792,6 +796,10 @@ case $host_cpu in + ASFLAGS="$ASFLAGS -f elf64" + fi + ;; ++ x32) ++ ARCH="X32" ++ CFLAGS="$CFLAGS -fPIC" ++ ;; + powerpc*) + ARCH="PPC" + if [ $asm = auto ] ; then diff --git a/patches/0002-ppc-Fix-incompatible-pointer-type-errors.patch b/patches/0002-ppc-Fix-incompatible-pointer-type-errors.patch new file mode 100644 index 0000000..025582d --- /dev/null +++ b/patches/0002-ppc-Fix-incompatible-pointer-type-errors.patch @@ -0,0 +1,110 @@ +From: Anton Mitrofanov +Date: Tue, 12 Mar 2024 23:10:12 +0300 +Subject: ppc: Fix incompatible pointer type errors + +Use correct return type for pixel_sad_x3/x4 functions. +Bug report by Dominik 'Rathann' Mierzejewski . +--- + common/ppc/pixel.c | 82 +++++++++++++++++++++++++++--------------------------- + 1 file changed, 41 insertions(+), 41 deletions(-) + +diff --git a/common/ppc/pixel.c b/common/ppc/pixel.c +index 8aebda2..fd66e32 100644 +--- a/common/ppc/pixel.c ++++ b/common/ppc/pixel.c +@@ -854,43 +854,43 @@ static void pixel_sad_x4_16x8_altivec( uint8_t *fenc, uint8_t *pix0, uint8_t *pi + sum1v = (vec_s32_t) vec_sum4s( vec_absd( fencv, pix1v ), (vec_u32_t) sum1v ); \ + sum2v = (vec_s32_t) vec_sum4s( vec_absd( fencv, pix2v ), (vec_u32_t) sum2v ); + +-#define PIXEL_SAD_X3_ALTIVEC( name, ly ) \ +-static int name( uint8_t *fenc, uint8_t *pix0, \ +- uint8_t *pix1, uint8_t *pix2, \ +- intptr_t i_stride, int scores[3] ) \ +-{ \ +- ALIGNED_16( int sum0 ); \ +- ALIGNED_16( int sum1 ); \ +- ALIGNED_16( int sum2 ); \ +- \ +- LOAD_ZERO; \ +- vec_u8_t fencv, pix0v, pix1v, pix2v; \ +- vec_s32_t sum0v, sum1v, sum2v; \ +- \ +- sum0v = vec_splat_s32( 0 ); \ +- sum1v = vec_splat_s32( 0 ); \ +- sum2v = vec_splat_s32( 0 ); \ +- \ +- for( int y = 0; y < ly; y++ ) \ +- { \ +- PROCESS_PIXS \ +- } \ +- \ +- sum0v = vec_sums( sum0v, zero_s32v ); \ +- sum1v = vec_sums( sum1v, zero_s32v ); \ +- sum2v = vec_sums( sum2v, zero_s32v ); \ +- \ +- sum0v = vec_splat( sum0v, 3 ); \ +- sum1v = vec_splat( sum1v, 3 ); \ +- sum2v = vec_splat( sum2v, 3 ); \ +- \ +- vec_ste( sum0v, 0, &sum0 ); \ +- vec_ste( sum1v, 0, &sum1 ); \ +- vec_ste( sum2v, 0, &sum2 ); \ +- \ +- scores[0] = sum0; \ +- scores[1] = sum1; \ +- scores[2] = sum2; \ ++#define PIXEL_SAD_X3_ALTIVEC( name, ly ) \ ++static void name( uint8_t *fenc, uint8_t *pix0, \ ++ uint8_t *pix1, uint8_t *pix2, \ ++ intptr_t i_stride, int scores[3] ) \ ++{ \ ++ ALIGNED_16( int sum0 ); \ ++ ALIGNED_16( int sum1 ); \ ++ ALIGNED_16( int sum2 ); \ ++ \ ++ LOAD_ZERO; \ ++ vec_u8_t fencv, pix0v, pix1v, pix2v; \ ++ vec_s32_t sum0v, sum1v, sum2v; \ ++ \ ++ sum0v = vec_splat_s32( 0 ); \ ++ sum1v = vec_splat_s32( 0 ); \ ++ sum2v = vec_splat_s32( 0 ); \ ++ \ ++ for( int y = 0; y < ly; y++ ) \ ++ { \ ++ PROCESS_PIXS \ ++ } \ ++ \ ++ sum0v = vec_sums( sum0v, zero_s32v ); \ ++ sum1v = vec_sums( sum1v, zero_s32v ); \ ++ sum2v = vec_sums( sum2v, zero_s32v ); \ ++ \ ++ sum0v = vec_splat( sum0v, 3 ); \ ++ sum1v = vec_splat( sum1v, 3 ); \ ++ sum2v = vec_splat( sum2v, 3 ); \ ++ \ ++ vec_ste( sum0v, 0, &sum0 ); \ ++ vec_ste( sum1v, 0, &sum1 ); \ ++ vec_ste( sum2v, 0, &sum2 ); \ ++ \ ++ scores[0] = sum0; \ ++ scores[1] = sum1; \ ++ scores[2] = sum2; \ + } + + PIXEL_SAD_X3_ALTIVEC( pixel_sad_x3_8x8_altivec, 4 ) +@@ -965,10 +965,10 @@ static void pixel_sad_x3_16x8_altivec( uint8_t *fenc, uint8_t *pix0, + } + + #define PIXEL_SAD_X4_ALTIVEC( name, ly ) \ +-static int name( uint8_t *fenc, \ +- uint8_t *pix0, uint8_t *pix1, \ +- uint8_t *pix2, uint8_t *pix3, \ +- intptr_t i_stride, int scores[4] ) \ ++static void name( uint8_t *fenc, \ ++ uint8_t *pix0, uint8_t *pix1, \ ++ uint8_t *pix2, uint8_t *pix3, \ ++ intptr_t i_stride, int scores[4] ) \ + { \ + ALIGNED_16( int sum0 ); \ + ALIGNED_16( int sum1 ); \ diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..bc2f161 --- /dev/null +++ b/patches/series @@ -0,0 +1,2 @@ +0001-properly_detect_x32.patch +0002-ppc-Fix-incompatible-pointer-type-errors.patch diff --git a/rules b/rules new file mode 100755 index 0000000..7ef79fd --- /dev/null +++ b/rules @@ -0,0 +1,66 @@ +#!/usr/bin/make -f + +libx264N := libx264-$(shell awk '/define X264_BUILD/{print $$3}' x264.h) + +include /usr/share/dpkg/architecture.mk +include debian/confflags + +DH_INSTALL_FILES = debian/$(libx264N).install \ + debian/libx264-dev.install + +%: + dh $@ + +.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 + CFLAGS="$(extra_cflags)" 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="$(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 --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 + +override_dh_missing: + dh_missing --list-missing --sourcedir=debian/install + +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/tests/control b/tests/control new file mode 100644 index 0000000..4e48f18 --- /dev/null +++ b/tests/control @@ -0,0 +1,3 @@ +Tests: encode-testimage +Depends: ffmpeg, x264 +Restrictions: allow-stderr diff --git a/tests/encode-testimage b/tests/encode-testimage new file mode 100755 index 0000000..a56aab8 --- /dev/null +++ b/tests/encode-testimage @@ -0,0 +1,14 @@ +#!/bin/sh +# autopkgtest check: Use ffmpeg to produce a 10s test image, +# and use x264 to encode to H.264 high profile + +set -e + +cd "$AUTOPKGTEST_TMP" + +ffmpeg -y -filter_complex testsrc -t 10 in.avi +x264 --crf 24 -o out.mkv in.avi +ffprobe -of ini -show_streams out.mkv | tee avprobe.txt +grep "^codec_name=h264" avprobe.txt +grep "^codec_long_name=H.264" avprobe.txt +grep "^profile=High" avprobe.txt diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 0000000..6479205 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,2 @@ +--- +Repository: git://git.videolan.org/x264.git 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..76c3349 --- /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="https://code.videolan.org/videolan/x264.git" +X264_GIT_COMMIT="31e19f92f00c7003fa115047ce50978bc98c3a0d" +DATE_RETRIEVED="20231001" +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..9ef845b --- /dev/null +++ b/x264.1 @@ -0,0 +1,813 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. +.TH X264 "1" "January 2024" "Videolan project" "User Commands" +.SH NAME +x264 \- fast h264 encoder +.SH DESCRIPTION +x264 core:164 r3108 31e19f9 +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 (yes). +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 or L\-SMASH support (no) +.PP +Output bit depth: 8/10 +.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: +.TP +\fB\-\-no\-8x8dct\fR \fB\-\-bframes\fR 0 \fB\-\-no\-cabac\fR +\fB\-\-cqm\fR flat \fB\-\-weightp\fR 0 +No interlaced. +No lossless. +.TP +\- main: +\fB\-\-no\-8x8dct\fR \fB\-\-cqm\fR flat +No lossless. +.TP +\- high: +No lossless. +.TP +\- high10: +No lossless. +Support for bit depth 8\-10. +.TP +\- high422: +No lossless. +Support for bit depth 8\-10. +Support for 4:2:0/4:2:2 chroma subsampling. +.TP +\- high444: +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: +.TP +\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 +.TP +\- superfast: +\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 +.TP +\- veryfast: +\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 +.TP +\- faster: +\fB\-\-no\-mixed\-refs\fR \fB\-\-rc\-lookahead\fR 20 +\fB\-\-ref\fR 2 \fB\-\-subme\fR 4 \fB\-\-weightp\fR 1 +.TP +\- fast: +\fB\-\-rc\-lookahead\fR 30 \fB\-\-ref\fR 2 \fB\-\-subme\fR 6 +\fB\-\-weightp\fR 1 +.TP +\- medium: +Default settings apply. +.TP +\- slow: +\fB\-\-direct\fR auto \fB\-\-rc\-lookahead\fR 50 \fB\-\-ref\fR 5 +\fB\-\-subme\fR 8 \fB\-\-trellis\fR 2 +.TP +\- slower: +\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 +.TP +\- veryslow: +\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 +.TP +\- placebo: +\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 +.TP +Overridden by user settings. +Multiple tunings are separated by commas. +Only one psy tuning can be used at a time. +\- film (psy tuning): +.TP +\fB\-\-deblock\fR \fB\-1\fR:\-1 \fB\-\-psy\-rd\fR :0.15 +\- animation (psy tuning): +.TP +\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} +.TP +\- grain (psy tuning): +\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 +.TP +\- stillimage (psy tuning): +\fB\-\-aq\-strength\fR 1.2 \fB\-\-deblock\fR \fB\-3\fR:\-3 +\fB\-\-psy\-rd\fR 2.0:0.7 +.TP +\- psnr (psy tuning): +\fB\-\-aq\-mode\fR 0 \fB\-\-no\-psy\fR +.TP +\- ssim (psy tuning): +\fB\-\-aq\-mode\fR 2 \fB\-\-no\-psy\fR +.TP +\- fastdecode: +\fB\-\-no\-cabac\fR \fB\-\-no\-deblock\fR \fB\-\-no\-weightb\fR +\fB\-\-weightp\fR 0 +.TP +\- zerolatency: +\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 +.TP +\fB\-\-slices\-max\fR +Absolute maximum slices per frame; overrides +slice\-max\-size/slice\-max\-mbs when necessary +.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 (max) +.HP +\fB\-\-slice\-min\-mbs\fR Limit the size of each slice in macroblocks (min) +.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 +\- 6: mono \- 2D frame without any frame packing +\- 7: tile format \- L is on top\-left, R split across +.PP +Ratecontrol: +.TP +\fB\-q\fR, \fB\-\-qp\fR +Force constant QP (0\-81, 0=lossless) +.TP +\fB\-B\fR, \fB\-\-bitrate\fR +Set bitrate (kbit/s) +.TP +\fB\-\-crf\fR +Quality\-based VBR (\fB\-12\-51\fR) [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 [81] +.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 +\- 3: Auto\-variance AQ with bias to dark scenes +.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 +.TP +,,