diff --git a/doc/codecs.texi b/doc/codecs.texi
index 572e561c1a..b1858ae194 100644
--- a/doc/codecs.texi
+++ b/doc/codecs.texi
@@ -19,19 +19,19 @@ for programmatic use.
 The list of supported options follow:
 
 @table @option
-@item b @var{integer} (@emph{encoding,audio,video})
+@item -b @var{integer} (@emph{encoding,audio,video})
 Set bitrate in bits/s. Default value is 200K.
 
-@item ab @var{integer} (@emph{encoding,audio})
+@item -ab @var{integer} (@emph{encoding,audio})
 Set audio bitrate (in bits/s). Default value is 128K.
 
-@item bt @var{integer} (@emph{encoding,video})
+@item -bt @var{integer} (@emph{encoding,video})
 Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate
 tolerance specifies how far ratecontrol is willing to deviate from the
 target average bitrate value. This is not related to min/max
 bitrate. Lowering tolerance too much has an adverse effect on quality.
 
-@item flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
+@item -flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
 Set generic flags.
 
 Possible values:
@@ -78,7 +78,7 @@ Apply interlaced motion estimation.
 Use closed gop.
 @end table
 
-@item me_method @var{integer} (@emph{encoding,video})
+@item -me_method @var{integer} (@emph{encoding,video})
 Set motion estimation method.
 
 Possible values:
@@ -109,10 +109,10 @@ umh motion estimation
 iter motion estimation
 @end table
 
-@item extradata_size @var{integer}
+@item -extradata_size @var{integer}
 Set extradata size.
 
-@item time_base @var{rational number}
+@item -time_base @var{rational number}
 Set codec time base.
 
 It is the fundamental unit of time (in seconds) in terms of which
@@ -120,20 +120,20 @@ frame timestamps are represented. For fixed-fps content, timebase
 should be @code{1 / frame_rate} and timestamp increments should be
 identically 1.
 
-@item g @var{integer} (@emph{encoding,video})
+@item -g @var{integer} (@emph{encoding,video})
 Set the group of picture (GOP) size. Default value is 12.
 
-@item ar @var{integer} (@emph{decoding/encoding,audio})
+@item -ar @var{integer} (@emph{decoding/encoding,audio})
 Set audio sampling rate (in Hz).
 
-@item ac @var{integer} (@emph{decoding/encoding,audio})
+@item -ac @var{integer} (@emph{decoding/encoding,audio})
 Set number of audio channels.
 
-@item cutoff @var{integer} (@emph{encoding,audio})
+@item -cutoff @var{integer} (@emph{encoding,audio})
 Set cutoff bandwidth. (Supported only by selected encoders, see
 their respective documentation sections.)
 
-@item frame_size @var{integer} (@emph{encoding,audio})
+@item -frame_size @var{integer} (@emph{encoding,audio})
 Set audio frame size.
 
 Each submitted frame except the last must contain exactly frame_size
@@ -142,31 +142,31 @@ CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
 restricted. It is set by some decoders to indicate constant frame
 size.
 
-@item frame_number @var{integer}
+@item -frame_number @var{integer}
 Set the frame number.
 
-@item delay @var{integer}
+@item -delay @var{integer}
 
-@item qcomp @var{float} (@emph{encoding,video})
+@item -qcomp @var{float} (@emph{encoding,video})
 Set video quantizer scale compression (VBR). It is used as a constant
 in the ratecontrol equation. Recommended range for default rc_eq:
 0.0-1.0.
 
-@item qblur @var{float} (@emph{encoding,video})
+@item -qblur @var{float} (@emph{encoding,video})
 Set video quantizer scale blur (VBR).
 
-@item qmin @var{integer} (@emph{encoding,video})
+@item -qmin @var{integer} (@emph{encoding,video})
 Set min video quantizer scale (VBR). Must be included between -1 and
 69, default value is 2.
 
-@item qmax @var{integer} (@emph{encoding,video})
+@item -qmax @var{integer} (@emph{encoding,video})
 Set max video quantizer scale (VBR). Must be included between -1 and
 1024, default value is 31.
 
-@item qdiff @var{integer} (@emph{encoding,video})
+@item -qdiff @var{integer} (@emph{encoding,video})
 Set max difference between the quantizer scale (VBR).
 
-@item bf @var{integer} (@emph{encoding,video})
+@item -bf @var{integer} (@emph{encoding,video})
 Set max number of B frames between non-B-frames.
 
 Must be an integer between -1 and 16. 0 means that B-frames are
@@ -175,29 +175,29 @@ depending on the encoder.
 
 Default value is 0.
 
-@item b_qfactor @var{float} (@emph{encoding,video})
+@item -b_qfactor @var{float} (@emph{encoding,video})
 Set qp factor between P and B frames.
 
-@item rc_strategy @var{integer} (@emph{encoding,video})
+@item -rc_strategy @var{integer} (@emph{encoding,video})
 Set ratecontrol method.
 
-@item b_strategy @var{integer} (@emph{encoding,video})
+@item -b_strategy @var{integer} (@emph{encoding,video})
 Set strategy to choose between I/P/B-frames.
 
-@item ps @var{integer} (@emph{encoding,video})
+@item -ps @var{integer} (@emph{encoding,video})
 Set RTP payload size in bytes.
 
-@item mv_bits @var{integer}
-@item header_bits @var{integer}
-@item i_tex_bits @var{integer}
-@item p_tex_bits @var{integer}
-@item i_count @var{integer}
-@item p_count @var{integer}
-@item skip_count @var{integer}
-@item misc_bits @var{integer}
-@item frame_bits @var{integer}
-@item codec_tag @var{integer}
-@item bug @var{flags} (@emph{decoding,video})
+@item -mv_bits @var{integer}
+@item -header_bits @var{integer}
+@item -i_tex_bits @var{integer}
+@item -p_tex_bits @var{integer}
+@item -i_count @var{integer}
+@item -p_count @var{integer}
+@item -skip_count @var{integer}
+@item -misc_bits @var{integer}
+@item -frame_bits @var{integer}
+@item -codec_tag @var{integer}
+@item -bug @var{flags} (@emph{decoding,video})
 Workaround not auto detected encoder bugs.
 
 Possible values:
@@ -236,15 +236,15 @@ Workaround various bugs in microsoft broken decoders.
 trancated frames
 @end table
 
-@item lelim @var{integer} (@emph{encoding,video})
+@item -lelim @var{integer} (@emph{encoding,video})
 Set single coefficient elimination threshold for luminance (negative
 values also consider DC coefficient).
 
-@item celim @var{integer} (@emph{encoding,video})
+@item -celim @var{integer} (@emph{encoding,video})
 Set single coefficient elimination threshold for chrominance (negative
 values also consider dc coefficient)
 
-@item strict @var{integer} (@emph{decoding/encoding,audio,video})
+@item -strict @var{integer} (@emph{decoding/encoding,audio,video})
 Specify how strictly to follow the standards.
 
 Possible values:
@@ -264,10 +264,10 @@ Note: experimental decoders can pose a security risk, do not use this for
 decoding untrusted input.
 @end table
 
-@item b_qoffset @var{float} (@emph{encoding,video})
+@item -b_qoffset @var{float} (@emph{encoding,video})
 Set QP offset between P and B frames.
 
-@item err_detect @var{flags} (@emph{decoding,audio,video})
+@item -err_detect @var{flags} (@emph{decoding,audio,video})
 Set error detection flags.
 
 Possible values:
@@ -293,26 +293,26 @@ consider all spec non compliancies as errors
 consider things that a sane encoder should not do as an error
 @end table
 
-@item has_b_frames @var{integer}
+@item -has_b_frames @var{integer}
 
-@item block_align @var{integer}
+@item -block_align @var{integer}
 
-@item mpeg_quant @var{integer} (@emph{encoding,video})
+@item -mpeg_quant @var{integer} (@emph{encoding,video})
 Use MPEG quantizers instead of H.263.
 
-@item qsquish @var{float} (@emph{encoding,video})
+@item -qsquish @var{float} (@emph{encoding,video})
 How to keep quantizer between qmin and qmax (0 = clip, 1 = use
 differentiable function).
 
-@item rc_qmod_amp @var{float} (@emph{encoding,video})
+@item -rc_qmod_amp @var{float} (@emph{encoding,video})
 Set experimental quantizer modulation.
 
-@item rc_qmod_freq @var{integer} (@emph{encoding,video})
+@item -rc_qmod_freq @var{integer} (@emph{encoding,video})
 Set experimental quantizer modulation.
 
-@item rc_override_count @var{integer}
+@item -rc_override_count @var{integer}
 
-@item rc_eq @var{string} (@emph{encoding,video})
+@item -rc_eq @var{string} (@emph{encoding,video})
 Set rate control equation. When computing the expression, besides the
 standard functions defined in the section 'Expression Evaluation', the
 following functions are available: bits2qp(bits), qp2bits(qp). Also
@@ -320,29 +320,29 @@ the following constants are available: iTex pTex tex mv fCode iCount
 mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
 avgTex.
 
-@item maxrate @var{integer} (@emph{encoding,audio,video})
+@item -maxrate @var{integer} (@emph{encoding,audio,video})
 Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
 
-@item minrate @var{integer} (@emph{encoding,audio,video})
+@item -minrate @var{integer} (@emph{encoding,audio,video})
 Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
 encode. It is of little use elsewise.
 
-@item bufsize @var{integer} (@emph{encoding,audio,video})
+@item -bufsize @var{integer} (@emph{encoding,audio,video})
 Set ratecontrol buffer size (in bits).
 
-@item rc_buf_aggressivity @var{float} (@emph{encoding,video})
+@item -rc_buf_aggressivity @var{float} (@emph{encoding,video})
 Currently useless.
 
-@item i_qfactor @var{float} (@emph{encoding,video})
+@item -i_qfactor @var{float} (@emph{encoding,video})
 Set QP factor between P and I frames.
 
-@item i_qoffset @var{float} (@emph{encoding,video})
+@item -i_qoffset @var{float} (@emph{encoding,video})
 Set QP offset between P and I frames.
 
-@item rc_init_cplx @var{float} (@emph{encoding,video})
+@item -rc_init_cplx @var{float} (@emph{encoding,video})
 Set initial complexity for 1-pass encoding.
 
-@item dct @var{integer} (@emph{encoding,video})
+@item -dct @var{integer} (@emph{encoding,video})
 Set DCT algorithm.
 
 Possible values:
@@ -361,22 +361,22 @@ accurate integer
 floating point AAN DCT
 @end table
 
-@item lumi_mask @var{float} (@emph{encoding,video})
+@item -lumi_mask @var{float} (@emph{encoding,video})
 Compress bright areas stronger than medium ones.
 
-@item tcplx_mask @var{float} (@emph{encoding,video})
+@item -tcplx_mask @var{float} (@emph{encoding,video})
 Set temporal complexity masking.
 
-@item scplx_mask @var{float} (@emph{encoding,video})
+@item -scplx_mask @var{float} (@emph{encoding,video})
 Set spatial complexity masking.
 
-@item p_mask @var{float} (@emph{encoding,video})
+@item -p_mask @var{float} (@emph{encoding,video})
 Set inter masking.
 
-@item dark_mask @var{float} (@emph{encoding,video})
+@item -dark_mask @var{float} (@emph{encoding,video})
 Compress dark areas stronger than medium ones.
 
-@item idct @var{integer} (@emph{decoding/encoding,video})
+@item -idct @var{integer} (@emph{decoding/encoding,video})
 Select IDCT implementation.
 
 Possible values:
@@ -416,9 +416,9 @@ Automatically pick a IDCT compatible with the simple one
 floating point AAN IDCT
 @end table
 
-@item slice_count @var{integer}
+@item -slice_count @var{integer}
 
-@item ec @var{flags} (@emph{decoding,video})
+@item -ec @var{flags} (@emph{decoding,video})
 Set error concealment strategy.
 
 Possible values:
@@ -431,9 +431,9 @@ use strong deblock filter for damaged MBs
 favor predicting from the previous frame instead of the current
 @end table
 
-@item bits_per_coded_sample @var{integer}
+@item -bits_per_coded_sample @var{integer}
 
-@item pred @var{integer} (@emph{encoding,video})
+@item -pred @var{integer} (@emph{encoding,video})
 Set prediction method.
 
 Possible values:
@@ -446,13 +446,13 @@ Possible values:
 
 @end table
 
-@item aspect @var{rational number} (@emph{encoding,video})
+@item -aspect @var{rational number} (@emph{encoding,video})
 Set sample aspect ratio.
 
-@item sar @var{rational number} (@emph{encoding,video})
+@item -sar @var{rational number} (@emph{encoding,video})
 Set sample aspect ratio. Alias to @var{aspect}.
 
-@item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
+@item -debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
 Print specific debug info.
 
 Possible values:
@@ -490,7 +490,7 @@ threading operations
 skip motion compensation
 @end table
 
-@item cmp @var{integer} (@emph{encoding,video})
+@item -cmp @var{integer} (@emph{encoding,video})
 Set full pel me compare function.
 
 Possible values:
@@ -527,7 +527,7 @@ noise preserving sum of squared differences
 
 @end table
 
-@item subcmp @var{integer} (@emph{encoding,video})
+@item -subcmp @var{integer} (@emph{encoding,video})
 Set sub pel me compare function.
 
 Possible values:
@@ -564,7 +564,7 @@ noise preserving sum of squared differences
 
 @end table
 
-@item mbcmp @var{integer} (@emph{encoding,video})
+@item -mbcmp @var{integer} (@emph{encoding,video})
 Set macroblock compare function.
 
 Possible values:
@@ -601,7 +601,7 @@ noise preserving sum of squared differences
 
 @end table
 
-@item ildctcmp @var{integer} (@emph{encoding,video})
+@item -ildctcmp @var{integer} (@emph{encoding,video})
 Set interlaced dct compare function.
 
 Possible values:
@@ -638,16 +638,16 @@ noise preserving sum of squared differences
 
 @end table
 
-@item dia_size @var{integer} (@emph{encoding,video})
+@item -dia_size @var{integer} (@emph{encoding,video})
 Set diamond type & size for motion estimation.
 
-@item last_pred @var{integer} (@emph{encoding,video})
+@item -last_pred @var{integer} (@emph{encoding,video})
 Set amount of motion predictors from the previous frame.
 
-@item preme @var{integer} (@emph{encoding,video})
+@item -preme @var{integer} (@emph{encoding,video})
 Set pre motion estimation.
 
-@item precmp @var{integer} (@emph{encoding,video})
+@item -precmp @var{integer} (@emph{encoding,video})
 Set pre motion estimation compare function.
 
 Possible values:
@@ -684,28 +684,28 @@ noise preserving sum of squared differences
 
 @end table
 
-@item pre_dia_size @var{integer} (@emph{encoding,video})
+@item -pre_dia_size @var{integer} (@emph{encoding,video})
 Set diamond type & size for motion estimation pre-pass.
 
-@item subq @var{integer} (@emph{encoding,video})
+@item -subq @var{integer} (@emph{encoding,video})
 Set sub pel motion estimation quality.
 
-@item dtg_active_format @var{integer}
+@item -dtg_active_format @var{integer}
 
-@item me_range @var{integer} (@emph{encoding,video})
+@item -me_range @var{integer} (@emph{encoding,video})
 Set limit motion vectors range (1023 for DivX player).
 
-@item ibias @var{integer} (@emph{encoding,video})
+@item -ibias @var{integer} (@emph{encoding,video})
 Set intra quant bias.
 
-@item pbias @var{integer} (@emph{encoding,video})
+@item -pbias @var{integer} (@emph{encoding,video})
 Set inter quant bias.
 
-@item color_table_id @var{integer}
+@item -color_table_id @var{integer}
 
-@item global_quality @var{integer} (@emph{encoding,audio,video})
+@item -global_quality @var{integer} (@emph{encoding,audio,video})
 
-@item coder @var{integer} (@emph{encoding,video})
+@item -coder @var{integer} (@emph{encoding,video})
 
 Possible values:
 @table @samp
@@ -721,12 +721,12 @@ run-length coder
 deflate-based coder
 @end table
 
-@item context @var{integer} (@emph{encoding,video})
+@item -context @var{integer} (@emph{encoding,video})
 Set context model.
 
-@item slice_flags @var{integer}
+@item -slice_flags @var{integer}
 
-@item mbd @var{integer} (@emph{encoding,video})
+@item -mbd @var{integer} (@emph{encoding,video})
 Set macroblock decision algorithm (high quality mode).
 
 Possible values:
@@ -739,25 +739,25 @@ use fewest bits
 use best rate distortion
 @end table
 
-@item stream_codec_tag @var{integer}
+@item -stream_codec_tag @var{integer}
 
-@item sc_threshold @var{integer} (@emph{encoding,video})
+@item -sc_threshold @var{integer} (@emph{encoding,video})
 Set scene change threshold.
 
-@item lmin @var{integer} (@emph{encoding,video})
+@item -lmin @var{integer} (@emph{encoding,video})
 Set min lagrange factor (VBR).
 
-@item lmax @var{integer} (@emph{encoding,video})
+@item -lmax @var{integer} (@emph{encoding,video})
 Set max lagrange factor (VBR).
 
-@item nr @var{integer} (@emph{encoding,video})
+@item -nr @var{integer} (@emph{encoding,video})
 Set noise reduction.
 
-@item rc_init_occupancy @var{integer} (@emph{encoding,video})
+@item -rc_init_occupancy @var{integer} (@emph{encoding,video})
 Set number of bits which should be loaded into the rc buffer before
 decoding starts.
 
-@item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
+@item -flags2 @var{flags} (@emph{decoding/encoding,audio,video})
 
 Possible values:
 @table @samp
@@ -780,12 +780,12 @@ Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTO
 for codecs that support it. See also @file{doc/examples/export_mvs.c}.
 @end table
 
-@item error @var{integer} (@emph{encoding,video})
+@item -error @var{integer} (@emph{encoding,video})
 
-@item qns @var{integer} (@emph{encoding,video})
+@item -qns @var{integer} (@emph{encoding,video})
 Deprecated, use mpegvideo private options instead.
 
-@item threads @var{integer} (@emph{decoding/encoding,video})
+@item -threads @var{integer} (@emph{decoding/encoding,video})
 Set the number of threads to be used, in case the selected codec
 implementation supports multi-threading.
 
@@ -797,25 +797,25 @@ automatically select the number of threads to set
 
 Default value is @samp{auto}.
 
-@item me_threshold @var{integer} (@emph{encoding,video})
+@item -me_threshold @var{integer} (@emph{encoding,video})
 Set motion estimation threshold.
 
-@item mb_threshold @var{integer} (@emph{encoding,video})
+@item -mb_threshold @var{integer} (@emph{encoding,video})
 Set macroblock threshold.
 
-@item dc @var{integer} (@emph{encoding,video})
+@item -dc @var{integer} (@emph{encoding,video})
 Set intra_dc_precision.
 
-@item nssew @var{integer} (@emph{encoding,video})
+@item -nssew @var{integer} (@emph{encoding,video})
 Set nsse weight.
 
-@item skip_top @var{integer} (@emph{decoding,video})
+@item -skip_top @var{integer} (@emph{decoding,video})
 Set number of macroblock rows at the top which are skipped.
 
-@item skip_bottom @var{integer} (@emph{decoding,video})
+@item -skip_bottom @var{integer} (@emph{decoding,video})
 Set number of macroblock rows at the bottom which are skipped.
 
-@item profile @var{integer} (@emph{encoding,audio,video})
+@item -profile @var{integer} (@emph{encoding,audio,video})
 
 Possible values:
 @table @samp
@@ -861,7 +861,7 @@ Possible values:
 
 @end table
 
-@item level @var{integer} (@emph{encoding,audio,video})
+@item -level @var{integer} (@emph{encoding,audio,video})
 
 Possible values:
 @table @samp
@@ -869,22 +869,22 @@ Possible values:
 
 @end table
 
-@item lowres @var{integer} (@emph{decoding,audio,video})
+@item -lowres @var{integer} (@emph{decoding,audio,video})
 Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
 
-@item skip_threshold @var{integer} (@emph{encoding,video})
+@item -skip_threshold @var{integer} (@emph{encoding,video})
 Set frame skip threshold.
 
-@item skip_factor @var{integer} (@emph{encoding,video})
+@item -skip_factor @var{integer} (@emph{encoding,video})
 Set frame skip factor.
 
-@item skip_exp @var{integer} (@emph{encoding,video})
+@item -skip_exp @var{integer} (@emph{encoding,video})
 Set frame skip exponent.
 Negative values behave identical to the corresponding positive ones, except
 that the score is normalized.
 Positive values exist primarily for compatibility reasons and are not so useful.
 
-@item skipcmp @var{integer} (@emph{encoding,video})
+@item -skipcmp @var{integer} (@emph{encoding,video})
 Set frame skip compare function.
 
 Possible values:
@@ -921,27 +921,27 @@ noise preserving sum of squared differences
 
 @end table
 
-@item border_mask @var{float} (@emph{encoding,video})
+@item -border_mask @var{float} (@emph{encoding,video})
 Increase the quantizer for macroblocks close to borders.
 
-@item mblmin @var{integer} (@emph{encoding,video})
+@item -mblmin @var{integer} (@emph{encoding,video})
 Set min macroblock lagrange factor (VBR).
 
-@item mblmax @var{integer} (@emph{encoding,video})
+@item -mblmax @var{integer} (@emph{encoding,video})
 Set max macroblock lagrange factor (VBR).
 
-@item mepc @var{integer} (@emph{encoding,video})
+@item -mepc @var{integer} (@emph{encoding,video})
 Set motion estimation bitrate penalty compensation (1.0 = 256).
 
-@item skip_loop_filter @var{integer} (@emph{decoding,video})
-@item skip_idct        @var{integer} (@emph{decoding,video})
-@item skip_frame       @var{integer} (@emph{decoding,video})
+@item -skip_loop_filter @var{integer} (@emph{decoding,video})
+@item -skip_idct @var{integer} (@emph{decoding,video})
+@item -skip_frame @var{integer} (@emph{decoding,video})
 
 Make decoder discard processing depending on the frame type selected
 by the option value.
 
-@option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
-skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
+@option{-skip_loop_filter} skips frame loop filtering, @option{-skip_idct}
+skips frame IDCT/dequantization, @option{-skip_frame} skips decoding.
 
 Possible values:
 @table @samp
@@ -966,53 +966,53 @@ Discard all frames.
 
 Default value is @samp{default}.
 
-@item bidir_refine @var{integer} (@emph{encoding,video})
+@item -bidir_refine @var{integer} (@emph{encoding,video})
 Refine the two motion vectors used in bidirectional macroblocks.
 
-@item brd_scale @var{integer} (@emph{encoding,video})
+@item -brd_scale @var{integer} (@emph{encoding,video})
 Downscale frames for dynamic B-frame decision.
 
-@item keyint_min @var{integer} (@emph{encoding,video})
+@item -keyint_min @var{integer} (@emph{encoding,video})
 Set minimum interval between IDR-frames.
 
-@item refs @var{integer} (@emph{encoding,video})
+@item -refs @var{integer} (@emph{encoding,video})
 Set reference frames to consider for motion compensation.
 
-@item chromaoffset @var{integer} (@emph{encoding,video})
+@item -chromaoffset @var{integer} (@emph{encoding,video})
 Set chroma qp offset from luma.
 
-@item trellis @var{integer} (@emph{encoding,audio,video})
+@item -trellis @var{integer} (@emph{encoding,audio,video})
 Set rate-distortion optimal quantization.
 
-@item mv0_threshold @var{integer} (@emph{encoding,video})
-@item b_sensitivity @var{integer} (@emph{encoding,video})
+@item -mv0_threshold @var{integer} (@emph{encoding,video})
+@item -b_sensitivity @var{integer} (@emph{encoding,video})
 Adjust sensitivity of b_frame_strategy 1.
 
-@item compression_level @var{integer} (@emph{encoding,audio,video})
-@item min_prediction_order @var{integer} (@emph{encoding,audio})
-@item max_prediction_order @var{integer} (@emph{encoding,audio})
-@item timecode_frame_start @var{integer} (@emph{encoding,video})
+@item -compression_level @var{integer} (@emph{encoding,audio,video})
+@item -min_prediction_order @var{integer} (@emph{encoding,audio})
+@item -max_prediction_order @var{integer} (@emph{encoding,audio})
+@item -timecode_frame_start @var{integer} (@emph{encoding,video})
 Set GOP timecode frame start number, in non drop frame format.
 
-@item request_channels @var{integer} (@emph{decoding,audio})
+@item -request_channels @var{integer} (@emph{decoding,audio})
 Set desired number of audio channels.
 
-@item bits_per_raw_sample @var{integer}
-@item channel_layout @var{integer} (@emph{decoding/encoding,audio})
+@item -bits_per_raw_sample @var{integer}
+@item -channel_layout @var{integer} (@emph{decoding/encoding,audio})
 
 Possible values:
 @table @samp
 @end table
-@item request_channel_layout @var{integer} (@emph{decoding,audio})
+@item -request_channel_layout @var{integer} (@emph{decoding,audio})
 
 Possible values:
 @table @samp
 @end table
-@item rc_max_vbv_use @var{float} (@emph{encoding,video})
-@item rc_min_vbv_use @var{float} (@emph{encoding,video})
-@item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
+@item -rc_max_vbv_use @var{float} (@emph{encoding,video})
+@item -rc_min_vbv_use @var{float} (@emph{encoding,video})
+@item -ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
 
-@item color_primaries @var{integer} (@emph{decoding/encoding,video})
+@item -color_primaries @var{integer} (@emph{decoding/encoding,video})
 Possible values:
 @table @samp
 @item bt709
