These are granular controls to optimize the quality of your outputs, for users who want to tightly control the methods used for partitioning and motion estimation. The vast majority of users do not need to override the optimized defaults.

ParameterDescriptionAllowed ValuesDefault Value
partitions Specify the combinations of inter and intra partitions.+partp8x8, +partp4x4, +partb8x8, +parti8x8, +parti4x4none
flags2 This allows B-frames to use weighted prediction options other than the default. There is no real speed cost for this, so it should always be enabled.+bpyramid, +wpred, +mixed_refs, +dct8×8, -fastpskip/+fastpskip, –no-fast-pskip/nothing, +aud.+wpred
me_method Specify the motion estimation method to method.epzs, hex, umh, fullnone
me_range Specify the maximum range of motion search.Positive Integer16
subq Specify which algorithms are used for both subpixel motion searching and partition decision.1: Fastest, but extremely low quality. Should be avoided except on first pass encoding.

2-5: Progressively better and slower, 5 serves as a good medium for higher speed encoding.
6-7: 6 is the default. Activates rate-distortion optimization for partition decision. This can considerably improve efficiency, though it has a notable speed cost. 6 activates it in I/P frames, and subme7 activates it in B frames.

8-9: Activates rate-distortion refinement, which uses RDO to refine both motion vectors and intra prediction modes. Slower than subme 6, but again, more efficient.
trellis Specify the optimal rounding choices for the maximum rate-distortion score, to maximize PSNR relative to bitrate.0, 1, 2none