From 4d13a1de5d07bb3e234ec43bf4877ae2df27b8de Mon Sep 17 00:00:00 2001 From: Marshall Banana Date: Wed, 5 Nov 2014 01:29:32 +0100 Subject: [PATCH 1/1] Imported Debian patch 1.4-3~trusty --- debian/changelog | 125 +++++ debian/compat | 1 + debian/confflags | 45 ++ debian/control | 73 +++ debian/control.in | 73 +++ debian/copyright | 115 +++++ debian/getapi.sh | 2 + debian/libx265-dev.install | 6 + debian/libx265N.install | 2 + ...ut_param_analysis-mode_save_and_load.patch | 16 + debian/patches/cpu-detection.patch | 18 + .../fix-reST-parsing-issues-in-docs.patch | 31 ++ ...bf_is_innefective_at_lower_rd_levels.patch | 15 + debian/patches/series | 6 + ...ptions-using-their-param_parse-names.patch | 13 + debian/patches/version.patch | 13 + debian/rules | 78 +++ debian/source/format | 1 + debian/source/include-binaries | 1 + debian/source/options | 2 + debian/test.y4m.xz | Bin 0 -> 8056 bytes debian/upstream-changelog_help.txt | 1 + debian/watch | 2 + debian/x265-10bit.in | 3 + debian/x265-doc.doc-base | 10 + debian/x265-doc.docs | 2 + debian/x265-doc.links | 2 + debian/x265-help.txt | 174 +++++++ debian/x265.1 | 472 ++++++++++++++++++ debian/x265.install | 2 + debian/x265.links | 3 + debian/x265.manpages | 1 + 32 files changed, 1308 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/confflags create mode 100644 debian/control create mode 100644 debian/control.in create mode 100644 debian/copyright create mode 100755 debian/getapi.sh create mode 100644 debian/libx265-dev.install create mode 100644 debian/libx265N.install create mode 100644 debian/patches/bug_fix_for_validatefanout_param_analysis-mode_save_and_load.patch create mode 100644 debian/patches/cpu-detection.patch create mode 100644 debian/patches/fix-reST-parsing-issues-in-docs.patch create mode 100644 debian/patches/make_it_clear_that_--fast-cbf_is_innefective_at_lower_rd_levels.patch create mode 100644 debian/patches/series create mode 100644 debian/patches/show-options-using-their-param_parse-names.patch create mode 100644 debian/patches/version.patch create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/source/include-binaries create mode 100644 debian/source/options create mode 100644 debian/test.y4m.xz create mode 100644 debian/upstream-changelog_help.txt create mode 100644 debian/watch create mode 100644 debian/x265-10bit.in create mode 100644 debian/x265-doc.doc-base create mode 100644 debian/x265-doc.docs create mode 100644 debian/x265-doc.links create mode 100644 debian/x265-help.txt create mode 100644 debian/x265.1 create mode 100644 debian/x265.install create mode 100644 debian/x265.links create mode 100644 debian/x265.manpages diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..ec3ec40 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,125 @@ +x265 (1.4-3~trusty) trusty; urgency=low + + * Upstream bugfixes: + * cli: bug fix for validatefanout param analysis-mode=save and load + * docs: fix reST parsing issues + + -- Marshall Banana Wed, 05 Nov 2014 01:29:32 +0100 + +x265 (1.4-2~trusty2) trusty; urgency=low + + * Install documentation in x265-doc package to avoid package conflicts + + -- Marshall Banana Sat, 01 Nov 2014 02:49:51 +0100 + +x265 (1.4-1~trusty) trusty; urgency=low + + * New upstream release + + -- Marshall Banana Sat, 01 Nov 2014 00:20:42 +0100 + +x265 (1.3-4~trusty) trusty; urgency=low + + * Update manpage + + -- Marshall Banana Wed, 01 Oct 2014 18:09:33 +0200 + +x265 (1.3-3~trusty) trusty; urgency=low + + * Rename x265-10b to x265-10bit + * Provide x265-16bit via symbolic link + + -- Marshall Banana Wed, 01 Oct 2014 17:56:41 +0200 + +x265 (1.3-2~trusty) trusty; urgency=low + + * Add doc-base control file + + -- Marshall Banana Fri, 05 Sep 2014 04:07:20 +0200 + +x265 (1.3-1~trusty) trusty; urgency=low + + * New upstream release + + -- Marshall Banana Fri, 22 Aug 2014 20:30:50 +0200 + +x265 (1.2+510-hg2bdcfcc1bb33-1~trusty) trusty; urgency=low + + * Current snapshot + + -- Marshall Banana Mon, 11 Aug 2014 12:51:05 +0200 + +x265 (1.2-3~trusty) trusty; urgency=low + + * Build static library from different object files + + -- Marshall Banana Mon, 21 Jul 2014 05:29:20 +0200 + +x265 (1.2-2~trusty1) trusty; urgency=low + + * Provide separate optimized shared libraries for i686 + + -- Marshall Banana Fri, 11 Jul 2014 20:36:37 +0200 + +x265 (1.2-1~trusty) trusty; urgency=low + + * New upstream version + * Update patch + * Update man page + * Install upstream changelog + + -- Marshall Banana Thu, 10 Jul 2014 19:40:33 +0200 + +x265 (1.1-4~trusty) trusty; urgency=low + + * Install 10bit binary to make usage of 10bit library possible. + + -- Marshall Banana Tue, 17 Jun 2014 10:53:50 +0200 + +x265 (1.1-3~trusty) trusty; urgency=low + + * Don't rename 10 bit library + + -- Marshall Banana Fri, 13 Jun 2014 16:43:34 +0200 + +x265 (1.1-2~trusty) trusty; urgency=low + + * Build less packages + + -- Marshall Banana Wed, 11 Jun 2014 03:47:39 +0200 + +x265 (1.1-1~trusty) trusty; urgency=low + + * New upstream version + + -- Marshall Banana Fri, 13 Jun 2014 16:42:16 +0200 + +x265 (1.1) unstable; urgency=low + + * New upstream version + + -- Marshall Banana Sat, 07 Jun 2014 17:44:06 +0200 + +x265 (1.0+5-dcf74ea39e31) unstable; urgency=low + + * New upstream version + + -- Marshall Banana Sun, 04 May 2014 19:07:30 +0100 + +x265 (0.9+114-c630b0b393ee) unstable; urgency=low + + * New upstream version + + -- Marshall Banana Fri, 04 Apr 2014 01:45:30 +0100 + +x265 (0.8+52-93861c42b879) unstable; urgency=low + + * New upstream version + + -- Marshall Banana Sat, 08 Mar 2014 10:08:00 +0100 + +x265 (0.7+216-591ca91f0501) unstable; urgency=low + + * Initial upload + + -- Marshall Banana Wed, 19 Feb 2014 21:30:00 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/confflags b/debian/confflags new file mode 100644 index 0000000..4d906c7 --- /dev/null +++ b/debian/confflags @@ -0,0 +1,45 @@ +libdir := lib/$(DEB_HOST_MULTIARCH) + + +common_confflags := \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_VERBOSE_MAKEFILE=ON + +8bit_confflags := \ + $(common_confflags) \ + -DLIB_INSTALL_DIR=$(libdir) + +10bit_confflags := \ + $(common_confflags) \ + -DBIN_INSTALL_DIR=$(libdir)/x265-10bit \ + -DLIB_INSTALL_DIR=$(libdir)/x265-10bit \ + -DHIGH_BIT_DEPTH=ON + + +static_confflags := \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_CLI=OFF \ + -DENABLE_SHARED=OFF + +8bit_static_confflags := \ + $(static_confflags) \ + -DLIB_INSTALL_DIR=$(libdir) + +10bit_static_confflags := \ + $(static_confflags) \ + -DLIB_INSTALL_DIR=$(libdir)/x265-10bit \ + -DHIGH_BIT_DEPTH=ON + + +# disable assembly on x86 +ifneq (,$(filter i386 i486 i586 i686 pentium,$(DEB_HOST_GNU_CPU))) +noasm = -DENABLE_ASSEMBLY=OFF -DCMAKE_CXX_FLAGS='-DX86_64=0' +8bit_confflags += $(noasm) +10bit_confflags += $(noasm) +8bit_static_confflags += $(noasm) +10bit_static_confflags += $(noasm) +endif + diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..c1c12f9 --- /dev/null +++ b/debian/control @@ -0,0 +1,73 @@ +Source: x265 +Section: libs +Priority: optional +Maintainer: Marshall Banana +Homepage: https://bitbucket.org/multicoreware/x265/wiki/Home +Standards-Version: 3.9.5 +Build-Depends: + debhelper (>= 9), + cmake (>= 2.8.8), + python3-sphinx, + yasm (>= 1.2.0) +Vcs-Browser: https://bitbucket.org/multicoreware/x265/src + +Package: x265 +Architecture: any +Section: video +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: H.265/HEVC video encoder - frontend binary + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + +Package: libx265-35 +Architecture: any +Pre-Depends: + ${misc:Pre-Depends} +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: H.265/HEVC video encoder - runtime files + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + +Package: libx265-dev +Architecture: any +Section: libdevel +Depends: + ${misc:Depends}, + libx265-35 (= ${binary:Version}) +Description: H.265/HEVC video encoder - development files + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + . + This package contains the static library and + headers used to build programs that use libx265-35. + +Package: x265-doc +Architecture: all +Section: doc +Depends: + ${misc:Depends}, + libjs-jquery (>= 1.4), + libjs-underscore +Description: x265 documentation + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + . + This package contains the x265 documentation. + +Package: x265-dbg +Architecture: any +Section: debug +Priority: extra +Depends: + ${misc:Depends}, + x265 (= ${binary:Version}), + libx265-35 (= ${binary:Version}) +Description: debugging symbols for x265 and libx265 + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + . + This package contains the debugging symbols for x265. diff --git a/debian/control.in b/debian/control.in new file mode 100644 index 0000000..434ba69 --- /dev/null +++ b/debian/control.in @@ -0,0 +1,73 @@ +Source: x265 +Section: libs +Priority: optional +Maintainer: Marshall Banana +Homepage: https://bitbucket.org/multicoreware/x265/wiki/Home +Standards-Version: 3.9.5 +Build-Depends: + debhelper (>= 9), + cmake (>= 2.8.8), + python3-sphinx, + yasm (>= 1.2.0) +Vcs-Browser: https://bitbucket.org/multicoreware/x265/src + +Package: x265 +Architecture: any +Section: video +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: H.265/HEVC video encoder - frontend binary + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + +Package: libx265-@API@ +Architecture: any +Pre-Depends: + ${misc:Pre-Depends} +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Description: H.265/HEVC video encoder - runtime files + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + +Package: libx265-dev +Architecture: any +Section: libdevel +Depends: + ${misc:Depends}, + libx265-@API@ (= ${binary:Version}) +Description: H.265/HEVC video encoder - development files + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + . + This package contains the static library and + headers used to build programs that use libx265-@API@. + +Package: x265-doc +Architecture: all +Section: doc +Depends: + ${misc:Depends}, + libjs-jquery (>= 1.4), + libjs-underscore +Description: x265 documentation + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + . + This package contains the x265 documentation. + +Package: x265-dbg +Architecture: any +Section: debug +Priority: extra +Depends: + ${misc:Depends}, + x265 (= ${binary:Version}), + libx265-@API@ (= ${binary:Version}) +Description: debugging symbols for x265 and libx265 + library for encoding video using the High + Efficiency Video Coding (HEVC/H.265) standard. + . + This package contains the debugging symbols for x265. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..bd5f670 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,115 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: x265 +Upstream-Contact: Steve Borho +Source: https://bitbucket.org/multicoreware/x265/wiki/Home + + +Files: * +Copyright: 2013-2014 x265 project +License: GPL-2.0+ + +Files: source/common/const-a.asm + source/common/cpu-a.asm + source/common/intrapred.h + source/common/mc-a*.asm + source/common/pixel.h + source/common/pixel-32.asm + source/common/pixel-a.asm + source/common/sad*.asm + source/common/ssd.asm + source/common/x86inc.asm + source/test/checkasm-a.asm +Copyright: 2003-2014 x264 project +License: GPL-2.0+ + +Files: source/common/x86util.asm +Copyright: 2008-2013 x264 project +License: ISC + +Files: source/compat/getopt/* +Copyright: 1987-2001 Free Software Foundation, Inc. +License: LGPL-2.1+ + +Files: source/Lib/* +Copyright: 2010-2013 ITU/ISO/IEC +License: BSD-3-clause + +Files: debian/* +Copyright: 2014 djcj +License: ISC + + +License: GPL-2.0+ + 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: 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. + + +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 library; if not, see . + . + On Debian systems, the complete text of the GNU Lesser General + Public License version 3 can be found in '/usr/share/common-licenses/LGPL-2.1'. + + +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: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * 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. + * Neither the name of the ITU/ISO/IEC nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS + 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. diff --git a/debian/getapi.sh b/debian/getapi.sh new file mode 100755 index 0000000..c23fd26 --- /dev/null +++ b/debian/getapi.sh @@ -0,0 +1,2 @@ +#!/bin/sh +egrep 'set\(X265_BUILD ' source/CMakeLists.txt | sed -e 's/set(X265_BUILD //; s/)//g' diff --git a/debian/libx265-dev.install b/debian/libx265-dev.install new file mode 100644 index 0000000..f58613d --- /dev/null +++ b/debian/libx265-dev.install @@ -0,0 +1,6 @@ +usr/include +usr/lib/*/*.a +usr/lib/*/*.so +usr/lib/*/pkgconfig +usr/lib/*/x265-10bit/*.a +usr/lib/*/x265-10bit/*.so diff --git a/debian/libx265N.install b/debian/libx265N.install new file mode 100644 index 0000000..3d608f1 --- /dev/null +++ b/debian/libx265N.install @@ -0,0 +1,2 @@ +usr/lib/*/*.so.* +usr/lib/*/x265-10bit/*.so.* diff --git a/debian/patches/bug_fix_for_validatefanout_param_analysis-mode_save_and_load.patch b/debian/patches/bug_fix_for_validatefanout_param_analysis-mode_save_and_load.patch new file mode 100644 index 0000000..1048433 --- /dev/null +++ b/debian/patches/bug_fix_for_validatefanout_param_analysis-mode_save_and_load.patch @@ -0,0 +1,16 @@ +--- a/source/x265.cpp ++++ b/source/x265.cpp +@@ -772,12 +772,9 @@ + {\ + bErr = 0;\ + p = strstr(paramBuf, opt "=");\ +- char* q = strstr(paramBuf, "no-"opt);\ + if (p && sscanf(p, opt "=%d" , &i) && param_val != i)\ + bErr = 1;\ +- else if (!param_val && !q)\ +- bErr = 1;\ +- else if (param_val && (q || !strstr(paramBuf, opt)))\ ++ else if (param_val && strstr(paramBuf, "no-"opt))\ + bErr = 1;\ + if (bErr)\ + {\ diff --git a/debian/patches/cpu-detection.patch b/debian/patches/cpu-detection.patch new file mode 100644 index 0000000..1a441ac --- /dev/null +++ b/debian/patches/cpu-detection.patch @@ -0,0 +1,18 @@ +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -39,12 +39,14 @@ + set(X86_ALIASES x86 i386 i686 x86_64 amd64) + list(FIND X86_ALIASES "${SYSPROC}" X86MATCH) + if("${SYSPROC}" STREQUAL "" OR X86MATCH GREATER "-1") +- message(STATUS "Detected x86 target processor") + set(X86 1) + add_definitions(-DX265_ARCH_X86=1) + if("${CMAKE_SIZEOF_VOID_P}" MATCHES 8) ++ message(STATUS "Detected x86_64 system processor") + set(X64 1) + add_definitions(-DX86_64=1) ++ else() ++ message(STATUS "Detected x86 system processor") + endif() + elseif(${SYSPROC} STREQUAL "armv6l") + message(STATUS "Detected ARM target processor") diff --git a/debian/patches/fix-reST-parsing-issues-in-docs.patch b/debian/patches/fix-reST-parsing-issues-in-docs.patch new file mode 100644 index 0000000..9658aff --- /dev/null +++ b/debian/patches/fix-reST-parsing-issues-in-docs.patch @@ -0,0 +1,31 @@ +--- a/doc/reST/cli.rst ++++ b/doc/reST/cli.rst +@@ -63,7 +63,7 @@ + is used for WPP and for distributed analysis and motion search: + :option:`--wpp` :option:`--pmode` and :option:`--pme` respectively. + +- If :option:`--threads`=1 is specified, then no thread pool is ++ If :option:`--threads` 1 is specified, then no thread pool is + created. When no thread pool is created, all the thread pool + features are implicitly disabled. If all the pool features are + disabled by the user, then the pool is implicitly disabled. +@@ -904,8 +904,8 @@ + between 0 and 1, or in kbits. In other words these two option pairs + are equivalent:: + +- :option:`--vbv-bufsize` 1000 :option:`--vbv-init` 900 +- :option:`--vbv-bufsize` 1000 :option:`--vbv-init` 0.9 ++ --vbv-bufsize 1000 --vbv-init 900 ++ --vbv-bufsize 1000 --vbv-init 0.9 + + Default 0.9 + +@@ -1206,7 +1206,7 @@ + .. option:: --aud, --no-aud + + Emit an access unit delimiter NAL at the start of each slice access +- unit. If option:`--repeat-headers` is not enabled (indicating the ++ unit. If :option:`--repeat-headers` is not enabled (indicating the + user will be writing headers manually at the start of the stream) + the very first AUD will be skipped since it cannot be placed at the + start of the access unit, where it belongs. Default disabled diff --git a/debian/patches/make_it_clear_that_--fast-cbf_is_innefective_at_lower_rd_levels.patch b/debian/patches/make_it_clear_that_--fast-cbf_is_innefective_at_lower_rd_levels.patch new file mode 100644 index 0000000..d1ee9cb --- /dev/null +++ b/debian/patches/make_it_clear_that_--fast-cbf_is_innefective_at_lower_rd_levels.patch @@ -0,0 +1,15 @@ +--- a/source/encoder/encoder.cpp ++++ b/source/encoder/encoder.cpp +@@ -1330,6 +1330,12 @@ + p->bBPyramid = 0; + + /* Disable features which are not supported by the current RD level */ ++ if (p->rdLevel < 5) ++ { ++ if (p->bEnableCbfFastMode) /* impossible */ ++ x265_log(p, X265_LOG_WARNING, "--fast-cbf disabled, requires --rdlevel 5 or higher\n"); ++ p->bEnableCbfFastMode = 0; ++ } + if (p->rdLevel < 4) + { + if (p->psyRdoq > 0) /* impossible */ diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..d428085 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,6 @@ +version.patch +cpu-detection.patch +show-options-using-their-param_parse-names.patch +make_it_clear_that_--fast-cbf_is_innefective_at_lower_rd_levels.patch +bug_fix_for_validatefanout_param_analysis-mode_save_and_load.patch +fix-reST-parsing-issues-in-docs.patch diff --git a/debian/patches/show-options-using-their-param_parse-names.patch b/debian/patches/show-options-using-their-param_parse-names.patch new file mode 100644 index 0000000..a6cba2d --- /dev/null +++ b/debian/patches/show-options-using-their-param_parse-names.patch @@ -0,0 +1,13 @@ +--- a/source/common/param.cpp ++++ b/source/common/param.cpp +@@ -1152,8 +1152,8 @@ + fprintf(stderr, "psy-rd=%.2lf ", param->psyRd); + if (param->psyRdoq > 0.) + fprintf(stderr, "psy-rdoq=%.2lf ", param->psyRdoq); +- TOOLOPT(param->bEnableEarlySkip, "esd"); +- TOOLOPT(param->bEnableCbfFastMode, "cfm"); ++ TOOLOPT(param->bEnableEarlySkip, "early-skip"); ++ TOOLOPT(param->bEnableCbfFastMode, "fast-cbf"); + if (param->noiseReduction) + fprintf(stderr, "nr=%d ", param->noiseReduction); + TOOLOPT(param->bEnableLoopFilter, "lft"); diff --git a/debian/patches/version.patch b/debian/patches/version.patch new file mode 100644 index 0000000..639310c --- /dev/null +++ b/debian/patches/version.patch @@ -0,0 +1,13 @@ +--- a/source/cmake/version.cmake ++++ b/source/cmake/version.cmake +@@ -6,8 +6,8 @@ + find_package(Git QUIET) # present in 2.8.8 + + # defaults, in case everything below fails +-set(X265_VERSION "unknown") +-set(X265_LATEST_TAG "0.0") ++set(X265_VERSION "1.4") ++set(X265_LATEST_TAG "1.4") + set(X265_TAG_DISTANCE "0") + + if(EXISTS ${CMAKE_SOURCE_DIR}/../.hg_archival.txt) diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..3fc0ba7 --- /dev/null +++ b/debian/rules @@ -0,0 +1,78 @@ +#!/usr/bin/make -f + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +API ?= $(shell debian/getapi.sh) +LIB = $(CURDIR)/debian/install/usr/lib/$(DEB_HOST_MULTIARCH) + +include debian/confflags + +builddir = compiling +x265-clean = rm -rf $(builddir) && mkdir $(builddir) +x265-install = $(MAKE) -C $(builddir) install DESTDIR=$(CURDIR)/debian/install +x265-build = dh_auto_build -D$(builddir) +test-build = \ + $(builddir)/x265 --pass 1 --bitrate 10 -o /dev/null debian/test.y4m && \ + $(builddir)/x265 --pass 2 --bitrate 10 -o test.hevc debian/test.y4m + + +%: + dh ${@} --parallel + +override_dh_auto_clean: + dh_auto_clean + rm -rf $(builddir) doc/reST/build debian/install debian/test.y4m + +override_dh_auto_build: + sed -e 's/@API@/$(API)/g' debian/control.in > debian/control + cp -f debian/libx265N.install debian/libx265-$(API).install + unxz -fk debian/test.y4m.xz +# build x265 8-bit + mkdir $(builddir) + cd $(builddir) && cmake $(8bit_confflags) ../source + $(x265-build) + $(x265-install) +# test x265 8-bit + $(test-build) +# build x265 10-bit + $(x265-clean) + cd $(builddir) && cmake $(10bit_confflags) ../source + $(x265-build) + $(x265-install) + sed -e 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \ + debian/x265-10bit.in > $(builddir)/x265-10bit + install -c -D -m755 $(builddir)/x265-10bit $(CURDIR)/debian/install/usr/bin +# test x265 10-bit + $(test-build) +# build x265 8-bit static + $(x265-clean) + rm -f $(LIB)/libx265.a + cd $(builddir) && cmake $(8bit_static_confflags) ../source + $(x265-build) + install -c -D -m644 $(builddir)/libx265.a $(LIB) +# build x265 10-bit static + $(x265-clean) + rm -f $(LIB)/x265-10bit/libx265.a + cd $(builddir) && cmake $(10bit_static_confflags) ../source + $(x265-build) + install -c -D -m644 $(builddir)/libx265.a $(LIB)/x265-10bit +# build documentation + $(MAKE) -C doc/reST pickle html + +override_dh_install: + dh_install --list-missing --sourcedir=$(CURDIR)/debian/install + +override_dh_installchangelogs: + dh_installchangelogs -px265-doc -plibx265-$(API) ChangeLog + +override_dh_installdocs: + dh_installdocs -plibx265-$(API) -px265-doc -X.buildinfo + dh_installdocs -px265 -px265-dbg -plibx265-dev --link-doc=libx265-$(API) + +override_dh_strip: + dh_strip --dbg-package=x265-dbg + +override_dh_builddeb: + dh_builddeb -- -Zxz -z9 + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/include-binaries b/debian/source/include-binaries new file mode 100644 index 0000000..c489363 --- /dev/null +++ b/debian/source/include-binaries @@ -0,0 +1 @@ +debian/test.y4m.xz diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..74a452b --- /dev/null +++ b/debian/source/options @@ -0,0 +1,2 @@ +compression = "xz" +compression-level = 9 diff --git a/debian/test.y4m.xz b/debian/test.y4m.xz new file mode 100644 index 0000000000000000000000000000000000000000..28d3c1c440903ca2e254d297218a1de18536f1d9 GIT binary patch literal 8056 zcmeI1_fym98pQ)kTL@i1dQdSClxhSa(quspqy$+4QbG+)q=l+M*nqHtB8H}bhysa# zlt?e3DWS7~FiKbuX)6+X3y|HpKltk%@65V)XTE>I^Uj$wpYy!uIn<1@cL0Id=HHQx zSwV6vq970`RAsJ^$yDXgasr(pn6R{Yv%A^t4+O}xA8m@^p&C1<9)M**&nNUNa(?!D z>~I}rw@I139F;AIjq01^g_Eb&#ra}+A;Hp1xfXoRKU7HNiTj~0+vumu8y^c#BMSI$ z2W%=9l&TM)GZUf-8eycXfi@$coEEIeMD@yRVqw^lblB3o88w`H?_70J0NrB$l3^I_ z5zB(@<%k)xlJUX4Yra9n_9)zI_a=YO(8c@199m0Jy*&1#D-tI}ZLjTz4x}r1aXq}i z%TyRyjZPt&8E8$~hU+3);oU`USqw>L$}a($GEN4!Mvsk1mm&&kNgbfH$?nR?XT&@Q zmBv(4%gb@E=B|+o3;zkqN5q<{GSlrUFS~0Fy8Y~>ocy>1M4cL6* zgX5VeiJ-2MHN*TZXA&;{KqO(?zSmnZJElC6PTN1R^bAaQ21RwMWOvr*I{W>X1Tzc_*yC6?FD(X#k-GWG<6TWGIU z^*Mh}ggk;Z_2LoX;L7ZpU-U9Q5l?~X(iG+MYx>3~;(xf*982ta9er=L@$D~P6gkA! z83Uu`^=ljDJD4zgX9XyK+g1d%fqF%D#%jpBU!1Y^=6ZRR$3ZfoloT&z8YN+G)VOFY zc*9km@LQ^D-HHA}$UX7~vd4w^{NcwfTD;nHYSy&MVj)_c=YsznHz1~nwu!ei<^|gsUj01gP=u_9?{4#W8#gAbfZXX6N7X9oDCgd4ei}m z5@IjSH0I2()i$=axAc9kF+Aj5oTVWPxba+N*dXTktj54dhZ=kPj25vt#=4=Ts4FVv z%~QUUb8k?7ZWj(Qxi)dDW#YD_(kxP7lIa z-T#E}HV~~jLSne9&S+%KPdk$0ChC&I{{3iHA(Zz z1b6G(jS0r|rL7JHBd#<$c0A4eJl4QTs#5+n;VRuI-Eu+L6#39y*i|*Bq1wPh4@RX( z+^z4E;iyaQ9JGn?Mw^^oiZsV1?L~9x1`HE1aD-o%peS82QgD?)~!OdZP4#*k$0t>nw$!nJQvLKBrJbQ zDo<{%oo*~eR=75D)!-+6sP}C$l=V}=2n8sn_$ z2IJ9-EXE^zSTcWHtxf3tDBmZC&Y-ESQff=VeD4cl&O5f%>R7{>VKW{|sX6`Oj9o*q9%O*%FbCqrwsDvKBj!IbavaxSj!j_^w z%{j7j?Y(_pcEGSv3hkG1gc$D8kQa9qJ$}@Q?S=XO{#s|Xvsu}N#IJkB%kY6PA5$QG zHz)$N%hS&!C>Zk-4`QYmIjYKbl>7LN_&XHOPI=_+R@!+r_7@c^fo(S}Ou)lwfA{E= zSn!#ArT~i)XgLH~eArSRqb8AGo1%8(W?u10mt}=s{4gOa`8F(V9U8VHPT|P1$U2;O zHTHo2pLpy)sMFWc*8F-^fMDO?X+W@Vga9BIAlTmwWl>vqU z3s@xNuh~g+3C$-{p-FCVnaFn2@-YAcmMzZ literal 0 HcmV?d00001 diff --git a/debian/upstream-changelog_help.txt b/debian/upstream-changelog_help.txt new file mode 100644 index 0000000..7539445 --- /dev/null +++ b/debian/upstream-changelog_help.txt @@ -0,0 +1 @@ +hg log --style changelog > ChangeLog diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..4867948 --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=3 +https://bitbucket.org/multicoreware/x265/get/([0-9.]+)\.tar\.(?:xz|bz2|gz) \ No newline at end of file diff --git a/debian/x265-10bit.in b/debian/x265-10bit.in new file mode 100644 index 0000000..18b1fb7 --- /dev/null +++ b/debian/x265-10bit.in @@ -0,0 +1,3 @@ +#!/bin/sh +LIBX265_PATH=/usr/lib/@DEB_HOST_MULTIARCH@/x265-10bit +LD_LIBRARY_PATH="$LIBX265_PATH:$LD_LIBRARY_PATH" $LIBX265_PATH/x265 "$@" diff --git a/debian/x265-doc.doc-base b/debian/x265-doc.doc-base new file mode 100644 index 0000000..904a43c --- /dev/null +++ b/debian/x265-doc.doc-base @@ -0,0 +1,10 @@ +Document: x265 +Title: x265 Documentation +Author: Steve Borho +Abstract: This is the official documentation x265, + a free H.265/HEVC video encoder. +Section: Video + +Format: HTML +Index: /usr/share/doc/x265-doc/html/index.html +Files: /usr/share/doc/x265-doc/html/*.html diff --git a/debian/x265-doc.docs b/debian/x265-doc.docs new file mode 100644 index 0000000..b05b5c7 --- /dev/null +++ b/debian/x265-doc.docs @@ -0,0 +1,2 @@ +doc/intra +doc/reST/build/html diff --git a/debian/x265-doc.links b/debian/x265-doc.links new file mode 100644 index 0000000..29586c4 --- /dev/null +++ b/debian/x265-doc.links @@ -0,0 +1,2 @@ +/usr/share/javascript/jquery/jquery.js /usr/share/doc/x265-doc/html/_static/jquery.js +/usr/share/javascript/underscore/underscore.js /usr/share/doc/x265-doc/html/_static/underscore.js diff --git a/debian/x265-help.txt b/debian/x265-help.txt new file mode 100644 index 0000000..dda07f7 --- /dev/null +++ b/debian/x265-help.txt @@ -0,0 +1,174 @@ + +Syntax: x265 [options] infile [-o] outfile + infile can be YUV or Y4M + outfile is raw HEVC bitstream + +Executable Options: +-h/--help Show this help text and exit +-V/--version Show version info and exit + +Output Options: +-o/--output Bitstream output file name + --log-level Logging level: none error warning info debug full. Default info + --no-progress Disable CLI progress reports + --[no-]cu-stats Enable logging stats about distribution of cu across all modes. Default disabled + --csv Comma separated log file, log level >= 3 frame log, else one line per run + +Input Options: + --input Raw YUV or Y4M input file name. `-` for stdin + --y4m Force parsing of input stream as YUV4MPEG2 regardless of file extension + --fps Source frame rate (float or num/denom), auto-detected if Y4M + --input-res WxH Source picture size [w x h], auto-detected if Y4M + --input-depth Bit-depth of input file. Default 8 + --input-csp Source color space: i420, i444 or i422, auto-detected if Y4M. Default: i420 +-f/--frames Maximum number of frames to encode. Default all + --seek First frame to encode + --[no-]interlace Indicate input pictures are interlace fields in temporal order. Default progressive + --dither Enable dither if downscaling to 8 bit pixels. Default disabled + +Quality reporting metrics: + --[no-]ssim Enable reporting SSIM metric scores. Default disabled + --[no-]psnr Enable reporting PSNR metric scores. Default disabled + +Profile, Level, Tier: + --profile Enforce an encode profile: main, main10, mainstillpicture + --level-idc Force a minumum required decoder level (as '5.0' or '50') + --[no-]high-tier If a decoder level is specified, this modifier selects High tier of that level + +Threading, performance: + --threads Number of threads for thread pool (0: detect CPU core count, default) +-F/--frame-threads Number of concurrently encoded frames. 0: auto-determined by core count + --[no-]wpp Enable Wavefront Parallel Processing. Default enabled + --[no-]pmode Parallel mode analysis. Default disabled + --[no-]pme Parallel motion estimation. Default disabled + --[no-]asm Override CPU detection. Default: auto + +Presets: +-p/--preset Trade off performance for compression efficiency. Default medium + ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, or placebo +-t/--tune Tune the settings for a particular type of source or situation: + psnr, ssim, zerolatency, or fastdecode + +Quad-Tree size and depth: +-s/--ctu <64|32|16> Maximum CU size (default: 64x64). Default 64 + --tu-intra-depth Max TU recursive depth for intra CUs. Default 1 + --tu-inter-depth Max TU recursive depth for inter CUs. Default 1 + --[no-]rect Enable rectangular motion partitions Nx2N and 2NxN. Default disabled + --[no-]amp Enable asymmetric motion partitions, requires --rect. Default disabled + +Analysis: + --rd <0..6> Level of RD in mode decision 0:least....6:full RDO. Default 3 + --psy-rd <0..2.0> Strength of psycho-visual rate distortion optimization, 0 to disable. Default 0.000000 + --psy-rdoq <0..50.0> Strength of psycho-visual optimization in quantization, 0 to disable. Default 0.000000 + --nr An integer value in range of 100 to 1000, which denotes strength of noise reduction. Default disabled + --[no-]tskip-fast Enable fast intra transform skipping. Default disabled + --[no-]early-skip Enable early SKIP detection. Default disabled + --[no-]fast-cbf Enable early outs based on whether residual is coded. Default disabled + +Coding tools: +-w/--[no-]weightp Enable weighted prediction in P slices. Default enabled + --[no-]weightb Enable weighted prediction in B slices. Default disabled + --[no-]cu-lossless Consider lossless mode in CU RDO decisions. Default disabled + --[no-]signhide Hide sign bit of one coeff per TU (rdo). Default enabled + --[no-]tskip Enable intra 4x4 transform skipping. Default disabled + +Temporal / motion search options: + --me Motion search method dia hex umh star full. Default 1 +-m/--subme Amount of subpel refinement to perform (0:least .. 7:most). Default 2 + --merange Motion search range. Default 57 + --max-merge <1..5> Maximum number of merge candidates. Default 2 + --[no-]temporal-mvp Enable temporal MV predictors. Default enabled + +Spatial / intra options: + --[no-]strong-intra-smoothing Enable strong intra smoothing for 32x32 blocks. Default enabled + --[no-]constrained-intra Constrained intra prediction (use only intra coded reference pixels) Default disabled + --[no-]b-intra Enable intra in B frames in veryslow presets. Default disabled + --[no-]fast-intra Enable faster search method for angular intra predictions. Default disabled + --rdpenalty <0..2> penalty for 32x32 intra TU in non-I slices. 0:disabled 1:RD-penalty 2:maximum. Default 0 + +Slice decision options: + --[no-]open-gop Enable open-GOP, allows I slices to be non-IDR. Default enabled +-I/--keyint Max IDR period in frames. -1 for infinite-gop. Default 250 +-i/--min-keyint Scenecuts closer together than this are coded as I, not IDR. Default: auto + --no-scenecut Disable adaptive I-frame decision + --scenecut How aggressively to insert extra I-frames. Default 40 + --rc-lookahead Number of frames for frame-type lookahead (determines encoder latency) Default 20 + --bframes Maximum number of consecutive b-frames (now it only enables B GOP structure) Default 4 + --bframe-bias Bias towards B frame decisions. Default 0 + --b-adapt <0..2> 0 - none, 1 - fast, 2 - full (trellis) adaptive B frame scheduling. Default 2 + --[no-]b-pyramid Use B-frames as references. Default enabled + --ref max number of L0 references to be allowed (1 .. 16) Default 3 + --qpfile Force frametypes and QPs for some or all frames + Format of each line: framenumber frametype QP + QP is optional (none lets x265 choose). Frametypes: I,i,P,B,b. + QPs are restricted by qpmin/qpmax. + +Rate control, Quantization: + --bitrate Target bitrate (kbps) for ABR (implied). Default 0 +-q/--qp QP for P slices in CQP mode (implied). --ipratio and --pbration determine other slice QPs + --crf Quality-based VBR (0-51). Default 28.000000 + --[no-]lossless Enable lossless: bypass transform, quant and loop filters globally. Default disabled + --crf-max With CRF+VBV, limit RF to this value. Default 0.000000 + May cause VBV underflows! + --crf-min With CRF+VBV, limit RF to this value. Default 0.000000 + this specifies a minimum rate factor value for encode! + --vbv-maxrate Max local bitrate (kbit/s). Default 0 + --vbv-bufsize Set size of the VBV buffer (kbit). Default 0 + --vbv-init Initial VBV buffer occupancy (fraction of bufsize or in kbits). Default 0.900000 + --aq-mode Mode for Adaptive Quantization - 0:none 1:uniform AQ 2:auto variance. Default 2 + --aq-strength Reduces blocking and blurring in flat and textured areas.(0 to 3.0). Default 1.000000 + --[no-]cutree Enable cutree for Adaptive Quantization. Default enabled + --ipratio QP factor between I and P. Default 1.400000 + --pbratio QP factor between P and B. Default 1.300000 + --cbqpoffs Chroma Cb QP Offset. Default 0 + --crqpoffs Chroma Cr QP Offset. Default 0 + --stats Filename for stats file in multipass pass rate control. Default x265_2pass.log + --pass Multi pass rate control. + - 1 : First pass, creates stats file + - 2 : Last pass, does not overwrite stats file + - 3 : Nth pass, overwrites stats file + --[no-]slow-firstpass Enable a slow first pass in a multipass rate control mode. Default disabled + --analysis-mode save - Dump analysis info into file, load - Load analysis buffers from the file. Default 0 + --analysis-file Specify file name used for either dumping or reading analysis data. + --scaling-list Specify a file containing HM style quant scaling lists or 'default' or 'off'. Default: off + --lambda-file Specify a file containing replacement values for the lambda tables + MAX_MAX_QP+1 floats for lambda table, then again for lambda2 table + Blank lines and lines starting with hash(#) are ignored + Comma is considered to be white-space + +Loop filters (deblock and SAO): + --[no-]lft Enable Deblocking Loop Filter. Default enabled + --[no-]sao Enable Sample Adaptive Offset. Default enabled + --[no-]sao-non-deblock Use non-deblocked pixels, else right/bottom boundary areas skipped. Default disabled + +VUI options: + --sar Sample Aspect Ratio, the ratio of width to height of an individual pixel. + Choose from 0=undef, 1=1:1("square"), 2=12:11, 3=10:11, 4=16:11, + 5=40:33, 6=24:11, 7=20:11, 8=32:11, 9=80:33, 10=18:11, 11=15:11, + 12=64:33, 13=160:99, 14=4:3, 15=3:2, 16=2:1 or custom ratio of . Default 0 + --crop-rect Add 'left,top,right,bottom' to the bitstream-level cropping rectangle + --overscan Specify whether it is appropriate for decoder to show cropped region: undef, show or crop. Default undef + --videoformat Specify video format from undef, component, pal, ntsc, secam, mac. Default undef + --range Specify black level and range of luma and chroma signals as full or limited Default limited + --colorprim Specify color primaries from undef, bt709, bt470m, bt470bg, smpte170m, + smpte240m, film, bt2020. Default undef + --transfer Specify transfer characteristics from undef, bt709, bt470m, bt470bg, smpte170m, + smpte240m, linear, log100, log316, iec61966-2-4, bt1361e, iec61966-2-1, + bt2020-10, bt2020-12. Default undef + --colormatrix Specify color matrix setting from undef, bt709, fcc, bt470bg, smpte170m, + smpte240m, GBR, YCgCo, bt2020nc, bt2020c. Default undef + --chromaloc Specify chroma sample location (0 to 5). Default of 0 + +Bitstream options: + --[no-]info Emit SEI identifying encoder and parameters. Default enabled + --[no-]aud Emit access unit delimiters at the start of each access unit. Default disabled + --[no-]hrd Enable HRD parameters signalling. Default disabled + --[no-]repeat-headers Emit SPS and PPS headers at each keyframe. Default disabled + --hash Decoded Picture Hash SEI 0: disabled, 1: MD5, 2: CRC, 3: Checksum. Default 0 + +Reconstructed video options (debugging): +-r/--recon Reconstructed raw image YUV or Y4M output file name + --recon-depth Bit-depth of reconstructed raw image file. Defaults to input bit depth, or 8 if Y4M + + +Full documentation may be found at http://x265.readthedocs.org/en/default/cli.html diff --git a/debian/x265.1 b/debian/x265.1 new file mode 100644 index 0000000..c388850 --- /dev/null +++ b/debian/x265.1 @@ -0,0 +1,472 @@ +.TH X265 "1" "AUGUST 2014" "v1.4" "User Commands" +.SH NAME +x265 \- H.265/HEVC video encoder + +.SH SYNOPSIS +.B x265 \fR[options] \fIinfile \fR[\-o] \fIoutfile +.br +Bit depth: 8 +.PP +.B x265\-10bit \fR[options] \fIinfile \fR[\-o] \fIoutfile +.br +Bit depth: 10 +.PP +infile can be YUV or Y4M +.br +outfile is raw HEVC bitstream + +.SH DESCRIPTION +Increasing demand for high definition and ultra\-high definition video, +along with an increasing desire for video on demand has led to +exponential growth in demand for bandwidth and storage requirements. +These challenges can be met by the new High Efficiency Video Coding +(HEVC) standard, also known as H.265. The x265 HEVC encoder project was +launched by MulticoreWare in 2013, aiming to provide the most efficient, +highest performance HEVC video encoder. +.SS About HEVC +The High Efficiency Video Coding (HEVC) was developed by the ISO/IEC +Moving Picture Experts Group (MPEG) and ITU\-T Video Coding Experts Group +(VCEG), through their Joint Collaborative Team on Video Coding (JCT\-VC). +HEVC is also known as ISO/IEC 23008\-2 MPEG\-H Part 2 and ITU\-T H.265. +HEVC provides superior video quality and up to twice the data +compression as the previous standard (H.264/MPEG\-4 AVC). HEVC can +support 8K Ultra High Definition video, with a picture size up to +8192x4320 pixels. +.SS About x265 +The primary objective of x265 is to become the best H.265/HEVC encoder +available anywhere, offering the highest compression efficiency and the +highest performance on a wide variety of hardware platforms. The x265 +encoder is available as an open source library, published under the +GPLv2 license. It is also available under a commercial license, enabling +commercial companies to utilize and distribute x265 in their solutions +without being subject to the restrictions of the GPL license. + +.SH OPTIONS +.TP +\fB\-h/\-\-help +Show this help text and exit +.TP +\fB\-V/\-\-version +Show version info and exit + +.SS "Output Options:" +.TP +\fB\-\-output +Bitstream output file name +.TP +\fB\-\-log\-level +Logging level: none error warning info debug full. Default info +.TP +\fB\-\-no\-progress +Disable CLI progress reports +.TP +\fB\-\-[no\-]cu\-stats +Enable logging stats about distribution of cu across all modes. Default disabled +.TP +\fB\-\-csv +Comma separated log file, log level >= 3 frame log, else one line per run + +.SS "Input Options:" +.TP +\fB\-\-input +Raw YUV or Y4M input file name. `\-` for stdin +.TP +\fB\-\-y4m +Force parsing of input stream as YUV4MPEG2 regardless of file extension +.TP +\fB\-\-fps +Source frame rate (float or num/denom), auto\-detected if Y4M +.TP +\fB\-\-input\-res WxH +Source picture size [w x h], auto\-detected if Y4M +.TP +\fB\-\-input\-depth +Bit\-depth of input file. Default 8 +.TP +\fB\-\-input\-csp +Source color space: i420, i444 or i422, auto\-detected if Y4M. Default: i420 +.TP +\fB\-f/\-\-frames +Maximum number of frames to encode. Default all +.TP +\fB\-\-seek +First frame to encode +.TP +\fB\-\-[no\-]interlace +Indicate input pictures are interlace fields in temporal order. Default progressive +.TP +\fB\-\-dither +Enable dither if downscaling to 8 bit pixels. Default disabled + +.SS "Quality reporting metrics:" +.TP +\fB\-\-[no\-]ssim +Enable reporting SSIM metric scores. Default disabled +.TP +\fB\-\-[no\-]psnr +Enable reporting PSNR metric scores. Default disabled + +.SS "Profile, Level, Tier:" +.TP +\fB\-\-profile +Enforce an encode profile: main, main10, mainstillpicture +.TP +\fB\-\-level\-idc +Force a minumum required decoder level (as '5.0' or '50') +.TP +\fB\-\-[no\-]high\-tier +If a decoder level is specified, this modifier selects High tier of that level + +.SS "Threading, performance:" +.TP +\fB\-\-threads +Number of threads for thread pool (0: detect CPU core count, default) +.TP +\fB\-F/\-\-frame\-threads +Number of concurrently encoded frames. 0: auto\-determined by core count +.TP +\fB\-\-[no\-]wpp +Enable Wavefront Parallel Processing. Default enabled +.TP +\fB\-\-[no\-]pmode +Parallel mode analysis. Default disabled +.TP +\fB\-\-[no\-]pme +Parallel motion estimation. Default disabled +.TP +\fB\-\-[no\-]asm +Override CPU detection. Default: auto + +.SS Presets: +.TP +\fB\-p/\-\-preset +Trade off performance for compression efficiency. Default medium +.br +ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, or placebo +.TP +\fB\-t/--tune +Tune the settings for a particular type of source or situation:" +.br +psnr, ssim, zerolatency, or fastdecode + +.SS "Quad-Tree size and depth:" +.TP +\fB\-s/\-\-ctu <64|32|16> +Maximum CU size (default: 64x64). Default 64 +.TP +\fB\-\-tu\-intra\-depth +Max TU recursive depth for intra CUs. Default 1 +.TP +\fB\-\-tu\-inter\-depth +Max TU recursive depth for inter CUs. Default 1 +.TP +\fB\-\-[no\-]rect +Enable rectangular motion partitions Nx2N and 2NxN. Default disabled +.TP +\fB\-\-[no\-]amp +Enable asymmetric motion partitions, requires \fB\-\-rect\fR. Default disabled +.TP +\fB\-\-rd <0..6> +Level of RD in mode decision 0:least....6:full RDO. Default 3 +.TP +\fB\-\-psy\-rd <0..2.0> +Strength of psycho\-visual rate distortion optimization, 0 to disable. Default 0.000000 +.TP +\fB\-\-psy\-rdoq <0..50.0> +Strength of psycho\-visual optimization in quantization, 0 to disable. Default 0.000000 +.TP +\fB\-\-nr +An integer value in range of 100 to 1000, which denotes strength of noise reduction. Default disabled +.TP +\fB\-\-[no\-]tskip\-fast +Enable fast intra transform skipping. Default disabled +.TP +\fB\-\-[no\-]early\-skip +Enable early SKIP detection. Default disabled +.TP +\fB\-\-[no\-]fast\-cbf +Enable early outs based on whether residual is coded. Default disabled + +.SS "Coding tools:" +.TP +\fB\-w/\-\-[no\-]weightp +Enable weighted prediction in P slices. Default enabled +.TP +\fB\-\-[no\-]weightb +Enable weighted prediction in B slices. Default disabled +.TP +\fB\-\-[no\-]cu-lossless +Consider lossless mode in CU RDO decisions. Default disabled +.TP +\fB\-\-[no\-]signhide +Hide sign bit of one coeff per TU (rdo). Default enabled +.TP +\fB\-\-[no\-]tskip +Enable intra transform skipping. Default disabled + +.SS "Temporal / motion search options:" +.TP +\fB\-\-me +Motion search method dia hex umh star full. Default 1 +.TP +\fB\-m/\-\-subme +Amount of subpel refinement to perform (0:least .. 7:most). Default 2 +.TP +\fB\-\-merange +Motion search range. Default 57 +.TP +\fB\-\-max\-merge <1..5> +Maximum number of merge candidates. Default 2 +.TP +\fB\-\-[no\-]temporal\-mvp +Enable temporal MV predictors. Default enabled + +.SS "Spatial / intra options:" +.TP +\fB\-\-[no\-]strong\-intra\-smoothing +Enable strong intra smoothing for 32x32 blocks. Default enabled +.TP +\fB\-\-[no\-]constrained\-intra +Constrained intra prediction (use only intra coded reference pixels) Default disabled +.TP +\fB\-\-[no\-]b\-intra +Enable intra in B frames in veryslow presets. Default disabled +.TP +\fB\-\-[no\-]fast\-intra +Enable faster search method for angular intra predictions. Default disabled +.TP +\fB\-\-rdpenalty <0..2> +penalty for 32x32 intra TU in non\-I slices. 0:disabled 1:RD\-penalty 2:maximum. Default 0 + +.SS "Slice decision options:" +.TP +\fB\-\-[no\-]open\-gop +Enable open\-GOP, allows I slices to be non\-IDR. Default enabled +.TP +\fB\-I/\-\-keyint +Max IDR period in frames. \-1 for infinite\-gop. Default 250 +.TP +\fB\-i/\-\-min\-keyint +Scenecuts closer together than this are coded as I, not IDR. Default: auto +.TP +\fB\-\-no\-scenecut +Disable adaptive I\-frame decision +.TP +\fB\-\-scenecut +How aggressively to insert extra I\-frames. Default 40 +.TP +\fB\-\-rc\-lookahead +Number of frames for frame\-type lookahead (determines encoder latency) Default 20 +.TP +\fB\-\-bframes +Maximum number of consecutive b\-frames (now it only enables B GOP structure) Default 4 +.TP +\fB\-\-bframe\-bias +Bias towards B frame decisions. Default 0 +.TP +\fB\-\-b\-adapt <0..2> +0 \- none, 1 \- fast, 2 \- full (trellis) adaptive B frame scheduling. Default 2 +.TP +\fB\-\-[no\-]b\-pyramid +Use B\-frames as references. Default enabled +.TP +\fB\-\-ref +max number of L0 references to be allowed (1 .. 16) Default 3 +.TP +\fB\-\-qpfile +Force frametypes and QPs for some or all frames +.br +Format of each line: framenumber frametype QP +.br +QP is optional (none lets x265 choose). Frametypes: I,i,P,B,b. +.br +QPs are restricted by qpmin/qpmax. +.PP + +.SS "Rate control, Quantization:" +.TP +\fB\-\-bitrate +Target bitrate (kbps) for ABR (implied). Default 0 +.TP +\fB\-\-crf +Quality\-based VBR (0\-51). Default 28.000000 +.TP +\fB\-\-[no\-]lossless +Enable lossless: bypass transform, quant and loop filters globally. Default disabled +.TP +\fB\-\-crf\-max +With CRF+VBV, limit RF to this value. Default 0.000000 +.br +May cause VBV underflows! +.TP +\fB\-\-crf\-min +With CRF+VBV, limit RF to this value. Default 0.000000 +.br +this specifies a minimum rate factor value for encode! +.TP +\fB\-\-vbv\-maxrate +Max local bitrate (kbit/s). Default 0 +.TP +\fB\-\-vbv\-bufsize +Set size of the VBV buffer (kbit). Default 0 +.TP +\fB\-\-vbv\-init +Initial VBV buffer occupancy (fraction of bufsize or in kbits). Default 0.900000 +.TP +\fB\-\-aq\-mode +Mode for Adaptive Quantization \- 0:none 1:uniform AQ 2:auto variance. Default 2 +.TP +\fB\-\-aq\-strength +Reduces blocking and blurring in flat and textured areas.(0 to 3.0). Default 1.000000 +.TP +\fB\-\-[no\-]cutree +Enable cutree for Adaptive Quantization. Default enabled +.TP +\fB\-\-ipratio +QP factor between I and P. Default 1.400000 +.TP +\fB\-\-pbratio +QP factor between P and B. Default 1.300000 +.TP +\fB\-\-cbqpoffs +Chroma Cb QP Offset. Default 0 +.TP +\fB\-\-crqpoffs +Chroma Cr QP Offset. Default 0 +.TP +\fB\-\-stats +Filename for stats file in multipass pass rate control. Default x265_2pass.log +.TP +\fB\-\-pass +Multi pass rate control. +.br + \- 1 : First pass, creates stats file +.br + \- 2 : Last pass, does not overwrite stats file +.br + \- 3 : Nth pass, overwrites stats file +.TP +\fB\-\-[no\-]slow\-firstpass +Enable a slow first pass in a multipass rate control mode. Default disabled +.TP +\fB\-\-analysis\-mode +save \- Dump analysis info into file, load \- Load analysis buffers from the file. Default 0 +.TP +\fB\-\-analysis-file +Specify file name used for either dumping or reading analysis data. +.TP +\fB\-\-scaling\-list +Specify a file containing HM style quant scaling lists or 'default' or 'off'. Default: off +.TP +\fB\-\-lambda\-file +Specify a file containing replacement values for the lambda tables +.br +MAX_MAX_QP+1 floats for lambda table, then again for lambda2 table +.br +Blank lines and lines starting with hash(#) are ignored +.br +Comma is considered to be white-space + +.SS "Loop filters (deblock and SAO):" +.TP +\fB\-\-[no\-]lft +Enable Deblocking Loop Filter. Default enabled +.TP +\fB\-\-[no\-]sao +Enable Sample Adaptive Offset. Default enabled +.TP +\fB\-\-[no\-]sao\-non\-deblock +Use non\-deblocked pixels, else right/bottom boundary areas skipped. Default disabled + +.SS "VUI options:" +.TP +\fB\-\-sar +Sample Aspect Ratio, the ratio of width to height of an individual pixel. +.br +Choose from 0=undef, 1=1:1("square"), 2=12:11, 3=10:11, 4=16:11, +5=40:33, 6=24:11, 7=20:11, 8=32:11, 9=80:33, 10=18:11, 11=15:11, +12=64:33, 13=160:99, 14=4:3, 15=3:2, 16=2:1 or custom ratio of . Default 0 +.TP +\fB\-\-crop\-rect +Add 'left,top,right,bottom' to the bitstream\-level cropping rectangle +.TP +\fB\-\-overscan +Specify whether it is appropriate for decoder to show cropped region: undef, show or crop. Default undef +.TP +\fB\-\-videoformat +Specify video format from undef, component, pal, ntsc, secam, mac. Default undef +.TP +\fB\-\-range +Specify black level and range of luma and chroma signals as full or limited Default limited +.TP +\fB\-\-colorprim +Specify color primaries from undef, bt709, bt470m, bt470bg, smpte170m, +smpte240m, film, bt2020. Default undef +.TP +\fB\-\-transfer +Specify transfer characteristics from undef, bt709, bt470m, bt470bg, smpte170m, +smpte240m, linear, log100, log316, iec61966\-2\-4, bt1361e, iec61966\-2\-1, +bt2020\-10, bt2020\-12. Default undef +.TP +\fB\-\-colormatrix +Specify color matrix setting from undef, bt709, fcc, bt470bg, smpte170m, +smpte240m, GBR, YCgCo, bt2020nc, bt2020c. Default undef +.TP +\fB\-\-chromaloc +Specify chroma sample location (0 to 5). Default of 0 + +.SS "Bitstream options:" +.TP +\fB\-\-[no\-]info +Emit SEI identifying encoder and parameters. Default enabled +.TP +\fB\-\-[no\-]aud +Emit access unit delimiters at the start of each access unit. Default disabled +.TP +\fB\-\-[no\-]hrd +Enable HRD parameters signalling. Default disabled +.TP +\fB\-\-[no\-]repeat\-headers +Emit SPS and PPS headers at each keyframe. Default disabled +.TP +\fB\-\-hash +Decoded Picture Hash SEI 0: disabled, 1: MD5, 2: CRC, 3: Checksum. Default 0 + +.SS "Reconstructed video options (debugging):" +.TP +\fB\-r/\-\-recon +Reconstructed raw image YUV or Y4M output file name +.TP +\fB\-\-recon\-depth +Bit\-depth of reconstructed raw image file. Defaults to input bit depth, or 8 if Y4M +.SH COPYRIGHT +Copyright \(co 2013\-2014 MulticoreWare, Inc. +.PP +The x265 software is owned and copyrighted by MulticoreWare, Inc. +MulticoreWare is committed to offering the x265 software under the GNU +GPL v2 license. Companies who do not wish to integrate the x265 +Software in their products under the terms of the GPL license can +contact MulticoreWare (\fIlicense@x265.com\fR) to obtain a commercial +license agreement. Companies who use x265 under the GPL may also wish +to work with MulticoreWare to accelerate the development of specific +features or optimized support for specific hardware or software +platforms, or to contract for support. +.PP +The GNU GPL v2 license or the x265 commercial license agreement govern +your rights to access the copyrighted x265 software source code, but do +not cover any patents that may be applicable to the function of binary +executable software created from the x265 source code. You are +responsible for understanding the laws in your country, and for +licensing all applicable patent rights needed for use or distribution of +software applications created from the x265 source code. A good place +to start is with the Motion Picture Experts Group \- Licensing Authority +\- HEVC Licensing Program. +.PP +x265 is a registered trademark of MulticoreWare, Inc. The x265 logo is +a trademark of MulticoreWare, and may only be used with explicit written +permission. All rights reserved. + +.SH "SEE ALSO" +.TP +\fIhttp://x265.readthedocs.org/en/default/cli.html\fR +online documentation diff --git a/debian/x265.install b/debian/x265.install new file mode 100644 index 0000000..3500295 --- /dev/null +++ b/debian/x265.install @@ -0,0 +1,2 @@ +usr/bin +usr/lib/*/x265-10bit/x265 diff --git a/debian/x265.links b/debian/x265.links new file mode 100644 index 0000000..740a041 --- /dev/null +++ b/debian/x265.links @@ -0,0 +1,3 @@ +/usr/bin/x265-10bit /usr/bin/x265-16bit +/usr/share/man/man1/x265.1.gz /usr/share/man/man1/x265-10bit.1.gz +/usr/share/man/man1/x265.1.gz /usr/share/man/man1/x265-16bit.1.gz diff --git a/debian/x265.manpages b/debian/x265.manpages new file mode 100644 index 0000000..300fc8f --- /dev/null +++ b/debian/x265.manpages @@ -0,0 +1 @@ +debian/x265.1 -- 2.34.1