@@ -1040,7 +1040,7 @@ SMPTE 432-1
 JEDEC P22
 @end table
 
-@item color_trc @var{integer} (@emph{decoding/encoding,video})
+@item -color_trc @var{integer} (@emph{decoding/encoding,video})
 Possible values:
 @table @samp
 @item bt709
@@ -1085,7 +1085,7 @@ SMPTE ST 428-1
 ARIB STD-B67
 @end table
 
-@item colorspace @var{integer} (@emph{decoding/encoding,video})
+@item -colorspace @var{integer} (@emph{decoding/encoding,video})
 Possible values:
 @table @samp
 @item rgb
@@ -1112,7 +1112,7 @@ BT.2020 CL
 SMPTE 2085
 @end table
 
-@item color_range @var{integer} (@emph{decoding/encoding,video})
+@item -color_range @var{integer} (@emph{decoding/encoding,video})
 If used as input parameter, it serves as a hint to the decoder, which
 color_range the input has.
 Possible values:
@@ -1125,7 +1125,7 @@ MPEG (219*2^(n-8))
 JPEG (2^n-1)
 @end table
 
-@item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
+@item -chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
 Possible values:
 @table @samp
 @item left
@@ -1142,13 +1142,13 @@ Possible values:
 
 @end table
 
-@item log_level_offset @var{integer}
+@item -log_level_offset @var{integer}
 Set the log level offset.
 
-@item slices @var{integer} (@emph{encoding,video})
+@item -slices @var{integer} (@emph{encoding,video})
 Number of slices, used in parallelized encoding.
 
-@item thread_type @var{flags} (@emph{decoding/encoding,video})
+@item -thread_type @var{flags} (@emph{decoding/encoding,video})
 Select which multithreading methods to use.
 
 Use of @samp{frame} will increase decoding delay by one frame per
@@ -1169,7 +1169,7 @@ Decode more than one frame at once.
 
 Default value is @samp{slice+frame}.
 
-@item audio_service_type @var{integer} (@emph{encoding,audio})
+@item -audio_service_type @var{integer} (@emph{encoding,audio})
 Set audio service type.
 
 Possible values:
@@ -1194,16 +1194,16 @@ Voice Over
 Karaoke
 @end table
 
-@item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
+@item -request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
 Set sample format audio decoders should prefer. Default value is
 @code{none}.
 
-@item pkt_timebase @var{rational number}
+@item -pkt_timebase @var{rational number}
 
-@item sub_charenc @var{encoding} (@emph{decoding,subtitles})
+@item -sub_charenc @var{encoding} (@emph{decoding,subtitles})
 Set the input subtitles character encoding.
 
-@item field_order  @var{field_order} (@emph{video})
+@item -field_order @var{field_order} (@emph{video})
 Set/override the field order of the video.
 Possible values:
 @table @samp
@@ -1219,15 +1219,15 @@ Interlaced video, top coded first, bottom displayed first
 Interlaced video, bottom coded first, top displayed first
 @end table
 
-@item skip_alpha @var{bool} (@emph{decoding,video})
+@item -skip_alpha @var{bool} (@emph{decoding,video})
 Set to 1 to disable processing alpha (transparency). This works like the
-@samp{gray} flag in the @option{flags} option which skips chroma information
+@samp{gray} flag in the @option{-flags} option which skips chroma information
 instead of alpha. Default is 0.
 
-@item codec_whitelist @var{list} (@emph{input})
+@item -codec_whitelist @var{list} (@emph{input})
 "," separated list of allowed decoders. By default all are allowed.
 
-@item dump_separator @var{string} (@emph{input})
+@item -dump_separator @var{string} (@emph{input})
 Separator used to separate the fields printed on the command line about the
 Stream parameters.
 For example, to separate the fields with newlines and indentation:
@@ -1236,11 +1236,11 @@ ffprobe -dump_separator "
                           "  -i ~/videos/matrixbench_mpeg2.mpg
 @end example
 
-@item max_pixels @var{integer} (@emph{decoding/encoding,video})
+@item -max_pixels @var{integer} (@emph{decoding/encoding,video})
 Maximum number of pixels per image. This value can be used to avoid out of
 memory failures due to large images.
 
-@item apply_cropping @var{bool} (@emph{decoding,video})
+@item -apply_cropping @var{bool} (@emph{decoding,video})
 Enable cropping if cropping parameters are multiples of the required
 alignment for the left and top parameters. If the alignment is not met the
 cropping will be partially applied to maintain alignment.
diff --git a/doc/decoders.texi b/doc/decoders.texi
index 704bd60b9f..e4eb6a57f5 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -34,7 +34,7 @@ This decoder decodes rawvideo streams.
 @subsection Options
 
 @table @option
-@item top @var{top_field_first}
+@item -top @var{top_field_first}
 Specify the assumed field type of the input video.
 @table @option
 @item -1
@@ -146,7 +146,7 @@ configuration. You need to explicitly configure the build with
 The following option is supported by the libilbc wrapper.
 
 @table @option
-@item enhance
+@item -enhance
 
 Enable the enhancement of the decoded audio when set to 1. The default
 value is 0 (disabled).
@@ -224,7 +224,7 @@ Enabled by default.
 @subsection Options
 
 @table @option
-@item compute_clut
+@item -compute_clut
 @table @option
 @item -1
 Compute clut if no matching CLUT is in the stream.
@@ -233,7 +233,7 @@ Never compute CLUT
 @item 1
 Always compute CLUT and override the one provided in the stream.
 @end table
-@item dvb_substream
+@item -dvb_substream
 Selects the dvb substream, or all substreams if -1 which is default.
 
 @end table
@@ -246,7 +246,7 @@ also be found in VobSub file pairs and in some Matroska files.
 @subsection Options
 
 @table @option
-@item palette
+@item -palette
 Specify the global palette used by the bitmaps. When stored in VobSub, the
 palette is normally specified in the index file; in Matroska, the palette is
 stored in the codec extra-data in the same format as in VobSub. In DVDs, the
@@ -258,11 +258,11 @@ numbers (without 0x prefix) separated by comas, for example @code{0d00ee,
 ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}.
 
-@item ifo_palette
+@item -ifo_palette
 Specify the IFO file from which the global palette is obtained.
 (experimental)
 
-@item forced_subs_only
+@item -forced_subs_only
 Only decode subtitle entries marked as forced. Some titles have forced
 and non-forced subtitles in the same track. Setting this flag to @code{1}
 will only keep the forced subtitles. Default value is @code{0}.
@@ -278,14 +278,14 @@ configuration. You need to explicitly configure the build with
 @subsection Options
 
 @table @option
-@item txt_page
+@item -txt_page
 List of teletext page numbers to decode. Pages that do not match the specified
 list are dropped. You may use the special @code{*} string to match all pages,
 or @code{subtitle} to match all subtitle pages.
 Default value is *.
-@item txt_chop_top
+@item -txt_chop_top
 Discards the top teletext line. Default value is 1.
-@item txt_format
+@item -txt_format
 Specifies the format of the decoded subtitles.
 @table @option
 @item bitmap
@@ -298,28 +298,28 @@ Formatted ASS output, subtitle pages and teletext pages are returned in
 different styles, subtitle pages are stripped down to text, but an effort is
 made to keep the text alignment and the formatting.
 @end table
-@item txt_left
+@item -txt_left
 X offset of generated bitmaps, default is 0.
-@item txt_top
+@item -txt_top
 Y offset of generated bitmaps, default is 0.
-@item txt_chop_spaces
+@item -txt_chop_spaces
 Chops leading and trailing spaces and removes empty lines from the generated
 text. This option is useful for teletext based subtitles where empty spaces may
 be present at the start or at the end of the lines or empty lines may be
 present between the subtitle lines because of double-sized teletext characters.
 Default value is 1.
-@item txt_duration
+@item -txt_duration
 Sets the display duration of the decoded teletext pages or subtitles in
 milliseconds. Default value is -1 which means infinity or until the next
 subtitle event comes.
-@item txt_transparent
+@item -txt_transparent
 Force transparent background of the generated teletext bitmaps. Default value
 is 0 which means an opaque background.
-@item txt_opacity
+@item -txt_opacity
 Sets the opacity (0-255) of the teletext background. If
-@option{txt_transparent} is not set, it only affects characters between a start
+@option{-txt_transparent} is not set, it only affects characters between a start
 box and an end box, typically subtitles. Default value is 0 if
-@option{txt_transparent} is set, 255 otherwise.
+@option{-txt_transparent} is set, 255 otherwise.
 
 @end table
 
diff --git a/doc/demuxers.texi b/doc/demuxers.texi
index 2b0b37b061..d2c83d2a55 100644
--- a/doc/demuxers.texi
+++ b/doc/demuxers.texi
@@ -104,7 +104,7 @@ backslash or single quotes.
 All subsequent file-related directives apply to that file.
 
 @item @code{ffconcat version 1.0}
-Identify the script type and version. It also sets the @option{safe} option
+Identify the script type and version. It also sets the @option{-safe} option
 to 1 if it was -1.
 
 To make FFmpeg recognize the format automatically, this directive must
@@ -184,7 +184,7 @@ This demuxer accepts the following option:
 
 @table @option
 
-@item safe
+@item -safe
 If set to 1, reject unsafe file paths. A file path is considered safe if it
 does not contain a protocol specification and is relative and all components
 only contain characters from the portable character set (letters, digits,
@@ -198,7 +198,7 @@ The default is 1.
 -1 is equivalent to 1 if the format was automatically
 probed and 0 otherwise.
 
-@item auto_convert
+@item -auto_convert
 If set to 1, try to perform automatic conversions on packet data to make the
 streams concatenable.
 The default is 1.
@@ -207,7 +207,7 @@ Currently, the only conversion is adding the h264_mp4toannexb bitstream
 filter to H.264 streams in MP4 format. This is necessary in particular if
 there are resolution changes.
 
-@item segment_time_metadata
+@item -segment_time_metadata
 If set to 1, every packet will contain the @var{lavf.concat.start_time} and the
 @var{lavf.concat.duration} packet metadata values which are the start_time and
 the duration of the respective file segments in the concatenated output
@@ -284,22 +284,22 @@ Animated GIF demuxer.
 It accepts the following options:
 
 @table @option
-@item min_delay
+@item -min_delay
 Set the minimum valid delay between frames in hundredths of seconds.
 Range is 0 to 6000. Default value is 2.
 
-@item max_gif_delay
+@item -max_gif_delay
 Set the maximum valid delay between frames in hundredth of seconds.
 Range is 0 to 65535. Default value is 65535 (nearly eleven minutes),
 the maximum value allowed by the specification.
 
-@item default_delay
+@item -default_delay
 Set the default delay between frames in hundredths of seconds.
 Range is 0 to 6000. Default value is 10.
 
-@item ignore_loop
+@item -ignore_loop
 GIF files can contain information to loop a certain number of times (or
-infinitely). If @option{ignore_loop} is set to 1, then the loop setting
+infinitely). If @option{-ignore_loop} is set to 1, then the loop setting
 from the input will be ignored and looping will not occur. If set to 0,
 then looping will occur and will cycle the number of times according to
 the GIF. Default value is 1.
@@ -323,21 +323,21 @@ HLS demuxer
 It accepts the following options:
 
 @table @option
-@item live_start_index
+@item -live_start_index
 segment index to start live streams at (negative values are from the end).
 
-@item allowed_extensions
+@item -allowed_extensions
 ',' separated list of file extensions that hls is allowed to access.
 
-@item max_reload
+@item -max_reload
 Maximum number of times a insufficient list is attempted to be reloaded.
 Default value is 1000.
 
-@item http_persistent
+@item -http_persistent
 Use persistent HTTP connections. Applicable only for HTTP streams.
 Enabled by default.
 
-@item http_multiple
+@item -http_multiple
 Use multiple HTTP connections for downloading HTTP segments.
 Enabled by default for HTTP/1.1 servers.
 @end table
@@ -358,11 +358,11 @@ same for all the files in the sequence.
 
 This demuxer accepts the following options:
 @table @option
-@item framerate
+@item -framerate
 Set the frame rate for the video stream. It defaults to 25.
-@item loop
+@item -loop
 If set to 1, loop over the input. Default value is 0.
-@item pattern_type
+@item -pattern_type
 Select the pattern type used to interpret the provided filename.
 
 @var{pattern_type} accepts one of the following values.
@@ -431,23 +431,23 @@ This pattern type is deprecated in favor of @var{glob} and
 @end table
 
 Default value is @var{glob_sequence}.
-@item pixel_format
+@item -pixel_format
 Set the pixel format of the images to read. If not specified the pixel
 format is guessed from the first image file in the sequence.
-@item start_number
+@item -start_number
 Set the index of the file matched by the image file pattern to start
 to read from. Default value is 0.
-@item start_number_range
+@item -start_number_range
 Set the index interval range to check when looking for the first image
 file in the sequence, starting from @var{start_number}. Default value
 is 5.
-@item ts_from_file
+@item -ts_from_file
 If set to 1, will set frame timestamp to modification time of image file. Note
 that monotonity of timestamps is not provided: images go in the same order as
 without this option. Default value is 0.
 If set to 2, will set frame timestamp to the modification time of the image file in
 nanosecond precision.
-@item video_size
+@item -video_size
 Set the video size of the images to read. If not specified the video
 size is guessed from the first image file in the sequence.
 @end table
@@ -487,15 +487,15 @@ It accepts the following options:
 
 @table @option
 
-@item track_index
+@item -track_index
 Set the index of which track to demux. The demuxer can only export one track.
 Track indexes start at 0. Default is to pick the first track. Number of tracks
 is exported as @var{tracks} metadata entry.
 
-@item sample_rate
+@item -sample_rate
 Set the sampling rate of the exported track. Range is 1000 to 999999. Default is 44100.
 
-@item max_size @emph{(bytes)}
+@item -max_size @emph{(bytes)}
 The demuxer buffers the entire file into memory. Adjust this value to set the maximum buffer size,
 which in turn, acts as a ceiling for the size of files that can be read.
 Default is 50 MiB.
@@ -514,47 +514,47 @@ Optionally, a @code{pal8} 16-color video stream can be exported with or without
 It accepts the following options:
 
 @table @option
-@item noise_reduction
+@item -noise_reduction
 Apply a simple low-pass filter. Can be 1 (on) or 0 (off). Default is 0.
 
-@item reverb_depth
+@item -reverb_depth
 Set amount of reverb. Range 0-100. Default is 0.
 
-@item reverb_delay
+@item -reverb_delay
 Set delay in ms, clamped to 40-250 ms. Default is 0.
 
-@item bass_amount
+@item -bass_amount
 Apply bass expansion a.k.a. XBass or megabass. Range is 0 (quiet) to 100 (loud). Default is 0.
 
-@item bass_range
+@item -bass_range
 Set cutoff i.e. upper-bound for bass frequencies. Range is 10-100 Hz. Default is 0.
 
-@item surround_depth
+@item -surround_depth
 Apply a Dolby Pro-Logic surround effect. Range is 0 (quiet) to 100 (heavy). Default is 0.
 
-@item surround_delay
+@item -surround_delay
 Set surround delay in ms, clamped to 5-40 ms. Default is 0.
 
-@item max_size
+@item -max_size
 The demuxer buffers the entire file into memory. Adjust this value to set the maximum buffer size,
 which in turn, acts as a ceiling for the size of files that can be read. Range is 0 to 100 MiB.
 0 removes buffer size limit (not recommended). Default is 5 MiB.
 
-@item video_stream_expr
+@item -video_stream_expr
 String which is evaluated using the eval API to assign colors to the generated video stream.
 Variables which can be used are @code{x}, @code{y}, @code{w}, @code{h}, @code{t}, @code{speed},
 @code{tempo}, @code{order}, @code{pattern} and @code{row}.
 
-@item video_stream
+@item -video_stream
 Generate video stream. Can be 1 (on) or 0 (off). Default is 0.
 
-@item video_stream_w
+@item -video_stream_w
 Set video frame width in 'chars' where one char indicates 8 pixels. Range is 20-512. Default is 30.
 
-@item video_stream_h
+@item -video_stream_h
 Set video frame height in 'chars' where one char indicates 8 pixels. Range is 20-512. Default is 30.
 
-@item video_stream_ptxt
+@item -video_stream_ptxt
 Print metadata on video stream. Includes @code{speed}, @code{tempo}, @code{order}, @code{pattern},
 @code{row} and @code{ts} (time in ms). Can be 1 (on) or 0 (off). Default is 1.
 
