| 1 | |
| 2 | Syntax: x265 [options] infile [-o] outfile |
| 3 | infile can be YUV or Y4M |
| 4 | outfile is raw HEVC bitstream |
| 5 | |
| 6 | Executable Options: |
| 7 | -h/--help Show this help text and exit |
| 8 | -V/--version Show version info and exit |
| 9 | |
| 10 | Output Options: |
| 11 | -o/--output <filename> Bitstream output file name |
| 12 | --log-level <string> Logging level: none error warning info debug full. Default info |
| 13 | --no-progress Disable CLI progress reports |
| 14 | --[no-]cu-stats Enable logging stats about distribution of cu across all modes. Default disabled |
| 15 | --csv <filename> Comma separated log file, log level >= 3 frame log, else one line per run |
| 16 | |
| 17 | Input Options: |
| 18 | --input <filename> Raw YUV or Y4M input file name. `-` for stdin |
| 19 | --y4m Force parsing of input stream as YUV4MPEG2 regardless of file extension |
| 20 | --fps <float|rational> Source frame rate (float or num/denom), auto-detected if Y4M |
| 21 | --input-res WxH Source picture size [w x h], auto-detected if Y4M |
| 22 | --input-depth <integer> Bit-depth of input file. Default 8 |
| 23 | --input-csp <string> Source color space: i420, i444 or i422, auto-detected if Y4M. Default: i420 |
| 24 | -f/--frames <integer> Maximum number of frames to encode. Default all |
| 25 | --seek <integer> First frame to encode |
| 26 | --[no-]interlace <bff|tff> Indicate input pictures are interlace fields in temporal order. Default progressive |
| 27 | --dither Enable dither if downscaling to 8 bit pixels. Default disabled |
| 28 | |
| 29 | Quality reporting metrics: |
| 30 | --[no-]ssim Enable reporting SSIM metric scores. Default disabled |
| 31 | --[no-]psnr Enable reporting PSNR metric scores. Default disabled |
| 32 | |
| 33 | Profile, Level, Tier: |
| 34 | --profile <string> Enforce an encode profile: main, main10, mainstillpicture |
| 35 | --level-idc <integer|float> Force a minumum required decoder level (as '5.0' or '50') |
| 36 | --[no-]high-tier If a decoder level is specified, this modifier selects High tier of that level |
| 37 | |
| 38 | Threading, performance: |
| 39 | --threads <integer> Number of threads for thread pool (0: detect CPU core count, default) |
| 40 | -F/--frame-threads <integer> Number of concurrently encoded frames. 0: auto-determined by core count |
| 41 | --[no-]wpp Enable Wavefront Parallel Processing. Default enabled |
| 42 | --[no-]pmode Parallel mode analysis. Default disabled |
| 43 | --[no-]pme Parallel motion estimation. Default disabled |
| 44 | --[no-]asm <bool|int|string> Override CPU detection. Default: auto |
| 45 | |
| 46 | Presets: |
| 47 | -p/--preset <string> Trade off performance for compression efficiency. Default medium |
| 48 | ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, or placebo |
| 49 | -t/--tune <string> Tune the settings for a particular type of source or situation: |
| 50 | psnr, ssim, zerolatency, or fastdecode |
| 51 | |
| 52 | Quad-Tree size and depth: |
| 53 | -s/--ctu <64|32|16> Maximum CU size (default: 64x64). Default 64 |
| 54 | --tu-intra-depth <integer> Max TU recursive depth for intra CUs. Default 1 |
| 55 | --tu-inter-depth <integer> Max TU recursive depth for inter CUs. Default 1 |
| 56 | --[no-]rect Enable rectangular motion partitions Nx2N and 2NxN. Default disabled |
| 57 | --[no-]amp Enable asymmetric motion partitions, requires --rect. Default disabled |
| 58 | |
| 59 | Analysis: |
| 60 | --rd <0..6> Level of RD in mode decision 0:least....6:full RDO. Default 3 |
| 61 | --psy-rd <0..2.0> Strength of psycho-visual rate distortion optimization, 0 to disable. Default 0.000000 |
| 62 | --psy-rdoq <0..50.0> Strength of psycho-visual optimization in quantization, 0 to disable. Default 0.000000 |
| 63 | --nr <integer> An integer value in range of 100 to 1000, which denotes strength of noise reduction. Default disabled |
| 64 | --[no-]tskip-fast Enable fast intra transform skipping. Default disabled |
| 65 | --[no-]early-skip Enable early SKIP detection. Default disabled |
| 66 | --[no-]fast-cbf Enable early outs based on whether residual is coded. Default disabled |
| 67 | |
| 68 | Coding tools: |
| 69 | -w/--[no-]weightp Enable weighted prediction in P slices. Default enabled |
| 70 | --[no-]weightb Enable weighted prediction in B slices. Default disabled |
| 71 | --[no-]cu-lossless Consider lossless mode in CU RDO decisions. Default disabled |
| 72 | --[no-]signhide Hide sign bit of one coeff per TU (rdo). Default enabled |
| 73 | --[no-]tskip Enable intra 4x4 transform skipping. Default disabled |
| 74 | |
| 75 | Temporal / motion search options: |
| 76 | --me <string> Motion search method dia hex umh star full. Default 1 |
| 77 | -m/--subme <integer> Amount of subpel refinement to perform (0:least .. 7:most). Default 2 |
| 78 | --merange <integer> Motion search range. Default 57 |
| 79 | --max-merge <1..5> Maximum number of merge candidates. Default 2 |
| 80 | --[no-]temporal-mvp Enable temporal MV predictors. Default enabled |
| 81 | |
| 82 | Spatial / intra options: |
| 83 | --[no-]strong-intra-smoothing Enable strong intra smoothing for 32x32 blocks. Default enabled |
| 84 | --[no-]constrained-intra Constrained intra prediction (use only intra coded reference pixels) Default disabled |
| 85 | --[no-]b-intra Enable intra in B frames in veryslow presets. Default disabled |
| 86 | --[no-]fast-intra Enable faster search method for angular intra predictions. Default disabled |
| 87 | --rdpenalty <0..2> penalty for 32x32 intra TU in non-I slices. 0:disabled 1:RD-penalty 2:maximum. Default 0 |
| 88 | |
| 89 | Slice decision options: |
| 90 | --[no-]open-gop Enable open-GOP, allows I slices to be non-IDR. Default enabled |
| 91 | -I/--keyint <integer> Max IDR period in frames. -1 for infinite-gop. Default 250 |
| 92 | -i/--min-keyint <integer> Scenecuts closer together than this are coded as I, not IDR. Default: auto |
| 93 | --no-scenecut Disable adaptive I-frame decision |
| 94 | --scenecut <integer> How aggressively to insert extra I-frames. Default 40 |
| 95 | --rc-lookahead <integer> Number of frames for frame-type lookahead (determines encoder latency) Default 20 |
| 96 | --bframes <integer> Maximum number of consecutive b-frames (now it only enables B GOP structure) Default 4 |
| 97 | --bframe-bias <integer> Bias towards B frame decisions. Default 0 |
| 98 | --b-adapt <0..2> 0 - none, 1 - fast, 2 - full (trellis) adaptive B frame scheduling. Default 2 |
| 99 | --[no-]b-pyramid Use B-frames as references. Default enabled |
| 100 | --ref <integer> max number of L0 references to be allowed (1 .. 16) Default 3 |
| 101 | --qpfile <string> Force frametypes and QPs for some or all frames |
| 102 | Format of each line: framenumber frametype QP |
| 103 | QP is optional (none lets x265 choose). Frametypes: I,i,P,B,b. |
| 104 | QPs are restricted by qpmin/qpmax. |
| 105 | |
| 106 | Rate control, Quantization: |
| 107 | --bitrate <integer> Target bitrate (kbps) for ABR (implied). Default 0 |
| 108 | -q/--qp <integer> QP for P slices in CQP mode (implied). --ipratio and --pbration determine other slice QPs |
| 109 | --crf <float> Quality-based VBR (0-51). Default 28.000000 |
| 110 | --[no-]lossless Enable lossless: bypass transform, quant and loop filters globally. Default disabled |
| 111 | --crf-max <float> With CRF+VBV, limit RF to this value. Default 0.000000 |
| 112 | May cause VBV underflows! |
| 113 | --crf-min <float> With CRF+VBV, limit RF to this value. Default 0.000000 |
| 114 | this specifies a minimum rate factor value for encode! |
| 115 | --vbv-maxrate <integer> Max local bitrate (kbit/s). Default 0 |
| 116 | --vbv-bufsize <integer> Set size of the VBV buffer (kbit). Default 0 |
| 117 | --vbv-init <float> Initial VBV buffer occupancy (fraction of bufsize or in kbits). Default 0.900000 |
| 118 | --aq-mode <integer> Mode for Adaptive Quantization - 0:none 1:uniform AQ 2:auto variance. Default 2 |
| 119 | --aq-strength <float> Reduces blocking and blurring in flat and textured areas.(0 to 3.0). Default 1.000000 |
| 120 | --[no-]cutree Enable cutree for Adaptive Quantization. Default enabled |
| 121 | --ipratio <float> QP factor between I and P. Default 1.400000 |
| 122 | --pbratio <float> QP factor between P and B. Default 1.300000 |
| 123 | --cbqpoffs <integer> Chroma Cb QP Offset. Default 0 |
| 124 | --crqpoffs <integer> Chroma Cr QP Offset. Default 0 |
| 125 | --stats Filename for stats file in multipass pass rate control. Default x265_2pass.log |
| 126 | --pass Multi pass rate control. |
| 127 | - 1 : First pass, creates stats file |
| 128 | - 2 : Last pass, does not overwrite stats file |
| 129 | - 3 : Nth pass, overwrites stats file |
| 130 | --[no-]slow-firstpass Enable a slow first pass in a multipass rate control mode. Default disabled |
| 131 | --analysis-mode <string|int> save - Dump analysis info into file, load - Load analysis buffers from the file. Default 0 |
| 132 | --analysis-file <filename> Specify file name used for either dumping or reading analysis data. |
| 133 | --scaling-list <string> Specify a file containing HM style quant scaling lists or 'default' or 'off'. Default: off |
| 134 | --lambda-file <string> Specify a file containing replacement values for the lambda tables |
| 135 | MAX_MAX_QP+1 floats for lambda table, then again for lambda2 table |
| 136 | Blank lines and lines starting with hash(#) are ignored |
| 137 | Comma is considered to be white-space |
| 138 | |
| 139 | Loop filters (deblock and SAO): |
| 140 | --[no-]lft Enable Deblocking Loop Filter. Default enabled |
| 141 | --[no-]sao Enable Sample Adaptive Offset. Default enabled |
| 142 | --[no-]sao-non-deblock Use non-deblocked pixels, else right/bottom boundary areas skipped. Default disabled |
| 143 | |
| 144 | VUI options: |
| 145 | --sar <width:height|int> Sample Aspect Ratio, the ratio of width to height of an individual pixel. |
| 146 | Choose from 0=undef, 1=1:1("square"), 2=12:11, 3=10:11, 4=16:11, |
| 147 | 5=40:33, 6=24:11, 7=20:11, 8=32:11, 9=80:33, 10=18:11, 11=15:11, |
| 148 | 12=64:33, 13=160:99, 14=4:3, 15=3:2, 16=2:1 or custom ratio of <int:int>. Default 0 |
| 149 | --crop-rect <string> Add 'left,top,right,bottom' to the bitstream-level cropping rectangle |
| 150 | --overscan <string> Specify whether it is appropriate for decoder to show cropped region: undef, show or crop. Default undef |
| 151 | --videoformat <string> Specify video format from undef, component, pal, ntsc, secam, mac. Default undef |
| 152 | --range <string> Specify black level and range of luma and chroma signals as full or limited Default limited |
| 153 | --colorprim <string> Specify color primaries from undef, bt709, bt470m, bt470bg, smpte170m, |
| 154 | smpte240m, film, bt2020. Default undef |
| 155 | --transfer <string> Specify transfer characteristics from undef, bt709, bt470m, bt470bg, smpte170m, |
| 156 | smpte240m, linear, log100, log316, iec61966-2-4, bt1361e, iec61966-2-1, |
| 157 | bt2020-10, bt2020-12. Default undef |
| 158 | --colormatrix <string> Specify color matrix setting from undef, bt709, fcc, bt470bg, smpte170m, |
| 159 | smpte240m, GBR, YCgCo, bt2020nc, bt2020c. Default undef |
| 160 | --chromaloc <integer> Specify chroma sample location (0 to 5). Default of 0 |
| 161 | |
| 162 | Bitstream options: |
| 163 | --[no-]info Emit SEI identifying encoder and parameters. Default enabled |
| 164 | --[no-]aud Emit access unit delimiters at the start of each access unit. Default disabled |
| 165 | --[no-]hrd Enable HRD parameters signalling. Default disabled |
| 166 | --[no-]repeat-headers Emit SPS and PPS headers at each keyframe. Default disabled |
| 167 | --hash <integer> Decoded Picture Hash SEI 0: disabled, 1: MD5, 2: CRC, 3: Checksum. Default 0 |
| 168 | |
| 169 | Reconstructed video options (debugging): |
| 170 | -r/--recon <filename> Reconstructed raw image YUV or Y4M output file name |
| 171 | --recon-depth <integer> Bit-depth of reconstructed raw image file. Defaults to input bit depth, or 8 if Y4M |
| 172 | |
| 173 | |
| 174 | Full documentation may be found at http://x265.readthedocs.org/en/default/cli.html |