Blame view

3rdparty/ffmpeg-4.4.4/doc/avoptions_codec.texi 25.5 KB
09c2d08c   Hu Chunming   arm交付版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
  @c DO NOT EDIT THIS FILE!
  @c It was generated by print_options.
  
  @section Codec AVOptions
  @table @option
  @item -b[:stream_specifier] @var{integer} (@emph{output,audio,video})
  set bitrate (in bits/s)
  @item -ab[:stream_specifier] @var{integer} (@emph{output,audio})
  set bitrate (in bits/s)
  @item -bt[:stream_specifier] @var{integer} (@emph{output,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 minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality.
  @item -flags[:stream_specifier] @var{flags} (@emph{input/output,audio,video,subtitles})
  
  Possible values:
  @table @samp
  @item unaligned
  allow decoders to produce unaligned output
  @item mv4
  use four motion vectors per macroblock (MPEG-4)
  @item qpel
  use 1/4-pel motion compensation
  @item loop
  use loop filter
  @item qscale
  use fixed qscale
  @item pass1
  use internal 2-pass ratecontrol in first  pass mode
  @item pass2
  use internal 2-pass ratecontrol in second pass mode
  @item gray
  only decode/encode grayscale
  @item psnr
  error[?] variables will be set during encoding
  @item truncated
  Input bitstream might be randomly truncated
  @item ildct
  use interlaced DCT
  @item low_delay
  force low delay
  @item global_header
  place global headers in extradata instead of every keyframe
  @item bitexact
  use only bitexact functions (except (I)DCT)
  @item aic
  H.263 advanced intra coding / MPEG-4 AC prediction
  @item ilme
  interlaced motion estimation
  @item cgop
  closed GOP
  @item output_corrupt
  Output even potentially corrupted frames
  @item drop_changed
  Drop frames whose parameters differ from first decoded frame
  @end table
  @item -flags2[:stream_specifier] @var{flags} (@emph{input/output,audio,video,subtitles})
  
  Possible values:
  @table @samp
  @item fast
  allow non-spec-compliant speedup tricks
  @item noout
  skip bitstream encoding
  @item ignorecrop
  ignore cropping information from sps
  @item local_header
  place global headers at every keyframe instead of in extradata
  @item chunks
  Frame data might be split into multiple chunks
  @item showall
  Show all frames before the first keyframe
  @item export_mvs
  export motion vectors through frame side data
  @item skip_manual
  do not skip samples and export skip information as frame side data
  @item ass_ro_flush_noop
  do not reset ASS ReadOrder field on flush
  @end table
  @item -export_side_data[:stream_specifier] @var{flags} (@emph{input/output,audio,video,subtitles})
  Export metadata as side data
  
  Possible values:
  @table @samp
  @item mvs
  export motion vectors through frame side data
  @item prft
  export Producer Reference Time through packet side data
  @item venc_params
  export video encoding parameters through frame side data
  @item film_grain
  export film grain parameters through frame side data
  @end table
  @item -g[:stream_specifier] @var{integer} (@emph{output,video})
  set the group of picture (GOP) size
  @item -ar[:stream_specifier] @var{integer} (@emph{input/output,audio})
  set audio sampling rate (in Hz)
  @item -ac[:stream_specifier] @var{integer} (@emph{input/output,audio})
  set number of audio channels
  @item -cutoff[:stream_specifier] @var{integer} (@emph{output,audio})
  set cutoff bandwidth
  @item -frame_size[:stream_specifier] @var{integer} (@emph{output,audio})
  @item -qcomp[:stream_specifier] @var{float} (@emph{output,video})
  video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0
  @item -qblur[:stream_specifier] @var{float} (@emph{output,video})
  video quantizer scale blur (VBR)
  @item -qmin[:stream_specifier] @var{integer} (@emph{output,video})
  minimum video quantizer scale (VBR)
  @item -qmax[:stream_specifier] @var{integer} (@emph{output,video})
  maximum video quantizer scale (VBR)
  @item -qdiff[:stream_specifier] @var{integer} (@emph{output,video})
  maximum difference between the quantizer scales (VBR)
  @item -bf[:stream_specifier] @var{integer} (@emph{output,video})
  set maximum number of B-frames between non-B-frames
  @item -b_qfactor[:stream_specifier] @var{float} (@emph{output,video})
  QP factor between P- and B-frames
  @item -b_strategy[:stream_specifier] @var{integer} (@emph{output,video})
  strategy to choose between I/P/B-frames
  @item -ps[:stream_specifier] @var{integer} (@emph{output,video})
  RTP payload size in bytes
  @item -bug[:stream_specifier] @var{flags} (@emph{input,video})
  work around not autodetected encoder bugs
  
  Possible values:
  @table @samp
  @item autodetect
  
  @item xvid_ilace
  Xvid interlacing bug (autodetected if FOURCC == XVIX)
  @item ump4
  (autodetected if FOURCC == UMP4)
  @item no_padding
  padding bug (autodetected)
  @item amv
  
  @item qpel_chroma
  
  @item std_qpel
  old standard qpel (autodetected per FOURCC/version)
  @item qpel_chroma2
  
  @item direct_blocksize
  direct-qpel-blocksize bug (autodetected per FOURCC/version)
  @item edge
  edge padding bug (autodetected per FOURCC/version)
  @item hpel_chroma
  
  @item dc_clip
  
  @item ms
  work around various bugs in Microsoft's broken decoders
  @item trunc
  truncated frames
  @item iedge
  
  @end table
  @item -strict[:stream_specifier] @var{integer} (@emph{input/output,audio,video})
  how strictly to follow the standards
  
  Possible values:
  @table @samp
  @item very
  strictly conform to a older more strict version of the spec or reference software
  @item strict
  strictly conform to all the things in the spec no matter what the consequences
  @item normal
  
  @item unofficial
  allow unofficial extensions
  @item experimental
  allow non-standardized experimental things
  @end table
  @item -b_qoffset[:stream_specifier] @var{float} (@emph{output,video})
  QP offset between P- and B-frames
  @item -err_detect[:stream_specifier] @var{flags} (@emph{input/output,audio,video,subtitles})
  set error detection flags
  
  Possible values:
  @table @samp
  @item crccheck
  verify embedded CRCs
  @item bitstream
  detect bitstream specification deviations
  @item buffer
  detect improper bitstream length
  @item explode
  abort decoding on minor error detection
  @item ignore_err
  ignore errors
  @item careful
  consider things that violate the spec, are fast to check and have not been seen in the wild as errors
  @item compliant
  consider all spec non compliancies as errors
  @item aggressive
  consider things that a sane encoder should not do as an error
  @end table
  @item -mpeg_quant[:stream_specifier] @var{integer} (@emph{output,video})
  use MPEG quantizers instead of H.263
  @item -maxrate[:stream_specifier] @var{integer} (@emph{output,audio,video})
  maximum bitrate (in bits/s). Used for VBV together with bufsize.
  @item -minrate[:stream_specifier] @var{integer} (@emph{output,audio,video})
  minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise.
  @item -bufsize[:stream_specifier] @var{integer} (@emph{output,audio,video})
  set ratecontrol buffer size (in bits)
  @item -i_qfactor[:stream_specifier] @var{float} (@emph{output,video})
  QP factor between P- and I-frames
  @item -i_qoffset[:stream_specifier] @var{float} (@emph{output,video})
  QP offset between P- and I-frames
  @item -dct[:stream_specifier] @var{integer} (@emph{output,video})
  DCT algorithm
  
  Possible values:
  @table @samp
  @item auto
  autoselect a good one
  @item fastint
  fast integer
  @item int
  accurate integer
  @item mmx
  
  @item altivec
  
  @item faan
  floating point AAN DCT
  @end table
  @item -lumi_mask[:stream_specifier] @var{float} (@emph{output,video})
  compresses bright areas stronger than medium ones
  @item -tcplx_mask[:stream_specifier] @var{float} (@emph{output,video})
  temporal complexity masking
  @item -scplx_mask[:stream_specifier] @var{float} (@emph{output,video})
  spatial complexity masking
  @item -p_mask[:stream_specifier] @var{float} (@emph{output,video})
  inter masking
  @item -dark_mask[:stream_specifier] @var{float} (@emph{output,video})
  compresses dark areas stronger than medium ones
  @item -idct[:stream_specifier] @var{integer} (@emph{input/output,video})
  select IDCT implementation
  
  Possible values:
  @table @samp
  @item auto
  
  @item int
  
  @item simple
  
  @item simplemmx
  
  @item arm
  
  @item altivec
  
  @item simplearm
  
  @item simplearmv5te
  
  @item simplearmv6
  
  @item simpleneon
  
  @item xvid
  
  @item xvidmmx
  deprecated, for compatibility only
  @item faani
  floating point AAN IDCT
  @item simpleauto
  
  @end table
  @item -ec[:stream_specifier] @var{flags} (@emph{input,video})
  set error concealment strategy
  
  Possible values:
  @table @samp
  @item guess_mvs
  iterative motion vector (MV) search (slow)
  @item deblock
  use strong deblock filter for damaged MBs
  @item favor_inter
  favor predicting from the previous frame
  @end table
  @item -pred[:stream_specifier] @var{integer} (@emph{output,video})
  prediction method
  
  Possible values:
  @table @samp
  @item left
  
  @item plane
  
  @item median
  
  @end table
  @item -aspect[:stream_specifier] @var{rational number} (@emph{output,video})
  sample aspect ratio
  @item -sar[:stream_specifier] @var{rational number} (@emph{output,video})
  sample aspect ratio
  @item -debug[:stream_specifier] @var{flags} (@emph{input/output,audio,video,subtitles})
  print specific debug info
  
  Possible values:
  @table @samp
  @item pict
  picture info
  @item rc
  rate control
  @item bitstream
  
  @item mb_type
  macroblock (MB) type
  @item qp
  per-block quantization parameter (QP)
  @item dct_coeff
  
  @item green_metadata
  
  @item skip
  
  @item startcode
  
  @item er
  error recognition
  @item mmco
  memory management control operations (H.264)
  @item bugs
  
  @item buffers
  picture buffer allocations
  @item thread_ops
  threading operations
  @item nomc
  skip motion compensation
  @end table
  @item -dia_size[:stream_specifier] @var{integer} (@emph{output,video})
  diamond type & size for motion estimation
  @item -last_pred[:stream_specifier] @var{integer} (@emph{output,video})
  amount of motion predictors from the previous frame
  @item -preme[:stream_specifier] @var{integer} (@emph{output,video})
  pre motion estimation
  @item -pre_dia_size[:stream_specifier] @var{integer} (@emph{output,video})
  diamond type & size for motion estimation pre-pass
  @item -subq[:stream_specifier] @var{integer} (@emph{output,video})
  sub-pel motion estimation quality
  @item -me_range[:stream_specifier] @var{integer} (@emph{output,video})
  limit motion vectors range (1023 for DivX player)
  @item -global_quality[:stream_specifier] @var{integer} (@emph{output,audio,video})
  @item -coder[:stream_specifier] @var{integer} (@emph{output,video})
  
  Possible values:
  @table @samp
  @item vlc
  variable length coder / Huffman coder
  @item ac
  arithmetic coder
  @item raw
  raw (no encoding)
  @item rle
  run-length coder
  @end table
  @item -context[:stream_specifier] @var{integer} (@emph{output,video})
  context model
  @item -mbd[:stream_specifier] @var{integer} (@emph{output,video})
  macroblock decision algorithm (high quality mode)
  
  Possible values:
  @table @samp
  @item simple
  use mbcmp
  @item bits
  use fewest bits
  @item rd
  use best rate distortion
  @end table
  @item -sc_threshold[:stream_specifier] @var{integer} (@emph{output,video})
  scene change threshold
  @item -nr[:stream_specifier] @var{integer} (@emph{output,video})
  noise reduction
  @item -rc_init_occupancy[:stream_specifier] @var{integer} (@emph{output,video})
  number of bits which should be loaded into the rc buffer before decoding starts
  @item -threads[:stream_specifier] @var{integer} (@emph{input/output,audio,video})
  set the number of threads
  
  Possible values:
  @table @samp
  @item auto
  autodetect a suitable number of threads to use
  @end table
  @item -dc[:stream_specifier] @var{integer} (@emph{output,video})
  intra_dc_precision
  @item -nssew[:stream_specifier] @var{integer} (@emph{output,video})
  nsse weight
  @item -skip_top[:stream_specifier] @var{integer} (@emph{input,video})
  number of macroblock rows at the top which are skipped
  @item -skip_bottom[:stream_specifier] @var{integer} (@emph{input,video})
  number of macroblock rows at the bottom which are skipped
  @item -profile[:stream_specifier] @var{integer} (@emph{output,audio,video})
  
  Possible values:
  @table @samp
  @item unknown
  
  @item main10
  
  @end table
  @item -level[:stream_specifier] @var{integer} (@emph{output,audio,video})
  
  Possible values:
  @table @samp
  @item unknown
  
  @end table
  @item -lowres[:stream_specifier] @var{integer} (@emph{input,audio,video})
  decode at 1= 1/2, 2=1/4, 3=1/8 resolutions
  @item -skip_threshold[:stream_specifier] @var{integer} (@emph{output,video})
  frame skip threshold
  @item -skip_factor[:stream_specifier] @var{integer} (@emph{output,video})
  frame skip factor
  @item -skip_exp[:stream_specifier] @var{integer} (@emph{output,video})
  frame skip exponent
  @item -skipcmp[:stream_specifier] @var{integer} (@emph{output,video})
  frame skip compare function
  
  Possible values:
  @table @samp
  @item sad
  sum of absolute differences, fast
  @item sse
  sum of squared errors
  @item satd
  sum of absolute Hadamard transformed differences
  @item dct
  sum of absolute DCT transformed differences
  @item psnr
  sum of squared quantization errors (avoid, low quality)
  @item bit
  number of bits needed for the block
  @item rd
  rate distortion optimal, slow
  @item zero
  0
  @item vsad
  sum of absolute vertical differences
  @item vsse
  sum of squared vertical differences
  @item nsse
  noise preserving sum of squared differences
  @item dctmax
  
  @item chroma
  
  @item msad
  sum of absolute differences, median predicted
  @end table
  @item -cmp[:stream_specifier] @var{integer} (@emph{output,video})
  full-pel ME compare function
  
  Possible values:
  @table @samp
  @item sad
  sum of absolute differences, fast
  @item sse
  sum of squared errors
  @item satd
  sum of absolute Hadamard transformed differences
  @item dct
  sum of absolute DCT transformed differences
  @item psnr
  sum of squared quantization errors (avoid, low quality)
  @item bit
  number of bits needed for the block
  @item rd
  rate distortion optimal, slow
  @item zero
  0
  @item vsad
  sum of absolute vertical differences
  @item vsse
  sum of squared vertical differences
  @item nsse
  noise preserving sum of squared differences
  @item dctmax
  
  @item chroma
  
  @item msad
  sum of absolute differences, median predicted
  @end table
  @item -subcmp[:stream_specifier] @var{integer} (@emph{output,video})
  sub-pel ME compare function
  
  Possible values:
  @table @samp
  @item sad
  sum of absolute differences, fast
  @item sse
  sum of squared errors
  @item satd
  sum of absolute Hadamard transformed differences
  @item dct
  sum of absolute DCT transformed differences
  @item psnr
  sum of squared quantization errors (avoid, low quality)
  @item bit
  number of bits needed for the block
  @item rd
  rate distortion optimal, slow
  @item zero
  0
  @item vsad
  sum of absolute vertical differences
  @item vsse
  sum of squared vertical differences
  @item nsse
  noise preserving sum of squared differences
  @item dctmax
  
  @item chroma
  
  @item msad
  sum of absolute differences, median predicted
  @end table
  @item -mbcmp[:stream_specifier] @var{integer} (@emph{output,video})
  macroblock compare function
  
  Possible values:
  @table @samp
  @item sad
  sum of absolute differences, fast
  @item sse
  sum of squared errors
  @item satd
  sum of absolute Hadamard transformed differences
  @item dct
  sum of absolute DCT transformed differences
  @item psnr
  sum of squared quantization errors (avoid, low quality)
  @item bit
  number of bits needed for the block
  @item rd
  rate distortion optimal, slow
  @item zero
  0
  @item vsad
  sum of absolute vertical differences
  @item vsse
  sum of squared vertical differences
  @item nsse
  noise preserving sum of squared differences
  @item dctmax
  
  @item chroma
  
  @item msad
  sum of absolute differences, median predicted
  @end table
  @item -ildctcmp[:stream_specifier] @var{integer} (@emph{output,video})
  interlaced DCT compare function
  
  Possible values:
  @table @samp
  @item sad
  sum of absolute differences, fast
  @item sse
  sum of squared errors
  @item satd
  sum of absolute Hadamard transformed differences
  @item dct
  sum of absolute DCT transformed differences
  @item psnr
  sum of squared quantization errors (avoid, low quality)
  @item bit
  number of bits needed for the block
  @item rd
  rate distortion optimal, slow
  @item zero
  0
  @item vsad
  sum of absolute vertical differences
  @item vsse
  sum of squared vertical differences
  @item nsse
  noise preserving sum of squared differences
  @item dctmax
  
  @item chroma
  
  @item msad
  sum of absolute differences, median predicted
  @end table
  @item -precmp[:stream_specifier] @var{integer} (@emph{output,video})
  pre motion estimation compare function
  
  Possible values:
  @table @samp
  @item sad
  sum of absolute differences, fast
  @item sse
  sum of squared errors
  @item satd
  sum of absolute Hadamard transformed differences
  @item dct
  sum of absolute DCT transformed differences
  @item psnr
  sum of squared quantization errors (avoid, low quality)
  @item bit
  number of bits needed for the block
  @item rd
  rate distortion optimal, slow
  @item zero
  0
  @item vsad
  sum of absolute vertical differences
  @item vsse
  sum of squared vertical differences
  @item nsse
  noise preserving sum of squared differences
  @item dctmax
  
  @item chroma
  
  @item msad
  sum of absolute differences, median predicted
  @end table
  @item -mblmin[:stream_specifier] @var{integer} (@emph{output,video})
  minimum macroblock Lagrange factor (VBR)
  @item -mblmax[:stream_specifier] @var{integer} (@emph{output,video})
  maximum macroblock Lagrange factor (VBR)
  @item -mepc[:stream_specifier] @var{integer} (@emph{output,video})
  motion estimation bitrate penalty compensation (1.0 = 256)
  @item -skip_loop_filter[:stream_specifier] @var{integer} (@emph{input,video})
  skip loop filtering process for the selected frames
  
  Possible values:
  @table @samp
  @item none
  discard no frame
  @item default
  discard useless frames
  @item noref
  discard all non-reference frames
  @item bidir
  discard all bidirectional frames
  @item nokey
  discard all frames except keyframes
  @item nointra
  discard all frames except I frames
  @item all
  discard all frames
  @end table
  @item -skip_idct[:stream_specifier] @var{integer} (@emph{input,video})
  skip IDCT/dequantization for the selected frames
  
  Possible values:
  @table @samp
  @item none
  discard no frame
  @item default
  discard useless frames
  @item noref
  discard all non-reference frames
  @item bidir
  discard all bidirectional frames
  @item nokey
  discard all frames except keyframes
  @item nointra
  discard all frames except I frames
  @item all
  discard all frames
  @end table
  @item -skip_frame[:stream_specifier] @var{integer} (@emph{input,video})
  skip decoding for the selected frames
  
  Possible values:
  @table @samp
  @item none
  discard no frame
  @item default
  discard useless frames
  @item noref
  discard all non-reference frames
  @item bidir
  discard all bidirectional frames
  @item nokey
  discard all frames except keyframes
  @item nointra
  discard all frames except I frames
  @item all
  discard all frames
  @end table
  @item -bidir_refine[:stream_specifier] @var{integer} (@emph{output,video})
  refine the two motion vectors used in bidirectional macroblocks
  @item -brd_scale[:stream_specifier] @var{integer} (@emph{output,video})
  downscale frames for dynamic B-frame decision
  @item -keyint_min[:stream_specifier] @var{integer} (@emph{output,video})
  minimum interval between IDR-frames
  @item -refs[:stream_specifier] @var{integer} (@emph{output,video})
  reference frames to consider for motion compensation
  @item -chromaoffset[:stream_specifier] @var{integer} (@emph{output,video})
  chroma QP offset from luma
  @item -trellis[:stream_specifier] @var{integer} (@emph{output,audio,video})
  rate-distortion optimal quantization
  @item -mv0_threshold[:stream_specifier] @var{integer} (@emph{output,video})
  @item -b_sensitivity[:stream_specifier] @var{integer} (@emph{output,video})
  adjust sensitivity of b_frame_strategy 1
  @item -compression_level[:stream_specifier] @var{integer} (@emph{output,audio,video})
  @item -min_prediction_order[:stream_specifier] @var{integer} (@emph{output,audio})
  @item -max_prediction_order[:stream_specifier] @var{integer} (@emph{output,audio})
  @item -timecode_frame_start[:stream_specifier] @var{integer} (@emph{output,video})
  GOP timecode frame start number, in non-drop-frame format
  @item -channel_layout[:stream_specifier] @var{value} (@emph{input/output,audio})
  
  Possible values:
  @table @samp
  @end table
  @item -request_channel_layout[:stream_specifier] @var{value} (@emph{input,audio})
  
  Possible values:
  @table @samp
  @end table
  @item -rc_max_vbv_use[:stream_specifier] @var{float} (@emph{output,video})
  @item -rc_min_vbv_use[:stream_specifier] @var{float} (@emph{output,video})
  @item -ticks_per_frame[:stream_specifier] @var{integer} (@emph{input/output,audio,video})
  @item -color_primaries[:stream_specifier] @var{integer} (@emph{input/output,video})
  color primaries
  
  Possible values:
  @table @samp
  @item bt709
  BT.709
  @item unknown
  Unspecified
  @item bt470m
  BT.470 M
  @item bt470bg
  BT.470 BG
  @item smpte170m
  SMPTE 170 M
  @item smpte240m
  SMPTE 240 M
  @item film
  Film
  @item bt2020
  BT.2020
  @item smpte428
  SMPTE 428-1
  @item smpte428_1
  SMPTE 428-1
  @item smpte431
  SMPTE 431-2
  @item smpte432
  SMPTE 422-1
  @item jedec-p22
  JEDEC P22
  @item ebu3213
  EBU 3213-E
  @item unspecified
  Unspecified
  @end table
  @item -color_trc[:stream_specifier] @var{integer} (@emph{input/output,video})
  color transfer characteristics
  
  Possible values:
  @table @samp
  @item bt709
  BT.709
  @item unknown
  Unspecified
  @item gamma22
  BT.470 M
  @item gamma28
  BT.470 BG
  @item smpte170m
  SMPTE 170 M
  @item smpte240m
  SMPTE 240 M
  @item linear
  Linear
  @item log100
  Log
  @item log316
  Log square root
  @item iec61966-2-4
  IEC 61966-2-4
  @item bt1361e
  BT.1361
  @item iec61966-2-1
  IEC 61966-2-1
  @item bt2020-10
  BT.2020 - 10 bit
  @item bt2020-12
  BT.2020 - 12 bit
  @item smpte2084
  SMPTE 2084
  @item smpte428
  SMPTE 428-1
  @item arib-std-b67
  ARIB STD-B67
  @item unspecified
  Unspecified
  @item log
  Log
  @item log_sqrt
  Log square root
  @item iec61966_2_4
  IEC 61966-2-4
  @item bt1361
  BT.1361
  @item iec61966_2_1
  IEC 61966-2-1
  @item bt2020_10bit
  BT.2020 - 10 bit
  @item bt2020_12bit
  BT.2020 - 12 bit
  @item smpte428_1
  SMPTE 428-1
  @end table
  @item -colorspace[:stream_specifier] @var{integer} (@emph{input/output,video})
  color space
  
  Possible values:
  @table @samp
  @item rgb
  RGB
  @item bt709
  BT.709
  @item unknown
  Unspecified
  @item fcc
  FCC
  @item bt470bg
  BT.470 BG
  @item smpte170m
  SMPTE 170 M
  @item smpte240m
  SMPTE 240 M
  @item ycgco
  YCGCO
  @item bt2020nc
  BT.2020 NCL
  @item bt2020c
  BT.2020 CL
  @item smpte2085
  SMPTE 2085
  @item chroma-derived-nc
  Chroma-derived NCL
  @item chroma-derived-c
  Chroma-derived CL
  @item ictcp
  ICtCp
  @item unspecified
  Unspecified
  @item ycocg
  YCGCO
  @item bt2020_ncl
  BT.2020 NCL
  @item bt2020_cl
  BT.2020 CL
  @end table
  @item -color_range[:stream_specifier] @var{integer} (@emph{input/output,video})
  color range
  
  Possible values:
  @table @samp
  @item unknown
  Unspecified
  @item tv
  MPEG (219*2^(n-8))
  @item pc
  JPEG (2^n-1)
  @item unspecified
  Unspecified
  @item mpeg
  MPEG (219*2^(n-8))
  @item jpeg
  JPEG (2^n-1)
  @end table
  @item -chroma_sample_location[:stream_specifier] @var{integer} (@emph{input/output,video})
  chroma sample location
  
  Possible values:
  @table @samp
  @item unknown
  Unspecified
  @item left
  Left
  @item center
  Center
  @item topleft
  Top-left
  @item top
  Top
  @item bottomleft
  Bottom-left
  @item bottom
  Bottom
  @item unspecified
  Unspecified
  @end table
  @item -slices[:stream_specifier] @var{integer} (@emph{output,video})
  set the number of slices, used in parallelized encoding
  @item -thread_type[:stream_specifier] @var{flags} (@emph{input/output,audio,video})
  select multithreading type
  
  Possible values:
  @table @samp
  @item slice
  
  @item frame
  
  @end table
  @item -audio_service_type[:stream_specifier] @var{integer} (@emph{output,audio})
  audio service type
  
  Possible values:
  @table @samp
  @item ma
  Main Audio Service
  @item ef
  Effects
  @item vi
  Visually Impaired
  @item hi
  Hearing Impaired
  @item di
  Dialogue
  @item co
  Commentary
  @item em
  Emergency
  @item vo
  Voice Over
  @item ka
  Karaoke
  @end table
  @item -request_sample_fmt[:stream_specifier] @var{value} (@emph{input,audio})
  sample format audio decoders should prefer
  
  Possible values:
  @table @samp
  @end table
  @item -sub_charenc[:stream_specifier] @var{string} (@emph{input,subtitles})
  set input text subtitles character encoding
  @item -sub_charenc_mode[:stream_specifier] @var{flags} (@emph{input,subtitles})
  set input text subtitles character encoding mode
  
  Possible values:
  @table @samp
  @item do_nothing
  
  @item auto
  
  @item pre_decoder
  
  @item ignore
  
  @end table
  @item -sub_text_format[:stream_specifier] @var{integer} (@emph{input,subtitles})
  set decoded text subtitle format
  
  Possible values:
  @table @samp
  @item ass
  
  @item ass_with_timings
  
  @end table
  @item -refcounted_frames[:stream_specifier] @var{value} (@emph{input,audio,video})
  @item -side_data_only_packets[:stream_specifier] @var{value} (@emph{output,audio,video})
  @item -apply_cropping[:stream_specifier] @var{value} (@emph{input,video})
  @item -skip_alpha[:stream_specifier] @var{value} (@emph{input,video})
  Skip processing alpha
  @item -field_order[:stream_specifier] @var{integer} (@emph{input/output,video})
  Field order
  
  Possible values:
  @table @samp
  @item progressive
  
  @item tt
  
  @item bb
  
  @item tb
  
  @item bt
  
  @end table
  @item -dump_separator[:stream_specifier] @var{string} (@emph{input/output,audio,video,subtitles})
  set information dump field separator
  @item -codec_whitelist[:stream_specifier] @var{string} (@emph{input,audio,video,subtitles})
  List of decoders that are allowed to be used
  @item -max_pixels[:stream_specifier] @var{integer} (@emph{input/output,audio,video,subtitles})
  Maximum number of pixels
  @item -max_samples[:stream_specifier] @var{integer} (@emph{input/output,audio})
  Maximum number of samples
  @item -hwaccel_flags[:stream_specifier] @var{flags} (@emph{input,video})
  
  Possible values:
  @table @samp
  @item ignore_level
  ignore level even if the codec level used is unknown or higher than the maximum supported level reported by the hardware driver
  @item allow_high_depth
  allow to output YUV pixel formats with a different chroma sampling than 4:2:0 and/or other than 8 bits per component
  @item allow_profile_mismatch
  attempt to decode anyway if HW accelerated decoder's supported profiles do not exactly match the stream
  @end table
  @item -extra_hw_frames[:stream_specifier] @var{integer} (@emph{input,video})
  Number of extra hardware frames to allocate for the user
  @item -discard_damaged_percentage[:stream_specifier] @var{integer} (@emph{input,video})
  Percentage of damaged samples to discard a frame
  @end table