@@ -566,23 +566,23 @@ libopenmpt based module demuxer
 
 See @url{https://lib.openmpt.org/libopenmpt/} for more information.
 
-Some files have multiple subsongs (tracks) this can be set with the @option{subsong}
+Some files have multiple subsongs (tracks) this can be set with the @option{-subsong}
 option.
 
 It accepts the following options:
 
 @table @option
-@item subsong
+@item -subsong
 Set the subsong index. This can be either  'all', 'auto', or the index of the
 subsong. Subsong indexes start at 0. The default is 'auto'.
 
 The default value is to let libopenmpt choose.
 
-@item layout
+@item -layout
 Set the channel layout. Valid values are 1, 2, and 4 channel layouts.
 The default value is STEREO.
 
-@item sample_rate
+@item -sample_rate
 Set the sample rate for libopenmpt to output.
 Range is from 1000 to INT_MAX. The value default is 48000.
 @end table
@@ -593,11 +593,11 @@ QuickTime / MP4 demuxer.
 
 This demuxer accepts the following options:
 @table @option
-@item enable_drefs
+@item -enable_drefs
 Enable loading of external tracks, disabled by default.
 Enabling this can theoretically leak information in some use cases.
 
-@item use_absolute_path
+@item -use_absolute_path
 Allows loading of external tracks via absolute paths, disabled by default.
 Enabling this poses a security risk. It should only be enabled if the source
 is known to be non malicious.
@@ -610,29 +610,29 @@ MPEG-2 transport stream demuxer.
 
 This demuxer accepts the following options:
 @table @option
-@item resync_size
+@item -resync_size
 Set size limit for looking up a new synchronization. Default value is
 65536.
 
-@item skip_unknown_pmt
+@item -skip_unknown_pmt
 Skip PMTs for programs not defined in the PAT. Default value is 0.
 
-@item fix_teletext_pts
+@item -fix_teletext_pts
 Override teletext packet PTS and DTS values with the timestamps calculated
 from the PCR of the first program which the teletext stream is part of and is
 not discarded. Default value is 1, set this option to 0 if you want your
 teletext packet PTS and DTS values untouched.
 
-@item ts_packetsize
+@item -ts_packetsize
 Output option carrying the raw packet size in bytes.
 Show the detected raw packet size, cannot be set by the user.
 
-@item scan_all_pmts
+@item -scan_all_pmts
 Scan and combine all PMTs. The value is an integer with value from -1
 to 1 (-1 means automatic setting, 1 means enabled, 0 means
 disabled). Default value is -1.
 
-@item merge_pmt_versions
+@item -merge_pmt_versions
 Re-use existing streams when a PMT's version is updated and elementary
 streams move to different PIDs. Default value is 0.
 @end table
@@ -645,7 +645,7 @@ This demuxer allows reading of MJPEG, where each frame is represented as a part
 multipart/x-mixed-replace stream.
 @table @option
 
-@item strict_mime_boundary
+@item -strict_mime_boundary
 Default implementation applies a relaxed standard to multi-part MIME boundary detection,
 to prevent regression with numerous existing endpoints not generating a proper MIME
 MJPEG stream. Turning this option on by setting it to 1 will result in a stricter check
@@ -663,13 +663,13 @@ in order to be able to decode the data correctly.
 This demuxer accepts the following options:
 @table @option
 
-@item framerate
+@item -framerate
 Set input video frame rate. Default value is 25.
 
-@item pixel_format
+@item -pixel_format
 Set the input video pixel format. Default value is @code{yuv420p}.
 
-@item video_size
+@item -video_size
 Set the input video size. This value must be specified explicitly.
 @end table
 
@@ -721,7 +721,7 @@ contains a bookmarklet to expose them.
 
 This demuxer accepts the following option:
 @table @option
-@item start_time
+@item -start_time
 Set the start time of the TED talk, in milliseconds. The default is 15000
 (15s). It is used to sync the captions with the downloadable videos, because
 they include a 15s intro.
@@ -742,7 +742,7 @@ add @code{-f vapoursynth} before the input @code{-i yourscript.vpy}.
 
 This demuxer accepts the following option:
 @table @option
-@item max_script_size
+@item -max_script_size
 The demuxer buffers the entire script into memory. Adjust this value to set the maximum buffer size,
 which in turn, acts as a ceiling for the size of scripts that can be read.
 Default is 1 MiB.
diff --git a/doc/encoders.texi b/doc/encoders.texi
index e86ae69cc5..7ac65e2660 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -39,20 +39,20 @@ encoder has become the default and is the recommended choice.
 @subsection Options
 
 @table @option
-@item b
+@item -b
 Set bit rate in bits/s. Setting this automatically activates constant bit rate
 (CBR) mode. If this option is unspecified it is set to 128kbps.
 
-@item q
+@item -q
 Set quality for variable bit rate (VBR) mode. This option is valid only using
 the @command{ffmpeg} command-line tool. For library interface users, use
-@option{global_quality}.
+@option{-global_quality}.
 
-@item cutoff
+@item -cutoff
 Set cutoff frequency. If unspecified will allow the encoder to dynamically
 adjust the cutoff to improve clarity on low bitrates.
 
-@item aac_coder
+@item -aac_coder
 Set AAC encoder coding method. Possible values:
 
 @table @samp
@@ -62,7 +62,7 @@ Two loop searching (TLS) method.
 This method first sets quantizers depending on band thresholds and then tries
 to find an optimal combination by adding or subtracting a specific value from
 all quantizers and adjusting some individual quantizer a little.  Will tune
-itself based on whether @option{aac_is}, @option{aac_ms} and @option{aac_pns}
+itself based on whether @option{-aac_is}, @option{-aac_ms} and @option{-aac_pns}
 are enabled.
 
 @item anmr
@@ -70,7 +70,7 @@ Average noise to mask ratio (ANMR) trellis-based solution.
 
 This is an experimental coder which currently produces a lower quality, is more
 unstable and is slower than the default twoloop coder but has potential.
-Currently has no support for the @option{aac_is} or @option{aac_pns} options.
+Currently has no support for the @option{-aac_is} or @option{-aac_pns} options.
 Not currently recommended.
 
 @item fast
@@ -83,23 +83,23 @@ This is the default choice for a coder
 
 @end table
 
-@item aac_ms
+@item -aac_ms
 Sets mid/side coding mode. The default value of "auto" will automatically use
 M/S with bands which will benefit from such coding. Can be forced for all bands
 using the value "enable", which is mainly useful for debugging or disabled using
 "disable".
 
-@item aac_is
+@item -aac_is
 Sets intensity stereo coding tool usage. By default, it's enabled and will
 automatically toggle IS for similar pairs of stereo bands if it's beneficial.
 Can be disabled for debugging by setting the value to "disable".
 
-@item aac_pns
+@item -aac_pns
 Uses perceptual noise substitution to replace low entropy high frequency bands
 with imperceptible white noise during the decoding process. By default, it's
 enabled, but can be disabled for debugging purposes by using "disable".
 
-@item aac_tns
+@item -aac_tns
 Enables the use of a multitap FIR filter which spans through the high frequency
 bands to hide quantization noise during the encoding process and is reverted
 by the decoder. As well as decreasing unpleasant artifacts in the high range
@@ -107,21 +107,21 @@ this also reduces the entropy in the high bands and allows for more bits to
 be used by the mid-low bands. By default it's enabled but can be disabled for
 debugging by setting the option to "disable".
 
-@item aac_ltp
+@item -aac_ltp
 Enables the use of the long term prediction extension which increases coding
 efficiency in very low bandwidth situations such as encoding of voice or
 solo piano music by extending constant harmonic peaks in bands throughout
 frames. This option is implied by profile:a aac_low and is incompatible with
 aac_pred. Use in conjunction with @option{-ar} to decrease the samplerate.
 
-@item aac_pred
+@item -aac_pred
 Enables the use of a more traditional style of prediction where the spectral
 coefficients transmitted are replaced by the difference of the current
 coefficients minus the previous "predicted" coefficients. In theory and sometimes
 in practice this can improve quality for low to mid bitrate audio.
 This option implies the aac_main profile and is incompatible with aac_ltp.
 
-@item profile
+@item -profile
 Sets the encoding profile, possible values:
 
 @table @samp
@@ -134,11 +134,11 @@ Equivalent to @code{-profile:a aac_low -aac_pns 0}. PNS was introduced with the
 MPEG4 specifications.
 
 @item aac_ltp
-Long term prediction profile, is enabled by and will enable the @option{aac_ltp}
+Long term prediction profile, is enabled by and will enable the @option{-aac_ltp}
 option. Introduced in MPEG4.
 
 @item aac_main
-Main-type prediction profile, is enabled by and will enable the @option{aac_pred}
+Main-type prediction profile, is enabled by and will enable the @option{-aac_pred}
 option. Introduced in MPEG2.
 
 @end table
@@ -487,7 +487,7 @@ is an optional AC-3 feature that increases quality by selectively encoding
 the left/right channels as mid/side. This option is enabled by default, and it
 is highly recommended that it be left as enabled except for testing purposes.
 
-@item cutoff @var{frequency}
+@item -cutoff @var{frequency}
 Set lowpass cutoff frequency. If unspecified, the encoder selects a default
 determined by various other encoding parameters.
 
@@ -546,19 +546,19 @@ FLAC (Free Lossless Audio Codec) Encoder
 The following options are supported by FFmpeg's flac encoder.
 
 @table @option
-@item compression_level
+@item -compression_level
 Sets the compression level, which chooses defaults for many other options
 if they are not set explicitly. Valid values are from 0 to 12, 5 is the
 default.
 
-@item frame_size
+@item -frame_size
 Sets the size of the frames in samples per channel.
 
-@item lpc_coeff_precision
+@item -lpc_coeff_precision
 Sets the LPC coefficient precision, valid values are from 1 to 15, 15 is the
 default.
 
-@item lpc_type
+@item -lpc_type
 Sets the first stage LPC algorithm
 @table @samp
 @item none
@@ -572,16 +572,16 @@ fixed LPC coefficients
 @item cholesky
 @end table
 
-@item lpc_passes
+@item -lpc_passes
 Number of passes to use for Cholesky factorization during LPC analysis
 
-@item min_partition_order
+@item -min_partition_order
 The minimum partition order
 
-@item max_partition_order
+@item -max_partition_order
 The maximum partition order
 
-@item prediction_order_method
+@item -prediction_order_method
 @table @samp
 @item estimation
 @item 2level
@@ -592,7 +592,7 @@ Bruteforce search
 @item log
 @end table
 
-@item ch_mode
+@item -ch_mode
 Channel mode
 @table @samp
 @item auto
@@ -604,12 +604,12 @@ Channels are independently coded
 @item mid_side
 @end table
 
-@item exact_rice_parameters
+@item -exact_rice_parameters
 Chooses if rice parameters are calculated exactly or approximately.
 if set to 1 then they are chosen exactly, which slows the code down slightly and
 improves compression slightly.
 
-@item multi_dim_quant
+@item -multi_dim_quant
 Multi Dimensional Quantization. If set to 1 then a 2nd stage LPC algorithm is
 applied after the first stage to finetune the coefficients. This is quite slow
 and slightly improves compression.
@@ -628,11 +628,11 @@ is equal to the libopus encoder.
 @subsection Options
 
 @table @option
-@item b
+@item -b
 Set bit rate in bits/s. If unspecified it uses the number of channels and the layout
 to make a good guess.
 
-@item opus_delay
+@item -opus_delay
 Sets the maximum delay in milliseconds. Lower delays than 20ms will very quickly
 decrease quality.
 @end table
@@ -656,7 +656,7 @@ This encoder is considered to produce output on par or worse at 128kbps to the
 sounding audio at identical or lower bitrates and has support for the
 AAC-HE profiles.
 
-VBR encoding, enabled through the @option{vbr} or @option{flags
+VBR encoding, enabled through the @option{-vbr} or @option{flags
 +qscale} options, is experimental and only works with some
 combinations of parameters.
 
@@ -671,30 +671,30 @@ For more information see the fdk-aac project at
 The following options are mapped on the shared FFmpeg codec options.
 
 @table @option
-@item b
+@item -b
 Set bit rate in bits/s. If the bitrate is not explicitly specified, it
 is automatically set to a suitable value depending on the selected
 profile.
 
 In case VBR mode is enabled the option is ignored.
 
-@item ar
+@item -ar
 Set audio sampling rate (in Hz).
 
-@item channels
+@item -channels
 Set the number of audio channels.
 
-@item flags +qscale
+@item -flags +qscale
 Enable fixed quality, VBR (Variable Bit Rate) mode.
-Note that VBR is implicitly enabled when the @option{vbr} value is
+Note that VBR is implicitly enabled when the @option{-vbr} value is
 positive.
 
-@item cutoff
+@item -cutoff
 Set cutoff frequency. If not specified (or explicitly set to 0) it
 will use a value automatically computed by the library. Default value
 is 0.
 
-@item profile
+@item -profile
 Set audio profile.
 
 The following profiles are recognized:
@@ -721,19 +721,19 @@ If not specified it is set to @samp{aac_low}.
 The following are private options of the libfdk_aac encoder.
 
 @table @option
-@item afterburner
+@item -afterburner
 Enable afterburner feature if set to 1, disabled if set to 0. This
 improves the quality but also the required processing power.
 
 Default value is 1.
 
-@item eld_sbr
+@item -eld_sbr
 Enable SBR (Spectral Band Replication) for ELD if set to 1, disabled
 if set to 0.
 
 Default value is 0.
 
-@item signaling
+@item -signaling
 Set SBR/PS signaling style.
 
 It can assume one of the following values:
@@ -754,12 +754,12 @@ explicit hierarchical signaling
 
 Default value is @samp{default}.
 
-@item latm
+@item -latm
 Output LATM/LOAS encapsulated data if set to 1, disabled if set to 0.
 
 Default value is 0.
 
-@item header_period
+@item -header_period
 Set StreamMuxConfig and PCE repetition period (in frames) for sending
 in-band configuration buffers within LATM/LOAS transport layer.
 
@@ -767,7 +767,7 @@ Must be a 16-bits non-negative integer.
 
 Default value is 0.
 
-@item vbr
+@item -vbr
 Set VBR mode, from 1 to 5. 1 is lowest quality (though still pretty
 good) and 5 is highest quality. A value of 0 will disable VBR, and CBR
 (Constant Bit Rate) is enabled.
@@ -828,37 +828,37 @@ The following options are supported by the libmp3lame wrapper. The
 @command{lame}-equivalent of the options are listed in parentheses.
 
 @table @option
-@item b (@emph{-b})
+@item -b (@emph{-b})
 Set bitrate expressed in bits/s for CBR or ABR. LAME @code{bitrate} is
 expressed in kilobits/s.
 
-@item q (@emph{-V})
+@item -q (@emph{-V})
 Set constant quality setting for VBR. This option is valid only
 using the @command{ffmpeg} command-line tool. For library interface
-users, use @option{global_quality}.
+users, use @option{-global_quality}.
 
-@item compression_level (@emph{-q})
+@item -compression_level (@emph{-q})
 Set algorithm quality. Valid arguments are integers in the 0-9 range,
 with 0 meaning highest quality but slowest, and 9 meaning fastest
 while producing the worst quality.
 
-@item cutoff (@emph{--lowpass})
+@item -cutoff (@emph{--lowpass})
 Set lowpass cutoff frequency. If unspecified, the encoder dynamically
 adjusts the cutoff.
 
-@item reservoir
+@item -reservoir
 Enable use of bit reservoir when set to 1. Default value is 1. LAME
 has this enabled by default, but can be overridden by use
 @option{--nores} option.
 
-@item joint_stereo (@emph{-m j})
+@item -joint_stereo (@emph{-m j})
 Enable the encoder to use (on a frame by frame basis) either L/R
 stereo or mid/side stereo. Default value is 1.
 
-@item abr (@emph{--abr})
+@item -abr (@emph{--abr})
 Enable the encoder to use ABR when set to 1. The @command{lame}
 @option{--abr} sets the target bitrate, while this options only
-tells FFmpeg to use ABR still relies on @option{b} to set bitrate.
+tells FFmpeg to use ABR still relies on @option{-b} to set bitrate.
 
 @end table
 
@@ -871,14 +871,14 @@ configuration. You need to explicitly configure the build with
 @code{--enable-libopencore-amrnb --enable-version3}.
 
 This is a mono-only encoder. Officially it only supports 8000Hz sample rate,
-but you can override it by setting @option{strict} to @samp{unofficial} or
+but you can override it by setting @option{-strict} to @samp{unofficial} or
 lower.
 
 @subsection Options
 
 @table @option
 
-@item b
+@item -b
 Set bitrate in bits per second. Only the following bitrates are supported,
 otherwise libavcodec will round to the nearest valid bitrate.
 
@@ -893,7 +893,7 @@ otherwise libavcodec will round to the nearest valid bitrate.
 @item 12200
 @end table
 
-@item dtx
+@item -dtx
 Allow discontinuous transmission (generate comfort noise) when set to 1. The
 default value is 0 (disabled).
 
@@ -916,13 +916,13 @@ in parentheses.
 
 @table @option
 
-@item b (@emph{bitrate})
-Set the bit rate in bits/s.  FFmpeg's @option{b} option is
+@item -b (@emph{bitrate})
+Set the bit rate in bits/s.  FFmpeg's @option{-b} option is
 expressed in bits/s, while @command{opusenc}'s @option{bitrate} in
 kilobits/s.
 
-@item vbr (@emph{vbr}, @emph{hard-cbr}, and @emph{cvbr})
-Set VBR mode. The FFmpeg @option{vbr} option has the following
+@item -vbr (@emph{vbr}, @emph{hard-cbr}, and @emph{cvbr})
+Set VBR mode. The FFmpeg @option{-vbr} option has the following
 valid arguments, with the @command{opusenc} equivalent options
 in parentheses:
 
@@ -937,22 +937,22 @@ Use variable bit rate encoding (the default).
 Use constrained variable bit rate encoding.
 @end table
 
-@item compression_level (@emph{comp})
+@item -compression_level (@emph{comp})
 Set encoding algorithm complexity. Valid options are integers in
 the 0-10 range. 0 gives the fastest encodes but lower quality, while 10
 gives the highest quality but slowest encoding. The default is 10.
 
-@item frame_duration (@emph{framesize})
+@item -frame_duration (@emph{framesize})
 Set maximum frame size, or duration of a frame in milliseconds. The
 argument must be exactly the following: 2.5, 5, 10, 20, 40, 60. Smaller
 frame sizes achieve lower latency but less quality at a given bitrate.
 Sizes greater than 20ms are only interesting at fairly low bitrates.
 The default is 20ms.
 
-@item packet_loss (@emph{expect-loss})
+@item -packet_loss (@emph{expect-loss})
 Set expected packet loss percentage. The default is 0.
 
-@item application (N.A.)
+@item -application (N.A.)
 Set intended application type. Valid options are listed below:
 
 @table @samp
@@ -964,13 +964,13 @@ Favor faithfulness to the input (the default).
 Restrict to only the lowest delay modes.
 @end table
 
-@item cutoff (N.A.)
+@item -cutoff (N.A.)
 Set cutoff bandwidth in Hz. The argument must be exactly one of the
 following: 4000, 6000, 8000, 12000, or 20000, corresponding to
 narrowband, mediumband, wideband, super wideband, and fullband
 respectively. The default is 0 (cutoff disabled).
 
-@item mapping_family (@emph{mapping_family})
+@item -mapping_family (@emph{mapping_family})
 Set channel mapping family to be used by the encoder. The default value of -1
 uses mapping family 0 for mono and stereo inputs, and mapping family 1
 otherwise. The default also disables the surround masking and LFE bandwidth
@@ -981,7 +981,7 @@ Other values include 0 for mono and stereo, 1 for surround sound with masking
 and LFE bandwidth optimizations, and 255 for independent streams with an
 unspecified channel layout.
 
-@item apply_phase_inv (N.A.) (requires libopus >= 1.2)
+@item -apply_phase_inv (N.A.) (requires libopus >= 1.2)
 If set to 0, disables the use of phase inversion for intensity stereo,
 improving the quality of mono downmixes, but slightly reducing normal stereo
 quality. The default is 1 (phase inversion enabled).
@@ -1018,7 +1018,7 @@ The following options are supported by the libshine wrapper. The
 @command{shineenc}-equivalent of the options are listed in parentheses.
 
 @table @option
-@item b (@emph{-b})
+@item -b (@emph{-b})
 Set bitrate expressed in bits/s for CBR. @command{shineenc} @option{-b} option
 is expressed in kilobits/s.
 
@@ -1039,18 +1039,18 @@ The following options are supported by the libtwolame wrapper. The
 parentheses.
 
 @table @option
-@item b (@emph{-b})
+@item -b (@emph{-b})
 Set bitrate expressed in bits/s for CBR. @command{twolame} @option{b}
 option is expressed in kilobits/s. Default value is 128k.
 
-@item q (@emph{-V})
+@item -q (@emph{-V})
 Set quality for experimental VBR support. Maximum value range is
 from -50 to 50, useful range is from -10 to 10. The higher the
 value, the better the quality. This option is valid only using the
 @command{ffmpeg} command-line tool. For library interface users,
-use @option{global_quality}.
+use @option{-global_quality}.
 
-@item mode (@emph{--mode})
+@item -mode (@emph{--mode})
 Set the mode of the resulting audio. Possible values:
 
 @table @samp
@@ -1066,24 +1066,24 @@ Dual channel
 Mono
 @end table
 
-@item psymodel (@emph{--psyc-mode})
+@item -psymodel (@emph{--psyc-mode})
 Set psychoacoustic model to use in encoding. The argument must be
 an integer between -1 and 4, inclusive. The higher the value, the
 better the quality. The default value is 3.
 
-@item energy_levels (@emph{--energy})
+@item -energy_levels (@emph{--energy})
 Enable energy levels extensions when set to 1. The default value is
 0 (disabled).
 
-@item error_protection (@emph{--protect})
+@item -error_protection (@emph{--protect})
 Enable CRC error protection when set to 1. The default value is 0
 (disabled).
 
-@item copyright (@emph{--copyright})
+@item -copyright (@emph{--copyright})
 Set MPEG audio copyright flag when set to 1. The default value is 0
 (disabled).
 
-@item original (@emph{--original})
+@item -original (@emph{--original})
 Set MPEG audio original flag when set to 1. The default value is 0
 (disabled).
 
@@ -1098,14 +1098,14 @@ configuration. You need to explicitly configure the build with
 @code{--enable-libvo-amrwbenc --enable-version3}.
 
 This is a mono-only encoder. Officially it only supports 16000Hz sample
-rate, but you can override it by setting @option{strict} to
+rate, but you can override it by setting @option{-strict} to
 @samp{unofficial} or lower.
 
 @subsection Options
 
 @table @option
 
-@item b
+@item -b
 Set bitrate in bits/s. Only the following bitrates are supported, otherwise
 libavcodec will round to the nearest valid bitrate.
 
@@ -1121,7 +1121,7 @@ libavcodec will round to the nearest valid bitrate.
 @item 23850
 @end table
 
-@item dtx
+@item -dtx
 Allow discontinuous transmission (generate comfort noise) when set to 1. The
 default value is 0 (disabled).
 
@@ -1146,32 +1146,32 @@ See @url{http://xiph.org/vorbis/},
 @url{http://wiki.xiph.org/Vorbis-tools}, and oggenc(1).
 
 @table @option
-@item b (@emph{-b})
+@item -b (@emph{-b})
 Set bitrate expressed in bits/s for ABR. @command{oggenc} @option{-b} is
 expressed in kilobits/s.
 
-@item q (@emph{-q})
+@item -q (@emph{-q})
 Set constant quality setting for VBR. The value should be a float
 number in the range of -1.0 to 10.0. The higher the value, the better
 the quality. The default value is @samp{3.0}.
 
 This option is valid only using the @command{ffmpeg} command-line tool.
-For library interface users, use @option{global_quality}.
+For library interface users, use @option{-global_quality}.
 
-@item cutoff (@emph{--advanced-encode-option lowpass_frequency=N})
+@item -cutoff (@emph{--advanced-encode-option lowpass_frequency=N})
 Set cutoff bandwidth in Hz, a value of 0 disables cutoff. @command{oggenc}'s
 related option is expressed in kHz. The default value is @samp{0} (cutoff
 disabled).
 
-@item minrate (@emph{-m})
+@item -minrate (@emph{-m})
 Set minimum bitrate expressed in bits/s. @command{oggenc} @option{-m} is
 expressed in kilobits/s.
 
-@item maxrate (@emph{-M})
+@item -maxrate (@emph{-M})
 Set maximum bitrate expressed in bits/s. @command{oggenc} @option{-M} is
 expressed in kilobits/s. This only has effect on ABR mode.
 
-@item iblock (@emph{--advanced-encode-option impulse_noisetune=N})
+@item -iblock (@emph{--advanced-encode-option impulse_noisetune=N})
 Set noise floor bias for impulse blocks. The value is a float number from
 -15.0 to 0.0. A negative bias instructs the encoder to pay special attention
 to the crispness of transients in the encoded audio. The tradeoff for better
@@ -1199,10 +1199,10 @@ encode audios with this codec without using this encoder. See @ref{wavpackenc}.
 parentheses, if any.
 
 @table @option
-@item frame_size (@emph{--blocksize})
+@item -frame_size (@emph{--blocksize})
 Default is 32768.
 
-@item compression_level
+@item -compression_level
 Set speed vs. compression tradeoff. Acceptable arguments are listed below:
 
 @table @samp
@@ -1234,7 +1234,7 @@ Motion JPEG encoder.
 @subsection Options
 
 @table @option
-@item huffman
+@item -huffman
 Set the huffman encoding strategy. Possible values:
 
 @table @samp
@@ -1269,21 +1269,21 @@ about this particular encoder will be documented here. For the general meaning
 of the options, see @ref{codec-options,,the Codec Options chapter}.
 
 @table @option
-@item frame_size (@emph{--blocksize})
+@item -frame_size (@emph{--blocksize})
 For this encoder, the range for this option is between 128 and 131072. Default
 is automatically decided based on sample rate and number of channel.
 
 For the complete formula of calculating default, see
 @file{libavcodec/wavpackenc.c}.
 
-@item compression_level (@emph{-f}, @emph{-h}, @emph{-hh}, and @emph{-x})
+@item -compression_level (@emph{-f}, @emph{-h}, @emph{-hh}, and @emph{-x})
 This option's syntax is consistent with @ref{libwavpack}'s.
 @end table
 
 @subsubsection Private options
 
 @table @option
-@item joint_stereo (@emph{-j})
+@item -joint_stereo (@emph{-j})
 Set whether to enable joint stereo. Valid values are:
 
 @table @samp
@@ -1295,7 +1295,7 @@ Force left/right audio encoding.
 Let the encoder decide automatically.
 @end table
 
-@item optimize_mono
+@item -optimize_mono
 Set whether to enable optimization for mono. This option is only effective for
 non-mono streams. Available values:
 
@@ -1323,7 +1323,7 @@ Vidvox Hap video encoder.
 @subsection Options
 
 @table @option
-@item format @var{integer}
+@item -format @var{integer}
 Specifies the Hap format to encode.
 
 @table @option
@@ -1334,14 +1334,14 @@ Specifies the Hap format to encode.
 
 Default value is @option{hap}.
 
-@item chunks @var{integer}
+@item -chunks @var{integer}
 Specifies the number of chunks to split frames into, between 1 and 64. This
 permits multithreaded decoding of large frames, potentially at the cost of
 data-rate. The encoder may modify this value to divide frames evenly.
 
 Default value is @var{1}.
 
-@item compressor @var{integer}
+@item -compressor @var{integer}
 Specifies the second-stage compressor to use. If set to @option{none},
 @option{chunks} will be limited to 1, as chunked uncompressed frames offer no
 benefit.
@@ -1364,7 +1364,7 @@ can be selected with @code{-pred 1}.
 @subsection Options
 
 @table @option
-@item format
+@item -format
 Can be set to either @code{j2k} or @code{jp2} (the default) that
 makes it possible to store non-rgb pix_fmts.
 
@@ -1384,14 +1384,14 @@ The wrapper supports the following standard libavcodec options:
 
 @table @option
 
-@item b
+@item -b
 Set bitrate target in bits/second.  By default this will use
-variable-bitrate mode.  If @option{maxrate} and @option{minrate} are
+variable-bitrate mode.  If @option{-maxrate} and @option{-minrate} are
 also set to the same value then it will use constant-bitrate mode,
-otherwise if @option{crf} is set as well then it will use
+otherwise if @option{-crf} is set as well then it will use
 constrained-quality mode.
 
-@item g keyint_min
+@item -g keyint_min
 Set key frame placement.  The GOP size sets the maximum distance between
 key frames; if zero the output stream will be intra-only.  The minimum
 distance is ignored unless it is the same as the GOP size, in which case
@@ -1399,23 +1399,23 @@ key frames will always appear at a fixed interval.  Not set by default,
 so without this option the library has completely free choice about
 where to place key frames.
 
-@item qmin qmax
+@item -qmin, -qmax
 Set minimum/maximum quantisation values.  Valid range is from 0 to 63
 (warning: this does not match the quantiser values actually used by AV1
 - divide by four to map real quantiser values to this range).  Defaults
 to min/max (no constraint).
 
-@item minrate maxrate bufsize rc_init_occupancy
+@item -minrate, -maxrate, -bufsize, -rc_init_occupancy
 Set rate control buffering parameters.  Not used if not set - defaults
 to unconstrained variable bitrate.
 
-@item threads
+@item -threads
 Set the number of threads to use while encoding.  This may require the
-@option{tiles} or @option{row-mt} options to also be set to actually
+@option{-tiles} or @option{row-mt} options to also be set to actually
 use the specified number of threads fully. Defaults to the number of
 hardware threads supported by the host machine.
 
-@item profile
+@item -profile
 Set the encoding profile.  Defaults to using the profile which matches
 the bit depth and chroma subsampling of the input.
 
@@ -1425,21 +1425,21 @@ The wrapper also has some specific options:
 
 @table @option
 
-@item cpu-used
+@item -cpu-used
 Set the quality/encoding speed tradeoff.  Valid range is from 0 to 8,
 higher numbers indicating greater speed and lower quality.  The default
 value is 1, which will be slow and high quality.
 
-@item auto-alt-ref
+@item -auto-alt-ref
 Enable use of alternate reference frames.  Defaults to the internal
 default of the library.
 
-@item lag-in-frames
+@item -lag-in-frames
 Set the maximum number of frames which the encoder may keep in flight
 at any one time for lookahead purposes.  Defaults to the internal
 default of the library.
 
-@item error-resilience
+@item -error-resilience
 Enable error resilience features:
 @table @option
 @item default
@@ -1447,37 +1447,37 @@ Improve resilience against losses of whole frames.
 @end table
 Not enabled by default.
 
-@item crf
+@item -crf
 Set the quality/size tradeoff for constant-quality (no bitrate target)
 and constrained-quality (with maximum bitrate target) modes. Valid
 range is 0 to 63, higher numbers indicating lower quality and smaller
 output size.  Only used if set; by default only the bitrate target is
 used.
 
-@item static-thresh
+@item -static-thresh
 Set a change threshold on blocks below which they will be skipped by
 the encoder.  Defined in arbitrary units as a nonnegative integer,
 defaulting to zero (no blocks are skipped).
 
-@item drop-threshold
+@item -drop-threshold
 Set a threshold for dropping frames when close to rate control bounds.
 Defined as a percentage of the target buffer - when the rate control
 buffer falls below this percentage, frames will be dropped until it
 has refilled above the threshold.  Defaults to zero (no frames are
 dropped).
 
-@item tiles
+@item -tiles
 Set the number of tiles to encode the input video with, as columns x
 rows.  Larger numbers allow greater parallelism in both encoding and
 decoding, but may decrease coding efficiency.  Defaults to the minimum
 number of tiles required by the size of the input video (this is 1x1
 (that is, a single tile) for sizes up to and including 4K).
 
-@item tile-columns tile-rows
+@item -tile-columns, -tile-rows
 Set the number of tiles as log2 of the number of tile rows and columns.
 Provided for compatibility with libvpx/VP9.
 
-@item row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
+@item -row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
 Enable row based multi-threading. Disabled by default.
 
 @end table
@@ -1494,10 +1494,10 @@ configuration. You need to explicitly configure the build with
 
 @table @option
 
-@item b
+@item -b
 Set target video bitrate in bit/s and enable rate control.
 
-@item kvazaar-params
+@item -kvazaar-params
 Set kvazaar parameters as a list of @var{name}=@var{value} pairs separated
 by commas (,). See kvazaar documentation for a list of options.
 
@@ -1521,24 +1521,24 @@ The following FFmpeg global options affect the configurations of the
 libopenh264 encoder.
 
 @table @option
-@item b
+@item -b
 Set the bitrate (as a number of bits per second).
 
-@item g
+@item -g
 Set the GOP size.
 
-@item maxrate
+@item -maxrate
 Set the max bitrate (as a number of bits per second).
 
-@item flags +global_header
+@item -flags +global_header
 Set global header in the bitstream.
 
-@item slices
+@item -slices
 Set the number of slices, used in parallelized encoding. Default value
-is 0. This is only used when @option{slice_mode} is set to
+is 0. This is only used when @option{-slice_mode} is set to
 @samp{fixed}.
 
-@item slice_mode
+@item -slice_mode
 Set slice mode. Can assume one of the following possible values:
 
 @table @samp
@@ -1554,18 +1554,18 @@ dynamic slicing
 
 Default value is @samp{auto}.
 
-@item loopfilter
+@item -loopfilter
 Enable loop filter, if set to 1 (automatically enabled). To disable
 set a value of 0.
 
-@item profile
+@item -profile
 Set profile restrictions. If set to the value of @samp{main} enable
 CABAC (set the @code{SEncParamExt.iEntropyCodingModeFlag} flag to 1).
 
-@item max_nal_size
+@item -max_nal_size
 Set maximum NAL size in bytes.
 
-@item allow_skip_frames
+@item -allow_skip_frames
 Allow skipping frames to hit the target bitrate if set to 1.
 @end table
 
@@ -1586,19 +1586,19 @@ The following global options are mapped to internal libtheora options
 which affect the quality and the bitrate of the encoded stream.
 
 @table @option
-@item b
+@item -b
 Set the video bitrate in bit/s for CBR (Constant Bit Rate) mode.  In
 case VBR (Variable Bit Rate) mode is enabled this option is ignored.
 
-@item flags
+@item -flags
 Used to enable constant quality mode (VBR) encoding through the
 @option{qscale} flag, and to enable the @code{pass1} and @code{pass2}
 modes.
 
-@item g
+@item -g
 Set the GOP size.
 
-@item global_quality
+@item -global_quality
 Set the global quality as an integer in lambda units.
 
 Only relevant when VBR mode is enabled with @code{flags +qscale}. The
@@ -1607,7 +1607,7 @@ clipped in the [0 - 10] range, and then multiplied by 6.3 to get a
 value in the native libtheora range [0-63]. A higher value corresponds
 to a higher quality.
 
-@item q
+@item -q
 Enable VBR mode when set to a non-negative value, and set constant
 quality value as a double floating point value in QP units.
 
@@ -1615,7 +1615,7 @@ The value is clipped in the [0-10] range, and then multiplied by 6.3
 to get a value in the native libtheora range [0-63].
 
 This option is valid only using the @command{ffmpeg} command-line
-tool. For library interface users, use @option{global_quality}.
+tool. For library interface users, use @option{-global_quality}.
 @end table
 
 @subsection Examples
@@ -1659,63 +1659,63 @@ documentation.
 
 @table @option
 
-@item b (@emph{target-bitrate})
-Set bitrate in bits/s. Note that FFmpeg's @option{b} option is
+@item -b (@emph{target-bitrate})
+Set bitrate in bits/s. Note that FFmpeg's @option{-b} option is
 expressed in bits/s, while @command{vpxenc}'s @option{target-bitrate} is in
 kilobits/s.
 
-@item g (@emph{kf-max-dist})
+@item -g (@emph{kf-max-dist})
 
-@item keyint_min (@emph{kf-min-dist})
+@item -keyint_min (@emph{kf-min-dist})
 
-@item qmin (@emph{min-q})
+@item -qmin (@emph{min-q})
 
-@item qmax (@emph{max-q})
+@item -qmax (@emph{max-q})
 
-@item bufsize (@emph{buf-sz}, @emph{buf-optimal-sz})
+@item -bufsize (@emph{buf-sz}, @emph{buf-optimal-sz})
 Set ratecontrol buffer size (in bits). Note @command{vpxenc}'s options are
 specified in milliseconds, the libvpx wrapper converts this value as follows:
 @code{buf-sz = bufsize * 1000 / bitrate},
 @code{buf-optimal-sz = bufsize * 1000 / bitrate * 5 / 6}.
 
-@item rc_init_occupancy (@emph{buf-initial-sz})
+@item -rc_init_occupancy (@emph{buf-initial-sz})
 Set number of bits which should be loaded into the rc buffer before decoding
 starts. Note @command{vpxenc}'s option is specified in milliseconds, the libvpx
 wrapper converts this value as follows:
 @code{rc_init_occupancy * 1000 / bitrate}.
 
-@item undershoot-pct
+@item -undershoot-pct
 Set datarate undershoot (min) percentage of the target bitrate.
 
-@item overshoot-pct
+@item -overshoot-pct
 Set datarate overshoot (max) percentage of the target bitrate.
 
-@item skip_threshold (@emph{drop-frame})
+@item -skip_threshold (@emph{drop-frame})
 
-@item qcomp (@emph{bias-pct})
+@item -qcomp (@emph{bias-pct})
 
-@item maxrate (@emph{maxsection-pct})
+@item -maxrate (@emph{maxsection-pct})
 Set GOP max bitrate in bits/s. Note @command{vpxenc}'s option is specified as a
 percentage of the target bitrate, the libvpx wrapper converts this value as
 follows: @code{(maxrate * 100 / bitrate)}.
 
-@item minrate (@emph{minsection-pct})
+@item -minrate (@emph{minsection-pct})
 Set GOP min bitrate in bits/s. Note @command{vpxenc}'s option is specified as a
 percentage of the target bitrate, the libvpx wrapper converts this value as
 follows: @code{(minrate * 100 / bitrate)}.
 
-@item minrate, maxrate, b @emph{end-usage=cbr}
+@item -minrate, -maxrate, -b @emph{end-usage=cbr}
 @code{(minrate == maxrate == bitrate)}.
 
-@item crf (@emph{end-usage=cq}, @emph{cq-level})
+@item -crf (@emph{end-usage=cq}, @emph{cq-level})
 
-@item tune (@emph{tune})
+@item -tune (@emph{tune})
 @table @samp
 @item psnr (@emph{psnr})
 @item ssim (@emph{ssim})
 @end table
 
-@item quality, deadline (@emph{deadline})
+@item -quality, -deadline (@emph{deadline})
 @table @samp
 @item best
 Use best quality deadline. Poorly named and quite slow, this option should be
@@ -1727,53 +1727,53 @@ when used with the @option{cpu-used} option.
 Use realtime quality deadline.
 @end table
 
-@item speed, cpu-used (@emph{cpu-used})
+@item -speed, -cpu-used (@emph{cpu-used})
 Set quality/speed ratio modifier. Higher values speed up the encode at the cost
 of quality.
 
-@item nr (@emph{noise-sensitivity})
+@item -nr (@emph{noise-sensitivity})
 
-@item static-thresh
+@item -static-thresh
 Set a change threshold on blocks below which they will be skipped by the
 encoder.
 
-@item slices (@emph{token-parts})
-Note that FFmpeg's @option{slices} option gives the total number of partitions,
+@item -slices (@emph{token-parts})
+Note that FFmpeg's @option{-slices} option gives the total number of partitions,
 while @command{vpxenc}'s @option{token-parts} is given as
 @code{log2(partitions)}.
 
-@item max-intra-rate
+@item -max-intra-rate
 Set maximum I-frame bitrate as a percentage of the target bitrate. A value of 0
 means unlimited.
 
-@item force_key_frames
+@item -force_key_frames
 @code{VPX_EFLAG_FORCE_KF}
 
 @item Alternate reference frame related
 @table @option
-@item auto-alt-ref
+@item -auto-alt-ref
 Enable use of alternate reference frames (2-pass only).
 Values greater than 1 enable multi-layer alternate reference frames (VP9 only).
-@item arnr-max-frames
+@item -arnr-max-frames
 Set altref noise reduction max frame count.
-@item arnr-type
+@item -arnr-type
 Set altref noise reduction filter type: backward, forward, centered.
-@item arnr-strength
+@item -arnr-strength
 Set altref noise reduction filter strength.
-@item rc-lookahead, lag-in-frames (@emph{lag-in-frames})
+@item -rc-lookahead, -lag-in-frames (@emph{lag-in-frames})
 Set number of frames to look ahead for frametype and ratecontrol.
 @end table
 
-@item error-resilient
+@item -error-resilient
 Enable error resiliency features.
 
-@item sharpness @var{integer}
+@item -sharpness @var{integer}
 Increase sharpness at the expense of lower PSNR.
 The valid range is [0, 7].
 
 @item VP8-specific options
 @table @option
-@item ts-parameters
+@item -ts-parameters
 Sets the temporal scalability configuration using a :-separated list of
 key=value pairs. For example, to specify temporal scalability parameters
 with @code{ffmpeg}:
@@ -1801,22 +1801,22 @@ Template defining the membership of frames to temporal layers.
 
 @item VP9-specific options
 @table @option
-@item lossless
+@item -lossless
 Enable lossless mode.
-@item tile-columns
+@item -tile-columns
 Set number of tile columns to use. Note this is given as
 @code{log2(tile_columns)}. For example, 8 tile columns would be requested by
 setting the @option{tile-columns} option to 3.
-@item tile-rows
+@item -tile-rows
 Set number of tile rows to use. Note this is given as @code{log2(tile_rows)}.
 For example, 4 tile rows would be requested by setting the @option{tile-rows}
 option to 2.
-@item frame-parallel
+@item -frame-parallel
 Enable frame parallel decodability features.
-@item aq-mode
+@item -aq-mode
 Set adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3:
 cyclic refresh, 4: equator360).
-@item colorspace @emph{color-space}
+@item -colorspace @emph{color-space}
 Set input color space. The VP9 bitstream supports signaling the following
 colorspaces:
 @table @option
@@ -1828,16 +1828,16 @@ colorspaces:
 @item @samp{smpte240m} @emph{smpte240}
 @item @samp{bt2020_ncl} @emph{bt2020}
 @end table
-@item row-mt @var{boolean}
+@item -row-mt @var{boolean}
 Enable row based multi-threading.
-@item tune-content
+@item -tune-content
 Set content type: default (0), screen (1), film (2).
-@item corpus-complexity
+@item -corpus-complexity
 Corpus VBR mode is a variant of standard VBR where the complexity distribution
 midpoint is passed in rather than calculated for a specific clip or chunk.
 
 The valid range is [0, 10000]. 0 (default) uses standard VBR.
-@item enable-tpl @var{boolean}
+@item -enable-tpl @var{boolean}
 Enable temporal dependency model.
 @end table
 
@@ -1922,7 +1922,7 @@ for detail retention (adaptive quantization, psy-RD, psy-trellis).
 
 Many libx264 encoder options are mapped to FFmpeg global codec
 options, while unique encoder options are provided through private
-options. Additionally the @option{x264opts} and @option{x264-params}
+options. Additionally the @option{-x264opts} and @option{x264-params}
 private options allows one to pass a list of key=value tuples as accepted
 by the libx264 @code{x264_param_parse} function.
 
@@ -1955,45 +1955,45 @@ options, invoke the command @command{x264 --fullhelp} or consult
 the libx264 documentation.
 
 @table @option
-@item b (@emph{bitrate})
-Set bitrate in bits/s. Note that FFmpeg's @option{b} option is
+@item -b (@emph{bitrate})
+Set bitrate in bits/s. Note that FFmpeg's @option{-b} option is
 expressed in bits/s, while @command{x264}'s @option{bitrate} is in
 kilobits/s.
 
-@item bf (@emph{bframes})
+@item -bf (@emph{bframes})
 
-@item g (@emph{keyint})
+@item -g (@emph{keyint})
 
-@item qmin (@emph{qpmin})
+@item -qmin (@emph{qpmin})
 Minimum quantizer scale.
 
-@item qmax (@emph{qpmax})
+@item -qmax (@emph{qpmax})
 Maximum quantizer scale.
 
-@item qdiff (@emph{qpstep})
+@item -qdiff (@emph{qpstep})
 Maximum difference between quantizer scales.
 
-@item qblur (@emph{qblur})
+@item -qblur (@emph{qblur})
 Quantizer curve blur
 
-@item qcomp (@emph{qcomp})
+@item -qcomp (@emph{qcomp})
 Quantizer curve compression factor
 
-@item refs (@emph{ref})
+@item -refs (@emph{ref})
 Number of reference frames each P-frame can use. The range is from @var{0-16}.
 
-@item sc_threshold (@emph{scenecut})
+@item -sc_threshold (@emph{scenecut})
 Sets the threshold for the scene change detection.
 
-@item trellis (@emph{trellis})
+@item -trellis (@emph{trellis})
 Performs Trellis quantization to increase efficiency. Enabled by default.
 
-@item nr  (@emph{nr})
+@item -nr  (@emph{nr})
 
-@item me_range (@emph{merange})
+@item -me_range (@emph{merange})
 Maximum range of the motion search in pixels.
 
-@item me_method (@emph{me})
+@item -me_method (@emph{me})
 Set motion estimation method. Possible values in the decreasing order
 of speed:
 
@@ -2012,20 +2012,20 @@ Exhaustive search.
 Hadamard exhaustive search (slowest).
 @end table
 
-@item forced-idr
+@item -forced-idr
 Normally, when forcing a I-frame type, the encoder can select any type
 of I-frame. This option forces it to choose an IDR-frame.
 
-@item subq (@emph{subme})
+@item -subq (@emph{subme})
 Sub-pixel motion estimation method.
 
-@item b_strategy (@emph{b-adapt})
+@item -b_strategy (@emph{b-adapt})
 Adaptive B-frame placement decision algorithm. Use only on first-pass.
 
-@item keyint_min (@emph{min-keyint})
+@item -keyint_min (@emph{min-keyint})
 Minimum GOP size.
 
-@item coder
+@item -coder
 Set entropy encoder. Possible values:
 
 @table @samp
@@ -2037,7 +2037,7 @@ Enable CAVLC and disable CABAC. It generates the same effect as
 @command{x264}'s @option{--no-cabac} option.
 @end table
 
-@item cmp
+@item -cmp
 Set full pixel motion estimation comparison algorithm. Possible values:
 
 @table @samp
@@ -2049,10 +2049,10 @@ Ignore chroma in motion estimation. It generates the same effect as
 @command{x264}'s @option{--no-chroma-me} option.
 @end table
 
-@item threads (@emph{threads})
+@item -threads (@emph{threads})
 Number of encoding threads.
 
-@item thread_type
+@item -thread_type
 Set multithreading technique. Possible values:
 
 @table @samp
@@ -2063,37 +2063,37 @@ Slice-based multithreading. It generates the same effect as
 Frame-based multithreading.
 @end table
 
-@item flags
+@item -flags
 Set encoding flags. It can be used to disable closed GOP and enable
 open GOP by setting it to @code{-cgop}. The result is similar to
 the behavior of @command{x264}'s @option{--open-gop} option.
 
-@item rc_init_occupancy (@emph{vbv-init})
+@item -rc_init_occupancy (@emph{vbv-init})
 
-@item preset (@emph{preset})
+@item -preset (@emph{preset})
 Set the encoding preset.
 
-@item tune (@emph{tune})
+@item -tune (@emph{tune})
 Set tuning of the encoding params.
 
-@item profile (@emph{profile})
+@item -profile (@emph{profile})
 Set profile restrictions.
 
-@item fastfirstpass
+@item -fastfirstpass
 Enable fast settings when encoding first pass, when set to 1. When set
 to 0, it has the same effect of @command{x264}'s
 @option{--slow-firstpass} option.
 
-@item crf (@emph{crf})
+@item -crf (@emph{crf})
 Set the quality for constant quality mode.
 
-@item crf_max (@emph{crf-max})
+@item -crf_max (@emph{crf-max})
 In CRF mode, prevents VBV from lowering quality beyond this point.
 
-@item qp (@emph{qp})
+@item -qp (@emph{qp})
 Set constant quantization rate control method parameter.
 
-@item aq-mode (@emph{aq-mode})
+@item -aq-mode (@emph{aq-mode})
 Set AQ method. Possible values:
 
 @table @samp
@@ -2107,25 +2107,25 @@ Variance AQ (complexity mask).
 Auto-variance AQ (experimental).
 @end table
 
-@item aq-strength (@emph{aq-strength})
+@item -aq-strength (@emph{aq-strength})
 Set AQ strength, reduce blocking and blurring in flat and textured areas.
 
-@item psy
+@item -psy
 Use psychovisual optimizations when set to 1. When set to 0, it has the
 same effect as @command{x264}'s @option{--no-psy} option.
 
-@item psy-rd  (@emph{psy-rd})
+@item -psy-rd  (@emph{psy-rd})
 Set strength of psychovisual optimization, in
 @var{psy-rd}:@var{psy-trellis} format.
 
-@item rc-lookahead (@emph{rc-lookahead})
+@item -rc-lookahead (@emph{rc-lookahead})
 Set number of frames to look ahead for frametype and ratecontrol.
 
-@item weightb
+@item -weightb
 Enable weighted prediction for B-frames when set to 1. When set to 0,
 it has the same effect as @command{x264}'s @option{--no-weightb} option.
 
-@item weightp (@emph{weightp})
+@item -weightp (@emph{weightp})
 Set weighted prediction method for P-frames. Possible values:
 
 @table @samp
@@ -2137,25 +2137,25 @@ Enable only weighted refs
 Enable both weighted refs and duplicates
 @end table
 
-@item ssim (@emph{ssim})
+@item -ssim (@emph{ssim})
 Enable calculation and printing SSIM stats after the encoding.
 
-@item intra-refresh (@emph{intra-refresh})
+@item -intra-refresh (@emph{intra-refresh})
 Enable the use of Periodic Intra Refresh instead of IDR frames when set
 to 1.
 
-@item avcintra-class (@emph{class})
+@item -avcintra-class (@emph{class})
 Configure the encoder to generate AVC-Intra.
 Valid values are 50,100 and 200
 
-@item bluray-compat (@emph{bluray-compat})
+@item -bluray-compat (@emph{bluray-compat})
 Configure the encoder to be compatible with the bluray standard.
 It is a shorthand for setting "bluray-compat=1 force-cfr=1".
 
-@item b-bias (@emph{b-bias})
+@item -b-bias (@emph{b-bias})
 Set the influence on how often B-frames are used.
 
-@item b-pyramid (@emph{b-pyramid})
+@item -b-pyramid (@emph{b-pyramid})
 Set method for keeping of some B-frames as references. Possible values:
 
 @table @samp
@@ -2167,36 +2167,36 @@ Strictly hierarchical pyramid.
 Non-strict (not Blu-ray compatible).
 @end table
 
-@item mixed-refs
+@item -mixed-refs
 Enable the use of one reference per partition, as opposed to one
 reference per macroblock when set to 1. When set to 0, it has the
 same effect as @command{x264}'s @option{--no-mixed-refs} option.
 
-@item 8x8dct
+@item -8x8dct
 Enable adaptive spatial transform (high profile 8x8 transform)
 when set to 1. When set to 0, it has the same effect as
 @command{x264}'s @option{--no-8x8dct} option.
 
-@item fast-pskip
+@item -fast-pskip
 Enable early SKIP detection on P-frames when set to 1. When set
 to 0, it has the same effect as @command{x264}'s
 @option{--no-fast-pskip} option.
 
-@item aud (@emph{aud})
+@item -aud (@emph{aud})
 Enable use of access unit delimiters when set to 1.
 
-@item mbtree
+@item -mbtree
 Enable use macroblock tree ratecontrol when set to 1. When set
 to 0, it has the same effect as @command{x264}'s
 @option{--no-mbtree} option.
 
-@item deblock (@emph{deblock})
+@item -deblock (@emph{deblock})
 Set loop filter parameters, in @var{alpha}:@var{beta} form.
 
-@item cplxblur (@emph{cplxblur})
+@item -cplxblur (@emph{cplxblur})
 Set fluctuations reduction in QP (before curve compression).
 
-@item partitions (@emph{partitions})
+@item -partitions (@emph{partitions})
 Set partitions to consider as a comma-separated list of. Possible
 values in the list:
 
@@ -2220,7 +2220,7 @@ Do not consider any partitions.
 Consider every partition.
 @end table
 
-@item direct-pred (@emph{direct})
+@item -direct-pred (@emph{direct})
 Set direct MV prediction mode. Possible values:
 
 @table @samp
@@ -2234,14 +2234,14 @@ Enable temporal predicting.
 Automatically decided.
 @end table
 
-@item slice-max-size (@emph{slice-max-size})
+@item -slice-max-size (@emph{slice-max-size})
 Set the limit of the size of each slice in bytes. If not specified
 but RTP payload size (@option{ps}) is specified, that is used.
 
-@item stats (@emph{stats})
+@item -stats (@emph{stats})
 Set the file name for multi-pass stats.
 
-@item nal-hrd (@emph{nal-hrd})
+@item -nal-hrd (@emph{nal-hrd})
 Set signal HRD information (requires @option{vbv-bufsize} to be set).
 Possible values:
 
@@ -2254,7 +2254,7 @@ Variable bit rate.
 Constant bit rate (not allowed in MP4 container).
 @end table
 
-@item x264opts (N.A.)
+@item -x264opts (N.A.)
 Set any x264 option, see @command{x264 --fullhelp} for a list.
 
 Argument is a list of @var{key}=@var{value} couples separated by
@@ -2267,15 +2267,15 @@ For example to specify libx264 encoding options with @command{ffmpeg}:
 ffmpeg -i foo.mpg -c:v libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
 @end example
 
-@item a53cc @var{boolean}
+@item -a53cc @var{boolean}
 Import closed captions (which must be ATSC compatible format) into output.
 Only the mpeg2 and h264 decoders provide these. Default is 1 (on).
 
-@item x264-params (N.A.)
+@item -x264-params (N.A.)
 Override the x264 configuration using a :-separated list of key=value
 parameters.
 
-This option is functionally the same as the @option{x264opts}, but is
+This option is functionally the same as the @option{-x264opts}, but is
 duplicated for compatibility with the Libav fork.
 
 For example to specify libx264 encoding options with @command{ffmpeg}:
@@ -2287,7 +2287,7 @@ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
 @end table
 
 Encoding ffpresets for common usages are provided so they can be used with the
-general presets system (e.g. passing the @option{pre} option).
+general presets system (e.g. passing the @option{-pre} option).
 
 @section libx265
 
@@ -2300,23 +2300,23 @@ during configuration. You need to explicitly configure the build with
 @subsection Options
 
 @table @option
-@item preset
+@item -preset
 Set the x265 preset.
 
-@item tune
+@item -tune
 Set the x265 tune parameter.
 
-@item profile
+@item -profile
 Set profile restrictions.
 
-@item crf
+@item -crf
 Set the quality for constant quality mode.
 
-@item forced-idr
+@item -forced-idr
 Normally, when forcing a I-frame type, the encoder can select any type
 of I-frame. This option forces it to choose an IDR-frame.
 
-@item x265-params
+@item -x265-params
 Set x265 options using a list of @var{key}=@var{value} couples separated
 by ":". See @command{x265 --help} for a list of options.
 
@@ -2338,42 +2338,42 @@ during configuration. You need to explicitly configure the build with
 The following standard libavcodec options are used:
 @itemize
 @item
-@option{b} / @option{bit_rate}
+@option{-b} / @option{-bit_rate}
 @item
-@option{g} / @option{gop_size}
+@option{-g} / @option{-gop_size}
 @item
-@option{bf} / @option{max_b_frames}
+@option{-bf} / @option{-max_b_frames}
 @end itemize
 
 The encoder also has its own specific options:
 @subsection Options
 
 @table @option
-@item lcu_row_threads
+@item -lcu_row_threads
 Set the number of parallel threads for rows from 1 to 8 (default 5).
 
-@item initial_qp
+@item -initial_qp
 Set the xavs2 quantization parameter from 1 to 63 (default 34). This is
 used to set the initial qp for the first frame.
 
-@item qp
+@item -qp
 Set the xavs2 quantization parameter from 1 to 63 (default 34). This is
 used to set the qp value under constant-QP mode.
 
-@item max_qp
+@item -max_qp
 Set the max qp for rate control from 1 to 63 (default 55).
 
-@item min_qp
+@item -min_qp
 Set the min qp for rate control from 1 to 63 (default 20).
 
-@item speed_level
+@item -speed_level
 Set the Speed level from 0 to 9 (default 0). Higher is better but slower.
 
-@item log_level
+@item -log_level
 Set the log level from -1 to 3 (default 0). -1: none, 0: error,
 1: warning, 2: info, 3: debug.
 
-@item xavs2-params
+@item -xavs2-params
 Set xavs2 options using a list of @var{key}=@var{value} couples separated
 by ":".
 
@@ -2404,25 +2404,25 @@ Options chapter} for their documentation. The other shared options
 which are not listed have no effect for the libxvid encoder.
 
 @table @option
-@item b
+@item -b
 
-@item g
+@item -g
 
-@item qmin
+@item -qmin
 
-@item qmax
+@item -qmax
 
-@item mpeg_quant
+@item -mpeg_quant
 
-@item threads
+@item -threads
 
-@item bf
+@item -bf
 
-@item b_qfactor
+@item -b_qfactor
 
-@item b_qoffset
+@item -b_qoffset
 
-@item flags
+@item -flags
 Set specific encoding flags. Possible values:
 
 @table @samp
@@ -2450,9 +2450,9 @@ Place global headers in extradata instead of every keyframe.
 
 @end table
 
-@item trellis
+@item -trellis
 
-@item me_method
+@item -me_method
 Set motion estimation method. Possible values in decreasing order of
 speed and increasing order of quality:
 
@@ -2477,7 +2477,7 @@ Enable all of the things described above, plus extended 16x16 and 8x8
 blocks search.
 @end table
 
-@item mbd
+@item -mbd
 Set macroblock decision algorithm. Possible values in the increasing
 order of quality:
 
@@ -2495,20 +2495,20 @@ half pixel and quarter pixel refinement for 8x8 blocks, and rate
 distortion-based search using square pattern.
 @end table
 
-@item lumi_aq
+@item -lumi_aq
 Enable lumi masking adaptive quantization when set to 1. Default is 0
 (disabled).
 
-@item variance_aq
+@item -variance_aq
 Enable variance adaptive quantization when set to 1. Default is 0
 (disabled).
 
-When combined with @option{lumi_aq}, the resulting quality will not
+When combined with @option{-lumi_aq}, the resulting quality will not
 be better than any of the two specified individually. In other
 words, the resulting quality will be the worse one of the two
 effects.
 
-@item ssim
+@item -ssim
 Set structural similarity (SSIM) displaying method. Possible values:
 
 @table @samp
@@ -2540,7 +2540,7 @@ rounded to 3 digits after the dot (e.g. 0.932).
 
 @end table
 
-@item ssim_acc
+@item -ssim_acc
 Set SSIM accuracy. Valid options are integers within the range of
 0-4, while 0 gives the most accurate result and 4 computes the
 fastest.
@@ -2554,7 +2554,7 @@ MPEG-2 video encoder.
 @subsection Options
 
 @table @option
-@item seq_disp_ext @var{integer}
+@item -seq_disp_ext @var{integer}
 Specifies if the encoder should write a sequence_display_extension to the
 output.
 @table @option
@@ -2569,7 +2569,7 @@ Never write it.
 @itemx always
 Always write it.
 @end table
-@item video_format @var{integer}
+@item -video_format @var{integer}
 Specifies the video_format written into the sequence display extension
 indicating the source of the video pictures. The default is @samp{unspecified},
 can be @samp{component}, @samp{pal}, @samp{ntsc}, @samp{secam} or @samp{mac}.
@@ -2583,9 +2583,9 @@ PNG image encoder.
 @subsection Private options
 
 @table @option
-@item dpi @var{integer}
+@item -dpi @var{integer}
 Set physical density of pixels, in dots per inch, unset by default
-@item dpm @var{integer}
+@item -dpm @var{integer}
 Set physical density of pixels, in dots per meter, unset by default
 @end table
 
@@ -2599,7 +2599,7 @@ The used encoder can be chosen with the @code{-vcodec} option.
 @subsection Private Options for prores-ks
 
 @table @option
-@item profile @var{integer}
+@item -profile @var{integer}
 Select the ProRes profile to encode
 @table @samp
 @item proxy
@@ -2610,7 +2610,7 @@ Select the ProRes profile to encode
 @item 4444xq
 @end table
 
-@item quant_mat @var{integer}
+@item -quant_mat @var{integer}
 Select quantization matrix.
 @table @samp
 @item auto
@@ -2624,20 +2624,20 @@ If set to @var{auto}, the matrix matching the profile will be picked.
 If not set, the matrix providing the highest quality, @var{default}, will be
 picked.
 
-@item bits_per_mb @var{integer}
+@item -bits_per_mb @var{integer}
 How many bits to allot for coding one macroblock. Different profiles use
 between 200 and 2400 bits per macroblock, the maximum is 8000.
 
-@item mbs_per_slice @var{integer}
+@item -mbs_per_slice @var{integer}
 Number of macroblocks in each slice (1-8); the default value (8)
 should be good in almost all situations.
 
-@item vendor @var{string}
+@item -vendor @var{string}
 Override the 4-byte vendor ID.
 A custom vendor ID like @var{apl0} would claim the stream was produced by
 the Apple encoder.
 
-@item alpha_bits @var{integer}
+@item -alpha_bits @var{integer}
 Specify number of bits for alpha component.
 Possible values are @var{0}, @var{8} and @var{16}.
 Use @var{0} to disable alpha plane coding.
@@ -2652,9 +2652,9 @@ output picture as good as possible.
 A frame containing a lot of small details is harder to compress and the encoder
 would spend more time searching for appropriate quantizers for each slice.
 
-Setting a higher @option{bits_per_mb} limit will improve the speed.
+Setting a higher @option{-bits_per_mb} limit will improve the speed.
 
-For the fastest encoding speed set the @option{qscale} parameter (4 is the
+For the fastest encoding speed set the @option{-qscale} parameter (4 is the
 recommended value) and do not set a size constraint.
 
 @section QSV encoders
@@ -2665,7 +2665,7 @@ The ratecontrol method is selected as follows:
 
 @itemize @bullet
 @item
-When @option{global_quality} is specified, a quality-based mode is used.
+When @option{-global_quality} is specified, a quality-based mode is used.
 Specifically this means either
 @itemize @minus
 @item
@@ -2682,7 +2682,7 @@ also set (the @option{-qscale} ffmpeg option).
 
 @item
 Otherwise, a bitrate-based mode is used. For all of those, you should specify at
-least the desired average bitrate with the @option{b} option.
+least the desired average bitrate with the @option{-b} option.
 @itemize @minus
 @item
 @var{LA} - VBR with lookahead, when the @option{look_ahead} option is specified.
@@ -2691,17 +2691,17 @@ least the desired average bitrate with the @option{b} option.
 @var{VCM} - video conferencing mode, when the @option{vcm} option is set.
 
 @item
-@var{CBR} - constant bitrate, when @option{maxrate} is specified and equal to
+@var{CBR} - constant bitrate, when @option{-maxrate} is specified and equal to
 the average bitrate.
 
 @item
-@var{VBR} - variable bitrate, when @option{maxrate} is specified, but is higher
+@var{VBR} - variable bitrate, when @option{-maxrate} is specified, but is higher
 than the average bitrate.
 
 @item
-@var{AVBR} - average VBR mode, when @option{maxrate} is not specified. This mode
-is further configured by the @option{avbr_accuracy} and
-@option{avbr_convergence} options.
+@var{AVBR} - average VBR mode, when @option{-maxrate} is not specified. This mode
+is further configured by the @option{-avbr_accuracy} and
+@option{-avbr_convergence} options.
 @end itemize
 @end itemize
 
@@ -2740,7 +2740,7 @@ For the @var{CQP} mode, the @option{i_qfactor/i_qoffset} and
 and @var{QPP} and @var{QPB} respectively.
 
 @item
-Setting the @option{coder} option to the value @var{vlc} will make the H.264
+Setting the @option{-coder} option to the value @var{vlc} will make the H.264
 encoder use CAVLC instead of CABAC.
 
 @end itemize
@@ -2750,7 +2750,7 @@ encoder use CAVLC instead of CABAC.
 @subsection Options
 
 @table @option
-@item iterative_dia_size
+@item -iterative_dia_size
 dia size for the iterative motion estimation
 @end table
 
@@ -2764,62 +2764,62 @@ in software frames, use the @option{hwupload} filter to upload them to the GPU.
 The following standard libavcodec options are used:
 @itemize
 @item
-@option{g} / @option{gop_size}
+@option{-g} / @option{-gop_size}
 @item
-@option{bf} / @option{max_b_frames}
+@option{-bf} / @option{-max_b_frames}
 @item
-@option{profile}
+@option{-profile}
 
 If not set, this will be determined automatically from the format of the input
 frames and the profiles supported by the driver.
 @item
-@option{level}
+@option{-level}
 @item
-@option{b} / @option{bit_rate}
+@option{-b} / @option{-bit_rate}
 @item
-@option{maxrate} / @option{rc_max_rate}
+@option{-maxrate} / @option{-rc_max_rate}
 @item
-@option{bufsize} / @option{rc_buffer_size}
+@option{-bufsize} / @option{-rc_buffer_size}
 @item
-@option{rc_init_occupancy} / @option{rc_initial_buffer_occupancy}
+@option{-rc_init_occupancy} / @option{-rc_initial_buffer_occupancy}
 @item
-@option{compression_level}
+@option{-compression_level}
 
 Speed / quality tradeoff: higher values are faster / worse quality.
 @item
-@option{q} / @option{global_quality}
+@option{-q} / @option{-global_quality}
 
 Size / quality tradeoff: higher values are smaller / worse quality.
 @item
-@option{qmin}
+@option{-qmin}
 @item
-@option{qmax}
+@option{-qmax}
 @item
-@option{i_qfactor} / @option{i_quant_factor}
+@option{-i_qfactor} / @option{-i_quant_factor}
 @item
-@option{i_qoffset} / @option{i_quant_offset}
+@option{-i_qoffset} / @option{-i_quant_offset}
 @item
-@option{b_qfactor} / @option{b_quant_factor}
+@option{-b_qfactor} / @option{-b_quant_factor}
 @item
-@option{b_qoffset} / @option{b_quant_offset}
+@option{-b_qoffset} / @option{-b_quant_offset}
 @item
-@option{slices}
+@option{-slices}
 @end itemize
 
 All encoders support the following options:
 @table @option
-@item low_power
+@item -low_power
 Some drivers/platforms offer a second encoder for some codecs intended to use
 less power than the default encoder; setting this option will attempt to use
 that encoder.  Note that it may support a reduced feature set, so some other
 options may not be available in this mode.
 
-@item idr_interval
+@item -idr_interval
 Set the number of normal intra frames between full-refresh (IDR) frames in
 open-GOP mode.  The intra frames are still IRAPs, but will not include global
 headers and may have non-decodable leading pictures.
 
-@item b_depth
+@item -b_depth
 Set the B-frame reference depth.  When set to one (the default), all B-frames
 will refer only to P- or I-frames.  When set to greater values multiple layers
 of B-frames will be present, frames in each layer only referring to frames in
@@ -2834,7 +2834,7 @@ Each encoder also has its own specific options:
 @option{level} sets the value of @emph{level_idc}.
 
 @table @option
-@item coder
+@item -coder
 Set entropy encoder (default is @emph{cabac}).  Possible values:
 
 @table @samp
@@ -2847,10 +2847,10 @@ Use CABAC.
 Use CAVLC.
 @end table
 
-@item aud
+@item -aud
 Include access unit delimiters in the stream (not included by default).
 
-@item sei
+@item -sei
 Set SEI message types to include.
 Some combination of the following values:
 @table @samp
@@ -2871,14 +2871,14 @@ Include recovery points where appropriate (@emph{recovery_point} messages).
 @emph{general_profile_idc} and @emph{general_level_idc} respectively.
 
 @table @option
-@item aud
+@item -aud
 Include access unit delimiters in the stream (not included by default).
 
-@item tier
+@item -tier
 Set @emph{general_tier_flag}.  This may affect the level chosen for the stream
 if it is not explicitly specified.
 
-@item sei
+@item -sei
 Set SEI message types to include.
 Some combination of the following values:
 @table @samp
@@ -2892,16 +2892,16 @@ messages).
 
 @item mjpeg_vaapi
 Only baseline DCT encoding is supported.  The encoder always uses the standard
-quantisation and huffman tables - @option{global_quality} scales the standard
+quantisation and huffman tables - @option{-global_quality} scales the standard
 quantisation table (range 1-100).
 
 For YUV, 4:2:0, 4:2:2 and 4:4:4 subsampling modes are supported.  RGB is also
 supported, and will create an RGB JPEG.
 
 @table @option
-@item jfif
+@item -jfif
 Include JFIF header in each frame (not included by default).
-@item huffman
+@item -huffman
 Include standard huffman tables (on by default).  Turning this off will save
 a few hundred bytes in each output frame, but may lose compatibility with some
 JPEG decoders which don't fully handle MJPEG.
@@ -2913,20 +2913,20 @@ JPEG decoders which don't fully handle MJPEG.
 @item vp8_vaapi
 B-frames are not supported.
 
-@option{global_quality} sets the @emph{q_idx} used for non-key frames (range 0-127).
+@option{-global_quality} sets the @emph{q_idx} used for non-key frames (range 0-127).
 
 @table @option
-@item loop_filter_level
-@item loop_filter_sharpness
+@item -loop_filter_level
+@item -loop_filter_sharpness
 Manually set the loop filter parameters.
 @end table
 
 @item vp9_vaapi
-@option{global_quality} sets the @emph{q_idx} used for P-frames (range 0-255).
+@option{-global_quality} sets the @emph{q_idx} used for P-frames (range 0-255).
 
 @table @option
-@item loop_filter_level
-@item loop_filter_sharpness
+@item -loop_filter_level
+@item -loop_filter_sharpness
 Manually set the loop filter parameters.
 @end table
 
@@ -2951,39 +2951,39 @@ recording).
 
 @table @option
 
-@item b
+@item -b
 Sets target video bitrate. Usually that's around 1:6 of the uncompressed
 video bitrate (e.g. for 1920x1080 50fps yuv422p10 that's around 400Mbps). Higher
 values (close to the uncompressed bitrate) turn on lossless compression mode.
 
-@item field_order
+@item -field_order
 Enables field coding when set (e.g. to tt - top field first) for interlaced
 inputs. Should increase compression with interlaced content as it splits the
 fields and encodes each separately.
 
-@item wavelet_depth
+@item -wavelet_depth
 Sets the total amount of wavelet transforms to apply, between 1 and 5 (default).
 Lower values reduce compression and quality. Less capable decoders may not be
-able to handle values of @option{wavelet_depth} over 3.
+able to handle values of @option{-wavelet_depth} over 3.
 
-@item wavelet_type
+@item -wavelet_type
 Sets the transform type. Currently only @var{5_3} (LeGall) and @var{9_7}
 (Deslauriers-Dubuc)
 are implemented, with 9_7 being the one with better compression and thus
 is the default.
 
-@item slice_width
-@item slice_height
+@item -slice_width
+@item -slice_height
 Sets the slice size for each slice. Larger values result in better compression.
-For compatibility with other more limited decoders use @option{slice_width} of
-32 and @option{slice_height} of 8.
+For compatibility with other more limited decoders use @option{-slice_width} of
+32 and @option{-slice_height} of 8.
 
-@item tolerance
+@item -tolerance
 Sets the undershoot tolerance of the rate control system in percent. This is
 to prevent an expensive search from being run.
 
-@item qm
-Sets the quantization matrix preset to use by default or when @option{wavelet_depth}
+@item -qm
+Sets the quantization matrix preset to use by default or when @option{-wavelet_depth}
 is set to 5
 @itemize @minus
 @item
@@ -3018,7 +3018,7 @@ and they can also be used in Matroska files.
 @subsection Options
 
 @table @option
-@item even_rows_fix
+@item -even_rows_fix
 When set to 1, enable a work-around that makes the number of pixel rows
 even in all subtitles.  This fixes a problem with some players that
 cut off the bottom row if the number is odd.  The work-around just adds
diff --git a/doc/formats.texi b/doc/formats.texi
index 52a5ff8371..0bb177dcf6 100644
--- a/doc/formats.texi
+++ b/doc/formats.texi
@@ -14,23 +14,23 @@ for programmatic use.
 The list of supported options follows:
 
 @table @option
-@item avioflags @var{flags} (@emph{input/output})
+@item -avioflags @var{flags} (@emph{input/output})
 Possible values:
 @table @samp
 @item direct
 Reduce buffering.
 @end table
 
-@item probesize @var{integer} (@emph{input})
+@item -probesize @var{integer} (@emph{input})
 Set probing size in bytes, i.e. the size of the data to analyze to get
 stream information. A higher value will enable detecting more
 information in case it is dispersed into the stream, but will increase
 latency. Must be an integer not lesser than 32. It is 5000000 by default.
 
-@item packetsize @var{integer} (@emph{output})
+@item -packetsize @var{integer} (@emph{output})
 Set packet size.
 
-@item fflags @var{flags}
+@item -fflags @var{flags}
 Set format flags. Some are implemented for a limited number of formats.
 
 Possible values for input files:
@@ -73,25 +73,25 @@ It may be needed to increase max_interleave_delta to avoid flushing the longer
 streams before EOF.
 @end table
 
-@item seek2any @var{integer} (@emph{input})
+@item -seek2any @var{integer} (@emph{input})
 Allow seeking to non-keyframes on demuxer level when supported if set to 1.
 Default is 0.
 
-@item analyzeduration @var{integer} (@emph{input})
+@item -analyzeduration @var{integer} (@emph{input})
 Specify how many microseconds are analyzed to probe the input. A
 higher value will enable detecting more accurate information, but will
 increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
 
-@item cryptokey @var{hexadecimal string} (@emph{input})
+@item -cryptokey @var{hexadecimal string} (@emph{input})
 Set decryption key.
 
-@item indexmem @var{integer} (@emph{input})
+@item -indexmem @var{integer} (@emph{input})
 Set max memory used for timestamp index (per stream).
 
-@item rtbufsize @var{integer} (@emph{input})
+@item -rtbufsize @var{integer} (@emph{input})
 Set max memory used for buffering real-time frames.
 
-@item fdebug @var{flags} (@emph{input/output})
+@item -fdebug @var{flags} (@emph{input/output})
 Print specific debug info.
 
 Possible values:
@@ -99,22 +99,22 @@ Possible values:
 @item ts
 @end table
 
-@item max_delay @var{integer} (@emph{input/output})
+@item -max_delay @var{integer} (@emph{input/output})
 Set maximum muxing or demuxing delay in microseconds.
 
-@item fpsprobesize @var{integer} (@emph{input})
+@item -fpsprobesize @var{integer} (@emph{input})
 Set number of frames used to probe fps.
 
-@item audio_preload @var{integer} (@emph{output})
+@item -audio_preload @var{integer} (@emph{output})
 Set microseconds by which audio packets should be interleaved earlier.
 
-@item chunk_duration @var{integer} (@emph{output})
+@item -chunk_duration @var{integer} (@emph{output})
 Set microseconds for each chunk.
 
-@item chunk_size @var{integer} (@emph{output})
+@item -chunk_size @var{integer} (@emph{output})
 Set size in bytes for each chunk.
 
-@item err_detect, f_err_detect @var{flags} (@emph{input})
+@item -err_detect, -f_err_detect @var{flags} (@emph{input})
 Set error detection flags. @code{f_err_detect} is deprecated and
 should be used only via the @command{ffmpeg} tool.
 
@@ -137,7 +137,7 @@ Consider all spec non compliancies as errors.
 Consider things that a sane encoder should not do as an error.
 @end table
 
-@item max_interleave_delta @var{integer} (@emph{output})
+@item -max_interleave_delta @var{integer} (@emph{output})
 Set maximum buffering duration for interleaving. The duration is
 expressed in microseconds, and defaults to 1000000 (1 second).
 
@@ -156,10 +156,10 @@ If set to 0, libavformat will continue buffering packets until it has
 a packet for each stream, regardless of the maximum timestamp
 difference between the buffered packets.
 
-@item use_wallclock_as_timestamps @var{integer} (@emph{input})
+@item -use_wallclock_as_timestamps @var{integer} (@emph{input})
 Use wallclock as timestamps if set to 1. Default is 0.
 
-@item avoid_negative_ts @var{integer} (@emph{output})
+@item -avoid_negative_ts @var{integer} (@emph{output})
 
 Possible values:
 @table @samp
@@ -180,20 +180,20 @@ same amount. Audio, video, and subtitles desynching and relative
 timestamp differences are preserved compared to how they would have
 been without shifting.
 
-@item skip_initial_bytes @var{integer} (@emph{input})
+@item -skip_initial_bytes @var{integer} (@emph{input})
 Set number of bytes to skip before reading header and frames if set to 1.
 Default is 0.
 
-@item correct_ts_overflow @var{integer} (@emph{input})
+@item -correct_ts_overflow @var{integer} (@emph{input})
 Correct single timestamp overflows if set to 1. Default is 1.
 
-@item flush_packets @var{integer} (@emph{output})
+@item -flush_packets @var{integer} (@emph{output})
 Flush the underlying I/O stream after each packet. Default is -1 (auto), which
 means that the underlying protocol will decide, 1 enables it, and has the
 effect of reducing the latency, 0 disables it and may increase IO throughput in
 some cases.
 
-@item output_ts_offset @var{offset} (@emph{output})
+@item -output_ts_offset @var{offset} (@emph{output})
 Set the output time offset.
 
 @var{offset} must be a time duration specification,
@@ -205,10 +205,10 @@ Specifying a positive offset means that the corresponding streams are
 delayed bt the time duration specified in @var{offset}. Default value
 is @code{0} (meaning that no offset is applied).
 
-@item format_whitelist @var{list} (@emph{input})
+@item -format_whitelist @var{list} (@emph{input})
 "," separated list of allowed demuxers. By default all are allowed.
 
-@item dump_separator @var{string} (@emph{input})
+@item -dump_separator @var{string} (@emph{input})
 Separator used to separate the fields printed on the command line about the
 Stream parameters.
 For example, to separate the fields with newlines and indentation:
@@ -217,11 +217,11 @@ ffprobe -dump_separator "
                           "  -i ~/videos/matrixbench_mpeg2.mpg
 @end example
 
-@item max_streams @var{integer} (@emph{input})
+@item -max_streams @var{integer} (@emph{input})
 Specifies the maximum number of streams. This can be used to reject files that
 would require too many resources due to a large number of streams.
 
-@item skip_estimate_duration_from_pts @var{bool} (@emph{input})
+@item -skip_estimate_duration_from_pts @var{bool} (@emph{input})
 Skip estimation of input duration when calculated using PTS.
 At present, applicable for MPEG-PS and MPEG-TS.
 @end table
diff --git a/doc/indevs.texi b/doc/indevs.texi
index af3173217f..bb80bc5dc9 100644
--- a/doc/indevs.texi
+++ b/doc/indevs.texi
@@ -55,10 +55,10 @@ For more information see:
 
 @table @option
 
-@item sample_rate
+@item -sample_rate
 Set the sample rate in Hz. Default is 48000.
 
-@item channels
+@item -channels
 Set the number of channels. Default is 2.
 
 @end table
@@ -85,20 +85,20 @@ camera has index 1.
 
 @table @option
 
-@item video_size
+@item -video_size
 Set the video size given as a string such as 640x480 or hd720.
 Falls back to the first available configuration reported by
 Android if requested video size is not available or by default.
 
-@item framerate
+@item -framerate
 Set the video framerate.
 Falls back to the first available configuration reported by
 Android if requested framerate is not available or by default (-1).
 
-@item camera_index
+@item -camera_index
 Set the index of the camera to use. Default is 0.
 
-@item input_queue_size
+@item -input_queue_size
 Set the maximum number of frames to buffer. Default is 5.
 
 @end table
@@ -218,13 +218,13 @@ BSD video input device.
 
 @table @option
 
-@item framerate
+@item -framerate
 Set the frame rate.
 
-@item video_size
+@item -video_size
 Set the video frame size. Default is @code{vga}.
 
-@item standard
+@item -standard
 
 Available values are:
 @table @samp
@@ -255,7 +255,7 @@ and @code{--extra-ldflags}.
 On Windows, you need to run the IDL files through @command{widl}.
 
 DeckLink is very picky about the formats it supports. Pixel format of the
-input can be set with @option{raw_format}.
+input can be set with @option{-raw_format}.
 Framerate and video size must be determined for your device with
 @command{-list_formats 1}. Audio sample rate is always 48 kHz and the number
 of channels can be 2, 8 or 16. Note that all audio channels are bundled in one single
@@ -265,29 +265,29 @@ audio track.
 
 @table @option
 
-@item list_devices
+@item -list_devices
 If set to @option{true}, print a list of devices and exit.
 Defaults to @option{false}. Alternatively you can use the @code{-sources}
 option of ffmpeg to list the available input devices.
 
-@item list_formats
+@item -list_formats
 If set to @option{true}, print a list of supported formats and exit.
 Defaults to @option{false}.
 
-@item format_code <FourCC>
+@item -format_code <FourCC>
 This sets the input video format to the format given by the FourCC. To see
-the supported values of your device(s) use @option{list_formats}.
+the supported values of your device(s) use @option{-list_formats}.
 Note that there is a FourCC @option{'pal '} that can also be used
 as @option{pal} (3 letters).
 Default behavior is autodetection of the input video format, if the hardware
 supports it.
 
-@item bm_v210
-This is a deprecated option, you can use @option{raw_format} instead.
+@item -bm_v210
+This is a deprecated option, you can use @option{-raw_format} instead.
 If set to @samp{1}, video is captured in 10 bit v210 instead
 of uyvy422. Not all Blackmagic devices support this option.
 
-@item raw_format
+@item -raw_format
 Set the pixel format of the captured video.
 Available values are:
 @table @samp
@@ -303,7 +303,7 @@ Available values are:
 
 @end table
 
-@item teletext_lines
+@item -teletext_lines
 If set to nonzero, an additional teletext stream will be captured from the
 vertical ancillary data. Both SD PAL (576i) and HD (1080i or 1080p)
 sources are supported. In case of HD sources, OP47 packets are decoded.
@@ -319,59 +319,59 @@ For SD sources, ffmpeg needs to be compiled with @code{--enable-libzvbi}. For
 HD sources, on older (pre-4K) DeckLink card models you have to capture in 10
 bit mode.
 
-@item channels
+@item -channels
 Defines number of audio channels to capture. Must be @samp{2}, @samp{8} or @samp{16}.
 Defaults to @samp{2}.
 
-@item duplex_mode
+@item -duplex_mode
 Sets the decklink device duplex mode. Must be @samp{unset}, @samp{half} or @samp{full}.
 Defaults to @samp{unset}.
 
-@item timecode_format
+@item -timecode_format
 Timecode type to include in the frame and video stream metadata. Must be
 @samp{none}, @samp{rp188vitc}, @samp{rp188vitc2}, @samp{rp188ltc},
 @samp{rp188any}, @samp{vitc}, @samp{vitc2}, or @samp{serial}. Defaults to
 @samp{none} (not included).
 
-@item video_input
+@item -video_input
 Sets the video input source. Must be @samp{unset}, @samp{sdi}, @samp{hdmi},
 @samp{optical_sdi}, @samp{component}, @samp{composite} or @samp{s_video}.
 Defaults to @samp{unset}.
 
-@item audio_input
+@item -audio_input
 Sets the audio input source. Must be @samp{unset}, @samp{embedded},
 @samp{aes_ebu}, @samp{analog}, @samp{analog_xlr}, @samp{analog_rca} or
 @samp{microphone}. Defaults to @samp{unset}.
 
-@item video_pts
+@item -video_pts
 Sets the video packet timestamp source. Must be @samp{video}, @samp{audio},
 @samp{reference}, @samp{wallclock} or @samp{abs_wallclock}.
 Defaults to @samp{video}.
 
-@item audio_pts
+@item -audio_pts
 Sets the audio packet timestamp source. Must be @samp{video}, @samp{audio},
 @samp{reference}, @samp{wallclock} or @samp{abs_wallclock}.
 Defaults to @samp{audio}.
 
-@item draw_bars
+@item -draw_bars
 If set to @samp{true}, color bars are drawn in the event of a signal loss.
 Defaults to @samp{true}.
 
-@item queue_size
+@item -queue_size
 Sets maximum input buffer size in bytes. If the buffering reaches this value,
 incoming frames will be dropped.
 Defaults to @samp{1073741824}.
 
-@item audio_depth
+@item -audio_depth
 Sets the audio sample bit depth. Must be @samp{16} or @samp{32}.
 Defaults to @samp{16}.
 
-@item decklink_copyts
+@item -decklink_copyts
 If set to @option{true}, timestamps are forwarded as they are without removing
 the initial offset.
 Defaults to @option{false}.
 
-@item timestamp_align
+@item -timestamp_align
 Capture start time alignment in seconds. If set to nonzero, input frames are
 dropped till the system timestamp aligns with configured value.
 Alignment difference of up to one frame duration is tolerated.
@@ -382,7 +382,7 @@ before using this option.
 Note that this method is not foolproof. In some border cases input
 synchronization may not happen due to thread scheduling jitters in the OS.
 Either sync could go wrong by 1 frame or in a rarer case
-@option{timestamp_align} seconds.
+@option{-timestamp_align} seconds.
 Defaults to @samp{0}.
 
 @end table
@@ -450,41 +450,41 @@ fail to open.
 
 @table @option
 
-@item video_size
+@item -video_size
 Set the video size in the captured video.
 
-@item framerate
+@item -framerate
 Set the frame rate in the captured video.
 
-@item sample_rate
+@item -sample_rate
 Set the sample rate (in Hz) of the captured audio.
 
-@item sample_size
+@item -sample_size
 Set the sample size (in bits) of the captured audio.
 
-@item channels
+@item -channels
 Set the number of channels in the captured audio.
 
-@item list_devices
+@item -list_devices
 If set to @option{true}, print a list of devices and exit.
 
-@item list_options
+@item -list_options
 If set to @option{true}, print a list of selected device's options
 and exit.
 
-@item video_device_number
+@item -video_device_number
 Set video device number for devices with the same name (starts at 0,
 defaults to 0).
 
-@item audio_device_number
+@item -audio_device_number
 Set audio device number for devices with the same name (starts at 0,
 defaults to 0).
 
-@item pixel_format
+@item -pixel_format
 Select pixel format to be used by DirectShow. This may only be set when
 the video codec is not set or set to rawvideo.
 
-@item audio_buffer_size
+@item -audio_buffer_size
 Set audio device buffer size in milliseconds (which can directly
 impact latency, depending on the device).
 Defaults to using the audio device's
@@ -493,25 +493,25 @@ Setting this value too low can degrade performance.
 See also
 @url{http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx}
 
-@item video_pin_name
+@item -video_pin_name
 Select video capture pin to use by name or alternative name.
 
-@item audio_pin_name
+@item -audio_pin_name
 Select audio capture pin to use by name or alternative name.
 
-@item crossbar_video_input_pin_number
+@item -crossbar_video_input_pin_number
 Select video input pin number for crossbar device. This will be
 routed to the crossbar device's Video Decoder output pin.
 Note that changing this value can affect future invocations
 (sets a new default) until system reboot occurs.
 
-@item crossbar_audio_input_pin_number
+@item -crossbar_audio_input_pin_number
 Select audio input pin number for crossbar device. This will be
 routed to the crossbar device's Audio Decoder output pin.
 Note that changing this value can affect future invocations
 (sets a new default) until system reboot occurs.
 
-@item show_video_device_dialog
+@item -show_video_device_dialog
 If set to @option{true}, before capture starts, popup a display dialog
 to the end user, allowing them to change video filter properties
 and configurations manually.
@@ -523,51 +523,51 @@ the bottom, flickering scan lines, etc.
 Note that with some devices, changing these properties can also affect future
 invocations (sets new defaults) until system reboot occurs.
 
-@item show_audio_device_dialog
+@item -show_audio_device_dialog
 If set to @option{true}, before capture starts, popup a display dialog
 to the end user, allowing them to change audio filter properties
 and configurations manually.
 
-@item show_video_crossbar_connection_dialog
+@item -show_video_crossbar_connection_dialog
 If set to @option{true}, before capture starts, popup a display
 dialog to the end user, allowing them to manually
 modify crossbar pin routings, when it opens a video device.
 
-@item show_audio_crossbar_connection_dialog
+@item -show_audio_crossbar_connection_dialog
 If set to @option{true}, before capture starts, popup a display
 dialog to the end user, allowing them to manually
 modify crossbar pin routings, when it opens an audio device.
 
-@item show_analog_tv_tuner_dialog
+@item -show_analog_tv_tuner_dialog
 If set to @option{true}, before capture starts, popup a display
 dialog to the end user, allowing them to manually
 modify TV channels and frequencies.
 
-@item show_analog_tv_tuner_audio_dialog
+@item -show_analog_tv_tuner_audio_dialog
 If set to @option{true}, before capture starts, popup a display
 dialog to the end user, allowing them to manually
 modify TV audio (like mono vs. stereo, Language A,B or C).
 
-@item audio_device_load
+@item -audio_device_load
 Load an audio capture filter device from file instead of searching
 it by name. It may load additional parameters too, if the filter
 supports the serialization of its properties to.
 To use this an audio capture source has to be specified, but it can
 be anything even fake one.
 
-@item audio_device_save
+@item -audio_device_save
 Save the currently used audio capture filter device and its
 parameters (if the filter supports it) to a file.
 If a file with the same name exists it will be overwritten.
 
-@item video_device_load
+@item -video_device_load
 Load a video capture filter device from file instead of searching
 it by name. It may load additional parameters too, if the filter
 supports the serialization of its properties to.
 To use this a video capture source has to be specified, but it can
 be anything even fake one.
 
-@item video_device_save
+@item -video_device_save
 Save the currently used video capture filter device and its
 parameters (if the filter supports it) to a file.
 If a file with the same name exists it will be overwritten.
@@ -652,7 +652,7 @@ ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 screenshot.jpeg
 
 @table @option
 
-@item framerate
+@item -framerate
 Set the frame rate. Default is 25.
 
 @end table
@@ -694,15 +694,15 @@ ffmpeg -f gdigrab -framerate 6 -i title=Calculator out.mpg
 @subsection Options
 
 @table @option
-@item draw_mouse
+@item -draw_mouse
 Specify whether to draw the mouse pointer. Use the value @code{0} to
 not draw the pointer. Default value is @code{1}.
 
-@item framerate
+@item -framerate
 Set the grabbing frame rate. Default value is @code{ntsc},
 corresponding to a frame rate of @code{30000/1001}.
 
-@item show_region
+@item -show_region
 Show grabbed region on screen.
 
 If @var{show_region} is specified with @code{1}, then the grabbing
@@ -717,15 +717,15 @@ For example:
 ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg
 @end example
 
-@item video_size
+@item -video_size
 Set the video frame size. The default is to capture the full screen if @file{desktop} is selected, or the full window size if @file{title=@var{window_title}} is selected.
 
-@item offset_x
+@item -offset_x
 When capturing a region with @var{video_size}, set the distance from the left edge of the screen or desktop.
 
 Note that the offset calculation is from the top left corner of the primary monitor on Windows. If you have a monitor positioned to the left of your primary monitor, you will need to use a negative @var{offset_x} value to move the region to that monitor.
 
-@item offset_y
+@item -offset_y
 When capturing a region with @var{video_size}, set the distance from the top edge of the screen or desktop.
 
 Note that the offset calculation is from the top left corner of the primary monitor on Windows. If you have a monitor positioned above your primary monitor, you will need to use a negative @var{offset_y} value to move the region to that monitor.
@@ -752,19 +752,19 @@ to choose the first port connected.
 
 @table @option
 
-@item dvtype
+@item -dvtype
 Override autodetection of DV/HDV. This should only be used if auto
 detection does not work, or if usage of a different device type
 should be prohibited. Treating a DV device as HDV (or vice versa) will
 not work and result in undefined behavior.
 The values @option{auto}, @option{dv} and @option{hdv} are supported.
 
-@item dvbuffer
+@item -dvbuffer
 Set maximum size of buffer for incoming data, in frames. For DV, this
 is an exact value. For HDV, it is not frame exact, since HDV does
 not have a fixed frame size.
 
-@item dvguid
+@item -dvguid
 Select the capture device by specifying its GUID. Capturing will only
 be performed from the specified device and fails if no device with the
 given GUID is found. This is useful to select the input if multiple
@@ -845,7 +845,7 @@ For more information read:
 
 @table @option
 
-@item channels
+@item -channels
 Set the number of channels. Default is 2.
 
 @end table
@@ -866,25 +866,25 @@ If you don't understand what all of that means, you probably don't want this.  L
 
 @table @option
 
-@item device
+@item -device
 DRM device to capture on.  Defaults to @option{/dev/dri/card0}.
 
-@item format
+@item -format
 Pixel format of the framebuffer.  Defaults to @option{bgr0}.
 
-@item format_modifier
+@item -format_modifier
 Format modifier to signal on output frames.  This is necessary to import correctly into
 some APIs, but can't be autodetected.  See the libdrm documentation for possible values.
 
-@item crtc_id
+@item -crtc_id
 KMS CRTC ID to define the capture source.  The first active plane on the given CRTC
 will be used.
 
-@item plane_id
+@item -plane_id
 KMS plane ID to define the capture source.  Defaults to the first active plane found if
-neither @option{crtc_id} nor @option{plane_id} are specified.
+neither @option{-crtc_id} nor @option{-plane_id} are specified.
 
-@item framerate
+@item -framerate
 Framerate to capture at.  This is not synchronised to any page flipping or framebuffer
 changes - it just defines the interval at which the framebuffer is sampled.  Sampling
 faster than the framebuffer update rate will generate independent frames with the same
@@ -922,13 +922,13 @@ filtergraph.
 For each filtergraph open output, the input device will create a
 corresponding stream which is mapped to the generated output. Currently
 only video data is supported. The filtergraph is specified through the
-option @option{graph}.
+option @option{-graph}.
 
 @subsection Options
 
 @table @option
 
-@item graph
+@item -graph
 Specify the filtergraph to use as input. Each video open output must be
 labelled by a unique string of the form "out@var{N}", where @var{N} is a
 number starting from 0 corresponding to the mapped input stream
@@ -947,12 +947,12 @@ stream #43 is subcc for stream #7 and stream #44 is subcc for stream #19.
 If not specified defaults to the filename specified for the input
 device.
 
-@item graph_file
+@item -graph_file
 Set the filename of the filtergraph to be read and sent to the other
 filters. Syntax of the filtergraph is the same as the one specified by
 the option @var{graph}.
 
-@item dumpgraph
+@item -dumpgraph
 Dump graph to stderr.
 
 @end table
@@ -1019,7 +1019,7 @@ ffmpeg -f libcdio -i /dev/sr0 cd.wav
 
 @subsection Options
 @table @option
-@item speed
+@item -speed
 Set drive reading speed. Default value is 0.
 
 The speed is specified CD-ROM speed units. The speed is set through
@@ -1027,7 +1027,7 @@ the libcdio @code{cdio_cddap_speed_set} function. On many CD-ROM
 drives, specifying a value too large will result in using the fastest
 speed.
 
-@item paranoia_mode
+@item -paranoia_mode
 Set paranoia recovery mode flags. It accepts one of the following values:
 
 @table @samp
@@ -1053,14 +1053,14 @@ Requires the configure option @code{--enable-libdc1394}.
 @subsection Options
 @table @option
 
-@item framerate
+@item -framerate
 Set the frame rate. Default is @code{ntsc}, corresponding to a frame
 rate of @code{30000/1001}.
 
-@item pixel_format
+@item -pixel_format
 Select the pixel format. Default is @code{uyvy422}.
 
-@item video_size
+@item -video_size
 Set the video size given as a string such as @code{640x480} or @code{hd720}.
 Default is @code{qvga}.
 @end table
@@ -1081,19 +1081,19 @@ and @code{--extra-ldflags}.
 
 @table @option
 
-@item find_sources
+@item -find_sources
 If set to @option{true}, print a list of found/available NDI sources and exit.
 Defaults to @option{false}.
 
-@item wait_sources
+@item -wait_sources
 Override time to wait until the number of online sources have changed.
 Defaults to @option{0.5}.
 
-@item allow_video_fields
+@item -allow_video_fields
 When this flag is @option{false}, all video that you receive will be progressive.
 Defaults to @option{true}.
 
-@item extra_ips
+@item -extra_ips
 If is set to list of comma separated ip addresses, scan for sources not only
 using mDNS but also use unicast ip addresses specified by this list.
 
@@ -1174,21 +1174,21 @@ supported devices by using the option @var{list_devices}.
 
 @table @option
 
-@item channels
+@item -channels
 Set the number of channels in the captured audio. Only the values
 @option{1} (monaural) and @option{2} (stereo) are currently supported.
 Defaults to @option{2}.
 
-@item sample_size
+@item -sample_size
 Set the sample size (in bits) of the captured audio. Only the values
 @option{8} and @option{16} are currently supported. Defaults to
 @option{16}.
 
-@item sample_rate
+@item -sample_rate
 Set the sample rate (in Hz) of the captured audio.
 Defaults to @option{44.1k}.
 
-@item list_devices
+@item -list_devices
 If set to @option{true}, print a list of devices and exit.
 Defaults to @option{false}.
 
@@ -1240,10 +1240,10 @@ For more information about OSS see:
 
 @table @option
 
-@item sample_rate
+@item -sample_rate
 Set the sample rate in Hz. Default is 48000.
 
-@item channels
+@item -channels
 Set the number of channels. Default is 2.
 
 @end table
@@ -1264,32 +1264,32 @@ More information about PulseAudio can be found on @url{http://www.pulseaudio.org
 
 @subsection Options
 @table @option
-@item server
+@item -server
 Connect to a specific PulseAudio server, specified by an IP address.
 Default server is used when not provided.
 
-@item name
+@item -name
 Specify the application name PulseAudio will use when showing active clients,
 by default it is the @code{LIBAVFORMAT_IDENT} string.
 
-@item stream_name
+@item -stream_name
 Specify the stream name PulseAudio will use when showing active streams,
 by default it is "record".
 
-@item sample_rate
+@item -sample_rate
 Specify the samplerate in Hz, by default 48kHz is used.
 
-@item channels
+@item -channels
 Specify the channels in use, by default 2 (stereo) is set.
 
-@item frame_size
+@item -frame_size
 Specify the number of bytes per frame, by default it is set to 1024.
 
-@item fragment_size
+@item -fragment_size
 Specify the minimal buffering fragment in PulseAudio, it will affect the
 audio latency. By default it is unset.
 
-@item wallclock
+@item -wallclock
 Set the initial PTS using the current time. Default is 1.
 
 @end table
@@ -1321,10 +1321,10 @@ ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav
 
 @table @option
 
-@item sample_rate
+@item -sample_rate
 Set the sample rate in Hz. Default is 48000.
 
-@item channels
+@item -channels
 Set the number of channels. Default is 2.
 
 @end table
@@ -1386,31 +1386,31 @@ For more information about Video4Linux, check @url{http://linuxtv.org/}.
 @subsection Options
 
 @table @option
-@item standard
+@item -standard
 Set the standard. Must be the name of a supported standard. To get a
-list of the supported standards, use the @option{list_standards}
+list of the supported standards, use the @option{-list_standards}
 option.
 
-@item channel
+@item -channel
 Set the input channel number. Default to -1, which means using the
 previously selected channel.
 
-@item video_size
+@item -video_size
 Set the video frame size. The argument must be a string in the form
 @var{WIDTH}x@var{HEIGHT} or a valid size abbreviation.
 
-@item pixel_format
+@item -pixel_format
 Select the pixel format (only valid for raw video input).
 
-@item input_format
+@item -input_format
 Set the preferred pixel format (for raw video) or a codec name.
 This option allows one to select the input format, when several are
 available.
 
-@item framerate
+@item -framerate
 Set the preferred video frame rate.
 
-@item list_formats
+@item -list_formats
 List available formats (supported pixel formats, codecs, and frame
 sizes) and exit.
 
@@ -1426,7 +1426,7 @@ Show only raw video (non-compressed) formats.
 Show only compressed formats.
 @end table
 
-@item list_standards
+@item -list_standards
 List supported standards and exit.
 
 Available values are:
@@ -1435,7 +1435,7 @@ Available values are:
 Show all supported standards.
 @end table
 
-@item timestamps, ts
+@item -timestamps, -ts
 Set type of timestamps for grabbed frames.
 
 Available values are:
@@ -1452,7 +1452,7 @@ Force conversion from monotonic to absolute timestamps.
 
 Default value is @code{default}.
 
-@item use_libv4l2
+@item -use_libv4l2
 Use libv4l2 (v4l-utils) conversion functions. Default is 0.
 
 @end table
@@ -1469,10 +1469,10 @@ other filename will be interpreted as device number 0.
 
 @table @option
 
-@item video_size
+@item -video_size
 Set the video frame size.
 
-@item framerate
+@item -framerate
 Set the grabbing frame rate. Default value is @code{ntsc},
 corresponding to a frame rate of @code{30000/1001}.
 
@@ -1522,11 +1522,11 @@ ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
 @subsection Options
 
 @table @option
-@item draw_mouse
+@item -draw_mouse
 Specify whether to draw the mouse pointer. A value of @code{0} specifies
 not to draw the pointer. Default value is @code{1}.
 
-@item follow_mouse
+@item -follow_mouse
 Make the grabbed area follow the mouse. The argument can be
 @code{centered} or a number of pixels @var{PIXELS}.
 
@@ -1545,18 +1545,18 @@ To follow only when the mouse pointer reaches within 100 pixels to edge:
 ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
 @end example
 
-@item framerate
+@item -framerate
 Set the grabbing frame rate. Default value is @code{ntsc},
 corresponding to a frame rate of @code{30000/1001}.
 
-@item show_region
+@item -show_region
 Show grabbed region on screen.
 
 If @var{show_region} is specified with @code{1}, then the grabbing
 region will be indicated on screen. With this option, it is easy to
 know what is being grabbed if only a portion of the screen is grabbed.
 
-@item region_border
+@item -region_border
 Set the region border thickness if @option{-show_region 1} is used.
 Range is 1 to 128 and default is 3 (XCB-based x11grab only).
 
@@ -1570,11 +1570,11 @@ With @var{follow_mouse}:
 ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
 @end example
 
-@item video_size
+@item -video_size
 Set the video frame size. Default value is @code{vga}.
 
-@item grab_x
-@item grab_y
+@item -grab_x
+@item -grab_y
 Set the grabbing region coordinates. They are expressed as offset from
 the top left corner of the X11 window and correspond to the
 @var{x_offset} and @var{y_offset} parameters in the device name. The
diff --git a/doc/muxers.texi b/doc/muxers.texi
index 36010cf2d1..5379580433 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -29,10 +29,10 @@ Audio Interchange File Format muxer.
 It accepts the following options:
 
 @table @option
-@item write_id3v2
+@item -write_id3v2
 Enable ID3v2 tags writing when set to 1. Default is 0 (disabled).
 
-@item id3v2_version
+@item -id3v2_version
 Select ID3v2 version to write. Currently only version 3 and 4 (aka.
 ID3v2.3 and ID3v2.4) are supported. The default is version 4.
 
@@ -51,7 +51,7 @@ muxer too.
 It accepts the following options:
 
 @table @option
-@item packet_size
+@item -packet_size
 Set the muxer packet size. By tuning this setting you may reduce data
 fragmentation or muxer overhead depending on your source. Default value is
 3200, minimum is 100, maximum is 64k.
@@ -68,7 +68,7 @@ Audio Video Interleaved muxer.
 It accepts the following options:
 
 @table @option
-@item reserve_index_space
+@item -reserve_index_space
 Reserve the specified amount of bytes for the OpenDML master index of each
 stream within the file header. By default additional master indexes are
 embedded within the data packets if there is no space left in the first master
@@ -81,7 +81,7 @@ The required index space depends on the output file size and should be about 16
 bytes per gigabyte. When this option is omitted or set to zero the necessary
 index space is guessed.
 
-@item write_channel_mask
+@item -write_channel_mask
 Write the channel layout mask into the audio stream header.
 
 This option is enabled by default. Disabling the channel mask can be useful in
@@ -104,15 +104,15 @@ It takes a single signed native-endian 16-bit raw audio stream of at most 2 chan
 @subsection Options
 
 @table @option
-@item silence_threshold
+@item -silence_threshold
 Threshold for detecting silence, ranges from -1 to 32767. -1 disables silence detection and
 is required for use with the AcoustID service. Default is -1.
 
-@item algorithm
+@item -algorithm
 Version of algorithm to fingerprint with. Range is 0 to 4. Version 2 requires that silence
 detection be enabled. Default is 1.
 
-@item fp_format
+@item -fp_format
 Format to output the fingerprint as. Accepts the following options:
 @table @samp
 @item raw
@@ -173,7 +173,7 @@ This muxer accepts the following options:
 
 @table @option
 
-@item flvflags @var{flags}
+@item -flvflags @var{flags}
 Possible values:
 
 @table @samp
@@ -256,7 +256,7 @@ DASH-templated name to used for the initialization segment. Default is "init-str
 DASH-templated name to used for the media segments. Default is "chunk-stream$RepresentationID$-$Number%05d$.$ext$". "$ext$" is replaced with the file name extension specific for the segment format.
 @item -utc_timing_url @var{utc_url}
 URL of the page that will return the UTC timestamp in ISO format. Example: "https://time.akamai.com/?iso"
-@item method @var{method}
+@item -method @var{method}
 Use the given HTTP method to create output files. Generally set to PUT or POST.
 @item -http_user_agent @var{user_agent}
 Override User-Agent field in HTTP header. Applicable only for HTTP output.
@@ -387,7 +387,7 @@ packet of the form:
 for the packet.
 
 @table @option
-@item hash @var{algorithm}
+@item -hash @var{algorithm}
 Use the cryptographic hash function specified by the string @var{algorithm}.
 Supported values include @code{MD5}, @code{murmur3}, @code{RIPEMD128},
 @code{RIPEMD160}, @code{RIPEMD256}, @code{RIPEMD320}, @code{SHA160},
@@ -445,11 +445,11 @@ Animated GIF muxer.
 It accepts the following options:
 
 @table @option
-@item loop
+@item -loop
 Set the number of times to loop the output. Use @code{-1} for no loop, @code{0}
 for looping indefinitely (default).
 
-@item final_delay
+@item -final_delay
 Force the delay (expressed in centiseconds) after the last frame. Each frame
 ends with a delay until the next frame. The default is @code{-1}, which is a
 special value to tell the muxer to re-use the previous delay. In case of a
@@ -492,7 +492,7 @@ the hash function used, and @var{hash} is a hexadecimal number
 representing the computed hash.
 
 @table @option
-@item hash @var{algorithm}
+@item -hash @var{algorithm}
 Use the cryptographic hash function specified by the string @var{algorithm}.
 Supported values include @code{MD5}, @code{murmur3}, @code{RIPEMD128},
 @code{RIPEMD160}, @code{RIPEMD256}, @code{RIPEMD320}, @code{SHA160},
@@ -548,32 +548,32 @@ segmentation.
 This muxer supports the following options:
 
 @table @option
-@item hls_init_time @var{seconds}
+@item -hls_init_time @var{seconds}
 Set the initial target segment length in seconds. Default value is @var{0}.
 Segment will be cut on the next key frame after this time has passed on the first m3u8 list.
 After the initial playlist is filled @command{ffmpeg} will cut segments
 at duration equal to @code{hls_time}
 
-@item hls_time @var{seconds}
+@item -hls_time @var{seconds}
 Set the target segment length in seconds. Default value is 2.
 Segment will be cut on the next key frame after this time has passed.
 
-@item hls_list_size @var{size}
+@item -hls_list_size @var{size}
 Set the maximum number of playlist entries. If set to 0 the list file
 will contain all the segments. Default value is 5.
 
-@item hls_delete_threshold @var{size}
+@item -hls_delete_threshold @var{size}
 Set the number of unreferenced segments to keep on disk before @code{hls_flags delete_segments}
 deletes them. Increase this to allow continue clients to download segments which
 were recently referenced in the playlist. Default value is 1, meaning segments older than
 @code{hls_list_size+1} will be deleted.
 
-@item hls_ts_options @var{options_list}
+@item -hls_ts_options @var{options_list}
 Set output format options using a :-separated list of key=value
 parameters. Values containing @code{:} special characters must be
 escaped.
 
-@item hls_wrap @var{wrap}
+@item -hls_wrap @var{wrap}
 This is a deprecated option, you can use @code{hls_list_size}
 and @code{hls_flags delete_segments} instead it
 
@@ -582,7 +582,7 @@ files, and limits the maximum number of segment files written to disk
 to @var{wrap}.
 
 
-@item hls_start_number_source
+@item -hls_start_number_source
 Start the playlist sequence number (@code{#EXT-X-MEDIA-SEQUENCE}) according to the specified source.
 Unless @code{hls_flags single_file} is set, it also specifies source of starting sequence numbers of
 segment and subtitle filenames. In any case, if @code{hls_flags append_list}
@@ -604,16 +604,16 @@ The start number will be based on the current date/time as YYYYmmddHHMMSS. e.g.
 
 @end table
 
-@item start_number @var{number}
+@item -start_number @var{number}
 Start the playlist sequence number (@code{#EXT-X-MEDIA-SEQUENCE}) from the specified @var{number}
 when @var{hls_start_number_source} value is @var{generic}. (This is the default case.)
 Unless @code{hls_flags single_file} is set, it also specifies starting sequence numbers of segment and subtitle filenames.
 Default value is 0.
 
-@item hls_allow_cache @var{allowcache}
+@item -hls_allow_cache @var{allowcache}
 Explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments.
 
-@item hls_base_url @var{baseurl}
+@item -hls_base_url @var{baseurl}
 Append @var{baseurl} to every entry in the playlist.
 Useful to generate playlists with absolute paths.
 
@@ -622,7 +622,7 @@ and it is not to be confused with the segment filename sequence number
 which can be cyclic, for example if the @option{wrap} option is
 specified.
 
-@item hls_segment_filename @var{filename}
+@item -hls_segment_filename @var{filename}
 Set the segment filename. Unless @code{hls_flags single_file} is set,
 @var{filename} is used as a string format with the segment number:
 @example
@@ -663,10 +663,10 @@ This example will produce the playlists segment file sets:
 @file{vs0/file_000.ts}, @file{vs0/file_001.ts}, @file{vs0/file_002.ts}, etc. and
 @file{vs1/file_000.ts}, @file{vs1/file_001.ts}, @file{vs1/file_002.ts}, etc.
 
-@item use_localtime
+@item -use_localtime
 Same as strftime option, will be deprecated.
 
-@item strftime
+@item -strftime
 Use strftime() on @var{filename} to expand the segment filename with localtime.
 The segment number is also available in this mode, but to use it, you need to specify second_level_segment_index
 hls_flag and %%d will be the specifier.
@@ -683,10 +683,10 @@ ffmpeg -i in.nut -strftime 1 -hls_flags second_level_segment_index -hls_segment_
 This example will produce the playlist, @file{out.m3u8}, and segment files:
 @file{file-20160215-0001.ts}, @file{file-20160215-0002.ts}, etc.
 
-@item use_localtime_mkdir
+@item -use_localtime_mkdir
 Same as strftime_mkdir option, will be deprecated .
 
-@item strftime_mkdir
+@item -strftime_mkdir
 Used together with -strftime_mkdir, it will create all subdirectories which
 is expanded in @var{filename}.
 @example
@@ -704,7 +704,7 @@ produce the playlist, @file{out.m3u8}, and segment files:
 @file{2016/02/15/file-20160215-1455569023.ts}, @file{2016/02/15/file-20160215-1455569024.ts}, etc.
 
 
-@item hls_key_info_file @var{key_info_file}
+@item -hls_key_info_file @var{key_info_file}
 Use the information in @var{key_info_file} for segment encryption. The first
 line of @var{key_info_file} specifies the key URI written to the playlist. The
 key URL is used to access the encryption key during playback. The second line
@@ -777,7 +777,7 @@ in the playlist.
 Hex-coded 16byte initialization vector for every segment instead
 of the autogenerated ones.
 
-@item hls_segment_type @var{flags}
+@item -hls_segment_type @var{flags}
 Possible values:
 
 @table @samp
@@ -791,7 +791,7 @@ fmp4 files may be used in HLS version 7 and above.
 
 @end table
 
-@item hls_fmp4_init_filename @var{filename}
+@item -hls_fmp4_init_filename @var{filename}
 Set filename to the fragment files header file, default filename is @file{init.mp4}.
 
 When @code{var_stream_map} is set with two or more variant streams, the
@@ -803,7 +803,7 @@ sub-directories are created after expanding the directory name pattern. This
 enables creation of init files corresponding to different variant streams in
 subdirectories.
 
-@item hls_flags @var{flags}
+@item -hls_flags @var{flags}
 Possible values:
 
 @table @samp
@@ -886,15 +886,15 @@ before they have been added to the m3u8 playlist.
 
 @end table
 
-@item hls_playlist_type event
+@item -hls_playlist_type event
 Emit @code{#EXT-X-PLAYLIST-TYPE:EVENT} in the m3u8 header. Forces
-@option{hls_list_size} to 0; the playlist can only be appended to.
+@option{-hls_list_size} to 0; the playlist can only be appended to.
 
-@item hls_playlist_type vod
+@item -hls_playlist_type vod
 Emit @code{#EXT-X-PLAYLIST-TYPE:VOD} in the m3u8 header. Forces
-@option{hls_list_size} to 0; the playlist must not change.
+@option{-hls_list_size} to 0; the playlist must not change.
 
-@item method
+@item -method
 Use the given HTTP method to create the hls files.
 @example
 ffmpeg -re -i in.ts -f hls -method PUT http://example.com/live/out.m3u8
@@ -905,10 +905,10 @@ server using the HTTP PUT method, and update the m3u8 files every
 Note that the HTTP server must support the given method for uploading
 files.
 
-@item http_user_agent
+@item -http_user_agent
 Override User-Agent field in HTTP header. Applicable only for HTTP output.
 
-@item var_stream_map
+@item -var_stream_map
 Map string which specifies how to group the audio, video and subtitle streams
 into different variant streams. The variant stream groups are separated
 by space.
@@ -998,7 +998,7 @@ have and language is named ENG, the other audio language is named CHN.
 
 By default, a single hls variant containing all the encoded streams is created.
 
-@item cc_stream_map
+@item -cc_stream_map
 Map string which specifies different closed captions groups and their
 attributes. The closed captions stream groups are separated by space.
 Expected string format is like this
@@ -1035,7 +1035,7 @@ the master playlist for the INSTREAM-IDs 'CC1' and 'CC2'. Also, it adds
 @code{CLOSED-CAPTIONS} attribute with group name 'cc' for the two output variant
 streams.
 
-@item master_pl_name
+@item -master_pl_name
 Create HLS master playlist with the given name.
 
 @example
@@ -1044,7 +1044,7 @@ ffmpeg -re -i in.ts -f hls -master_pl_name master.m3u8 http://example.com/live/o
 This example creates HLS master playlist with name master.m3u8 and it is
 published at http://example.com/live/
 
-@item master_pl_publish_rate
+@item -master_pl_publish_rate
 Publish master play list repeatedly every after specified number of segment intervals.
 
 @example
@@ -1055,10 +1055,10 @@ ffmpeg -re -i in.ts -f hls -master_pl_name master.m3u8 \
 This example creates HLS master playlist with name master.m3u8 and keep
 publishing it repeatedly every after 30 segments i.e. every after 60s.
 
-@item http_persistent
+@item -http_persistent
 Use persistent HTTP connections. Applicable only for HTTP output.
 
-@item timeout
+@item -timeout
 Set timeout for socket I/O operations. Applicable only for HTTP output.
 
 @item -ignore_io_errors
@@ -1153,7 +1153,7 @@ Note also that the pattern must not necessarily contain "%d" or
 ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
 @end example
 
-The @option{strftime} option allows you to expand the filename with
+The @option{-strftime} option allows you to expand the filename with
 date and time information. Check the documentation of
 the @code{strftime()} function for the syntax.
 
@@ -1172,19 +1172,19 @@ ffmpeg -f v4l2 -r 1 -i /dev/video0 -copyts -f image2 -frame_pts true %d.jpg"
 @subsection Options
 
 @table @option
-@item frame_pts
+@item -frame_pts
 If set to 1, expand the filename with pts from pkt->pts.
 Default value is 0.
 
-@item start_number
+@item -start_number
 Start the sequence from the specified number. Default value is 1.
 
-@item update
+@item -update
 If set to 1, the filename will always be interpreted as just a
 filename, not a pattern, and the corresponding file will be continuously
 overwritten with new images. Default value is 0.
 
-@item strftime
+@item -strftime
 If set to 1, expand the filename with date and time information from
 @code{strftime()}. Default value is 0.
 @end table
@@ -1265,7 +1265,7 @@ ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_
 This muxer supports the following options:
 
 @table @option
-@item reserve_index_space
+@item -reserve_index_space
 By default, this muxer writes the index for seeking (called cues in Matroska
 terms) at the end of the file, because it cannot know in advance how much space
 to leave for the index at the beginning of the file. However for some use cases
@@ -1504,21 +1504,21 @@ and @code{service_name}. If they are not set the default for
 The muxer options are:
 
 @table @option
-@item mpegts_transport_stream_id @var{integer}
+@item -mpegts_transport_stream_id @var{integer}
 Set the @samp{transport_stream_id}. This identifies a transponder in DVB.
 Default is @code{0x0001}.
 
-@item mpegts_original_network_id @var{integer}
+@item -mpegts_original_network_id @var{integer}
 Set the @samp{original_network_id}. This is unique identifier of a
 network in DVB. Its main use is in the unique identification of a service
 through the path @samp{Original_Network_ID, Transport_Stream_ID}. Default
 is @code{0x0001}.
 
-@item mpegts_service_id @var{integer}
+@item -mpegts_service_id @var{integer}
 Set the @samp{service_id}, also known as program in DVB. Default is
 @code{0x0001}.
 
-@item mpegts_service_type @var{integer}
+@item -mpegts_service_type @var{integer}
 Set the program @samp{service_type}. Default is @code{digital_tv}.
 Accepts the following options:
 @table @samp
@@ -1541,24 +1541,24 @@ Advanced Codec Digital SDTV service.
 Advanced Codec Digital HDTV service.
 @end table
 
-@item mpegts_pmt_start_pid @var{integer}
+@item -mpegts_pmt_start_pid @var{integer}
 Set the first PID for PMT. Default is @code{0x1000}. Max is @code{0x1f00}.
 
-@item mpegts_start_pid @var{integer}
+@item -mpegts_start_pid @var{integer}
 Set the first PID for data packets. Default is @code{0x0100}. Max is
 @code{0x0f00}.
 
-@item mpegts_m2ts_mode @var{boolean}
+@item -mpegts_m2ts_mode @var{boolean}
 Enable m2ts mode if set to @code{1}. Default value is @code{-1} which
 disables m2ts mode.
 
-@item muxrate @var{integer}
+@item -muxrate @var{integer}
 Set a constant muxrate. Default is VBR.
 
-@item pes_payload_size @var{integer}
+@item -pes_payload_size @var{integer}
 Set minimum PES packet payload in bytes. Default is @code{2930}.
 
-@item mpegts_flags @var{flags}
+@item -mpegts_flags @var{flags}
 Set mpegts flags. Accepts the following options:
 @table @samp
 @item resend_headers
@@ -1573,33 +1573,33 @@ Conform to System B (DVB) instead of System A (ATSC).
 Mark the initial packet of each stream as discontinuity.
 @end table
 
-@item resend_headers @var{integer}
+@item -resend_headers @var{integer}
 Reemit PAT/PMT before writing the next packet. This option is deprecated:
-use @option{mpegts_flags} instead.
+use @option{-mpegts_flags} instead.
 
-@item mpegts_copyts @var{boolean}
+@item -mpegts_copyts @var{boolean}
 Preserve original timestamps, if value is set to @code{1}. Default value
 is @code{-1}, which results in shifting timestamps so that they start from 0.
 
-@item omit_video_pes_length @var{boolean}
+@item -omit_video_pes_length @var{boolean}
 Omit the PES packet length for video packets. Default is @code{1} (true).
 
-@item pcr_period @var{integer}
+@item -pcr_period @var{integer}
 Override the default PCR retransmission time in milliseconds. Ignored if
 variable muxrate is selected. Default is @code{20}.
 
-@item pat_period @var{double}
+@item -pat_period @var{double}
 Maximum time in seconds between PAT/PMT tables.
 
-@item sdt_period @var{double}
+@item -sdt_period @var{double}
 Maximum time in seconds between SDT tables.
 
-@item tables_version @var{integer}
+@item -tables_version @var{integer}
 Set PAT, PMT and SDT version (default @code{0}, valid values are from 0 to 31, inclusively).
 This option allows updating stream structure so that standard consumer may
 detect the change. To do so, reopen output @code{AVFormatContext} (in case of API
 usage) or restart @command{ffmpeg} instance, cyclically changing
-@option{tables_version} value:
+@option{-tables_version} value:
 
 @example
 ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
@@ -1635,7 +1635,7 @@ MXF muxer.
 The muxer options are:
 
 @table @option
-@item store_user_comments @var{bool}
+@item -store_user_comments @var{bool}
 Set if user comments should be stored if available or never.
 IRT D-10 does not allow user comments. The default is thus to write them for
 mxf but not for mxf_d10
@@ -1715,7 +1715,7 @@ Basic stream segmenter.
 This muxer outputs streams to a number of separate files of nearly
 fixed duration. Output filename pattern can be set in a fashion
 similar to @ref{image2}, or by using a @code{strftime} template if
-the @option{strftime} option is enabled.
+the @option{-strftime} option is enabled.
 
 @code{stream_segment} is a variant of the muxer used to write to
 streaming output formats, i.e. which do not require global headers,
@@ -1723,7 +1723,7 @@ and is recommended for outputting e.g. to MPEG transport stream segments.
 @code{ssegment} is a shorter alias for @code{stream_segment}.
 
 Every segment starts with a keyframe of the selected reference stream,
-which is set through the @option{reference_stream} option.
+which is set through the @option{-reference_stream} option.
 
 Note that if you want accurate splitting for a video file, you need to
 make the input key frames correspond to the exact splitting times
@@ -1747,33 +1747,33 @@ implementation for HLS segmentation.
 The segment muxer supports the following options:
 
 @table @option
-@item increment_tc @var{1|0}
+@item -increment_tc @var{1|0}
 if set to @code{1}, increment timecode between each segment
 If this is selected, the input need to have
 a timecode in the first video stream. Default value is
 @code{0}.
 
-@item reference_stream @var{specifier}
+@item -reference_stream @var{specifier}
 Set the reference stream, as specified by the string @var{specifier}.
 If @var{specifier} is set to @code{auto}, the reference is chosen
 automatically. Otherwise it must be a stream specifier (see the ``Stream
 specifiers'' chapter in the ffmpeg manual) which specifies the
 reference stream. The default value is @code{auto}.
 
-@item segment_format @var{format}
+@item -segment_format @var{format}
 Override the inner container format, by default it is guessed by the filename
 extension.
 
-@item segment_format_options @var{options_list}
+@item -segment_format_options @var{options_list}
 Set output format options using a :-separated list of key=value
 parameters. Values containing the @code{:} special character must be
 escaped.
 
-@item segment_list @var{name}
+@item -segment_list @var{name}
 Generate also a listfile named @var{name}. If not specified no
 listfile is generated.
 
-@item segment_list_flags @var{flags}
+@item -segment_list_flags @var{flags}
 Set flags affecting the segment list generation.
 
 It currently supports the following flags:
@@ -1785,16 +1785,16 @@ Allow caching (only affects M3U8 list files).
 Allow live-friendly file generation.
 @end table
 
-@item segment_list_size @var{size}
+@item -segment_list_size @var{size}
 Update the list file so that it contains at most @var{size}
 segments. If 0 the list file will contain all the segments. Default
 value is 0.
 
-@item segment_list_entry_prefix @var{prefix}
+@item -segment_list_entry_prefix @var{prefix}
 Prepend @var{prefix} to each entry. Useful to generate absolute paths.
 By default no prefix is applied.
 
-@item segment_list_type @var{type}
+@item -segment_list_type @var{type}
 Select the listing format.
 
 The following values are recognized:
@@ -1837,36 +1837,36 @@ A list file with the suffix @code{".m3u8"} will auto-select this format.
 
 If not specified the type is guessed from the list file name suffix.
 
-@item segment_time @var{time}
+@item -segment_time @var{time}
 Set segment duration to @var{time}, the value must be a duration
 specification. Default value is "2". See also the
-@option{segment_times} option.
+@option{-segment_times} option.
 
 Note that splitting may not be accurate, unless you force the
 reference stream key-frames at the given time. See the introductory
 notice and the examples below.
 
-@item segment_atclocktime @var{1|0}
+@item -segment_atclocktime @var{1|0}
 If set to "1" split at regular clock time intervals starting from 00:00
-o'clock. The @var{time} value specified in @option{segment_time} is
+o'clock. The @var{time} value specified in @option{-segment_time} is
 used for setting the length of the splitting interval.
 
-For example with @option{segment_time} set to "900" this makes it possible
+For example with @option{-segment_time} set to "900" this makes it possible
 to create files at 12:00 o'clock, 12:15, 12:30, etc.
 
 Default value is "0".
 
-@item segment_clocktime_offset @var{duration}
+@item -segment_clocktime_offset @var{duration}
 Delay the segment splitting times with the specified duration when using
-@option{segment_atclocktime}.
+@option{-segment_atclocktime}.
 
-For example with @option{segment_time} set to "900" and
-@option{segment_clocktime_offset} set to "300" this makes it possible to
+For example with @option{-segment_time} set to "900" and
+@option{-segment_clocktime_offset} set to "300" this makes it possible to
 create files at 12:05, 12:20, 12:35, etc.
 
 Default value is "0".
 
-@item segment_clocktime_wrap_duration @var{duration}
+@item -segment_clocktime_wrap_duration @var{duration}
 Force the segmenter to only start a new segment if a packet reaches the muxer
 within the specified duration after the segmenting clock time. This way you
 can make the segmenter more resilient to backward local time jumps, such as
@@ -1875,7 +1875,7 @@ leap seconds or transition to standard time from daylight savings time.
 Default is the maximum possible duration which means starting a new segment
 regardless of the elapsed time since the last clock time.
 
-@item segment_time_delta @var{delta}
+@item -segment_time_delta @var{delta}
 Specify the accuracy time when selecting the start time for a
 segment, expressed as a duration specification. Default value is "0".
 
@@ -1897,12 +1897,12 @@ before the specified time. For constant frame rate videos a value of
 1/(2*@var{frame_rate}) should address the worst case mismatch between
 the specified time and the time set by @var{force_key_frames}.
 
-@item segment_times @var{times}
+@item -segment_times @var{times}
 Specify a list of split points. @var{times} contains a list of comma
 separated duration specifications, in increasing order. See also
-the @option{segment_time} option.
+the @option{-segment_time} option.
 
-@item segment_frames @var{frames}
+@item -segment_frames @var{frames}
 Specify a list of split video frame numbers. @var{frames} contains a
 list of comma separated integer numbers, in increasing order.
 
@@ -1910,35 +1910,35 @@ This option specifies to start a new segment whenever a reference
 stream key frame is found and the sequential number (starting from 0)
 of the frame is greater or equal to the next value in the list.
 
-@item segment_wrap @var{limit}
+@item -segment_wrap @var{limit}
 Wrap around segment index once it reaches @var{limit}.
 
-@item segment_start_number @var{number}
+@item -segment_start_number @var{number}
 Set the sequence number of the first segment. Defaults to @code{0}.
 
-@item strftime @var{1|0}
+@item -strftime @var{1|0}
 Use the @code{strftime} function to define the name of the new
 segments to write. If this is selected, the output segment name must
 contain a @code{strftime} function template. Default value is
 @code{0}.
 
-@item break_non_keyframes @var{1|0}
+@item -break_non_keyframes @var{1|0}
 If enabled, allow segments to start on frames other than keyframes. This
 improves behavior on some players when the time between keyframes is
 inconsistent, but may make things worse on others, and can cause some oddities
 during seeking. Defaults to @code{0}.
 
-@item reset_timestamps @var{1|0}
+@item -reset_timestamps @var{1|0}
 Reset timestamps at the beginning of each segment, so that each segment
 will start with near-zero timestamps. It is meant to ease the playback
 of the generated segments. May not work with some combinations of
 muxers/codecs. It is set to @code{0} by default.
 
-@item initial_offset @var{offset}
+@item -initial_offset @var{offset}
 Specify timestamp offset to apply to the output packet timestamps. The
 argument must be a time duration specification, and defaults to 0.
 
-@item write_empty_segments @var{1|0}
+@item -write_empty_segments @var{1|0}
 If enabled, write an empty segment if there are no packets during the period a
 segment would usually span. Otherwise, the segment will be filled with the next
 packet written. Defaults to @code{0}.
@@ -1972,9 +1972,9 @@ ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_ti
 @end example
 
 @item
-Use the @command{ffmpeg} @option{force_key_frames}
+Use the @command{ffmpeg} @option{-force_key_frames}
 option to force key frames in the input at the specified location, together
-with the segment option @option{segment_time_delta} to account for
+with the segment option @option{-segment_time_delta} to account for
 possible roundings operated when setting key frame times.
 @example
 ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
@@ -1985,7 +1985,7 @@ required.
 
 @item
 Segment the input file by splitting the input file according to the
-frame numbers sequence specified with the @option{segment_frames} option:
+frame numbers sequence specified with the @option{-segment_frames} option:
 @example
 ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
 @end example
@@ -2011,19 +2011,19 @@ ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
 Smooth Streaming muxer generates a set of files (Manifest, chunks) suitable for serving with conventional web server.
 
 @table @option
-@item window_size
+@item -window_size
 Specify the number of fragments kept in the manifest. Default 0 (keep all).
 
-@item extra_window_size
+@item -extra_window_size
 Specify the number of fragments kept outside of the manifest before removing from disk. Default 5.
 
-@item lookahead_count
+@item -lookahead_count
 Specify the number of lookahead fragments. Default 2.
 
-@item min_frag_duration
+@item -min_frag_duration
 Specify the minimum fragment duration (in microseconds). Default 5000000.
 
-@item remove_at_exit
+@item -remove_at_exit
 Specify whether to remove all fragments when finished. Default 0 (do not remove).
 
 @end table
@@ -2056,38 +2056,38 @@ dropping packets in case fifo queue fills up.
 
 @table @option
 
-@item fifo_format
+@item -fifo_format
 Specify the format name. Useful if it cannot be guessed from the
 output name suffix.
 
-@item queue_size
+@item -queue_size
 Specify size of the queue (number of packets). Default value is 60.
 
-@item format_opts
+@item -format_opts
 Specify format options for the underlying muxer. Muxer options can be specified
 as a list of @var{key}=@var{value} pairs separated by ':'.
 
-@item drop_pkts_on_overflow @var{bool}
+@item -drop_pkts_on_overflow @var{bool}
 If set to 1 (true), in case the fifo queue fills up, packets will be dropped
 rather than blocking the encoder. This makes it possible to continue streaming without
 delaying the input, at the cost of omitting part of the stream. By default
 this option is set to 0 (false), so in such cases the encoder will be blocked
 until the muxer processes some of the packets and none of them is lost.
 
-@item attempt_recovery @var{bool}
+@item -attempt_recovery @var{bool}
 If failure occurs, attempt to recover the output. This is especially useful
 when used with network output, since it makes it possible to restart streaming transparently.
 By default this option is set to 0 (false).
 
-@item max_recovery_attempts
+@item -max_recovery_attempts
 Sets maximum number of successive unsuccessful recovery attempts after which
 the output fails permanently. By default this option is set to 0 (unlimited).
 
-@item recovery_wait_time @var{duration}
+@item -recovery_wait_time @var{duration}
 Waiting time before the next recovery attempt after previous unsuccessful
 recovery attempt. Default value is 5 seconds.
 
-@item recovery_wait_streamtime @var{bool}
+@item -recovery_wait_streamtime @var{bool}
 If set to 0 (false), the real time is used when waiting for the recovery
 attempt (i.e. the recovery will be attempted after at least
 recovery_wait_time seconds).
@@ -2096,13 +2096,13 @@ instead (i.e. the recovery will be attempted after at least @var{recovery_wait_t
 seconds of the stream is omitted).
 By default, this option is set to 0 (false).
 
-@item recover_any_error @var{bool}
+@item -recover_any_error @var{bool}
 If set to 1 (true), recovery will be attempted regardless of type of the error
 causing the failure. By default this option is set to 0 (false) and in case of
 certain (usually permanent) errors the recovery is not attempted even when
 @var{attempt_recovery} is set to 1.
 
-@item restart_with_keyframe @var{bool}
+@item -restart_with_keyframe @var{bool}
 Specify whether to wait for the keyframe after recovering from
 queue overflow or failure. This option is set to 0 (false) by default.
 
@@ -2141,7 +2141,7 @@ the examples below.
 
 Some encoders may need different options depending on the output format;
 the auto-detection of this can not work with the tee muxer, so they need to be explicitly specified.
-The main example is the @option{global_header} flag.
+The main example is the @option{-global_header} flag.
 
 The slave outputs are specified in the file name given to the muxer,
 separated by '|'. If any of the slave name contains the '|' separator,
@@ -2153,12 +2153,12 @@ section in the ffmpeg-utils(1) manual,ffmpeg-utils}).
 
 @table @option
 
-@item use_fifo @var{bool}
+@item -use_fifo @var{bool}
 If set to 1, slave outputs will be processed in separate threads using the @ref{fifo}
 muxer. This allows to compensate for different speed/latency/reliability of
 outputs and setup transparent recovery. By default this feature is turned off.
 
-@item fifo_options
+@item -fifo_options
 Options to pass to fifo pseudo-muxer instances. See @ref{fifo}.
 
 @end table
@@ -2276,33 +2276,33 @@ ISO DASH Specification: @url{http://standards.iso.org/ittf/PubliclyAvailableStan
 This muxer supports the following options:
 
 @table @option
-@item adaptation_sets
+@item -adaptation_sets
 This option has the following syntax: "id=x,streams=a,b,c id=y,streams=d,e" where x and y are the
 unique identifiers of the adaptation sets and a,b,c,d and e are the indices of the corresponding
 audio and video streams. Any number of adaptation sets can be added using this option.
 
-@item live
+@item -live
 Set this to 1 to create a live stream DASH Manifest. Default: 0.
 
-@item chunk_start_index
+@item -chunk_start_index
 Start index of the first chunk. This will go in the @samp{startNumber} attribute
 of the @samp{SegmentTemplate} element in the manifest. Default: 0.
 
-@item chunk_duration_ms
+@item -chunk_duration_ms
 Duration of each chunk in milliseconds. This will go in the @samp{duration}
 attribute of the @samp{SegmentTemplate} element in the manifest. Default: 1000.
 
-@item utc_timing_url
+@item -utc_timing_url
 URL of the page that will return the UTC timestamp in ISO format. This will go
 in the @samp{value} attribute of the @samp{UTCTiming} element in the manifest.
 Default: None.
 
-@item time_shift_buffer_depth
+@item -time_shift_buffer_depth
 Smallest time (in seconds) shifting buffer for which any Representation is
 guaranteed to be available. This will go in the @samp{timeShiftBufferDepth}
 attribute of the @samp{MPD} element. Default: 60.
 
-@item minimum_update_period
+@item -minimum_update_period
 Minimum update period (in seconds) of the manifest. This will go in the
 @samp{minimumUpdatePeriod} attribute of the @samp{MPD} element. Default: 0.
 
@@ -2333,13 +2333,13 @@ consumed by clients that support WebM Live streams via DASH.
 This muxer supports the following options:
 
 @table @option
-@item chunk_start_index
+@item -chunk_start_index
 Index of the first chunk (defaults to 0).
 
-@item header
+@item -header
 Filename of the header where the initialization data will be written.
 
-@item audio_chunk_duration
+@item -audio_chunk_duration
 Duration of each audio chunk in milliseconds (defaults to 5000).
 @end table
 
diff --git a/doc/outdevs.texi b/doc/outdevs.texi
index 1fd83c28cc..b74ce23021 100644
--- a/doc/outdevs.texi
+++ b/doc/outdevs.texi
@@ -57,41 +57,41 @@ For more information about libcaca, check:
 
 @table @option
 
-@item window_title
+@item -window_title
 Set the CACA window title, if not specified default to the filename
 specified for the output device.
 
-@item window_size
+@item -window_size
 Set the CACA window size, can be a string of the form
 @var{width}x@var{height} or a video size abbreviation.
 If not specified it defaults to the size of the input video.
 
-@item driver
+@item -driver
 Set display driver.
 
-@item algorithm
+@item -algorithm
 Set dithering algorithm. Dithering is necessary
 because the picture being rendered has usually far more colours than
 the available palette.
 The accepted values are listed with @code{-list_dither algorithms}.
 
-@item antialias
+@item -antialias
 Set antialias method. Antialiasing smoothens the rendered
 image and avoids the commonly seen staircase effect.
 The accepted values are listed with @code{-list_dither antialiases}.
 
-@item charset
+@item -charset
 Set which characters are going to be used when rendering text.
 The accepted values are listed with @code{-list_dither charsets}.
 
-@item color
+@item -color
 Set color to be used when rendering text.
 The accepted values are listed with @code{-list_dither colors}.
 
-@item list_drivers
+@item -list_drivers
 If set to @option{true}, print a list of available drivers and exit.
 
-@item list_dither
+@item -list_dither
 List available dither options related to the argument.
 The argument must be one of @code{algorithms}, @code{antialiases},
 @code{charsets}, @code{colors}.
@@ -138,24 +138,24 @@ device with @command{-list_formats 1}. Audio sample rate is always 48 kHz.
 
 @table @option
 
-@item list_devices
+@item -list_devices
 If set to @option{true}, print a list of devices and exit.
 Defaults to @option{false}. Alternatively you can use the @code{-sinks}
 option of ffmpeg to list the available output devices.
 
-@item list_formats
+@item -list_formats
 If set to @option{true}, print a list of supported formats and exit.
 Defaults to @option{false}.
 
-@item preroll
+@item -preroll
 Amount of time to preroll video in seconds.
 Defaults to @option{0.5}.
 
-@item duplex_mode
+@item -duplex_mode
 Sets the decklink device duplex mode. Must be @samp{unset}, @samp{half} or @samp{full}.
 Defaults to @samp{unset}.
 
-@item timing_offset
+@item -timing_offset
 Sets the genlock timing pixel offset on the used output.
 Defaults to @samp{unset}.
 
@@ -206,8 +206,8 @@ For more detailed information read the file
 @subsection Options
 @table @option
 
-@item xoffset
-@item yoffset
+@item -xoffset
+@item -yoffset
 Set x/y coordinate of top left corner. Default is 0.
 @end table
 
@@ -238,16 +238,16 @@ rgb0.
 
 @table @option
 
-@item reference_level
+@item -reference_level
 The audio reference level in dB. This specifies how many dB above the
 reference level (+4dBU) is the full range of 16 bit audio.
 Defaults to @option{0}.
 
-@item clock_video
+@item -clock_video
 These specify whether video "clock" themselves.
 Defaults to @option{false}.
 
-@item clock_audio
+@item -clock_audio
 These specify whether audio "clock" themselves.
 Defaults to @option{false}.
 
@@ -283,18 +283,18 @@ Application is also required to inform a device about current resolution by send
 @subsection Options
 @table @option
 
-@item background
+@item -background
 Set background color. Black is a default.
-@item no_window
+@item -no_window
 Disables default SDL window when set to non-zero value.
 Application must provide OpenGL context and both @code{window_size_cb} and @code{window_swap_buffers_cb} callbacks when set.
-@item window_title
+@item -window_title
 Set the SDL window title, if not specified default to the filename specified for the output device.
-Ignored when @option{no_window} is set.
-@item window_size
+Ignored when @option{-no_window} is set.
+@item -window_size
 Set preferred window size, can be a string of the form widthxheight or a video size abbreviation.
 If not specified it defaults to the size of the input video, downscaled according to the aspect ratio.
-Mostly usable when @option{no_window} is not set.
+Mostly usable when @option{-no_window} is not set.
 
 @end table
 
@@ -319,29 +319,29 @@ More information about PulseAudio can be found on @url{http://www.pulseaudio.org
 @subsection Options
 @table @option
 
-@item server
+@item -server
 Connect to a specific PulseAudio server, specified by an IP address.
 Default server is used when not provided.
 
-@item name
+@item -name
 Specify the application name PulseAudio will use when showing active clients,
 by default it is the @code{LIBAVFORMAT_IDENT} string.
 
-@item stream_name
+@item -stream_name
 Specify the stream name PulseAudio will use when showing active streams,
 by default it is set to the specified output name.
 
-@item device
+@item -device
 Specify the device to use. Default device is used when not provided.
 List of output devices can be obtained with command @command{pactl list sinks}.
 
-@item buffer_size
-@item buffer_duration
+@item -buffer_size
+@item -buffer_duration
 Control the size and duration of the PulseAudio buffer. A small buffer
 gives more control, but requires more frequent updates.
 
-@option{buffer_size} specifies size in bytes while
-@option{buffer_duration} specifies duration in milliseconds.
+@option{-buffer_size} specifies size in bytes while
+@option{-buffer_duration} specifies duration in milliseconds.
 
 When both options are provided then the highest value is used
 (duration is recalculated to bytes using stream parameters). If they
@@ -349,15 +349,15 @@ are set to 0 (which is default), the device will use the default
 PulseAudio duration value. By default PulseAudio set buffer duration
 to around 2 seconds.
 
-@item prebuf
+@item -prebuf
 Specify pre-buffering size in bytes. The server does not start with
-playback before at least @option{prebuf} bytes are available in the
+playback before at least @option{-prebuf} bytes are available in the
 buffer. By default this option is initialized to the same value as
-@option{buffer_size} or @option{buffer_duration} (whichever is bigger).
+@option{-buffer_size} or @option{-buffer_duration} (whichever is bigger).
 
-@item minreq
+@item -minreq
 Specify minimum request size in bytes. The server does not request less
-than @option{minreq} bytes from the client, instead waits until the buffer
+than @option{-minreq} bytes from the client, instead waits until the buffer
 is free enough to request more bytes at once. It is recommended to not set
 this option, which will initialize this to a value that is deemed sensible
 by the server.
@@ -388,29 +388,29 @@ For more information about SDL, check:
 
 @table @option
 
-@item window_title
+@item -window_title
 Set the SDL window title, if not specified default to the filename
 specified for the output device.
 
-@item icon_title
+@item -icon_title
 Set the name of the iconified SDL window, if not specified it is set
 to the same value of @var{window_title}.
 
-@item window_size
+@item -window_size
 Set the SDL window size, can be a string of the form
 @var{width}x@var{height} or a video size abbreviation.
 If not specified it defaults to the size of the input video,
 downscaled according to the aspect ratio.
 
-@item window_x
-@item window_y
+@item -window_x
+@item -window_y
 Set the position of the window on the screen.
 
-@item window_fullscreen
+@item -window_fullscreen
 Set fullscreen mode when non-zero value is provided.
 Default value is zero.
 
-@item window_enable_quit
+@item -window_enable_quit
 Enable quit action (using window button or keyboard key)
 when non-zero value is provided.
 Default value is 1 (enable quit action)
@@ -452,7 +452,7 @@ window.
 @subsection Options
 
 @table @option
-@item display_name
+@item -display_name
 Specify the hardware display name, which determines the display and
 communications domain to be used.
 
@@ -473,24 +473,24 @@ For example, @code{dual-headed:0.1} would specify screen 1 of display
 Check the X11 specification for more detailed information about the
 display name format.
 
-@item window_id
+@item -window_id
 When set to non-zero value then device doesn't create new window,
 but uses existing one with provided @var{window_id}. By default
 this options is set to zero and device creates its own window.
 
-@item window_size
+@item -window_size
 Set the created window size, can be a string of the form
 @var{width}x@var{height} or a video size abbreviation. If not
 specified it defaults to the size of the input video.
 Ignored when @var{window_id} is set.
 
-@item window_x
-@item window_y
+@item -window_x
+@item -window_y
 Set the X and Y window offsets for the created window. They are both
 set to 0 by default. The values may be ignored by the window manager.
 Ignored when @var{window_id} is set.
 
-@item window_title
+@item -window_title
 Set the window title, if not specified default to the filename
 specified for the output device. Ignored when @var{window_id} is set.
 @end table
diff --git a/doc/protocols.texi b/doc/protocols.texi
index fb7725e058..8de3e15434 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -13,7 +13,7 @@ for programmatic use.
 The list of supported options follows:
 
 @table @option
-@item protocol_whitelist @var{list} (@emph{input})
+@item -protocol_whitelist @var{list} (@emph{input})
 Set a ","-separated list of allowed protocols. "ALL" matches all protocols. Protocols
 prefixed by "-" are disabled.
 All protocols are allowed by default but protocols used by an another
@@ -44,7 +44,7 @@ supported protocols.
 All protocols accept the following options:
 
 @table @option
-@item rw_timeout
+@item -rw_timeout
 Maximum time to wait for (network) read/write operations to complete,
 in microseconds.
 @end table
@@ -70,13 +70,13 @@ Read BluRay playlist.
 The accepted options are:
 @table @option
 
-@item angle
+@item -angle
 BluRay angle
 
-@item chapter
+@item -chapter
 Start chapter (1...N)
 
-@item playlist
+@item -playlist
 Playlist to read (BDMV/PLAYLIST/?????.mpls)
 
 @end table
@@ -135,10 +135,10 @@ AES-encrypted stream reading protocol.
 
 The accepted options are:
 @table @option
-@item key
+@item -key
 Set the AES decryption key binary block from given hexadecimal representation.
 
-@item iv
+@item -iv
 Set the AES decryption initialization vector binary block from given hexadecimal representation.
 @end table
 
@@ -184,11 +184,11 @@ ffmpeg -i file:input.mpeg output.mpeg
 This protocol accepts the following options:
 
 @table @option
-@item truncate
+@item -truncate
 Truncate existing files on write, if set to 1. A value of 0 prevents
 truncating. Default value is 1.
 
-@item blocksize
+@item -blocksize
 Set I/O operation maximum block size, in bytes. Default value is
 @code{INT_MAX}, which results in not limiting the requested block size.
 Setting this value reasonably low improves user termination request reaction
@@ -209,16 +209,16 @@ ftp://[user[:password]@@]server[:port]/path/to/remote/resource.mpeg
 This protocol accepts the following options.
 
 @table @option
-@item timeout
+@item -timeout
 Set timeout in microseconds of socket I/O operations used by the underlying low level
 operation. By default it is set to -1, which means that the timeout is
 not specified.
 
-@item ftp-anonymous-password
+@item -ftp-anonymous-password
 Password used when login as anonymous user. Typically an e-mail address
 should be used.
 
-@item ftp-write-seekable
+@item -ftp-write-seekable
 Control seekability of connection during encoding. If set to 1 the
 resource is supposed to be seekable, if set to 0 it is assumed not
 to be seekable. Default value is 0.
@@ -232,7 +232,7 @@ operation. ff* tools may produce incomplete content due to server limitations.
 This protocol accepts the following options:
 
 @table @option
-@item follow
+@item -follow
 If set to 1, the protocol will retry reading at the end of the file, allowing
 reading files that still are being written. In order for this to terminate,
 you either need to use the rw_timeout option, or use the interrupt callback
@@ -271,90 +271,90 @@ HTTP (Hyper Text Transfer Protocol).
 This protocol accepts the following options:
 
 @table @option
-@item seekable
+@item -seekable
 Control seekability of connection. If set to 1 the resource is
 supposed to be seekable, if set to 0 it is assumed not to be seekable,
 if set to -1 it will try to autodetect if it is seekable. Default
 value is -1.
 
-@item chunked_post
+@item -chunked_post
 If set to 1 use chunked Transfer-Encoding for posts, default is 1.
 
-@item content_type
+@item -content_type
 Set a specific content type for the POST messages or for listen mode.
 
-@item http_proxy
+@item -http_proxy
 set HTTP proxy to tunnel through e.g. http://example.com:1234
 
-@item headers
+@item -headers
 Set custom HTTP headers, can override built in default headers. The
 value must be a string encoding the headers.
 
-@item multiple_requests
+@item -multiple_requests
 Use persistent connections if set to 1, default is 0.
 
-@item post_data
+@item -post_data
 Set custom HTTP post data.
 
-@item referer
+@item -referer
 Set the Referer header. Include 'Referer: URL' header in HTTP request.
 
-@item user_agent
+@item -user_agent
 Override the User-Agent header. If not specified the protocol will use a
 string describing the libavformat build. ("Lavf/<version>")
 
-@item user-agent
+@item -user-agent
 This is a deprecated option, you can use user_agent instead it.
 
-@item timeout
+@item -timeout
 Set timeout in microseconds of socket I/O operations used by the underlying low level
 operation. By default it is set to -1, which means that the timeout is
 not specified.
 
-@item reconnect_at_eof
+@item -reconnect_at_eof
 If set then eof is treated like an error and causes reconnection, this is useful
 for live / endless streams.
 
-@item reconnect_streamed
+@item -reconnect_streamed
 If set then even streamed/non seekable streams will be reconnected on errors.
 
-@item reconnect_delay_max
+@item -reconnect_delay_max
 Sets the maximum delay in seconds after which to give up reconnecting
 
-@item mime_type
+@item -mime_type
 Export the MIME type.
 
-@item http_version
+@item -http_version
 Exports the HTTP response version number. Usually "1.0" or "1.1".
 
-@item icy
+@item -icy
 If set to 1 request ICY (SHOUTcast) metadata from the server. If the server
 supports this, the metadata has to be retrieved by the application by reading
-the @option{icy_metadata_headers} and @option{icy_metadata_packet} options.
+the @option{-icy_metadata_headers} and @option{-icy_metadata_packet} options.
 The default is 1.
 
-@item icy_metadata_headers
+@item -icy_metadata_headers
 If the server supports ICY metadata, this contains the ICY-specific HTTP reply
 headers, separated by newline characters.
 
-@item icy_metadata_packet
-If the server supports ICY metadata, and @option{icy} was set to 1, this
+@item -icy_metadata_packet
+If the server supports ICY metadata, and @option{-icy} was set to 1, this
 contains the last non-empty metadata packet sent by the server. It should be
 polled in regular intervals by applications interested in mid-stream metadata
 updates.
 
-@item cookies
+@item -cookies
 Set the cookies to be sent in future requests. The format of each cookie is the
 same as the value of a Set-Cookie HTTP response field. Multiple cookies can be
 delimited by a newline character.
 
-@item offset
+@item -offset
 Set initial byte offset.
 
-@item end_offset
+@item -end_offset
 Try to limit the request to bytes preceding this offset.
 
-@item method
+@item -method
 When used as a client option it sets the HTTP method for the request.
 
 When used as a server option it sets the HTTP method that is going to be
@@ -364,7 +364,7 @@ be given a Bad Request response.
 When unset the HTTP method is not checked for now. This will be replaced by
 autodetection in the future.
 
-@item listen
+@item -listen
 If set to 1 enables experimental HTTP server. This can be used to send data when
 used as an output option, or read data from a client with HTTP POST when used as
 an input option.
@@ -395,7 +395,7 @@ wget --post-file=somefile.ogg http://@var{server}:@var{port}
 @subsection HTTP Cookies
 
 Some HTTP requests will be denied unless cookie values are passed in with the
-request. The @option{cookies} option allows these cookies to be specified. At
+request. The @option{-cookies} option allows these cookies to be specified. At
 the very least, each cookie must specify a value along with a path and domain.
 HTTP requests that match both the domain and path will automatically include the
 cookie value in the HTTP Cookie header field. Multiple cookies can be delimited
@@ -413,34 +413,34 @@ Icecast protocol (stream to Icecast servers)
 This protocol accepts the following options:
 
 @table @option
-@item ice_genre
+@item -ice_genre
 Set the stream genre.
 
-@item ice_name
+@item -ice_name
 Set the stream name.
 
-@item ice_description
+@item -ice_description
 Set the stream description.
 
-@item ice_url
+@item -ice_url
 Set the stream website URL.
 
-@item ice_public
+@item -ice_public
 Set if the stream should be public.
 The default is 0 (not public).
 
-@item user_agent
+@item -user_agent
 Override the User-Agent header. If not specified a string of the form
 "Lavf/<version>" will be used.
 
-@item password
+@item -password
 Set the Icecast mountpoint password.
 
-@item content_type
+@item -content_type
 Set the stream content type. This must be set if it is different from
 audio/mpeg.
 
-@item legacy_icecast
+@item -legacy_icecast
 This enables support for Icecast versions < 2.4.0, that do not support the
 HTTP PUT method but the SOURCE method.
 
@@ -516,7 +516,7 @@ ffmpeg -i test.wav -f avi pipe: | cat > test.avi
 This protocol accepts the following options:
 
 @table @option
-@item blocksize
+@item -blocksize
 Set I/O operation maximum block size, in bytes. Default value is
 @code{INT_MAX}, which results in not limiting the requested block size.
 Setting this value reasonably low improves user termination request reaction
@@ -611,14 +611,14 @@ Additionally, the following parameters can be set via command line options
 (or in code via @code{AVOption}s):
 @table @option
 
-@item rtmp_app
+@item -rtmp_app
 Name of application to connect on the RTMP server. This option
 overrides the parameter specified in the URI.
 
-@item rtmp_buffer
+@item -rtmp_buffer
 Set the client buffer time in milliseconds. The default is 3000.
 
-@item rtmp_conn
+@item -rtmp_conn
 Extra arbitrary AMF connection parameters, parsed from a string,
 e.g. like @code{B:1 S:authMe O:1 NN:code:1.23 NS:flag:ok O:0}.
 Each value is prefixed by a single character denoting the type,
@@ -630,16 +630,16 @@ be named, by prefixing the type with 'N' and specifying the name before
 the value (i.e. @code{NB:myFlag:1}). This option may be used multiple
 times to construct arbitrary AMF sequences.
 
-@item rtmp_flashver
+@item -rtmp_flashver
 Version of the Flash plugin used to run the SWF player. The default
 is LNX 9,0,124,2. (When publishing, the default is FMLE/3.0 (compatible;
 <libavformat version>).)
 
-@item rtmp_flush_interval
+@item -rtmp_flush_interval
 Number of packets flushed in the same request (RTMPT only). The default
 is 10.
 
-@item rtmp_live
+@item -rtmp_live
 Specify that the media is a live stream. No resuming or seeking in
 live streams is possible. The default value is @code{any}, which means the
 subscriber first tries to play the live stream specified in the
@@ -647,32 +647,32 @@ playpath. If a live stream of that name is not found, it plays the
 recorded stream. The other possible values are @code{live} and
 @code{recorded}.
 
-@item rtmp_pageurl
+@item -rtmp_pageurl
 URL of the web page in which the media was embedded. By default no
 value will be sent.
 
-@item rtmp_playpath
+@item -rtmp_playpath
 Stream identifier to play or to publish. This option overrides the
 parameter specified in the URI.
 
-@item rtmp_subscribe
+@item -rtmp_subscribe
 Name of live stream to subscribe to. By default no value will be sent.
 It is only sent if the option is specified or if rtmp_live
 is set to live.
 
-@item rtmp_swfhash
+@item -rtmp_swfhash
 SHA256 hash of the decompressed SWF file (32 bytes).
 
-@item rtmp_swfsize
+@item -rtmp_swfsize
 Size of the decompressed SWF file, required for SWFVerification.
 
-@item rtmp_swfurl
+@item -rtmp_swfurl
 URL of the SWF player for the media. By default no value will be sent.
 
-@item rtmp_swfverify
+@item -rtmp_swfverify
 URL to player swf file, compute hash/size automatically.
 
-@item rtmp_tcurl
+@item -rtmp_tcurl
 URL of the target stream. Defaults to proto://host[:port]/app.
 
 @end table
@@ -742,16 +742,16 @@ smb://[[domain:]user[:password@@]]server[/share[/path[/file]]]
 This protocol accepts the following options.
 
 @table @option
-@item timeout
+@item -timeout
 Set timeout in milliseconds of socket I/O operations used by the underlying
 low level operation. By default it is set to -1, which means that the timeout
 is not specified.
 
-@item truncate
+@item -truncate
 Truncate existing files on write, if set to 1. A value of 0 prevents
 truncating. Default value is 1.
 
-@item workgroup
+@item -workgroup
 Set the workgroup used for making connections. By default workgroup is not specified.
 
 @end table
@@ -773,16 +773,16 @@ sftp://[user[:password]@@]server[:port]/path/to/remote/resource.mpeg
 This protocol accepts the following options.
 
 @table @option
-@item timeout
+@item -timeout
 Set timeout of socket I/O operations used by the underlying low level
 operation. By default it is set to -1, which means that the timeout
 is not specified.
 
-@item truncate
+@item -truncate
 Truncate existing files on write, if set to 1. A value of 0 prevents
 truncating. Default value is 1.
 
-@item private_key
+@item -private_key
 Specify the path of the file containing private key to use during authorization.
 By default libssh searches for keys in the @file{~/.ssh/} directory.
 
@@ -926,11 +926,11 @@ line, or set in code via @code{AVOption}s or in
 The following options are supported.
 
 @table @option
-@item initial_pause
+@item -initial_pause
 Do not start playing the stream immediately if set to 1. Default value
 is 0.
 
-@item rtsp_transport
+@item -rtsp_transport
 Set RTSP transport protocols.
 
 It accepts the following values:
@@ -954,7 +954,7 @@ Multiple lower transport protocols may be specified, in that case they are
 tried one at a time (if the setup of one fails, the next one is tried).
 For the muxer, only the @samp{tcp} and @samp{udp} options are supported.
 
-@item rtsp_flags
+@item -rtsp_flags
 Set RTSP flags.
 
 The following values are accepted:
@@ -969,7 +969,7 @@ Try TCP for RTP transport first, if TCP is available as RTSP RTP transport.
 
 Default value is @samp{none}.
 
-@item allowed_media_types
+@item -allowed_media_types
 Set media types to accept from the server.
 
 The following flags are accepted:
@@ -981,25 +981,25 @@ The following flags are accepted:
 
 By default it accepts all media types.
 
-@item min_port
+@item -min_port
 Set minimum local UDP port. Default value is 5000.
 
-@item max_port
+@item -max_port
 Set maximum local UDP port. Default value is 65000.
 
-@item timeout
+@item -timeout
 Set maximum timeout (in seconds) to wait for incoming connections.
 
 A value of -1 means infinite (default). This option implies the
-@option{rtsp_flags} set to @samp{listen}.
+@option{-rtsp_flags} set to @samp{listen}.
 
-@item reorder_queue_size
+@item -reorder_queue_size
 Set number of packets to buffer for handling of reordered packets.
 
-@item stimeout
+@item -stimeout
 Set socket TCP I/O timeout in microseconds.
 
-@item user-agent
+@item -user-agent
 Override User-Agent header. If not specified, it defaults to the
 libavformat identifier string.
 @end table
@@ -1148,10 +1148,10 @@ sctp://@var{host}:@var{port}[?@var{options}]
 
 The protocol accepts the following options:
 @table @option
-@item listen
+@item -listen
 If set to any value, listen for an incoming connection. Outgoing connection is done by default.
 
-@item max_streams
+@item -max_streams
 Set the maximum number of streams. By default no limit is set.
 @end table
 
@@ -1420,8 +1420,8 @@ Secure Real-time Transport Protocol.
 
 The accepted options are:
 @table @option
-@item srtp_in_suite
-@item srtp_out_suite
+@item -srtp_in_suite
+@item -srtp_out_suite
 Select input and output encoding suites.
 
 Supported values:
@@ -1432,8 +1432,8 @@ Supported values:
 @item SRTP_AES128_CM_HMAC_SHA1_32
 @end table
 
-@item srtp_in_params
-@item srtp_out_params
+@item -srtp_in_params
+@item -srtp_out_params
 Set input and output encoding parameters, which are expressed by a
 base64-encoded representation of a binary block. The first 16 bytes of
 this binary block are used as master key, the following 14 bytes are
@@ -1714,9 +1714,9 @@ The following parameters can be set via command line options
 (or in code via @code{AVOption}s):
 
 @table @option
-@item timeout
+@item -timeout
 Timeout in ms.
-@item listen
+@item -listen
 Create the Unix socket in listening mode.
 @end table
 
