x265 Encoder is a free software library and application for encoding video streams into the H265/MPEG-H HEVC compression format, and is released under the terms of the GNU GPL. x265 CLI is a command line software. x265 is used in several free video converters like Handbrake, Xvid4PSP, StaxRip, RipBot264, MEGUI, Xmedia Recode, etc. See All features how to install on Linux/Mac OSX.
OS:Windows Mac Linux
Version:2.4+12 Stable / 2.4+87 Nightly
2.4+12 Stable / 2.4+87 Nightly (June 23, 2017)
Visit developer's site
Download x265 Encoder 2.4+12 Stable [1MB] [Win] [Portable]
Download x265 Encoder 2.4+12 Stable 64-bit [~1MB] [Win64] [Portable]
Download x265 Encoder 2.4+87 Nightly [Win]
Download x265 Encoder 2.4+87 Nightly 64-bit [Win64]
Download x265 Encoder 2.4+12 Stable from another mirror site [Win]
Download x265 Encoder Mac version [Mac]
Download x265 Encoder Linux version [Linux]
View full changelog
Aruna Matheswaran Add consistent VBV support for --tune grain Branches stable 2017-06-07
Bhavna Hariharan remove redundant file reads Branches stable 12 hours ago
Bhavna Hariharan Support high payload size Branches stable 2017-05-23
Kavitha Sampath test: modify test file to support renamed options 2017-06-22
Bhavna Hariharan move statistics calculation to csv-log-level 2017-06-22
Kavitha Sampath rename options related to analysis-mode, improve docs 2017-06-21
Kavitha Sampath add param option to specify file read/write of analysis data 2017-06-13
Kavitha Sampath remove global declarations and initialization function 2017-05-30
Kavitha Sampath replace g_maxSlices with maxSlices of param 2017-06-12
Kavitha Sampath use param to replace MACRO NUM_4x4_PARTITIONS 2017-05-30
Kavitha Sampath replace g_unitSizeDepth with param member 2017-05-30
Kavitha Sampath add maxCUDepth to param to replace global g_maxCUDepth 2017-05-30
Kavitha Sampath add maxLog2CUSize to param and use in place of g_maxLog2CUSize 2017-06-12
Kavitha Sampath replace global g_maxCUSize with param->maxCUSize 2017-06-21
Santhoshini S improve docs for multi-pass-opt-analysis/multi-pass-opt-distortion 2017-06-21
Pradeep Ramachandran Backed out changeset: cad77d34fec1 The luma QP offsets specified with this patch don't take frame-level variation into account and therefore may result in poor visual quality when used without AQ which balances frame-level bit allocation. The chroma QP offsets are less harmful and can be applied even without AQ, which is the default behavior. 19 hours ago
Jayashri Murugan avx2: Remove redundant instruction in SEA integral vertical functions 2017-06-15
Jayashri Murugan Testbench: Check correctness of SEA integral horizontal functions for all possible strides 2017-06-15
Jayashri Murugan SEA motion search: Enable asm primitives for integralh functions 2017-06-09
Bhavna Hariharan nits: rename dynamic HDR10, rectify warning message 2017-06-16
Bhavna Hariharan dhdr: add library, deprecate support for gcc versions below 4.8 2017-06-13
Jayashri Murugan avx2: 'integral32h' asm code -> 1.07x faster than 'C' version integral_init32h 1.07x 1142.99 1218.1 2017-06-09
Jayashri Murugan avx2: 'integral24h' asm code -> 1.40x faster than 'C' version integral_init24h 1.40x 1155.58 1614.98 2017-06-09
Jayashri Murugan avx2: 'integral16h' asm code -> 2.25x faster than 'C' version BIT_DEPTH = 8 : integral_init16h 2.25x 816.07 1837.95 BIT_DEPTH = 10|12 : integral_init16h 1.25x 1489.40 1856.91 2017-06-09
Jayashri Murugan avx2: 'integral12h' asm code -> 2.42x faster than 'C' version BIT_DEPTH = 8 : integral_init12h 2.42x 807.20 1950.56 BIT_DEPTH = 10|12 : integral_init12h 1.55x 1260.02 1958.27 2017-06-07
Jayashri Murugan avx2: 'integral8h' asm code -> 3.69x faster than 'C' version BIT_DEPTH = 8 : integral_init8h 3.69x 547.65 2020.36 BIT_DEPTH = 10|12 : integral_init8h 2.34x 868.53 2035.82 2017-06-07
Jayashri Murugan avx2: 'integral4h' HIGH_BIT_DEPTH asm code -> 5.37x faster than 'C' version integral_init4h 5.37x 457.68 2456.91 2017-06-14
Praveen Tiwari avx2: integral_init4h -> added 'INTEGRAL_FOUR_HORIZONTAL_4' macro to reduce data movement for '4' element case 2017-06-14
Vignesh Vijayakumar x86inc: Cleanup indentation and give proper assertion 2017-06-07
Vignesh Vijayakumar x86inc: Avoid using eax/rax for storing the stack pointer When allocating stack space with an alignment requirement that is larger than the current stack alignment we need to store a copy of the original stack pointer in order to be able to restore it later. If we chose to use another register for this purpose we should not pick eax/rax since it can be overwritten as a return value. 2017-06-07
Vignesh Vijayakumar x86inc: Fix call with memory operands We overload the `call` instruction with a macro, but it would misbehave when the macro argument wasn't a valid identifier. Fix it by explicitly checking if the argument is an identifier. 2017-06-07
Vignesh Vijayakumar x86inc: Enable AVX emulation in additional cases Allows emulation to work when dst is equal to src2 as long as the instruction is commutative, e.g. `addps m0, m1, m0` 2017-06-07
Vignesh Vijayakumar x86inc: Fix AVX emulation of some instructions 2017-06-07
Vignesh Vijayakumar x86inc: Sync minor changes from ffmpeg/libav 2017-06-06
Vignesh Vijayakumar x86inc: Prevent warnings when using `struc` and `endstruc` struc and endstruc attempts to revert to the previous section state set by the SECTION macro. Use the primitive [SECTION] directive instead of the SECTION macro for the .note.GNU-stack section to prevent it from being emitted again during endstruc. 2017-06-06
Vignesh Vijayakumar x86inc: Drop SECTION_TEXT macro The .text section is already 16-byte aligned by default on all supported platforms so `SECTION_TEXT` isn't any different from `SECTION .text`. 2017-06-06
Vignesh Vijayakumar x86inc: Disable vpbroadcastq workaround in newer yasm versions The bug was fixed in 1.3.0, so only perform the workaround in earlier versions. 2017-06-06
Vignesh Vijayakumar x86inc: Correctly warn on use of SSE2 instructions in SSE functions SSE2 instructions that are XMM-implementations of pre-existing MMX/MMX2 instructions did not issue warnings when used in SSE functions. Handle it by also checking the register type when such instructions are used. 2017-06-06
Vignesh Vijayakumar x86inc: free up variable name "n" in global namespace 2017-06-06
Vignesh Vijayakumar x86inc: Avoid creating unnecessary local labels The REP_RET workaround is only needed on old AMD cpus, and the labels clutter up the symbol table and confuse debugging/profiling tools, so use EQU to create SHN_ABS symbols instead of creating local labels. Furthermore, skip the workaround completely in functions that definitely won't run on such cpus. This patch doesn't modify any emitted instructions, and doesn't actually affect x265 at all. I… 2017-06-12
Vignesh Vijayakumar x86inc: Simplify AUTO_REP_RET cpuflags is never undefined any more, it's set to 0 instead. 2017-06-06
Vignesh Vijayakumar x86inc: Use more consistent indentation 2017-06-06
Vignesh Vijayakumar x86inc: Preserve arguments when allocating stack space When allocating stack space with a larger alignment than the known stack alignment a temporary register is used for storing the stack pointer. Ensure that this isn't one of the registers used for passing arguments. 2017-06-06
Vignesh Vijayakumar x86inc: Improve FMA instruction handling * Correctly handle FMA instructions with memory operands. * Print a warning if FMA instructions are used without the correct cpuflag. * Simplify the instantiation code. * Clarify documentation. Only the last operand in FMA3 instructions can be a memory operand. When converting FMA4 instructions to FMA3 instructions we can utilize the fact that multiply is a commutative operation and reorder o… 2017-06-06
Vignesh Vijayakumar x86inc: Make cpuflag() and notcpuflag() return 0 or 1 2017-06-06
Vignesh Vijayakumar x86inc: Prefer r14/r15 over r12/r13 Due to a peculiarity in the ModR/M addressing encoding, the r12 and r13 registers sometimes requires an additional byte when used as a base register. r14 and r15 doesn't have that issue, so prefer using them. 2017-05-30
Vignesh Vijayakumar x86:Rearrange some cpuflag relations 2017-05-30
Vignesh Vijayakumar x86inc:Remove argument from WIN64_RESTORE_XMM 2017-05-30
Divya Manivannan Fix slicetype mismatch between analysis save and load modes 2017-06-06
Divya Manivannan Add csv feature into libx265 2017-06-09
Gopi Satykrishna Akisetty add support for hdr-opt even when aq-mode is disabled # HG changeset patch # User Gopi Satykrishna Akisetty <email@example.com> # Date 1497000305 -19800 # Fri Jun 09 14:55:05 2017 +0530 # Node ID 7d2ddd4c43e6424d5f234786751e6ccebf2368fd # Parent e75d5f5eeae3413057437af9f7d3ba9bc10fa3fa add support for hdr-opt even when aq-mode is disabled 2017-06-09
Jayashri Murugan avx2: 'integral4h' asm code -> 6.01x faster than 'C' version integral_init4h 6.01x 353.40 2122.37 2017-05-29
Ashok Kumar Mishra MV refinement for multipass encoding 2017-06-05
Bhavna Hariharan inter refinement: Evaluates inter modes for smallest CU size in load run 2017-05-24
Bhavna Hariharan intra refinement: Evaluates all intra modes for smallest cu size in load run 2017-05-23
Bhavna Hariharan cli: add support for inter and intra refinement in analysis load 8 hours ago
Kavitha Sampath fix bugs in free up of analysis data 2017-05-24
Kavitha Sampath Reuse analysis info of low resolution for full resolution encoding. New CLI option --scale-factor is added. This option should be coupled with analysis-mode, --refine-level 10. It specifies the factor by which input video of save mode should be scaled down. Currently only scale-factor 2 is supported. 2017-05-24
Divya Manivannan width and height padding 2017-04-07
Kavitha Sampath cli: add option to specify scale-factor 2017-05-24
Bhavna Hariharan csv: add scenecut information and improve docs 2017-06-02
Bhavna Hariharan Support high payload size 2017-05-23
Bhavna Hariharan fix initialization and add JSON file documentaion 15 hours ago
Bhavna Hariharan add condition to handle i400 7 hours ago
Bhavna Hariharan Insert additional fields in csv file 9 hours ago
Gopi Satykrishna Akisetty rc: Use RcStats information if available from pic_in 2017-05-17
Gopi Satykrishna Akisetty rcStats: add more fields to rcStats 2017-05-17
Vignesh Vijayakumar SEA motion search:Enable asm primitives for integralv functions 2017-05-08
Jayashri Murugan avx2:'integral32v' asm code-> 7.93x faster than 'C' version integral_init32v 7.93x 191.18 1516.95 2017-05-08
Jayashri Murugan avx2:'integral24v' asm code-> 7.30x faster than 'C' version integral_init24v 7.30x 207.58 1515.26 2017-05-08
Jayashri Murugan avx2: 'integral16v' asm code -> 7.25x faster than 'C' version integral_init16v 7.25x 203.12 1472.09 2017-05-08
Vignesh Vijayakumar avx2...
Full prediction and transform quad-tree recursion supported
Adaptive B-frame placement
B-frames as references / arbitrary frame order
CABAC entropy coding
Intra: all block types (32x32, 16x16, 8x8, 4x4, and PCM with all predictions)
Inter P: all partitions (from 64x64 down to 8x4)
Inter B: partitions from 64x64 down to 8x4 (including all merge modes
Weighted prediction for P slices
Multiple reference frames
Ratecontrol: constant quantizer, constant quality, single pass ABR, optional VBV
Parallel encoding on multiple CPUs, both frame-level and wavefront parallelism
Linux x265 Install 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
Mac OS X x265 Install Instructions
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.
Download x265 Encoder portable download
Notify me when software updated or report software
Email me when it has been updated
Report this tool (dead link/new version)
Long way to go yet as h264 is still the king, but this pretender to the throne keeps getting better and better. Maybe somebody can develop a great GUI like Fairuse Wizard/AutoGK to work with it?
Jun 24, 2017 Version: latest revision
OS: Windows 7 64-bit Ease of use: 7/10
Value for money: 10/10
Let's make this clear h265 is nowhere near as good as h264 in terms of hardware compatibility, visually at high bitrates h264 is still superior and at low bitrates h265 oversmooths/washes out detail. Yes, it might be the codec of the future for 4k/TV presentations etc, but try processing this on your PC even with a super fast cpu and it takes hours for Joe bloggs! Plus you have go know what you are doing using this, most 99.9% are clueless and noobs not fan boys who are having an orgasm over every new build. Many years to go yet before it unseats h264!!!
Jun 23, 2017 Version: latest
OS: Windows 7 64-bit Ease of use: 1/10
Value for money: 10/10
Excellent encoder with really good compression efficiency, even with 8 bit. I have used x264 as well and finding x265 is improving and closing gap with big brother x264.
Job well done.
Jun 2, 2017 Version: x265 v2.4+28-f850cdbe381c
OS: Windows 7 64-bit Ease of use: 8/10
Value for money: 10/10
this doesnt work AT ALL, you dowload it, you execute it, and then a black screen opens and close in a fraction of second
May 7, 2017 Version: 2.153
OS: Windows 7 Ease of use: 1/10
Value for money: 1/10
Mar 30, 2017 Version: 2.1
OS: Windows 10 64-bit Ease of use: 5/10
Value for money: 10/10
|1 tool hits, Showing
= New tool since your last visit
= New version since your last visit
= New comment since your last visit
= New version
Type and download
NO MORE UPDATES?
= The software hasn't been updated in over 2 years.
NO LONGER DEVELOPED
= The software hasn't been updated in over 5 years.
= The software has been updated the last 31 days.
= Free software.
= Free software and also open source code.
= Free software but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.
= Free software and open source code but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.
= Also called shareware or demo. Trial version available for download and testing with usually a time limit or limited functions.
= No demo or trial available.
= A portable/standalone version is available. No installation is required.
v1.0.1 = Latest version available.
Download beta = It could be a Beta, RC(Release Candidate) or an Alpha / Nightly / Unstable version of the software.
= A direct link to the software download.
= Windows download version. It works on 32-bit and 64-bit Windows.
= Windows 64-bit download version. It works only on 64-bit Windows.
= Mac download version. It works on 32-bit and 64-bit Mac OS.
= Mac OS download version. It works only on 64-bit Mac OS.
= Linux download version.
= Portable version. No installation is required.
= The software is bundled with advertising. Be careful when you install the software and disable addons that you don't want!
Visit developers site = A link to the software developer site.
Download (mirror link) = A mirror link to the software download. It may not contain the latest versions.
Download old versions = Free downloads of previous versions of the program.
Download 64-bit version = If you have a 64bit operating system you can download this version.
Download portable version = Portable/Standalone version meaning that no installation is required, just extract the files to a folder and run directly.
Portable version available = Download the portable version and you can just extract the files and run the program without installation.
Old versions available = Download old versions of the program.
Version history available = Complete changelog on our site.
= Windows version available.
= Mac OS version available.
= Linux version available.
Our hosted tools are virus and malware scanned with several antivirus programs using www.virustotal.com
Rating from 0-10.