annotate ffmpeg/doc/codecs.texi @ 13:844d341cf643 tip

Back up before ISMIR
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Thu, 31 Oct 2013 13:17:06 +0000
parents 6840f77b83aa
children
rev   line source
yading@10 1 @chapter Codec Options
yading@10 2 @c man begin CODEC OPTIONS
yading@10 3
yading@10 4 libavcodec provides some generic global options, which can be set on
yading@10 5 all the encoders and decoders. In addition each codec may support
yading@10 6 so-called private options, which are specific for a given codec.
yading@10 7
yading@10 8 Sometimes, a global option may only affect a specific kind of codec,
yading@10 9 and may be unsensical or ignored by another, so you need to be aware
yading@10 10 of the meaning of the specified options. Also some options are
yading@10 11 meant only for decoding or encoding.
yading@10 12
yading@10 13 Options may be set by specifying -@var{option} @var{value} in the
yading@10 14 FFmpeg tools, or by setting the value explicitly in the
yading@10 15 @code{AVCodecContext} options or using the @file{libavutil/opt.h} API
yading@10 16 for programmatic use.
yading@10 17
yading@10 18 The list of supported options follow:
yading@10 19
yading@10 20 @table @option
yading@10 21 @item b @var{integer} (@emph{encoding,audio,video})
yading@10 22 Set bitrate in bits/s. Default value is 200K.
yading@10 23
yading@10 24 @item ab @var{integer} (@emph{encoding,audio})
yading@10 25 Set audio bitrate (in bits/s). Default value is 128K.
yading@10 26
yading@10 27 @item bt @var{integer} (@emph{encoding,video})
yading@10 28 Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate
yading@10 29 tolerance specifies how far ratecontrol is willing to deviate from the
yading@10 30 target average bitrate value. This is not related to min/max
yading@10 31 bitrate. Lowering tolerance too much has an adverse effect on quality.
yading@10 32
yading@10 33 @item flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
yading@10 34 Set generic flags.
yading@10 35
yading@10 36 Possible values:
yading@10 37 @table @samp
yading@10 38 @item mv4
yading@10 39 Use four motion vector by macroblock (mpeg4).
yading@10 40 @item qpel
yading@10 41 Use 1/4 pel motion compensation.
yading@10 42 @item loop
yading@10 43 Use loop filter.
yading@10 44 @item qscale
yading@10 45 Use fixed qscale.
yading@10 46 @item gmc
yading@10 47 Use gmc.
yading@10 48 @item mv0
yading@10 49 Always try a mb with mv=<0,0>.
yading@10 50 @item input_preserved
yading@10 51
yading@10 52 @item pass1
yading@10 53 Use internal 2pass ratecontrol in first pass mode.
yading@10 54 @item pass2
yading@10 55 Use internal 2pass ratecontrol in second pass mode.
yading@10 56 @item gray
yading@10 57 Only decode/encode grayscale.
yading@10 58 @item emu_edge
yading@10 59 Do not draw edges.
yading@10 60 @item psnr
yading@10 61 Set error[?] variables during encoding.
yading@10 62 @item truncated
yading@10 63
yading@10 64 @item naq
yading@10 65 Normalize adaptive quantization.
yading@10 66 @item ildct
yading@10 67 Use interlaced DCT.
yading@10 68 @item low_delay
yading@10 69 Force low delay.
yading@10 70 @item global_header
yading@10 71 Place global headers in extradata instead of every keyframe.
yading@10 72 @item bitexact
yading@10 73 Use only bitexact stuff (except (I)DCT).
yading@10 74 @item aic
yading@10 75 Apply H263 advanced intra coding / mpeg4 ac prediction.
yading@10 76 @item cbp
yading@10 77 Deprecated, use mpegvideo private options instead.
yading@10 78 @item qprd
yading@10 79 Deprecated, use mpegvideo private options instead.
yading@10 80 @item ilme
yading@10 81 Apply interlaced motion estimation.
yading@10 82 @item cgop
yading@10 83 Use closed gop.
yading@10 84 @end table
yading@10 85
yading@10 86 @item sub_id @var{integer}
yading@10 87 Deprecated, currently unused.
yading@10 88
yading@10 89 @item me_method @var{integer} (@emph{encoding,video})
yading@10 90 Set motion estimation method.
yading@10 91
yading@10 92 Possible values:
yading@10 93 @table @samp
yading@10 94 @item zero
yading@10 95 zero motion estimation (fastest)
yading@10 96 @item full
yading@10 97 full motion estimation (slowest)
yading@10 98 @item epzs
yading@10 99 EPZS motion estimation (default)
yading@10 100 @item esa
yading@10 101 esa motion estimation (alias for full)
yading@10 102 @item tesa
yading@10 103 tesa motion estimation
yading@10 104 @item dia
yading@10 105 dia motion estimation (alias for epzs)
yading@10 106 @item log
yading@10 107 log motion estimation
yading@10 108 @item phods
yading@10 109 phods motion estimation
yading@10 110 @item x1
yading@10 111 X1 motion estimation
yading@10 112 @item hex
yading@10 113 hex motion estimation
yading@10 114 @item umh
yading@10 115 umh motion estimation
yading@10 116 @item iter
yading@10 117 iter motion estimation
yading@10 118 @end table
yading@10 119
yading@10 120 @item extradata_size @var{integer}
yading@10 121 Set extradata size.
yading@10 122
yading@10 123 @item time_base @var{rational number}
yading@10 124 Set codec time base.
yading@10 125
yading@10 126 It is the fundamental unit of time (in seconds) in terms of which
yading@10 127 frame timestamps are represented. For fixed-fps content, timebase
yading@10 128 should be @code{1 / frame_rate} and timestamp increments should be
yading@10 129 identically 1.
yading@10 130
yading@10 131 @item g @var{integer} (@emph{encoding,video})
yading@10 132 Set the group of picture size. Default value is 12.
yading@10 133
yading@10 134 @item ar @var{integer} (@emph{decoding/encoding,audio})
yading@10 135 Set audio sampling rate (in Hz).
yading@10 136
yading@10 137 @item ac @var{integer} (@emph{decoding/encoding,audio})
yading@10 138 Set number of audio channels.
yading@10 139
yading@10 140 @item cutoff @var{integer} (@emph{encoding,audio})
yading@10 141 Set cutoff bandwidth.
yading@10 142
yading@10 143 @item frame_size @var{integer} (@emph{encoding,audio})
yading@10 144 Set audio frame size.
yading@10 145
yading@10 146 Each submitted frame except the last must contain exactly frame_size
yading@10 147 samples per channel. May be 0 when the codec has
yading@10 148 CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
yading@10 149 restricted. It is set by some decoders to indicate constant frame
yading@10 150 size.
yading@10 151
yading@10 152 @item frame_number @var{integer}
yading@10 153 Set the frame number.
yading@10 154
yading@10 155 @item delay @var{integer}
yading@10 156
yading@10 157 @item qcomp @var{float} (@emph{encoding,video})
yading@10 158 Set video quantizer scale compression (VBR). It is used as a constant
yading@10 159 in the ratecontrol equation. Recommended range for default rc_eq:
yading@10 160 0.0-1.0.
yading@10 161
yading@10 162 @item qblur @var{float} (@emph{encoding,video})
yading@10 163 Set video quantizer scale blur (VBR).
yading@10 164
yading@10 165 @item qmin @var{integer} (@emph{encoding,video})
yading@10 166 Set min video quantizer scale (VBR). Must be included between -1 and
yading@10 167 69, default value is 2.
yading@10 168
yading@10 169 @item qmax @var{integer} (@emph{encoding,video})
yading@10 170 Set max video quantizer scale (VBR). Must be included between -1 and
yading@10 171 1024, default value is 31.
yading@10 172
yading@10 173 @item qdiff @var{integer} (@emph{encoding,video})
yading@10 174 Set max difference between the quantizer scale (VBR).
yading@10 175
yading@10 176 @item bf @var{integer} (@emph{encoding,video})
yading@10 177 Set max number of B frames.
yading@10 178
yading@10 179 @item b_qfactor @var{float} (@emph{encoding,video})
yading@10 180 Set qp factor between P and B frames.
yading@10 181
yading@10 182 @item rc_strategy @var{integer} (@emph{encoding,video})
yading@10 183 Set ratecontrol method.
yading@10 184
yading@10 185 @item b_strategy @var{integer} (@emph{encoding,video})
yading@10 186 Set strategy to choose between I/P/B-frames.
yading@10 187
yading@10 188 @item ps @var{integer} (@emph{encoding,video})
yading@10 189 Set RTP payload size in bytes.
yading@10 190
yading@10 191 @item mv_bits @var{integer}
yading@10 192 @item header_bits @var{integer}
yading@10 193 @item i_tex_bits @var{integer}
yading@10 194 @item p_tex_bits @var{integer}
yading@10 195 @item i_count @var{integer}
yading@10 196 @item p_count @var{integer}
yading@10 197 @item skip_count @var{integer}
yading@10 198 @item misc_bits @var{integer}
yading@10 199 @item frame_bits @var{integer}
yading@10 200 @item codec_tag @var{integer}
yading@10 201 @item bug @var{flags} (@emph{decoding,video})
yading@10 202 Workaround not auto detected encoder bugs.
yading@10 203
yading@10 204 Possible values:
yading@10 205 @table @samp
yading@10 206 @item autodetect
yading@10 207
yading@10 208 @item old_msmpeg4
yading@10 209 some old lavc generated msmpeg4v3 files (no autodetection)
yading@10 210 @item xvid_ilace
yading@10 211 Xvid interlacing bug (autodetected if fourcc==XVIX)
yading@10 212 @item ump4
yading@10 213 (autodetected if fourcc==UMP4)
yading@10 214 @item no_padding
yading@10 215 padding bug (autodetected)
yading@10 216 @item amv
yading@10 217
yading@10 218 @item ac_vlc
yading@10 219 illegal vlc bug (autodetected per fourcc)
yading@10 220 @item qpel_chroma
yading@10 221
yading@10 222 @item std_qpel
yading@10 223 old standard qpel (autodetected per fourcc/version)
yading@10 224 @item qpel_chroma2
yading@10 225
yading@10 226 @item direct_blocksize
yading@10 227 direct-qpel-blocksize bug (autodetected per fourcc/version)
yading@10 228 @item edge
yading@10 229 edge padding bug (autodetected per fourcc/version)
yading@10 230 @item hpel_chroma
yading@10 231
yading@10 232 @item dc_clip
yading@10 233
yading@10 234 @item ms
yading@10 235 Workaround various bugs in microsoft broken decoders.
yading@10 236 @item trunc
yading@10 237 trancated frames
yading@10 238 @end table
yading@10 239
yading@10 240 @item lelim @var{integer} (@emph{encoding,video})
yading@10 241 Set single coefficient elimination threshold for luminance (negative
yading@10 242 values also consider DC coefficient).
yading@10 243
yading@10 244 @item celim @var{integer} (@emph{encoding,video})
yading@10 245 Set single coefficient elimination threshold for chrominance (negative
yading@10 246 values also consider dc coefficient)
yading@10 247
yading@10 248 @item strict @var{integer} (@emph{decoding/encoding,audio,video})
yading@10 249 Specify how strictly to follow the standards.
yading@10 250
yading@10 251 Possible values:
yading@10 252 @table @samp
yading@10 253 @item very
yading@10 254 strictly conform to a older more strict version of the spec or reference software
yading@10 255 @item strict
yading@10 256 strictly conform to all the things in the spec no matter what consequences
yading@10 257 @item normal
yading@10 258
yading@10 259 @item unofficial
yading@10 260 allow unofficial extensions
yading@10 261 @item experimental
yading@10 262 allow non standardized experimental things
yading@10 263 @end table
yading@10 264
yading@10 265 @item b_qoffset @var{float} (@emph{encoding,video})
yading@10 266 Set QP offset between P and B frames.
yading@10 267
yading@10 268 @item err_detect @var{flags} (@emph{decoding,audio,video})
yading@10 269 Set error detection flags.
yading@10 270
yading@10 271 Possible values:
yading@10 272 @table @samp
yading@10 273 @item crccheck
yading@10 274 verify embedded CRCs
yading@10 275 @item bitstream
yading@10 276 detect bitstream specification deviations
yading@10 277 @item buffer
yading@10 278 detect improper bitstream length
yading@10 279 @item explode
yading@10 280 abort decoding on minor error detection
yading@10 281 @item careful
yading@10 282 consider things that violate the spec and have not been seen in the wild as errors
yading@10 283 @item compliant
yading@10 284 consider all spec non compliancies as errors
yading@10 285 @item aggressive
yading@10 286 consider things that a sane encoder should not do as an error
yading@10 287 @end table
yading@10 288
yading@10 289 @item has_b_frames @var{integer}
yading@10 290
yading@10 291 @item block_align @var{integer}
yading@10 292
yading@10 293 @item mpeg_quant @var{integer} (@emph{encoding,video})
yading@10 294 Use MPEG quantizers instead of H.263.
yading@10 295
yading@10 296 @item qsquish @var{float} (@emph{encoding,video})
yading@10 297 How to keep quantizer between qmin and qmax (0 = clip, 1 = use
yading@10 298 differentiable function).
yading@10 299
yading@10 300 @item rc_qmod_amp @var{float} (@emph{encoding,video})
yading@10 301 Set experimental quantizer modulation.
yading@10 302
yading@10 303 @item rc_qmod_freq @var{integer} (@emph{encoding,video})
yading@10 304 Set experimental quantizer modulation.
yading@10 305
yading@10 306 @item rc_override_count @var{integer}
yading@10 307
yading@10 308 @item rc_eq @var{string} (@emph{encoding,video})
yading@10 309 Set rate control equation. When computing the expression, besides the
yading@10 310 standard functions defined in the section 'Expression Evaluation', the
yading@10 311 following functions are available: bits2qp(bits), qp2bits(qp). Also
yading@10 312 the following constants are available: iTex pTex tex mv fCode iCount
yading@10 313 mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
yading@10 314 avgTex.
yading@10 315
yading@10 316 @item maxrate @var{integer} (@emph{encoding,audio,video})
yading@10 317 Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
yading@10 318
yading@10 319 @item minrate @var{integer} (@emph{encoding,audio,video})
yading@10 320 Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
yading@10 321 encode. It is of little use elsewise.
yading@10 322
yading@10 323 @item bufsize @var{integer} (@emph{encoding,audio,video})
yading@10 324 Set ratecontrol buffer size (in bits).
yading@10 325
yading@10 326 @item rc_buf_aggressivity @var{float} (@emph{encoding,video})
yading@10 327 Currently useless.
yading@10 328
yading@10 329 @item i_qfactor @var{float} (@emph{encoding,video})
yading@10 330 Set QP factor between P and I frames.
yading@10 331
yading@10 332 @item i_qoffset @var{float} (@emph{encoding,video})
yading@10 333 Set QP offset between P and I frames.
yading@10 334
yading@10 335 @item rc_init_cplx @var{float} (@emph{encoding,video})
yading@10 336 Set initial complexity for 1-pass encoding.
yading@10 337
yading@10 338 @item dct @var{integer} (@emph{encoding,video})
yading@10 339 Set DCT algorithm.
yading@10 340
yading@10 341 Possible values:
yading@10 342 @table @samp
yading@10 343 @item auto
yading@10 344 autoselect a good one (default)
yading@10 345 @item fastint
yading@10 346 fast integer
yading@10 347 @item int
yading@10 348 accurate integer
yading@10 349 @item mmx
yading@10 350
yading@10 351 @item altivec
yading@10 352
yading@10 353 @item faan
yading@10 354 floating point AAN DCT
yading@10 355 @end table
yading@10 356
yading@10 357 @item lumi_mask @var{float} (@emph{encoding,video})
yading@10 358 Compress bright areas stronger than medium ones.
yading@10 359
yading@10 360 @item tcplx_mask @var{float} (@emph{encoding,video})
yading@10 361 Set temporal complexity masking.
yading@10 362
yading@10 363 @item scplx_mask @var{float} (@emph{encoding,video})
yading@10 364 Set spatial complexity masking.
yading@10 365
yading@10 366 @item p_mask @var{float} (@emph{encoding,video})
yading@10 367 Set inter masking.
yading@10 368
yading@10 369 @item dark_mask @var{float} (@emph{encoding,video})
yading@10 370 Compress dark areas stronger than medium ones.
yading@10 371
yading@10 372 @item idct @var{integer} (@emph{decoding/encoding,video})
yading@10 373 Select IDCT implementation.
yading@10 374
yading@10 375 Possible values:
yading@10 376 @table @samp
yading@10 377 @item auto
yading@10 378
yading@10 379 @item int
yading@10 380
yading@10 381 @item simple
yading@10 382
yading@10 383 @item simplemmx
yading@10 384
yading@10 385 @item libmpeg2mmx
yading@10 386
yading@10 387 @item mmi
yading@10 388
yading@10 389 @item arm
yading@10 390
yading@10 391 @item altivec
yading@10 392
yading@10 393 @item sh4
yading@10 394
yading@10 395 @item simplearm
yading@10 396
yading@10 397 @item simplearmv5te
yading@10 398
yading@10 399 @item simplearmv6
yading@10 400
yading@10 401 @item simpleneon
yading@10 402
yading@10 403 @item simplealpha
yading@10 404
yading@10 405 @item h264
yading@10 406
yading@10 407 @item vp3
yading@10 408
yading@10 409 @item ipp
yading@10 410
yading@10 411 @item xvidmmx
yading@10 412
yading@10 413 @item faani
yading@10 414 floating point AAN IDCT
yading@10 415 @end table
yading@10 416
yading@10 417 @item slice_count @var{integer}
yading@10 418
yading@10 419 @item ec @var{flags} (@emph{decoding,video})
yading@10 420 Set error concealment strategy.
yading@10 421
yading@10 422 Possible values:
yading@10 423 @table @samp
yading@10 424 @item guess_mvs
yading@10 425 iterative motion vector (MV) search (slow)
yading@10 426 @item deblock
yading@10 427 use strong deblock filter for damaged MBs
yading@10 428 @end table
yading@10 429
yading@10 430 @item bits_per_coded_sample @var{integer}
yading@10 431
yading@10 432 @item pred @var{integer} (@emph{encoding,video})
yading@10 433 Set prediction method.
yading@10 434
yading@10 435 Possible values:
yading@10 436 @table @samp
yading@10 437 @item left
yading@10 438
yading@10 439 @item plane
yading@10 440
yading@10 441 @item median
yading@10 442
yading@10 443 @end table
yading@10 444
yading@10 445 @item aspect @var{rational number} (@emph{encoding,video})
yading@10 446 Set sample aspect ratio.
yading@10 447
yading@10 448 @item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
yading@10 449 Print specific debug info.
yading@10 450
yading@10 451 Possible values:
yading@10 452 @table @samp
yading@10 453 @item pict
yading@10 454 picture info
yading@10 455 @item rc
yading@10 456 rate control
yading@10 457 @item bitstream
yading@10 458
yading@10 459 @item mb_type
yading@10 460 macroblock (MB) type
yading@10 461 @item qp
yading@10 462 per-block quantization parameter (QP)
yading@10 463 @item mv
yading@10 464 motion vector
yading@10 465 @item dct_coeff
yading@10 466
yading@10 467 @item skip
yading@10 468
yading@10 469 @item startcode
yading@10 470
yading@10 471 @item pts
yading@10 472
yading@10 473 @item er
yading@10 474 error recognition
yading@10 475 @item mmco
yading@10 476 memory management control operations (H.264)
yading@10 477 @item bugs
yading@10 478
yading@10 479 @item vis_qp
yading@10 480 visualize quantization parameter (QP), lower QP are tinted greener
yading@10 481 @item vis_mb_type
yading@10 482 visualize block types
yading@10 483 @item buffers
yading@10 484 picture buffer allocations
yading@10 485 @item thread_ops
yading@10 486 threading operations
yading@10 487 @end table
yading@10 488
yading@10 489 @item vismv @var{integer} (@emph{decoding,video})
yading@10 490 Visualize motion vectors (MVs).
yading@10 491
yading@10 492 Possible values:
yading@10 493 @table @samp
yading@10 494 @item pf
yading@10 495 forward predicted MVs of P-frames
yading@10 496 @item bf
yading@10 497 forward predicted MVs of B-frames
yading@10 498 @item bb
yading@10 499 backward predicted MVs of B-frames
yading@10 500 @end table
yading@10 501
yading@10 502 @item cmp @var{integer} (@emph{encoding,video})
yading@10 503 Set full pel me compare function.
yading@10 504
yading@10 505 Possible values:
yading@10 506 @table @samp
yading@10 507 @item sad
yading@10 508 sum of absolute differences, fast (default)
yading@10 509 @item sse
yading@10 510 sum of squared errors
yading@10 511 @item satd
yading@10 512 sum of absolute Hadamard transformed differences
yading@10 513 @item dct
yading@10 514 sum of absolute DCT transformed differences
yading@10 515 @item psnr
yading@10 516 sum of squared quantization errors (avoid, low quality)
yading@10 517 @item bit
yading@10 518 number of bits needed for the block
yading@10 519 @item rd
yading@10 520 rate distortion optimal, slow
yading@10 521 @item zero
yading@10 522 0
yading@10 523 @item vsad
yading@10 524 sum of absolute vertical differences
yading@10 525 @item vsse
yading@10 526 sum of squared vertical differences
yading@10 527 @item nsse
yading@10 528 noise preserving sum of squared differences
yading@10 529 @item w53
yading@10 530 5/3 wavelet, only used in snow
yading@10 531 @item w97
yading@10 532 9/7 wavelet, only used in snow
yading@10 533 @item dctmax
yading@10 534
yading@10 535 @item chroma
yading@10 536
yading@10 537 @end table
yading@10 538
yading@10 539 @item subcmp @var{integer} (@emph{encoding,video})
yading@10 540 Set sub pel me compare function.
yading@10 541
yading@10 542 Possible values:
yading@10 543 @table @samp
yading@10 544 @item sad
yading@10 545 sum of absolute differences, fast (default)
yading@10 546 @item sse
yading@10 547 sum of squared errors
yading@10 548 @item satd
yading@10 549 sum of absolute Hadamard transformed differences
yading@10 550 @item dct
yading@10 551 sum of absolute DCT transformed differences
yading@10 552 @item psnr
yading@10 553 sum of squared quantization errors (avoid, low quality)
yading@10 554 @item bit
yading@10 555 number of bits needed for the block
yading@10 556 @item rd
yading@10 557 rate distortion optimal, slow
yading@10 558 @item zero
yading@10 559 0
yading@10 560 @item vsad
yading@10 561 sum of absolute vertical differences
yading@10 562 @item vsse
yading@10 563 sum of squared vertical differences
yading@10 564 @item nsse
yading@10 565 noise preserving sum of squared differences
yading@10 566 @item w53
yading@10 567 5/3 wavelet, only used in snow
yading@10 568 @item w97
yading@10 569 9/7 wavelet, only used in snow
yading@10 570 @item dctmax
yading@10 571
yading@10 572 @item chroma
yading@10 573
yading@10 574 @end table
yading@10 575
yading@10 576 @item mbcmp @var{integer} (@emph{encoding,video})
yading@10 577 Set macroblock compare function.
yading@10 578
yading@10 579 Possible values:
yading@10 580 @table @samp
yading@10 581 @item sad
yading@10 582 sum of absolute differences, fast (default)
yading@10 583 @item sse
yading@10 584 sum of squared errors
yading@10 585 @item satd
yading@10 586 sum of absolute Hadamard transformed differences
yading@10 587 @item dct
yading@10 588 sum of absolute DCT transformed differences
yading@10 589 @item psnr
yading@10 590 sum of squared quantization errors (avoid, low quality)
yading@10 591 @item bit
yading@10 592 number of bits needed for the block
yading@10 593 @item rd
yading@10 594 rate distortion optimal, slow
yading@10 595 @item zero
yading@10 596 0
yading@10 597 @item vsad
yading@10 598 sum of absolute vertical differences
yading@10 599 @item vsse
yading@10 600 sum of squared vertical differences
yading@10 601 @item nsse
yading@10 602 noise preserving sum of squared differences
yading@10 603 @item w53
yading@10 604 5/3 wavelet, only used in snow
yading@10 605 @item w97
yading@10 606 9/7 wavelet, only used in snow
yading@10 607 @item dctmax
yading@10 608
yading@10 609 @item chroma
yading@10 610
yading@10 611 @end table
yading@10 612
yading@10 613 @item ildctcmp @var{integer} (@emph{encoding,video})
yading@10 614 Set interlaced dct compare function.
yading@10 615
yading@10 616 Possible values:
yading@10 617 @table @samp
yading@10 618 @item sad
yading@10 619 sum of absolute differences, fast (default)
yading@10 620 @item sse
yading@10 621 sum of squared errors
yading@10 622 @item satd
yading@10 623 sum of absolute Hadamard transformed differences
yading@10 624 @item dct
yading@10 625 sum of absolute DCT transformed differences
yading@10 626 @item psnr
yading@10 627 sum of squared quantization errors (avoid, low quality)
yading@10 628 @item bit
yading@10 629 number of bits needed for the block
yading@10 630 @item rd
yading@10 631 rate distortion optimal, slow
yading@10 632 @item zero
yading@10 633 0
yading@10 634 @item vsad
yading@10 635 sum of absolute vertical differences
yading@10 636 @item vsse
yading@10 637 sum of squared vertical differences
yading@10 638 @item nsse
yading@10 639 noise preserving sum of squared differences
yading@10 640 @item w53
yading@10 641 5/3 wavelet, only used in snow
yading@10 642 @item w97
yading@10 643 9/7 wavelet, only used in snow
yading@10 644 @item dctmax
yading@10 645
yading@10 646 @item chroma
yading@10 647
yading@10 648 @end table
yading@10 649
yading@10 650 @item dia_size @var{integer} (@emph{encoding,video})
yading@10 651 Set diamond type & size for motion estimation.
yading@10 652
yading@10 653 @item last_pred @var{integer} (@emph{encoding,video})
yading@10 654 Set amount of motion predictors from the previous frame.
yading@10 655
yading@10 656 @item preme @var{integer} (@emph{encoding,video})
yading@10 657 Set pre motion estimation.
yading@10 658
yading@10 659 @item precmp @var{integer} (@emph{encoding,video})
yading@10 660 Set pre motion estimation compare function.
yading@10 661
yading@10 662 Possible values:
yading@10 663 @table @samp
yading@10 664 @item sad
yading@10 665 sum of absolute differences, fast (default)
yading@10 666 @item sse
yading@10 667 sum of squared errors
yading@10 668 @item satd
yading@10 669 sum of absolute Hadamard transformed differences
yading@10 670 @item dct
yading@10 671 sum of absolute DCT transformed differences
yading@10 672 @item psnr
yading@10 673 sum of squared quantization errors (avoid, low quality)
yading@10 674 @item bit
yading@10 675 number of bits needed for the block
yading@10 676 @item rd
yading@10 677 rate distortion optimal, slow
yading@10 678 @item zero
yading@10 679 0
yading@10 680 @item vsad
yading@10 681 sum of absolute vertical differences
yading@10 682 @item vsse
yading@10 683 sum of squared vertical differences
yading@10 684 @item nsse
yading@10 685 noise preserving sum of squared differences
yading@10 686 @item w53
yading@10 687 5/3 wavelet, only used in snow
yading@10 688 @item w97
yading@10 689 9/7 wavelet, only used in snow
yading@10 690 @item dctmax
yading@10 691
yading@10 692 @item chroma
yading@10 693
yading@10 694 @end table
yading@10 695
yading@10 696 @item pre_dia_size @var{integer} (@emph{encoding,video})
yading@10 697 Set diamond type & size for motion estimation pre-pass.
yading@10 698
yading@10 699 @item subq @var{integer} (@emph{encoding,video})
yading@10 700 Set sub pel motion estimation quality.
yading@10 701
yading@10 702 @item dtg_active_format @var{integer}
yading@10 703
yading@10 704 @item me_range @var{integer} (@emph{encoding,video})
yading@10 705 Set limit motion vectors range (1023 for DivX player).
yading@10 706
yading@10 707 @item ibias @var{integer} (@emph{encoding,video})
yading@10 708 Set intra quant bias.
yading@10 709
yading@10 710 @item pbias @var{integer} (@emph{encoding,video})
yading@10 711 Set inter quant bias.
yading@10 712
yading@10 713 @item color_table_id @var{integer}
yading@10 714
yading@10 715 @item global_quality @var{integer} (@emph{encoding,audio,video})
yading@10 716
yading@10 717 @item coder @var{integer} (@emph{encoding,video})
yading@10 718
yading@10 719 Possible values:
yading@10 720 @table @samp
yading@10 721 @item vlc
yading@10 722 variable length coder / huffman coder
yading@10 723 @item ac
yading@10 724 arithmetic coder
yading@10 725 @item raw
yading@10 726 raw (no encoding)
yading@10 727 @item rle
yading@10 728 run-length coder
yading@10 729 @item deflate
yading@10 730 deflate-based coder
yading@10 731 @end table
yading@10 732
yading@10 733 @item context @var{integer} (@emph{encoding,video})
yading@10 734 Set context model.
yading@10 735
yading@10 736 @item slice_flags @var{integer}
yading@10 737
yading@10 738 @item xvmc_acceleration @var{integer}
yading@10 739
yading@10 740 @item mbd @var{integer} (@emph{encoding,video})
yading@10 741 Set macroblock decision algorithm (high quality mode).
yading@10 742
yading@10 743 Possible values:
yading@10 744 @table @samp
yading@10 745 @item simple
yading@10 746 use mbcmp (default)
yading@10 747 @item bits
yading@10 748 use fewest bits
yading@10 749 @item rd
yading@10 750 use best rate distortion
yading@10 751 @end table
yading@10 752
yading@10 753 @item stream_codec_tag @var{integer}
yading@10 754
yading@10 755 @item sc_threshold @var{integer} (@emph{encoding,video})
yading@10 756 Set scene change threshold.
yading@10 757
yading@10 758 @item lmin @var{integer} (@emph{encoding,video})
yading@10 759 Set min lagrange factor (VBR).
yading@10 760
yading@10 761 @item lmax @var{integer} (@emph{encoding,video})
yading@10 762 Set max lagrange factor (VBR).
yading@10 763
yading@10 764 @item nr @var{integer} (@emph{encoding,video})
yading@10 765 Set noise reduction.
yading@10 766
yading@10 767 @item rc_init_occupancy @var{integer} (@emph{encoding,video})
yading@10 768 Set number of bits which should be loaded into the rc buffer before
yading@10 769 decoding starts.
yading@10 770
yading@10 771 @item inter_threshold @var{integer} (@emph{encoding,video})
yading@10 772
yading@10 773 @item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
yading@10 774
yading@10 775 Possible values:
yading@10 776 @table @samp
yading@10 777 @item fast
yading@10 778 allow non spec compliant speedup tricks
yading@10 779 @item sgop
yading@10 780 Deprecated, use mpegvideo private options instead
yading@10 781 @item noout
yading@10 782 skip bitstream encoding
yading@10 783 @item local_header
yading@10 784 place global headers at every keyframe instead of in extradata
yading@10 785 @item chunks
yading@10 786 Frame data might be split into multiple chunks
yading@10 787 @item showall
yading@10 788 Show all frames before the first keyframe
yading@10 789 @item skiprd
yading@10 790 Deprecated, use mpegvideo private options instead
yading@10 791 @end table
yading@10 792
yading@10 793 @item error @var{integer} (@emph{encoding,video})
yading@10 794
yading@10 795 @item qns @var{integer} (@emph{encoding,video})
yading@10 796 Deprecated, use mpegvideo private options instead.
yading@10 797
yading@10 798 @item threads @var{integer} (@emph{decoding/encoding,video})
yading@10 799
yading@10 800 Possible values:
yading@10 801 @table @samp
yading@10 802 @item auto
yading@10 803 detect a good number of threads
yading@10 804 @end table
yading@10 805
yading@10 806 @item me_threshold @var{integer} (@emph{encoding,video})
yading@10 807 Set motion estimation threshold.
yading@10 808
yading@10 809 @item mb_threshold @var{integer} (@emph{encoding,video})
yading@10 810 Set macroblock threshold.
yading@10 811
yading@10 812 @item dc @var{integer} (@emph{encoding,video})
yading@10 813 Set intra_dc_precision.
yading@10 814
yading@10 815 @item nssew @var{integer} (@emph{encoding,video})
yading@10 816 Set nsse weight.
yading@10 817
yading@10 818 @item skip_top @var{integer} (@emph{decoding,video})
yading@10 819 Set number of macroblock rows at the top which are skipped.
yading@10 820
yading@10 821 @item skip_bottom @var{integer} (@emph{decoding,video})
yading@10 822 Set number of macroblock rows at the bottom which are skipped.
yading@10 823
yading@10 824 @item profile @var{integer} (@emph{encoding,audio,video})
yading@10 825
yading@10 826 Possible values:
yading@10 827 @table @samp
yading@10 828 @item unknown
yading@10 829
yading@10 830 @item aac_main
yading@10 831
yading@10 832 @item aac_low
yading@10 833
yading@10 834 @item aac_ssr
yading@10 835
yading@10 836 @item aac_ltp
yading@10 837
yading@10 838 @item aac_he
yading@10 839
yading@10 840 @item aac_he_v2
yading@10 841
yading@10 842 @item aac_ld
yading@10 843
yading@10 844 @item aac_eld
yading@10 845
yading@10 846 @item dts
yading@10 847
yading@10 848 @item dts_es
yading@10 849
yading@10 850 @item dts_96_24
yading@10 851
yading@10 852 @item dts_hd_hra
yading@10 853
yading@10 854 @item dts_hd_ma
yading@10 855
yading@10 856 @end table
yading@10 857
yading@10 858 @item level @var{integer} (@emph{encoding,audio,video})
yading@10 859
yading@10 860 Possible values:
yading@10 861 @table @samp
yading@10 862 @item unknown
yading@10 863
yading@10 864 @end table
yading@10 865
yading@10 866 @item lowres @var{integer} (@emph{decoding,audio,video})
yading@10 867 Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
yading@10 868
yading@10 869 @item skip_threshold @var{integer} (@emph{encoding,video})
yading@10 870 Set frame skip threshold.
yading@10 871
yading@10 872 @item skip_factor @var{integer} (@emph{encoding,video})
yading@10 873 Set frame skip factor.
yading@10 874
yading@10 875 @item skip_exp @var{integer} (@emph{encoding,video})
yading@10 876 Set frame skip exponent.
yading@10 877
yading@10 878 @item skipcmp @var{integer} (@emph{encoding,video})
yading@10 879 Set frame skip compare function.
yading@10 880
yading@10 881 Possible values:
yading@10 882 @table @samp
yading@10 883 @item sad
yading@10 884 sum of absolute differences, fast (default)
yading@10 885 @item sse
yading@10 886 sum of squared errors
yading@10 887 @item satd
yading@10 888 sum of absolute Hadamard transformed differences
yading@10 889 @item dct
yading@10 890 sum of absolute DCT transformed differences
yading@10 891 @item psnr
yading@10 892 sum of squared quantization errors (avoid, low quality)
yading@10 893 @item bit
yading@10 894 number of bits needed for the block
yading@10 895 @item rd
yading@10 896 rate distortion optimal, slow
yading@10 897 @item zero
yading@10 898 0
yading@10 899 @item vsad
yading@10 900 sum of absolute vertical differences
yading@10 901 @item vsse
yading@10 902 sum of squared vertical differences
yading@10 903 @item nsse
yading@10 904 noise preserving sum of squared differences
yading@10 905 @item w53
yading@10 906 5/3 wavelet, only used in snow
yading@10 907 @item w97
yading@10 908 9/7 wavelet, only used in snow
yading@10 909 @item dctmax
yading@10 910
yading@10 911 @item chroma
yading@10 912
yading@10 913 @end table
yading@10 914
yading@10 915 @item border_mask @var{float} (@emph{encoding,video})
yading@10 916 Increase the quantizer for macroblocks close to borders.
yading@10 917
yading@10 918 @item mblmin @var{integer} (@emph{encoding,video})
yading@10 919 Set min macroblock lagrange factor (VBR).
yading@10 920
yading@10 921 @item mblmax @var{integer} (@emph{encoding,video})
yading@10 922 Set max macroblock lagrange factor (VBR).
yading@10 923
yading@10 924 @item mepc @var{integer} (@emph{encoding,video})
yading@10 925 Set motion estimation bitrate penalty compensation (1.0 = 256).
yading@10 926
yading@10 927 @item skip_loop_filter @var{integer} (@emph{decoding,video})
yading@10 928 @item skip_idct @var{integer} (@emph{decoding,video})
yading@10 929 @item skip_frame @var{integer} (@emph{decoding,video})
yading@10 930
yading@10 931 Make decoder discard processing depending on the frame type selected
yading@10 932 by the option value.
yading@10 933
yading@10 934 @option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
yading@10 935 skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
yading@10 936
yading@10 937 Possible values:
yading@10 938 @table @samp
yading@10 939 @item none
yading@10 940 Discard no frame.
yading@10 941
yading@10 942 @item default
yading@10 943 Discard useless frames like 0-sized frames.
yading@10 944
yading@10 945 @item noref
yading@10 946 Discard all non-reference frames.
yading@10 947
yading@10 948 @item bidir
yading@10 949 Discard all bidirectional frames.
yading@10 950
yading@10 951 @item nokey
yading@10 952 Discard all frames excepts keyframes.
yading@10 953
yading@10 954 @item all
yading@10 955 Discard all frames.
yading@10 956 @end table
yading@10 957
yading@10 958 Default value is @samp{default}.
yading@10 959
yading@10 960 @item bidir_refine @var{integer} (@emph{encoding,video})
yading@10 961 Refine the two motion vectors used in bidirectional macroblocks.
yading@10 962
yading@10 963 @item brd_scale @var{integer} (@emph{encoding,video})
yading@10 964 Downscale frames for dynamic B-frame decision.
yading@10 965
yading@10 966 @item keyint_min @var{integer} (@emph{encoding,video})
yading@10 967 Set minimum interval between IDR-frames.
yading@10 968
yading@10 969 @item refs @var{integer} (@emph{encoding,video})
yading@10 970 Set reference frames to consider for motion compensation.
yading@10 971
yading@10 972 @item chromaoffset @var{integer} (@emph{encoding,video})
yading@10 973 Set chroma qp offset from luma.
yading@10 974
yading@10 975 @item trellis @var{integer} (@emph{encoding,audio,video})
yading@10 976 Set rate-distortion optimal quantization.
yading@10 977
yading@10 978 @item sc_factor @var{integer} (@emph{encoding,video})
yading@10 979 Set value multiplied by qscale for each frame and added to
yading@10 980 scene_change_score.
yading@10 981
yading@10 982 @item mv0_threshold @var{integer} (@emph{encoding,video})
yading@10 983 @item b_sensitivity @var{integer} (@emph{encoding,video})
yading@10 984 Adjust sensitivity of b_frame_strategy 1.
yading@10 985
yading@10 986 @item compression_level @var{integer} (@emph{encoding,audio,video})
yading@10 987 @item min_prediction_order @var{integer} (@emph{encoding,audio})
yading@10 988 @item max_prediction_order @var{integer} (@emph{encoding,audio})
yading@10 989 @item timecode_frame_start @var{integer} (@emph{encoding,video})
yading@10 990 Set GOP timecode frame start number, in non drop frame format.
yading@10 991
yading@10 992 @item request_channels @var{integer} (@emph{decoding,audio})
yading@10 993 Set desired number of audio channels.
yading@10 994
yading@10 995 @item bits_per_raw_sample @var{integer}
yading@10 996 @item channel_layout @var{integer} (@emph{decoding/encoding,audio})
yading@10 997
yading@10 998 Possible values:
yading@10 999 @table @samp
yading@10 1000 @end table
yading@10 1001 @item request_channel_layout @var{integer} (@emph{decoding,audio})
yading@10 1002
yading@10 1003 Possible values:
yading@10 1004 @table @samp
yading@10 1005 @end table
yading@10 1006 @item rc_max_vbv_use @var{float} (@emph{encoding,video})
yading@10 1007 @item rc_min_vbv_use @var{float} (@emph{encoding,video})
yading@10 1008 @item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
yading@10 1009 @item color_primaries @var{integer} (@emph{decoding/encoding,video})
yading@10 1010 @item color_trc @var{integer} (@emph{decoding/encoding,video})
yading@10 1011 @item colorspace @var{integer} (@emph{decoding/encoding,video})
yading@10 1012 @item color_range @var{integer} (@emph{decoding/encoding,video})
yading@10 1013 @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
yading@10 1014
yading@10 1015 @item log_level_offset @var{integer}
yading@10 1016 Set the log level offset.
yading@10 1017
yading@10 1018 @item slices @var{integer} (@emph{encoding,video})
yading@10 1019 Number of slices, used in parallelized encoding.
yading@10 1020
yading@10 1021 @item thread_type @var{flags} (@emph{decoding/encoding,video})
yading@10 1022 Select multithreading type.
yading@10 1023
yading@10 1024 Possible values:
yading@10 1025 @table @samp
yading@10 1026 @item slice
yading@10 1027
yading@10 1028 @item frame
yading@10 1029
yading@10 1030 @end table
yading@10 1031 @item audio_service_type @var{integer} (@emph{encoding,audio})
yading@10 1032 Set audio service type.
yading@10 1033
yading@10 1034 Possible values:
yading@10 1035 @table @samp
yading@10 1036 @item ma
yading@10 1037 Main Audio Service
yading@10 1038 @item ef
yading@10 1039 Effects
yading@10 1040 @item vi
yading@10 1041 Visually Impaired
yading@10 1042 @item hi
yading@10 1043 Hearing Impaired
yading@10 1044 @item di
yading@10 1045 Dialogue
yading@10 1046 @item co
yading@10 1047 Commentary
yading@10 1048 @item em
yading@10 1049 Emergency
yading@10 1050 @item vo
yading@10 1051 Voice Over
yading@10 1052 @item ka
yading@10 1053 Karaoke
yading@10 1054 @end table
yading@10 1055
yading@10 1056 @item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
yading@10 1057 Set sample format audio decoders should prefer. Default value is
yading@10 1058 @code{none}.
yading@10 1059
yading@10 1060 @item pkt_timebase @var{rational number}
yading@10 1061
yading@10 1062 @item sub_charenc @var{encoding} (@emph{decoding,subtitles})
yading@10 1063 Set the input subtitles character encoding.
yading@10 1064 @end table
yading@10 1065
yading@10 1066 @c man end CODEC OPTIONS
yading@10 1067
yading@10 1068 @include decoders.texi
yading@10 1069 @include encoders.texi