---
name: "x265"
section: "1"
platform: "linux"
package: "x265"
version: "4.1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/x265"
---

# x265(1)

encoder for creating H.265/HEVC video streams

## NAME

x256 - encoder for creating H.265/HEVC video streams

## SYNOPSIS

x265 \[options\] infile \[-o\] outfile

## DESCRIPTION

x256 is a commandline encoder for creating H.265/High Efficiency Video Coding (HEVC) video streams. **infile** can be a YUV or Y4M video stream. **outfile** will be used to store the raw HEVC bitstream.

### Executable Options:

- **-h**/--help

  Show this help text and exit

### Output Options:

- **-o**/--output \<filename\>

  Bitstream output file name

- **--log-level** \<string\>

  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** \<filename\>

  Comma separated log file, log level \>= 3 frame log, else one line per run

### Input Options:

- **--input** \<filename\>

  Raw YUV or Y4M input file name. \`-\` for stdin

- **--y4m**

  Force parsing of input stream as YUV4MPEG2 regardless of file extension

- **--fps** \<float\|rational\>

  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** \<integer\>

  Bit-depth of input file. Default 8

- **--input-csp** \<string\>

  Source color space: i420, i444 or i422, auto-detected if Y4M. Default: i420

- **-f**/--frames \<integer\>

  Maximum number of frames to encode. Default all

- **--seek** \<integer\>

  First frame to encode

- **--\[no-\]interlace** \<bff\|tff\>

  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** \<string\>

  Enforce an encode profile: main, main10, mainstillpicture

- **--level-idc** \<integer\|float\>

  Force a minimum 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** \<integer\>

  Number of threads for thread pool (0: detect CPU core count, default)

- **-F**/--frame-threads \<integer\>

  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** \<bool\|int\|string\>

  Override CPU detection. Default: auto

### Presets:

- **-p**/--preset \<string\>

  Trade off performance for compression efficiency. Default medium

-

  ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, or placebo

- **-t**/--tune \<string\>

  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** \<integer\>

  Max TU recursive depth for intra CUs. Default 1

- **--tu-inter-depth** \<integer\>

  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** \<integer\>

  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** \<string\>

  Motion search method dia hex umh star full. Default 1

- **-m**/--subme \<integer\>

  Amount of subpel refinement to perform (0:least .. 7:most). Default 2

- **--merange** \<integer\>

  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 \<integer\>

  Max IDR period in frames. **-1** for infinite-gop. Default 250

- **-i**/--min-keyint \<integer\>

  Scenecuts closer together than this are coded as I, not IDR. Default: auto

- **--no-scenecut**

  Disable adaptive I-frame decision

- **--scenecut** \<integer\>

  How aggressively to insert extra I-frames. Default 40

- **--rc-lookahead** \<integer\>

  Number of frames for frame-type lookahead (determines encoder latency) Default 20

- **--bframes** \<integer\>

  Maximum number of consecutive b-frames (now it only enables B GOP structure) Default 4

- **--bframe-bias** \<integer\>

  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** \<integer\>

  max number of L0 references to be allowed (1 .. 16) Default 3

- **--qpfile** \<string\>

  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** \<integer\>

  Target bitrate (kbps) for ABR (implied). Default 0

- **-q**/--qp \<integer\>

  QP for P slices in CQP mode (implied). **--ipratio** and **--pbration** determine other slice QPs

- **--crf** \<float\>

  Quality-based VBR (0-51). Default 28.000000

- **--\[no-\]lossless**

  Enable lossless: bypass transform, quant and loop filters globally. Default disabled

- **--crf-max** \<float\>

  With CRF+VBV, limit RF to this value. Default 0.000000 May cause VBV underflows!

- **--crf-min** \<float\>

  With CRF+VBV, limit RF to this value. Default 0.000000 this specifies a minimum rate factor value for encode!

- **--vbv-maxrate** \<integer\>

  Max local bitrate (kbit/s). Default 0

- **--vbv-bufsize** \<integer\>

  Set size of the VBV buffer (kbit). Default 0

- **--vbv-init** \<float\>

  Initial VBV buffer occupancy (fraction of bufsize or in kbits). Default 0.900000

- **--aq-mode** \<integer\>

  Mode for Adaptive Quantization - 0:none 1:uniform AQ 2:auto variance. Default 2

- **--aq-strength** \<float\>

  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** \<float\>

  QP factor between I and P. Default 1.400000

- **--pbratio** \<float\>

  QP factor between P and B. Default 1.300000

- **--cbqpoffs** \<integer\>

  Chroma Cb QP Offset. Default 0

- **--crqpoffs** \<integer\>

  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** \<string\|int\>

  save - Dump analysis info into file, load - Load analysis buffers from the file. Default 0

- **--analysis-file** \<filename\>

  Specify file name used for either dumping or reading analysis data.

- **--scaling-list** \<string\>

  Specify a file containing HM style quant scaling lists or 'default' or 'off'. Default: off

- **--lambda-file** \<string\>

  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** \<width:height\|int\>

  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 \<int:int\>. Default 0

- **--crop-rect** \<string\>

  Add 'left,top,right,bottom' to the bitstream-level cropping rectangle

- **--overscan** \<string\>

  Specify whether it is appropriate for decoder to show cropped region: undef, show or crop. Default undef

- **--videoformat** \<string\>

  Specify video format from undef, component, pal, ntsc, secam, mac. Default undef

- **--range** \<string\>

  Specify black level and range of luma and chroma signals as full or limited Default limited

- **--colorprim** \<string\>

  Specify color primaries from undef, bt709, bt470m, bt470bg, smpte170m, smpte240m, film, bt2020. Default undef

- **--transfer** \<string\>

  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** \<string\>

  Specify color matrix setting from undef, bt709, fcc, bt470bg, smpte170m, smpte240m, GBR, YCgCo, bt2020nc, bt2020c. Default undef

- **--chromaloc** \<integer\>

  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** \<integer\>

  Decoded Picture Hash SEI 0: disabled, 1: MD5, 2: CRC, 3: Checksum. Default 0

### Reconstructed video options (debugging):

- **-r**/--recon \<filename\>

  Reconstructed raw image YUV or Y4M output file name

- **--recon-depth** \<integer\>

  Bit-depth of reconstructed raw image file. Defaults to input bit depth, or 8 if Y4M

## SEE ALSO

Full documentation may be found at http://x265.readthedocs.org/en/default/cli.html.
