| 1 | .TH X265 "1" "AUGUST 2014" "v1.4" "User Commands" |
| 2 | .SH NAME |
| 3 | x265 \- H.265/HEVC video encoder |
| 4 | |
| 5 | .SH SYNOPSIS |
| 6 | .B x265 \fR[options] \fIinfile \fR[\-o] \fIoutfile |
| 7 | .br |
| 8 | Bit depth: 8 |
| 9 | .PP |
| 10 | .B x265\-10bit \fR[options] \fIinfile \fR[\-o] \fIoutfile |
| 11 | .br |
| 12 | Bit depth: 10 |
| 13 | .PP |
| 14 | infile can be YUV or Y4M |
| 15 | .br |
| 16 | outfile is raw HEVC bitstream |
| 17 | |
| 18 | .SH DESCRIPTION |
| 19 | Increasing demand for high definition and ultra\-high definition video, |
| 20 | along with an increasing desire for video on demand has led to |
| 21 | exponential growth in demand for bandwidth and storage requirements. |
| 22 | These challenges can be met by the new High Efficiency Video Coding |
| 23 | (HEVC) standard, also known as H.265. The x265 HEVC encoder project was |
| 24 | launched by MulticoreWare in 2013, aiming to provide the most efficient, |
| 25 | highest performance HEVC video encoder. |
| 26 | .SS About HEVC |
| 27 | The High Efficiency Video Coding (HEVC) was developed by the ISO/IEC |
| 28 | Moving Picture Experts Group (MPEG) and ITU\-T Video Coding Experts Group |
| 29 | (VCEG), through their Joint Collaborative Team on Video Coding (JCT\-VC). |
| 30 | HEVC is also known as ISO/IEC 23008\-2 MPEG\-H Part 2 and ITU\-T H.265. |
| 31 | HEVC provides superior video quality and up to twice the data |
| 32 | compression as the previous standard (H.264/MPEG\-4 AVC). HEVC can |
| 33 | support 8K Ultra High Definition video, with a picture size up to |
| 34 | 8192x4320 pixels. |
| 35 | .SS About x265 |
| 36 | The primary objective of x265 is to become the best H.265/HEVC encoder |
| 37 | available anywhere, offering the highest compression efficiency and the |
| 38 | highest performance on a wide variety of hardware platforms. The x265 |
| 39 | encoder is available as an open source library, published under the |
| 40 | GPLv2 license. It is also available under a commercial license, enabling |
| 41 | commercial companies to utilize and distribute x265 in their solutions |
| 42 | without being subject to the restrictions of the GPL license. |
| 43 | |
| 44 | .SH OPTIONS |
| 45 | .TP |
| 46 | \fB\-h/\-\-help |
| 47 | Show this help text and exit |
| 48 | .TP |
| 49 | \fB\-V/\-\-version |
| 50 | Show version info and exit |
| 51 | |
| 52 | .SS "Output Options:" |
| 53 | .TP |
| 54 | \fB\-\-output <filename> |
| 55 | Bitstream output file name |
| 56 | .TP |
| 57 | \fB\-\-log\-level <string> |
| 58 | Logging level: none error warning info debug full. Default info |
| 59 | .TP |
| 60 | \fB\-\-no\-progress |
| 61 | Disable CLI progress reports |
| 62 | .TP |
| 63 | \fB\-\-[no\-]cu\-stats |
| 64 | Enable logging stats about distribution of cu across all modes. Default disabled |
| 65 | .TP |
| 66 | \fB\-\-csv <filename> |
| 67 | Comma separated log file, log level >= 3 frame log, else one line per run |
| 68 | |
| 69 | .SS "Input Options:" |
| 70 | .TP |
| 71 | \fB\-\-input <filename> |
| 72 | Raw YUV or Y4M input file name. `\-` for stdin |
| 73 | .TP |
| 74 | \fB\-\-y4m |
| 75 | Force parsing of input stream as YUV4MPEG2 regardless of file extension |
| 76 | .TP |
| 77 | \fB\-\-fps <float|rational> |
| 78 | Source frame rate (float or num/denom), auto\-detected if Y4M |
| 79 | .TP |
| 80 | \fB\-\-input\-res WxH |
| 81 | Source picture size [w x h], auto\-detected if Y4M |
| 82 | .TP |
| 83 | \fB\-\-input\-depth <integer> |
| 84 | Bit\-depth of input file. Default 8 |
| 85 | .TP |
| 86 | \fB\-\-input\-csp <string> |
| 87 | Source color space: i420, i444 or i422, auto\-detected if Y4M. Default: i420 |
| 88 | .TP |
| 89 | \fB\-f/\-\-frames <integer> |
| 90 | Maximum number of frames to encode. Default all |
| 91 | .TP |
| 92 | \fB\-\-seek <integer> |
| 93 | First frame to encode |
| 94 | .TP |
| 95 | \fB\-\-[no\-]interlace <bff|tff> |
| 96 | Indicate input pictures are interlace fields in temporal order. Default progressive |
| 97 | .TP |
| 98 | \fB\-\-dither |
| 99 | Enable dither if downscaling to 8 bit pixels. Default disabled |
| 100 | |
| 101 | .SS "Quality reporting metrics:" |
| 102 | .TP |
| 103 | \fB\-\-[no\-]ssim |
| 104 | Enable reporting SSIM metric scores. Default disabled |
| 105 | .TP |
| 106 | \fB\-\-[no\-]psnr |
| 107 | Enable reporting PSNR metric scores. Default disabled |
| 108 | |
| 109 | .SS "Profile, Level, Tier:" |
| 110 | .TP |
| 111 | \fB\-\-profile <string> |
| 112 | Enforce an encode profile: main, main10, mainstillpicture |
| 113 | .TP |
| 114 | \fB\-\-level\-idc <integer|float> |
| 115 | Force a minumum required decoder level (as '5.0' or '50') |
| 116 | .TP |
| 117 | \fB\-\-[no\-]high\-tier |
| 118 | If a decoder level is specified, this modifier selects High tier of that level |
| 119 | |
| 120 | .SS "Threading, performance:" |
| 121 | .TP |
| 122 | \fB\-\-threads <integer> |
| 123 | Number of threads for thread pool (0: detect CPU core count, default) |
| 124 | .TP |
| 125 | \fB\-F/\-\-frame\-threads <integer> |
| 126 | Number of concurrently encoded frames. 0: auto\-determined by core count |
| 127 | .TP |
| 128 | \fB\-\-[no\-]wpp |
| 129 | Enable Wavefront Parallel Processing. Default enabled |
| 130 | .TP |
| 131 | \fB\-\-[no\-]pmode |
| 132 | Parallel mode analysis. Default disabled |
| 133 | .TP |
| 134 | \fB\-\-[no\-]pme |
| 135 | Parallel motion estimation. Default disabled |
| 136 | .TP |
| 137 | \fB\-\-[no\-]asm <bool|int|string> |
| 138 | Override CPU detection. Default: auto |
| 139 | |
| 140 | .SS Presets: |
| 141 | .TP |
| 142 | \fB\-p/\-\-preset <string> |
| 143 | Trade off performance for compression efficiency. Default medium |
| 144 | .br |
| 145 | ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, or placebo |
| 146 | .TP |
| 147 | \fB\-t/--tune <string> |
| 148 | Tune the settings for a particular type of source or situation:" |
| 149 | .br |
| 150 | psnr, ssim, zerolatency, or fastdecode |
| 151 | |
| 152 | .SS "Quad-Tree size and depth:" |
| 153 | .TP |
| 154 | \fB\-s/\-\-ctu <64|32|16> |
| 155 | Maximum CU size (default: 64x64). Default 64 |
| 156 | .TP |
| 157 | \fB\-\-tu\-intra\-depth <integer> |
| 158 | Max TU recursive depth for intra CUs. Default 1 |
| 159 | .TP |
| 160 | \fB\-\-tu\-inter\-depth <integer> |
| 161 | Max TU recursive depth for inter CUs. Default 1 |
| 162 | .TP |
| 163 | \fB\-\-[no\-]rect |
| 164 | Enable rectangular motion partitions Nx2N and 2NxN. Default disabled |
| 165 | .TP |
| 166 | \fB\-\-[no\-]amp |
| 167 | Enable asymmetric motion partitions, requires \fB\-\-rect\fR. Default disabled |
| 168 | .TP |
| 169 | \fB\-\-rd <0..6> |
| 170 | Level of RD in mode decision 0:least....6:full RDO. Default 3 |
| 171 | .TP |
| 172 | \fB\-\-psy\-rd <0..2.0> |
| 173 | Strength of psycho\-visual rate distortion optimization, 0 to disable. Default 0.000000 |
| 174 | .TP |
| 175 | \fB\-\-psy\-rdoq <0..50.0> |
| 176 | Strength of psycho\-visual optimization in quantization, 0 to disable. Default 0.000000 |
| 177 | .TP |
| 178 | \fB\-\-nr <integer> |
| 179 | An integer value in range of 100 to 1000, which denotes strength of noise reduction. Default disabled |
| 180 | .TP |
| 181 | \fB\-\-[no\-]tskip\-fast |
| 182 | Enable fast intra transform skipping. Default disabled |
| 183 | .TP |
| 184 | \fB\-\-[no\-]early\-skip |
| 185 | Enable early SKIP detection. Default disabled |
| 186 | .TP |
| 187 | \fB\-\-[no\-]fast\-cbf |
| 188 | Enable early outs based on whether residual is coded. Default disabled |
| 189 | |
| 190 | .SS "Coding tools:" |
| 191 | .TP |
| 192 | \fB\-w/\-\-[no\-]weightp |
| 193 | Enable weighted prediction in P slices. Default enabled |
| 194 | .TP |
| 195 | \fB\-\-[no\-]weightb |
| 196 | Enable weighted prediction in B slices. Default disabled |
| 197 | .TP |
| 198 | \fB\-\-[no\-]cu-lossless |
| 199 | Consider lossless mode in CU RDO decisions. Default disabled |
| 200 | .TP |
| 201 | \fB\-\-[no\-]signhide |
| 202 | Hide sign bit of one coeff per TU (rdo). Default enabled |
| 203 | .TP |
| 204 | \fB\-\-[no\-]tskip |
| 205 | Enable intra transform skipping. Default disabled |
| 206 | |
| 207 | .SS "Temporal / motion search options:" |
| 208 | .TP |
| 209 | \fB\-\-me <string> |
| 210 | Motion search method dia hex umh star full. Default 1 |
| 211 | .TP |
| 212 | \fB\-m/\-\-subme <integer> |
| 213 | Amount of subpel refinement to perform (0:least .. 7:most). Default 2 |
| 214 | .TP |
| 215 | \fB\-\-merange <integer> |
| 216 | Motion search range. Default 57 |
| 217 | .TP |
| 218 | \fB\-\-max\-merge <1..5> |
| 219 | Maximum number of merge candidates. Default 2 |
| 220 | .TP |
| 221 | \fB\-\-[no\-]temporal\-mvp |
| 222 | Enable temporal MV predictors. Default enabled |
| 223 | |
| 224 | .SS "Spatial / intra options:" |
| 225 | .TP |
| 226 | \fB\-\-[no\-]strong\-intra\-smoothing |
| 227 | Enable strong intra smoothing for 32x32 blocks. Default enabled |
| 228 | .TP |
| 229 | \fB\-\-[no\-]constrained\-intra |
| 230 | Constrained intra prediction (use only intra coded reference pixels) Default disabled |
| 231 | .TP |
| 232 | \fB\-\-[no\-]b\-intra |
| 233 | Enable intra in B frames in veryslow presets. Default disabled |
| 234 | .TP |
| 235 | \fB\-\-[no\-]fast\-intra |
| 236 | Enable faster search method for angular intra predictions. Default disabled |
| 237 | .TP |
| 238 | \fB\-\-rdpenalty <0..2> |
| 239 | penalty for 32x32 intra TU in non\-I slices. 0:disabled 1:RD\-penalty 2:maximum. Default 0 |
| 240 | |
| 241 | .SS "Slice decision options:" |
| 242 | .TP |
| 243 | \fB\-\-[no\-]open\-gop |
| 244 | Enable open\-GOP, allows I slices to be non\-IDR. Default enabled |
| 245 | .TP |
| 246 | \fB\-I/\-\-keyint <integer> |
| 247 | Max IDR period in frames. \-1 for infinite\-gop. Default 250 |
| 248 | .TP |
| 249 | \fB\-i/\-\-min\-keyint <integer> |
| 250 | Scenecuts closer together than this are coded as I, not IDR. Default: auto |
| 251 | .TP |
| 252 | \fB\-\-no\-scenecut |
| 253 | Disable adaptive I\-frame decision |
| 254 | .TP |
| 255 | \fB\-\-scenecut <integer> |
| 256 | How aggressively to insert extra I\-frames. Default 40 |
| 257 | .TP |
| 258 | \fB\-\-rc\-lookahead <integer> |
| 259 | Number of frames for frame\-type lookahead (determines encoder latency) Default 20 |
| 260 | .TP |
| 261 | \fB\-\-bframes <integer> |
| 262 | Maximum number of consecutive b\-frames (now it only enables B GOP structure) Default 4 |
| 263 | .TP |
| 264 | \fB\-\-bframe\-bias <integer> |
| 265 | Bias towards B frame decisions. Default 0 |
| 266 | .TP |
| 267 | \fB\-\-b\-adapt <0..2> |
| 268 | 0 \- none, 1 \- fast, 2 \- full (trellis) adaptive B frame scheduling. Default 2 |
| 269 | .TP |
| 270 | \fB\-\-[no\-]b\-pyramid |
| 271 | Use B\-frames as references. Default enabled |
| 272 | .TP |
| 273 | \fB\-\-ref <integer> |
| 274 | max number of L0 references to be allowed (1 .. 16) Default 3 |
| 275 | .TP |
| 276 | \fB\-\-qpfile <string> |
| 277 | Force frametypes and QPs for some or all frames |
| 278 | .br |
| 279 | Format of each line: framenumber frametype QP |
| 280 | .br |
| 281 | QP is optional (none lets x265 choose). Frametypes: I,i,P,B,b. |
| 282 | .br |
| 283 | QPs are restricted by qpmin/qpmax. |
| 284 | .PP |
| 285 | |
| 286 | .SS "Rate control, Quantization:" |
| 287 | .TP |
| 288 | \fB\-\-bitrate <integer> |
| 289 | Target bitrate (kbps) for ABR (implied). Default 0 |
| 290 | .TP |
| 291 | \fB\-\-crf <float> |
| 292 | Quality\-based VBR (0\-51). Default 28.000000 |
| 293 | .TP |
| 294 | \fB\-\-[no\-]lossless |
| 295 | Enable lossless: bypass transform, quant and loop filters globally. Default disabled |
| 296 | .TP |
| 297 | \fB\-\-crf\-max <float> |
| 298 | With CRF+VBV, limit RF to this value. Default 0.000000 |
| 299 | .br |
| 300 | May cause VBV underflows! |
| 301 | .TP |
| 302 | \fB\-\-crf\-min <float> |
| 303 | With CRF+VBV, limit RF to this value. Default 0.000000 |
| 304 | .br |
| 305 | this specifies a minimum rate factor value for encode! |
| 306 | .TP |
| 307 | \fB\-\-vbv\-maxrate <integer> |
| 308 | Max local bitrate (kbit/s). Default 0 |
| 309 | .TP |
| 310 | \fB\-\-vbv\-bufsize <integer> |
| 311 | Set size of the VBV buffer (kbit). Default 0 |
| 312 | .TP |
| 313 | \fB\-\-vbv\-init <float> |
| 314 | Initial VBV buffer occupancy (fraction of bufsize or in kbits). Default 0.900000 |
| 315 | .TP |
| 316 | \fB\-\-aq\-mode <integer> |
| 317 | Mode for Adaptive Quantization \- 0:none 1:uniform AQ 2:auto variance. Default 2 |
| 318 | .TP |
| 319 | \fB\-\-aq\-strength <float> |
| 320 | Reduces blocking and blurring in flat and textured areas.(0 to 3.0). Default 1.000000 |
| 321 | .TP |
| 322 | \fB\-\-[no\-]cutree |
| 323 | Enable cutree for Adaptive Quantization. Default enabled |
| 324 | .TP |
| 325 | \fB\-\-ipratio <float> |
| 326 | QP factor between I and P. Default 1.400000 |
| 327 | .TP |
| 328 | \fB\-\-pbratio <float> |
| 329 | QP factor between P and B. Default 1.300000 |
| 330 | .TP |
| 331 | \fB\-\-cbqpoffs <integer> |
| 332 | Chroma Cb QP Offset. Default 0 |
| 333 | .TP |
| 334 | \fB\-\-crqpoffs <integer> |
| 335 | Chroma Cr QP Offset. Default 0 |
| 336 | .TP |
| 337 | \fB\-\-stats |
| 338 | Filename for stats file in multipass pass rate control. Default x265_2pass.log |
| 339 | .TP |
| 340 | \fB\-\-pass |
| 341 | Multi pass rate control. |
| 342 | .br |
| 343 | \- 1 : First pass, creates stats file |
| 344 | .br |
| 345 | \- 2 : Last pass, does not overwrite stats file |
| 346 | .br |
| 347 | \- 3 : Nth pass, overwrites stats file |
| 348 | .TP |
| 349 | \fB\-\-[no\-]slow\-firstpass |
| 350 | Enable a slow first pass in a multipass rate control mode. Default disabled |
| 351 | .TP |
| 352 | \fB\-\-analysis\-mode <string|int> |
| 353 | save \- Dump analysis info into file, load \- Load analysis buffers from the file. Default 0 |
| 354 | .TP |
| 355 | \fB\-\-analysis-file <filename> |
| 356 | Specify file name used for either dumping or reading analysis data. |
| 357 | .TP |
| 358 | \fB\-\-scaling\-list <string> |
| 359 | Specify a file containing HM style quant scaling lists or 'default' or 'off'. Default: off |
| 360 | .TP |
| 361 | \fB\-\-lambda\-file <string> |
| 362 | Specify a file containing replacement values for the lambda tables |
| 363 | .br |
| 364 | MAX_MAX_QP+1 floats for lambda table, then again for lambda2 table |
| 365 | .br |
| 366 | Blank lines and lines starting with hash(#) are ignored |
| 367 | .br |
| 368 | Comma is considered to be white-space |
| 369 | |
| 370 | .SS "Loop filters (deblock and SAO):" |
| 371 | .TP |
| 372 | \fB\-\-[no\-]lft |
| 373 | Enable Deblocking Loop Filter. Default enabled |
| 374 | .TP |
| 375 | \fB\-\-[no\-]sao |
| 376 | Enable Sample Adaptive Offset. Default enabled |
| 377 | .TP |
| 378 | \fB\-\-[no\-]sao\-non\-deblock |
| 379 | Use non\-deblocked pixels, else right/bottom boundary areas skipped. Default disabled |
| 380 | |
| 381 | .SS "VUI options:" |
| 382 | .TP |
| 383 | \fB\-\-sar <width:height|int> |
| 384 | Sample Aspect Ratio, the ratio of width to height of an individual pixel. |
| 385 | .br |
| 386 | Choose from 0=undef, 1=1:1("square"), 2=12:11, 3=10:11, 4=16:11, |
| 387 | 5=40:33, 6=24:11, 7=20:11, 8=32:11, 9=80:33, 10=18:11, 11=15:11, |
| 388 | 12=64:33, 13=160:99, 14=4:3, 15=3:2, 16=2:1 or custom ratio of <int:int>. Default 0 |
| 389 | .TP |
| 390 | \fB\-\-crop\-rect <string> |
| 391 | Add 'left,top,right,bottom' to the bitstream\-level cropping rectangle |
| 392 | .TP |
| 393 | \fB\-\-overscan <string> |
| 394 | Specify whether it is appropriate for decoder to show cropped region: undef, show or crop. Default undef |
| 395 | .TP |
| 396 | \fB\-\-videoformat <string> |
| 397 | Specify video format from undef, component, pal, ntsc, secam, mac. Default undef |
| 398 | .TP |
| 399 | \fB\-\-range <string> |
| 400 | Specify black level and range of luma and chroma signals as full or limited Default limited |
| 401 | .TP |
| 402 | \fB\-\-colorprim <string> |
| 403 | Specify color primaries from undef, bt709, bt470m, bt470bg, smpte170m, |
| 404 | smpte240m, film, bt2020. Default undef |
| 405 | .TP |
| 406 | \fB\-\-transfer <string> |
| 407 | Specify transfer characteristics from undef, bt709, bt470m, bt470bg, smpte170m, |
| 408 | smpte240m, linear, log100, log316, iec61966\-2\-4, bt1361e, iec61966\-2\-1, |
| 409 | bt2020\-10, bt2020\-12. Default undef |
| 410 | .TP |
| 411 | \fB\-\-colormatrix <string> |
| 412 | Specify color matrix setting from undef, bt709, fcc, bt470bg, smpte170m, |
| 413 | smpte240m, GBR, YCgCo, bt2020nc, bt2020c. Default undef |
| 414 | .TP |
| 415 | \fB\-\-chromaloc <integer> |
| 416 | Specify chroma sample location (0 to 5). Default of 0 |
| 417 | |
| 418 | .SS "Bitstream options:" |
| 419 | .TP |
| 420 | \fB\-\-[no\-]info |
| 421 | Emit SEI identifying encoder and parameters. Default enabled |
| 422 | .TP |
| 423 | \fB\-\-[no\-]aud |
| 424 | Emit access unit delimiters at the start of each access unit. Default disabled |
| 425 | .TP |
| 426 | \fB\-\-[no\-]hrd |
| 427 | Enable HRD parameters signalling. Default disabled |
| 428 | .TP |
| 429 | \fB\-\-[no\-]repeat\-headers |
| 430 | Emit SPS and PPS headers at each keyframe. Default disabled |
| 431 | .TP |
| 432 | \fB\-\-hash <integer> |
| 433 | Decoded Picture Hash SEI 0: disabled, 1: MD5, 2: CRC, 3: Checksum. Default 0 |
| 434 | |
| 435 | .SS "Reconstructed video options (debugging):" |
| 436 | .TP |
| 437 | \fB\-r/\-\-recon <filename> |
| 438 | Reconstructed raw image YUV or Y4M output file name |
| 439 | .TP |
| 440 | \fB\-\-recon\-depth <integer> |
| 441 | Bit\-depth of reconstructed raw image file. Defaults to input bit depth, or 8 if Y4M |
| 442 | .SH COPYRIGHT |
| 443 | Copyright \(co 2013\-2014 MulticoreWare, Inc. |
| 444 | .PP |
| 445 | The x265 software is owned and copyrighted by MulticoreWare, Inc. |
| 446 | MulticoreWare is committed to offering the x265 software under the GNU |
| 447 | GPL v2 license. Companies who do not wish to integrate the x265 |
| 448 | Software in their products under the terms of the GPL license can |
| 449 | contact MulticoreWare (\fIlicense@x265.com\fR) to obtain a commercial |
| 450 | license agreement. Companies who use x265 under the GPL may also wish |
| 451 | to work with MulticoreWare to accelerate the development of specific |
| 452 | features or optimized support for specific hardware or software |
| 453 | platforms, or to contract for support. |
| 454 | .PP |
| 455 | The GNU GPL v2 license or the x265 commercial license agreement govern |
| 456 | your rights to access the copyrighted x265 software source code, but do |
| 457 | not cover any patents that may be applicable to the function of binary |
| 458 | executable software created from the x265 source code. You are |
| 459 | responsible for understanding the laws in your country, and for |
| 460 | licensing all applicable patent rights needed for use or distribution of |
| 461 | software applications created from the x265 source code. A good place |
| 462 | to start is with the Motion Picture Experts Group \- Licensing Authority |
| 463 | \- HEVC Licensing Program. |
| 464 | .PP |
| 465 | x265 is a registered trademark of MulticoreWare, Inc. The x265 logo is |
| 466 | a trademark of MulticoreWare, and may only be used with explicit written |
| 467 | permission. All rights reserved. |
| 468 | |
| 469 | .SH "SEE ALSO" |
| 470 | .TP |
| 471 | \fIhttp://x265.readthedocs.org/en/default/cli.html\fR |
| 472 | online documentation |