[x265] [ANN] x265 1.6 is released

Steve Borho steve at borho.org
Thu Apr 2 22:39:23 CEST 2015


Hello,

x265 1.6 has been released.  The changes from the 1.5 release are mostly
performance oriented, with heavy improvements for AVX2 capable platforms
(Haswell and later Intel CPUs) and work efficiency improvements for
multiple-socket machines.


= API changes =

--threads N replaced by --pools N,N and --lookahead-slices N
--[no-]rdoq-level N - finer control over RDOQ effort
--min-cu-size N - trade-off compression for performance
--max-tu-size N - trade-off compression for performance
--[no-]temporal-layers - code unreferenced B frames in temporal layer 1
--[no-]cip aliases added for --[no-]constrained-intra

Added support for new color transfer functions "smpte-st-2084" and
"smpte-st-428

--limit-refs N was added, but not yet implemented

Deprecated x265_setup_primitives() was removed from the public API and
is no longer exported DLLs

See the online documentation for full descriptions:

   http://x265.readthedocs.org/en/1.6/


= Threading changes =

The x265 thread pool has been made NUMA aware.  The --threads parameter,
which used to specify a global pool size, has been replaced with a
--pools parameter which allows you to specify a pool size per NUMA node
(aka CPU socket or package).  The default is still to allocate one pool
worker thread per logical core on the machine, but with --pools one can
isolate those threads to a given socket.

Other than socket isolation, the biggest visible change in the NUMA
aware thread pools is the increase in work efficiency. The total
utilization will generally decrease but the performance will increase
since worker threads spend less time context switching.  Also, the
threading of the lookahead was made more work-efficient. Each lookahead
job is a much larger piece of work.

Before (1.5):

disable thread pool: --threads 1
default thread pool: --threads 0
restrict to 4 threads: --threads 4

After (1.6):

disable thread pools: --pools 0
default thread pools: --pools *
restrict to 4 threads: --pools 4
restrict to 4 threads on socket 1: --pools -,4
restrict to all threads on socket 0: --pools +,-


= Multi-lib interface =

In order to support runtime selection of a libx265 shared library, we
have introduced an x265_api structure and an x265_api_get() function.
Applications which use this interface to acquire the libx265 functional
interface will be able to use shim libraries to bind a particular build
of libx265 at run time. See the API documentation for full details.

-- 
Steve Borho


More information about the x265-devel mailing list