1. MulticoreWare
  2. mcw
  3. x265


Clone wiki

x265 / Home


x265 HEVC Encoder

Release tarballs

Source release zip files can be downloaded from ftp.videolan.org or x265 Downloads page

MD5 (x265_1.5.tar.gz) = e836defd0a412854af283c19697abda9
MD5 (x265_1.6.tar.gz) = 32e4151f8b6a32b466b1055562ebfb4f
MD5 (x265_1.7.tar.gz) = ff31a807ebc868aa59b60706e303102f
MD5 (x265_1.8.tar.gz) = 72005f2c0acda56913c0eae4562dc5ad
MD5 (x265_1.9.tar.gz) = f34a1c4c660ff07511365cb0983cf164
MD5 (x265_2.0.tar.gz) = a4f16c0f054f002d6d8c9c6f7fb03026
MD5 (x265_2.1.tar.gz) = 2d9cb183d2675dfb325abdedd2424bfa

Building x265

To compile x265 you must first install Mercurial (or TortoiseHg on Windows) and CMake 2.8.8 or later. To ensure your build of x265 is capable of full performance, install YASM 1.2.0 or greater to compile assembly primitives. Then follow these easy steps:

For detailed instructions, consult our build README. Basic instructions are outlined below.

Linux Instructions

# ubuntu packages:
$ sudo apt-get install mercurial cmake cmake-curses-gui build-essential yasm
# Note: if the packaged yasm is older than 1.2, you must download yasm (1.3 recommended) and build it

$ hg clone https://bitbucket.org/multicoreware/x265
$ cd x265/build/linux
$ ./make-Makefiles.bash
$ make

ARM Instructions

For native compilation on ARM-based Linux systems, please follow the steps below. This has been tested on Ubuntu Linux 14.04 on an ARM Cortex A-15.

$ sudo apt-get install mercurial cmake cmake-curses-gui build-essential
$ hg clone https://bitbucket.org/multicoreware/x265
$ cd x265/build/arm-linux
$ ./make-Makefiles.bash
$ make

We also support cross-compilation for ARM targets from linux platforms on x86 targets by using the g++ arm cross-compiler. This has been tested on Ubuntu linux 14.04 running on an x86 CPU. On other distributions, package names and names of cross compilation tools may differ. This is an experimental feature, and has undergone very limited testing.

$ sudo apt-get install mercurial cmake cmake-curses-gui build-essential gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
$ hg clone https://bitbucket.org/multicoreware/x265
$ cd x265/build/arm-linux
$ ./make-Makefiles.bash
$ make

Windows (Visual Studio) Instructions

$ hg clone https://bitbucket.org/multicoreware/x265

Then run make-solutions.bat in the build\ folder that corresponds to your favorite compiler, configure your build options, click 'configure', click 'generate', then close cmake-gui. You will be rewarded with an x265.sln file. Also see cmake documentation.

Mac OS X

The latest Mac OS X 10.8 gcc and clang based compilers can build x265 using the linux instructions above. Xcode 5 with the most recent patches can build, debug, and profile x265.

Intel Compiler Instructions

On Windows, you should open an Intel Compiler command prompt and within it run one of the make-makefiles.bat scripts in build/icl32 or build/icl64, then run nmake.

On Linux, you can tell cmake to build Makefiles for icpc directly. This requires you to have configured Intel's compiler environment (by sourcing the appropriate shell script). For example:

$ source /opt/intel/composerxe/bin/compilervars.sh intel64
$ cd repos/x265/build/linux
$ export CXX=icpc
$ export CC=icc
$ ./make-Makefiles
$ make

Multilib build instructions

Applications like ffmpeg and the x265 CLI which use our bit-depth introspection API (x265_api_get) instead of the globally exported C interface can select between 8 and 10bit libx265 libraries at runtime. To support this both libraries must be available either as shared libraries or as a pair of static libraries.

For shared libraries, just rename your 10bit libx265 as libx265_main10.[so|dll|dylib] and place it into your library load path.

For static libraries, you must disable the exported C APIs, since they would conflict with each other. For linux/Mac, you can use or adapt the build/linux/multilib.sh script. For Windows, there are similar vc*-x86_64/multilib.bat files that demonstrate how combined static libraries can be built.

See also multilib docs.

Command line interface

The Makefile/solution builds a static encoder.lib library and a standalone x265 executable that aims to be similar to x264 in its command line interface. Running without arguments shows you the command line help. See also the online documentation