Man page - x265(1)
Packages contas this manual
Manual
| X265(1) | User Commands | X265(1) |
NAME
x265 - manual page for x265 [info]: HEVC encoder version 4.0
DESCRIPTION
x265 [info]: HEVC encoder version 4.0 x265 [info]: build info [Linux][GCC 14.2.0][64 bit] 8bit+10bit+12bit
Syntax: x265 [options] infile [-o] outfile
- infile can be YUV or Y4M outfile is raw HEVC bitstream
Executable Options: -h/--help Show this help text and exit
- --fullhelp
- Show all options and exit
-V/--version Show version info and exit
Output Options: -o/--output <filename> Bitstream output file name -D/--output-depth 8|10|12 Output bit depth (also internal bit depth). Default 8
- --log-level <string>
- Logging level: none error warning info debug full. Default info
- --no-progress
- Disable CLI progress reports
- --csv <filename>
- Comma separated log file, if csv-log-level > 0 frame level statistics, else one line per run
- --csv-log-level <integer>
- Level of csv logging, if csv-log-level > 0 frame level statistics, else one line per run: 0-2
Input Options:
- --input <filename>
- Raw YUV or Y4M input file name. `-` for stdin
- --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
--dolby-vision-profile <float|integer> Specifies Dolby Vision profile ID. Currently, only profile 5, profile 8.1 and profile 8.2 are enabled. Specified as '5' or '50'. Default 0 (disabled).
- --dolby-vision-rpu <filename> File containing Dolby Vision RPU metadata.
- If given, x265's Dolby Vision metadata parser will fill the RPU field of input pictures with the metadata read from the file. Default NULL (disabled).
- --nalu-file <filename>
- Text file containing SEI messages in the following format : <POC><space><PREFIX><space><NAL UNIT TYPE>/<SEI TYPE><space><SEI Payload>
-f/--frames <integer> Maximum number of frames to encode. Default all
- --seek <integer>
- First frame to encode
- --[no-]field
- Enable or disable field coding. Default disabled
- --[no-]copy-pic
- Copy buffers of input picture in the frame. Default enabled
Quality reporting metrics:
- --[no-]ssim
- Enable reporting SSIM metric scores. Default disabled
- --[no-]psnr
- Enable reporting PSNR metric scores. Default disabled
Profile, Level, Tier: -P/--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 the High tier of that level
- --uhd-bd
- Enable UHD Bluray compatibility support
- --[no-]allow-non-conformance
- Allow the encoder to generate profile NONE bitstreams. Default disabled
Threading, performance:
- --pools <integer,...>
- Comma-separated thread count per thread pool (pool per NUMA node) '-' implies no threads on node, '+' implies one thread per core on node
-F/--frame-threads <integer> Number of concurrently encoded frames. 0: auto-determined by core count
- --[no-]wpp
- Enable Wavefront Parallel Processing. Default enabled
- --[no-]slices <integer>
- Enable Multiple Slices feature. Default 1
- --[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, grain, zerolatency, fastdecode
Quad-Tree size and depth: -s/--ctu <64|32|16> Maximum CU size (WxH). Default 64
- --min-cu-size <64|32|16|8>
- Minimum CU size (WxH). Default 8
- --max-tu-size <32|16|8|4>
- Maximum TU size (WxH). Default 32
- --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
- --limit-tu <0..4>
- Enable early exit from TU recursion for inter-coded blocks. Default 0
Analysis:
- --rd <1..6>
- Level of RDO in mode decision 1:least....6:full RDO. Default 3
- --[no-]psy-rd <0..5.0>
- Strength of psycho-visual rate-distortion optimization, 0 to disable. Default 2.0
- --[no-]rdoq-level <0|1|2>
- Level of RDO in quantization - 0:none. - 1:levels. - 2:levels & coding groups.
- Default 0
- --[no-]psy-rdoq <0..50.0>
- Strength of psycho-visual optimization in RDO quantization, 0 to disable. Default 0.0
- --dynamic-rd <0..4.0>
- Strength of dynamic RD, 0 to disable. Default 0.00
- --[no-]ssim-rd
- Enable ssim rate-distortion optimization, 0 to disable. Default disabled
- --[no-]rd-refine
- Enable QP-based RD refinement for rd levels 5 and 6. Default disabled
- --[no-]early-skip
- Enable early SKIP detection. Default enabled
- --rskip <Integer>
- Enable recursion skip for an early exit from CTU analysis during inter-prediction. - 0: disabled. - 1: exit using RD cost & CU homogeneity. - 2: exit using CU edge density.
- Default 1
- --ctu-info <integer>
- Enable receiving ctu information asynchronously and determine the reaction to the CTU information (0, 1, 2, 4, 6) Default 0 - 1: force the partitions if CTU information is present - 2: functionality of (1) and reduce qp if CTU information has changed - 4: functionality of (1) and force Inter modes when CTU Information has changed, merge/skip otherwise Enable this option only when planning to invoke the API function x265_encoder_ctu_info to copy ctu-info asynchronously
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
Temporal / motion search options:
- --max-merge <1..5>
- Maximum number of merge candidates. Default 3
- --ref <integer>
- max number of L0 references to be allowed (1 .. 16) Default 3
- --limit-refs <0|1|2|3>
- Limit references per depth (1) or CU (2) or both (3). Default 1
- --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
- --[no-]rect
- Enable rectangular motion partitions Nx2N and 2NxN. Default disabled
- --[no-]amp
- Enable asymmetric motion partitions, requires --rect. Default disabled
- --[no-]limit-modes
- Limit rectangular and asymmetric motion predictions. Default 0
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 enabled
- --[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
- --cra-nal
- Force nal type to CRA to all frames except the first frame, works only with keyint 1. Default disabled
-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
- --gop-lookahead <integer>
- Extends gop boundary if a scenecut is found within this from keyint boundary. Default 0
- --no-scenecut
- Disable adaptive I-frame decision
- --scenecut <integer>
- How aggressively to insert extra I-frames. Default 40
- --hist-scenecut
- Enables histogram-based scene-cut detection using a histogram-based algorithm.
- --no-hist-scenecut
- Disables histogram-based scene-cut detection using a histogram-based algorithm.
- --[no-]fades
- Enable detection and handling of fade-in regions. Default disabled
- --radl <integer>
- Number of RADL pictures allowed in front of IDR. Default 0
- --intra-refresh
- Use Periodic Intra Refresh instead of IDR frames
- --rc-lookahead <integer>
- Number of frames for frame-type lookahead (determines encoder latency) Default 20
--lookahead-threads <integer> Number of threads to be dedicated to perform lookahead only. Default 0
-b/--bframes <0..16> Maximum number of consecutive b-frames. Default 4
- --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
- --[no-]-hrd-concat
- Set HRD concatenation flag for the first keyframe in the buffering period SEI. Default disabled
Rate control, Adaptive Quantization:
- --bitrate <integer>
- Target bitrate (kbps) for ABR (implied). Default 0
- --crf <float>
- Quality-based VBR (0-51). Default 28.0
- --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.90
- --vbv-end <float>
- Final VBV buffer emptiness (fraction of bufsize or in kbits). Default 0 (disabled)
- --min-vbv-fullness <double>
- Minimum VBV fullness percentage to be maintained. Default 50.00
- --max-vbv-fullness <double>
- Maximum VBV fullness percentage to be maintained. Default 80.00
- --vbv-end-fr-adj <float>
- Frame from which qp has to be adjusted to achieve final decode buffer emptiness. Default 0
- --chunk-start <integer>
- First frame of the chunk. Default 0 (disabled)
- --chunk-end <integer>
- Last frame of the chunk. Default 0 (disabled)
- --pass
- Multi pass rate control. - 1 : First pass, creates stats file - 2 : Last pass, does not overwrite the stats file - 3 : Nth pass, overwrites the stats file
- --[no-]multi-pass-opt-analysis
- Refine analysis in 2 pass based on analysis information from pass 1
--[no-]multi-pass-opt-distortion Use distortion of CTU from pass 1 to refine qp in 2 pass
- --[no-]vbv-live-multi-pass
- Enable real-time VBV in rate control 2 pass. Default disabled
- --stats
- Filename for stats file in multipass pass rate control. Default x265_2pass.log
- --[no-]analyze-src-pics
- Motion estimation uses source frame planes. Default disable
- --[no-]slow-firstpass
- Enable a slow first pass in a multipass rate control mode. Default enabled
- --[no-]strict-cbr
- Enable stricter conditions and tolerance for bitrate deviations in CBR mode. Default disabled
- --analysis-save <filename>
- Dump analysis info into the specified file. Default Disabled
- --analysis-load <filename>
- Load analysis buffers from the file specified. Default Disabled
- --analysis-reuse-file <filename>
- Specify the file name used for either dumping or reading analysis data. Default x265_analysis.dat
- --analysis-reuse-level <1..10>
- Level of analysis reuse indicates the amount of info stored/reused in save/load mode, 1:least..10:most. Now deprecated. Default 0
--analysis-save-reuse-level <1..10> Indicates the amount of analysis info stored in save mode, 1:least..10:most. Default 0
--analysis-load-reuse-level <1..10> Indicates the amount of analysis info reused in load mode, 1:least..10:most. Default 0
- --refine-analysis-type <string>
- Reuse analysis information received through API call. Supported options are AVC and HEVC. Default disabled - 0
- --scale-factor <int>
- Specify the factor by which the input video is scaled down for analysis save mode. Default 0
- --refine-intra <0..4>
- Enable intra-refinement for encode that uses analysis-load. - 0 : Forces both mode and depth from the save encode. - 1 : Functionality of (0) + evaluate all intra modes at min-cu-size's depth when current depth is one smaller than min-cu-size's depth. - 2 : Functionality of (1) + irrespective of size evaluates all angular modes when the save encode decides the best mode as angular. - 3 : Functionality of (1) + irrespective of size evaluates all intra modes. - 4 : Re-evaluate all intra blocks, does not reuse data from save encode.
- Default:0
- --refine-inter <0..3>
- Enable inter refinement for encode that uses analysis-load. - 0 : Forces both mode and depth from the save encode. - 1 : Functionality of (0) + evaluate all inter modes at min-cu-size's depth when current depth is one smaller than
- min-cu-size's depth. When save encode decides the current block as skip(for all sizes) evaluate skip/merge.
- - 2 : Functionality of (1) + irrespective of size restricts the modes evaluated when specific modes are decided as the best mode by the save encode. - 3 : Functionality of (1) + irrespective of size evaluates all inter modes.
- Default:0
- --[no-]dynamic-refine
- Dynamically changes refine-inter level for each CU. Default disabled
- --refine-mv <1..3>
- Enable mv refinement for load mode. Default 1
- --refine-ctu-distortion
- Store/normalize ctu distortion in analysis-save/load. - 0 : Disabled. - 1 : Store/Load ctu distortion to/from the file specified in analysis-save/load.
- Default 0 - Disabled
- --aq-mode <integer>
- Mode for Adaptive Quantization - 0:none - 1:uniform AQ - 2:auto variance - 3:auto variance with bias to dark scenes - 4:auto variance with edge information.
- Default 2
- --[no-]hevc-aq
- Mode for HEVC Adaptive Quantization. Default disabled
- --aq-strength <float>
- Reduces blocking and blurring in flat and textured areas (0 to 3.0). Default 1.00
--qp-adaptation-range <float> Delta QP range by QP adaptation based on a psycho-visual model (1.0 to 6.0). Default 1.00
- --[no-]aq-motion
- Block level QP adaptation based on the relative motion between the block and the frame. Default disabled
- --qg-size <int>
- Specifies the size of the quantization group (64, 32, 16, 8). Default 32
- --[no-]cutree
- Enable cutree for Adaptive Quantization. Default enabled
- --[no-]rc-grain
- Enable rate-control mode to handle grains specifically. Turned on with tune grain. Default disabled
- --[no-]const-vbv
- Enable consistent vbv. Turned on with tune grain. Default disabled
- --zonefile <filename>
- Zone file containing the zone boundaries and the parameters to be reconfigured.
- --no-zonefile-rc-init
- This allows the use of rate-control history across zones in zonefile.
- --max-ausize-factor <float>
- This value controls the maximum AU size defined in the specification. It represents the percentage of maximum AU size used. Default 1.0
Loop filters (deblock and SAO):
- --[no-]deblock
- Enable Deblocking Loop Filter, optionally specify tC: Beta offsets Default enabled
- --[no-]sao
- Enable Sample Adaptive Offset. Default enabled
- --[no-]limit-sao
- Limit Sample Adaptive Offset types. Default disabled
- --selective-sao <int>
- Enable slice-level SAO filter. Default 0
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
- --videoformat <string>
- Specify video format from unknown, component, pal, ntsc, secam, mac. Default unknown
- --range <string>
- Specify black level and range of luma and chroma signals as full or limited Default limited
- --colorprim <string>
- Specify color primaries from bt709, unknown, reserved, bt470m, bt470bg, smpte170m, smpte240m, film, bt2020, smpte428, smpte431, smpte432. Default unknown
- --transfer <string>
- Specify transfer characteristics from bt709, unknown, reserved, bt470m, bt470bg, smpte170m, smpte240m, linear, log100, log316, iec61966-2-4, bt1361e, iec61966-2-1, bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67. Default unknown
- --master-display <string>
- SMPTE ST 2086 master display color volume info SEI (HDR) format: G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)
- --max-cll <string>
- Specify content light level info SEI as "cll,fall" (HDR).
- --video-signal-type-preset <string>
- Specify combinations of color primaries, transfer characteristics, color matrix, range of luma and chroma signals, and chroma sample location format: <system-id>[:<color-volume>] This has higher precedence than individual VUI parameters. If any individual VUI option is specified together with this, which changes the values set corresponding to the system-id or color-volume, it will be discarded. The color-volume can be used only with the system-id options BT2100_PQ_YCC, BT2100_PQ_ICTCP, and BT2100_PQ_RGB. system-id options and their corresponding values:
- BT601_525:
- --colorprim smpte170m --transfer smpte170m --colormatrix smpte170m --range limited --chromaloc 0
- BT601_626:
- --colorprim bt470bg --transfer smpte170m --colormatrix bt470bg --range limited --chromaloc 0
- BT709_YCC:
- --colorprim bt709 --transfer bt709 --colormatrix bt709 --range limited --chromaloc 0
- BT709_RGB:
- --colorprim bt709 --transfer bt709 --colormatrix gbr --range limited
- BT2020_YCC_NCL:
- --colorprim bt2020 --transfer bt2020-10 --colormatrix bt709 --range limited --chromaloc 2
- BT2020_RGB:
- --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited
- BT2100_PQ_YCC:
- --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2
- BT2100_PQ_ICTCP: --colorprim bt2020 --transfer smpte2084 --colormatrix ictcp --range limited --chromaloc 2
- BT2100_PQ_RGB: --colorprim bt2020 --transfer smpte2084 --colormatrix gbr --range limited BT2100_HLG_YCC: --colorprim bt2020 --transfer arib-std-b67 --colormatrix bt2020nc --range limited --chromaloc 2 BT2100_HLG_RGB: --colorprim bt2020 --transfer arib-std-b67 --colormatrix gbr --range limited FR709_RGB: --colorprim bt709 --transfer bt709 --colormatrix gbr --range full FR2020_RGB: --colorprim bt2020 --transfer bt2020-10 --colormatrix gbr --range full FRP3D65_YCC: --colorprim smpte432 --transfer bt709 --colormatrix smpte170m --range full --chromaloc 1
- color-volume options and their corresponding values:
- P3D65x1000n0005: --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,5) P3D65x4000n005: --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50) BT2100x108n0005: --master-display G(8500,39850)B(6550,2300)R(34000,146000)WP(15635,16450)L(10000000,1)
- --[no-]cll
- Emit content light level info SEI. Default enabled
- --[no-]hdr10
- Control dumping of HDR10 SEI packet. If max-cll or master-display has non-zero values, this is enabled. Default disabled
- --[no-]hdr-opt
- Add luma and chroma offsets for HDR/WCG content. Default disabled. Now deprecated.
- --[no-]hdr10-opt
- Block-level QP optimization for HDR10 content. Default disabled.
- --min-luma <integer>
- Minimum luma plane value of input source picture
- --max-luma <integer>
- Maximum luma plane value of input source picture
Bitstream options:
- --[no-]repeat-headers
- Emit SPS and PPS headers at each keyframe. Default disabled
- --[no-]info
- Emit SEI identifying encoder and parameters. Default enabled
- --[no-]hrd
- Enable HRD parameters signaling. Default disabled
- --[no-]idr-recovery-sei
- Emit recovery point infor SEI at each IDR frame
- --temporal-layers
- Enable a temporal sublayer for unreferenced B frames. Default disabled
- --[no-]aud
- Emit access unit delimiters at the start of each access unit. Default disabled
- --[no-]eob
- Emit end of bitstream nal unit at the end of the bitstream. Default disabled
- --[no-]eos
- Emit end of sequence nal unit at the end of every coded video sequence. Default disabled
- --atc-sei <integer>
- Emit the alternative transfer characteristics SEI message where the integer is the preferred transfer characteristic. Default disabled
- --pic-struct <integer>
- Set the picture structure and emit it in the picture timing SEI message. Values in the range 0..12. See D.3.3 of the HEVC spec. for a detailed explanation.
- --log2-max-poc-lsb <integer>
- Maximum of the picture order count
- --[no-]vui-timing-info
- Emit VUI timing information in the bitstream. Default enabled
- --[no-]vui-hrd-info
- Emit VUI HRD information in the bitstream. Default enabled
- --[no-]opt-qp-pps
- Dynamically optimize QP in PPS (instead of default 26) based on QPs in previous GOP. Default disabled
- --[no-]opt-ref-list-length-pps
- Dynamically set L0 and L1 ref list length in PPS (instead of default 0) based on values in the last GOP. Default disabled
- --[no-]multi-pass-opt-rps
- Enable storing commonly used RPS in SPS in multi-pass mode. Default disabled
- --[no-]opt-cu-delta-qp
- Optimize to signal consistent CU level delta QPs in the frame. Default disabled
- --lowpass-dct
- Use low-pass subband DCT approximation. Default disabled
- --[no-]frame-dup
- Enable Frame duplication. Default disabled
- --dup-threshold <integer>
- PSNR threshold for Frame duplication. Default 70
- --[no-]mcstf
- Enable GOP-based temporal filter. Default 0
- ABR-ladder settings
- --abr-ladder <file>
- File containing config settings required for the generation of ABR-ladder
SEI Message Options
- --film-grain <filename>
- File containing Film Grain Characteristics to be written as a SEI Message
- --aom-film-grain <filename>
- File containing Aom Film Grain Characteristics to be written as a SEI Message
- --[no-]frame-rc
- Enable configuring Rate Control parameters(QP, CRF or Bitrate) at frame level.Default 0 Enable this option only when planning to invoke the API function x265_encoder_reconfig to configure Rate Control parameters
Use --fullhelp for a full listing (or --log-level full --help)
Complete documentation may be found at http://x265.readthedocs.org/en/default/cli.html
x265 [info]: build info [Linux][GCC 14.2.0][64 bit] 8bit+10bit+12bit x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
SEE ALSO
The full documentation for x265 is maintained as a Texinfo manual. If the info and x265 programs are properly installed at your site, the command
- info x265
should give you access to the complete manual.
| November 2024 | x265 [info]: HEVC encoder version 4.0 |