Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
fa4ead1d
Commit
fa4ead1d
authored
Nov 18, 2012
by
Stefano Sabatini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: move codec options and descriptions to a dedicated manual page
parent
ca4872e8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1121 additions
and
1094 deletions
+1121
-1094
Makefile
doc/Makefile
+5
-3
ffmpeg-codecs.texi
doc/ffmpeg-codecs.texi
+1115
-0
libavcodec.texi
doc/libavcodec.texi
+1
-1091
No files found.
doc/Makefile
View file @
fa4ead1d
...
@@ -2,9 +2,11 @@ DOCLIBS-$(CONFIG_AVUTIL) += libavutil
...
@@ -2,9 +2,11 @@ DOCLIBS-$(CONFIG_AVUTIL) += libavutil
DOCLIBS-$(CONFIG_AVCODEC)
+=
libavcodec
DOCLIBS-$(CONFIG_AVCODEC)
+=
libavcodec
DOCLIBS-$(CONFIG_AVFILTER)
+=
libavfilter
DOCLIBS-$(CONFIG_AVFILTER)
+=
libavfilter
MANPAGES
=
$
(
PROGS-yes:%
=
doc/%.1
)
$
(
DOCLIBS-yes:%
=
doc/%.3
)
COMPONENTS
=
$
(
PROGS-yes
)
ffmpeg-codecs
PODPAGES
=
$
(
PROGS-yes:%
=
doc/%.pod
)
$
(
DOCLIBS-yes:%
=
doc/%.pod
)
HTMLPAGES
=
$
(
PROGS-yes:%
=
doc/%.html
)
$
(
DOCLIBS-yes:%
=
doc/%.html
)
\
MANPAGES
=
$
(
COMPONENTS:%
=
doc/%.1
)
$
(
DOCLIBS-yes:%
=
doc/%.3
)
PODPAGES
=
$
(
COMPONENTS:%
=
doc/%.pod
)
$
(
DOCLIBS-yes:%
=
doc/%.pod
)
HTMLPAGES
=
$
(
COMPONENTS:%
=
doc/%.html
)
$
(
DOCLIBS-yes:%
=
doc/%.html
)
\
doc/developer.html
\
doc/developer.html
\
doc/faq.html
\
doc/faq.html
\
doc/fate.html
\
doc/fate.html
\
...
...
doc/ffmpeg-codecs.texi
0 → 100644
View file @
fa4ead1d
\input
texinfo @c -*- texinfo -*-
@settitle FFmpeg Codecs Documentation
@titlepage
@center @titlefont
{
FFmpeg Codecs Documentation
}
@end titlepage
@top
@contents
@chapter Codec Options
@c man begin CODEC OPTIONS
libavcodec provides some generic global options, which can be set on
all the encoders and decoders. In addition each codec may support
so-called private options, which are specific for a given codec.
Sometimes, a global option may only affect a specific kind of codec,
and may be unsensical or ignored by another, so you need to be aware
of the meaning of the specified options. Also some options are
meant only for decoding or encoding.
Options may be set by specifying -@var
{
option
}
@var
{
value
}
in the
FFmpeg tools, or by setting the value explicitly in the
@code
{
AVCodecContext
}
options or using the @file
{
libavutil/opt.h
}
API
for programmatic use.
The list of supported options follow:
@table @option
@item b @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Set bitrate in bits/s. Default value is 200K.
@item ab @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set audio bitrate (in bits/s). Default value is 128K.
@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
}
)
Set generic flags.
Possible values:
@table @samp
@item mv4
Use four motion vector by macroblock (mpeg4).
@item qpel
Use 1/4 pel motion compensation.
@item loop
Use loop filter.
@item qscale
Use fixed qscale.
@item gmc
Use gmc.
@item mv0
Always try a mb with mv=<0,0>.
@item input
_
preserved
@item pass1
Use internal 2pass ratecontrol in first pass mode.
@item pass2
Use internal 2pass ratecontrol in second pass mode.
@item gray
Only decode/encode grayscale.
@item emu
_
edge
Do not draw edges.
@item psnr
Set error[?] variables during encoding.
@item truncated
@item naq
Normalize adaptive quantization.
@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 stuff (except (I)DCT).
@item aic
Apply H263 advanced intra coding / mpeg4 ac prediction.
@item cbp
Deprecated, use mpegvideo private options instead.
@item qprd
Deprecated, use mpegvideo private options instead.
@item ilme
Apply interlaced motion estimation.
@item cgop
Use closed gop.
@end table
@item sub
_
id @var
{
integer
}
Deprecated, currently unused.
@item me
_
method @var
{
integer
}
(@emph
{
encoding,video
}
)
Set motion estimation method.
Possible values:
@table @samp
@item zero
zero motion estimation (fastest)
@item full
full motion estimation (slowest)
@item epzs
EPZS motion estimation (default)
@item esa
esa motion estimation (alias for full)
@item tesa
tesa motion estimation
@item dia
dia motion estimation (alias for epzs)
@item log
log motion estimation
@item phods
phods motion estimation
@item x1
X1 motion estimation
@item hex
hex motion estimation
@item umh
umh motion estimation
@item iter
iter motion estimation
@end table
@item extradata
_
size @var
{
integer
}
Set extradata size.
@item time
_
base @var
{
rational number
}
Set codec time base.
It is the fundamental unit of time (in seconds) in terms of which
frame timestamps are represented. For fixed-fps content, timebase
should be 1/framerate and timestamp increments should be identically
1.
@item g @var
{
integer
}
(@emph
{
encoding,video
}
)
Set the group of picture size. Default value is 12.
@item ar @var
{
integer
}
(@emph
{
decoding/encoding,audio
}
)
Set audio sampling rate (in Hz).
@item ac @var
{
integer
}
(@emph
{
decoding/encoding,audio
}
)
Set number of audio channels.
@item cutoff @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set cutoff bandwidth.
@item frame
_
size @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set audio frame size.
Each submitted frame except the last must contain exactly frame
_
size
samples per channel. May be 0 when the codec has
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
}
Set the frame number.
@item delay @var
{
integer
}
@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
}
)
Set video quantizer scale blur (VBR).
@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
}
)
Set max video quantizer scale (VBR). Must be included between -1 and
1024, default value is 31.
@item qdiff @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max difference between the quantizer scale (VBR).
@item bf @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max number of B frames.
@item b
_
qfactor @var
{
float
}
(@emph
{
encoding,video
}
)
Set qp factor between P and B frames.
@item rc
_
strategy @var
{
integer
}
(@emph
{
encoding,video
}
)
Set ratecontrol method.
@item b
_
strategy @var
{
integer
}
(@emph
{
encoding,video
}
)
Set strategy to choose between I/P/B-frames.
@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
}
)
Workaround not auto detected encoder bugs.
Possible values:
@table @samp
@item autodetect
@item old
_
msmpeg4
some old lavc generated msmpeg4v3 files (no autodetection)
@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 ac
_
vlc
illegal vlc bug (autodetected per fourcc)
@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
Workaround various bugs in microsoft broken decoders.
@item trunc
trancated frames
@end table
@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
}
)
Set single coefficient elimination threshold for chrominance (negative
values also consider dc coefficient)
@item strict @var
{
integer
}
(@emph
{
decoding/encoding,audio,video
}
)
Specify 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 consequences
@item normal
@item unofficial
allow unofficial extensions
@item experimental
allow non standardized experimental things
@end table
@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
}
)
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 careful
consider things that violate the spec 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 has
_
b
_
frames @var
{
integer
}
@item block
_
align @var
{
integer
}
@item mpeg
_
quant @var
{
integer
}
(@emph
{
encoding,video
}
)
Use MPEG quantizers instead of H.263.
@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
}
)
Set experimental quantizer modulation.
@item rc
_
qmod
_
freq @var
{
integer
}
(@emph
{
encoding,video
}
)
Set experimental quantizer modulation.
@item rc
_
override
_
count @var
{
integer
}
@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
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
}
)
Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
@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
}
)
Set ratecontrol buffer size (in bits).
@item rc
_
buf
_
aggressivity @var
{
float
}
(@emph
{
encoding,video
}
)
Currently useless.
@item i
_
qfactor @var
{
float
}
(@emph
{
encoding,video
}
)
Set QP factor between P and I frames.
@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
}
)
Set initial complexity for 1-pass encoding.
@item dct @var
{
integer
}
(@emph
{
encoding,video
}
)
Set DCT algorithm.
Possible values:
@table @samp
@item auto
autoselect a good one (default)
@item fastint
fast integer
@item int
accurate integer
@item mmx
@item altivec
@item faan
floating point AAN DCT
@end table
@item lumi
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Compress bright areas stronger than medium ones.
@item tcplx
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Set temporal complexity masking.
@item scplx
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Set spatial complexity masking.
@item p
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Set inter masking.
@item dark
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Compress dark areas stronger than medium ones.
@item idct @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
Select IDCT implementation.
Possible values:
@table @samp
@item auto
@item int
@item simple
@item simplemmx
@item libmpeg2mmx
@item mmi
@item arm
@item altivec
@item sh4
@item simplearm
@item simplearmv5te
@item simplearmv6
@item simpleneon
@item simplealpha
@item h264
@item vp3
@item ipp
@item xvidmmx
@item faani
floating point AAN IDCT
@end table
@item slice
_
count @var
{
integer
}
@item ec @var
{
flags
}
(@emph
{
decoding,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
@end table
@item bits
_
per
_
coded
_
sample @var
{
integer
}
@item pred @var
{
integer
}
(@emph
{
encoding,video
}
)
Set prediction method.
Possible values:
@table @samp
@item left
@item plane
@item median
@end table
@item aspect @var
{
rational number
}
(@emph
{
encoding,video
}
)
Set sample aspect ratio.
@item debug @var
{
flags
}
(@emph
{
decoding/encoding,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 mv
motion vector
@item dct
_
coeff
@item skip
@item startcode
@item pts
@item er
error recognition
@item mmco
memory management control operations (H.264)
@item bugs
@item vis
_
qp
visualize quantization parameter (QP), lower QP are tinted greener
@item vis
_
mb
_
type
visualize block types
@item buffers
picture buffer allocations
@item thread
_
ops
threading operations
@end table
@item vismv @var
{
integer
}
(@emph
{
decoding,video
}
)
Visualize motion vectors (MVs).
Possible values:
@table @samp
@item pf
forward predicted MVs of P-frames
@item bf
forward predicted MVs of B-frames
@item bb
backward predicted MVs of B-frames
@end table
@item cmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set full pel me compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item subcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set sub pel me compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item mbcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set macroblock compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item ildctcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set interlaced dct compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item dia
_
size @var
{
integer
}
(@emph
{
encoding,video
}
)
Set diamond type
&
size for motion estimation.
@item last
_
pred @var
{
integer
}
(@emph
{
encoding,video
}
)
Set amount of motion predictors from the previous frame.
@item preme @var
{
integer
}
(@emph
{
encoding,video
}
)
Set pre motion estimation.
@item precmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set pre motion estimation compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@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
}
)
Set sub pel motion estimation quality.
@item dtg
_
active
_
format @var
{
integer
}
@item me
_
range @var
{
integer
}
(@emph
{
encoding,video
}
)
Set limit motion vectors range (1023 for DivX player).
@item ibias @var
{
integer
}
(@emph
{
encoding,video
}
)
Set intra quant bias.
@item pbias @var
{
integer
}
(@emph
{
encoding,video
}
)
Set inter quant bias.
@item color
_
table
_
id @var
{
integer
}
@item global
_
quality @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
@item coder @var
{
integer
}
(@emph
{
encoding,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
@item deflate
deflate-based coder
@end table
@item context @var
{
integer
}
(@emph
{
encoding,video
}
)
Set context model.
@item slice
_
flags @var
{
integer
}
@item xvmc
_
acceleration @var
{
integer
}
@item mbd @var
{
integer
}
(@emph
{
encoding,video
}
)
Set macroblock decision algorithm (high quality mode).
Possible values:
@table @samp
@item simple
use mbcmp (default)
@item bits
use fewest bits
@item rd
use best rate distortion
@end table
@item stream
_
codec
_
tag @var
{
integer
}
@item sc
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
Set scene change threshold.
@item lmin @var
{
integer
}
(@emph
{
encoding,video
}
)
Set min lagrange factor (VBR).
@item lmax @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max lagrange factor (VBR).
@item nr @var
{
integer
}
(@emph
{
encoding,video
}
)
Set noise reduction.
@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 inter
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
@item flags2 @var
{
flags
}
(@emph
{
decoding/encoding,audio,video
}
)
Possible values:
@table @samp
@item fast
allow non spec compliant speedup tricks
@item sgop
Deprecated, use mpegvideo private options instead
@item noout
skip bitstream encoding
@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 skiprd
Deprecated, use mpegvideo private options instead
@end table
@item error @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
}
)
Possible values:
@table @samp
@item auto
detect a good number of threads
@end table
@item me
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
Set motion estimaton threshold.
@item mb
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
Set macroblock threshold.
@item dc @var
{
integer
}
(@emph
{
encoding,video
}
)
Set intra
_
dc
_
precision.
@item nssew @var
{
integer
}
(@emph
{
encoding,video
}
)
Set nsse weight.
@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
}
)
Set number of macroblock rows at the bottom which are skipped.
@item profile @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Possible values:
@table @samp
@item unknown
@item aac
_
main
@item aac
_
low
@item aac
_
ssr
@item aac
_
ltp
@item aac
_
he
@item aac
_
he
_
v2
@item aac
_
ld
@item aac
_
eld
@item dts
@item dts
_
es
@item dts
_
96
_
24
@item dts
_
hd
_
hra
@item dts
_
hd
_
ma
@end table
@item level @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Possible values:
@table @samp
@item unknown
@end table
@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
}
)
Set frame skip threshold.
@item skip
_
factor @var
{
integer
}
(@emph
{
encoding,video
}
)
Set frame skip factor.
@item skip
_
exp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set frame skip exponent.
@item skipcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set frame skip compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item border
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Increase the quantizer for macroblocks close to borders.
@item mblmin @var
{
integer
}
(@emph
{
encoding,video
}
)
Set min macroblock lagrange factor (VBR).
@item mblmax @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max macroblock lagrange factor (VBR).
@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
}
)
Possible values:
@table @samp
@item none
@item default
@item noref
@item bidir
@item nokey
@item all
@end table
@item skip
_
idct @var
{
integer
}
(@emph
{
decoding,video
}
)
Possible values:
@table @samp
@item none
@item default
@item noref
@item bidir
@item nokey
@item all
@end table
@item skip
_
frame @var
{
integer
}
(@emph
{
decoding,video
}
)
Possible values:
@table @samp
@item none
@item default
@item noref
@item bidir
@item nokey
@item all
@end table
@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
}
)
Downscale frames for dynamic B-frame decision.
@item keyint
_
min @var
{
integer
}
(@emph
{
encoding,video
}
)
Set minimum interval between IDR-frames.
@item refs @var
{
integer
}
(@emph
{
encoding,video
}
)
Set reference frames to consider for motion compensation.
@item chromaoffset @var
{
integer
}
(@emph
{
encoding,video
}
)
Set chroma qp offset from luma.
@item trellis @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Set rate-distortion optimal quantization.
@item sc
_
factor @var
{
integer
}
(@emph
{
encoding,video
}
)
Set value multiplied by qscale for each frame and added to
scene
_
change
_
score.
@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
}
)
Set GOP timecode frame start number, in non drop frame format.
@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
}
)
Possible values:
@table @samp
@end table
@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 color
_
primaries @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item color
_
trc @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item colorspace @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item color
_
range @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item chroma
_
sample
_
location @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item log
_
level
_
offset @var
{
integer
}
Set the log level offset.
@item slices @var
{
integer
}
(@emph
{
encoding,video
}
)
Number of slices, used in parallelized encoding.
@item thread
_
type @var
{
flags
}
(@emph
{
decoding/encoding,video
}
)
Select multithreading type.
Possible values:
@table @samp
@item slice
@item frame
@end table
@item audio
_
service
_
type @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set 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 @var
{
sample
_
fmt
}
(@emph
{
decoding,audio
}
)
Set sample format audio decoders should prefer. Default value is
@code
{
none
}
.
@item pkt
_
timebase @var
{
rational number
}
@end table
@c man end CODEC OPTIONS
@include decoders.texi
@include encoders.texi
@ignore
@setfilename ffmpeg-codecs
@settitle FFmpeg codecs
@c man begin SEEALSO
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavcodec(3)
@c man end
@c man begin AUTHORS
See Git history (git://source.ffmpeg.org/ffmpeg)
@c man end
@end ignore
@bye
doc/libavcodec.texi
View file @
fa4ead1d
...
@@ -20,1103 +20,13 @@ The shared architecture provides various services ranging from bit
...
@@ -20,1103 +20,13 @@ The shared architecture provides various services ranging from bit
stream I/O to DSP optimizations, and makes it suitable for
stream I/O to DSP optimizations, and makes it suitable for
implementing robust and fast codecs as well as for experimentation.
implementing robust and fast codecs as well as for experimentation.
@c man end DESCRIPTION
@chapter Codec Options
@c man begin CODEC OPTIONS
libavcodec provides some generic global options, which can be set on
all the encoders and decoders. In addition each codec may support
so-called private options, which are specific for a given codec.
Sometimes, a global option may only affect a specific kind of codec,
and may be unsensical or ignored by another, so you need to be aware
of the meaning of the specified options. Also some options are
meant only for decoding or encoding.
Options may be set by specifying -@var
{
option
}
@var
{
value
}
in the
FFmpeg tools, or by setting the value explicitly in the
@code
{
AVCodecContext
}
options or using the @file
{
libavutil/opt.h
}
API
for programmatic use.
The list of supported options follow:
@table @option
@item b @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Set bitrate in bits/s. Default value is 200K.
@item ab @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set audio bitrate (in bits/s). Default value is 128K.
@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
}
)
Set generic flags.
Possible values:
@table @samp
@item mv4
Use four motion vector by macroblock (mpeg4).
@item qpel
Use 1/4 pel motion compensation.
@item loop
Use loop filter.
@item qscale
Use fixed qscale.
@item gmc
Use gmc.
@item mv0
Always try a mb with mv=<0,0>.
@item input
_
preserved
@item pass1
Use internal 2pass ratecontrol in first pass mode.
@item pass2
Use internal 2pass ratecontrol in second pass mode.
@item gray
Only decode/encode grayscale.
@item emu
_
edge
Do not draw edges.
@item psnr
Set error[?] variables during encoding.
@item truncated
@item naq
Normalize adaptive quantization.
@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 stuff (except (I)DCT).
@item aic
Apply H263 advanced intra coding / mpeg4 ac prediction.
@item cbp
Deprecated, use mpegvideo private options instead.
@item qprd
Deprecated, use mpegvideo private options instead.
@item ilme
Apply interlaced motion estimation.
@item cgop
Use closed gop.
@end table
@item sub
_
id @var
{
integer
}
Deprecated, currently unused.
@item me
_
method @var
{
integer
}
(@emph
{
encoding,video
}
)
Set motion estimation method.
Possible values:
@table @samp
@item zero
zero motion estimation (fastest)
@item full
full motion estimation (slowest)
@item epzs
EPZS motion estimation (default)
@item esa
esa motion estimation (alias for full)
@item tesa
tesa motion estimation
@item dia
dia motion estimation (alias for epzs)
@item log
log motion estimation
@item phods
phods motion estimation
@item x1
X1 motion estimation
@item hex
hex motion estimation
@item umh
umh motion estimation
@item iter
iter motion estimation
@end table
@item extradata
_
size @var
{
integer
}
Set extradata size.
@item time
_
base @var
{
rational number
}
Set codec time base.
It is the fundamental unit of time (in seconds) in terms of which
frame timestamps are represented. For fixed-fps content, timebase
should be 1/framerate and timestamp increments should be identically
1.
@item g @var
{
integer
}
(@emph
{
encoding,video
}
)
Set the group of picture size. Default value is 12.
@item ar @var
{
integer
}
(@emph
{
decoding/encoding,audio
}
)
Set audio sampling rate (in Hz).
@item ac @var
{
integer
}
(@emph
{
decoding/encoding,audio
}
)
Set number of audio channels.
@item cutoff @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set cutoff bandwidth.
@item frame
_
size @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set audio frame size.
Each submitted frame except the last must contain exactly frame
_
size
samples per channel. May be 0 when the codec has
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
}
Set the frame number.
@item delay @var
{
integer
}
@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
}
)
Set video quantizer scale blur (VBR).
@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
}
)
Set max video quantizer scale (VBR). Must be included between -1 and
1024, default value is 31.
@item qdiff @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max difference between the quantizer scale (VBR).
@item bf @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max number of B frames.
@item b
_
qfactor @var
{
float
}
(@emph
{
encoding,video
}
)
Set qp factor between P and B frames.
@item rc
_
strategy @var
{
integer
}
(@emph
{
encoding,video
}
)
Set ratecontrol method.
@item b
_
strategy @var
{
integer
}
(@emph
{
encoding,video
}
)
Set strategy to choose between I/P/B-frames.
@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
}
)
Workaround not auto detected encoder bugs.
Possible values:
@table @samp
@item autodetect
@item old
_
msmpeg4
some old lavc generated msmpeg4v3 files (no autodetection)
@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 ac
_
vlc
illegal vlc bug (autodetected per fourcc)
@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
Workaround various bugs in microsoft broken decoders.
@item trunc
trancated frames
@end table
@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
}
)
Set single coefficient elimination threshold for chrominance (negative
values also consider dc coefficient)
@item strict @var
{
integer
}
(@emph
{
decoding/encoding,audio,video
}
)
Specify 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 consequences
@item normal
@item unofficial
allow unofficial extensions
@item experimental
allow non standardized experimental things
@end table
@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
}
)
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 careful
consider things that violate the spec 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 has
_
b
_
frames @var
{
integer
}
@item block
_
align @var
{
integer
}
@item mpeg
_
quant @var
{
integer
}
(@emph
{
encoding,video
}
)
Use MPEG quantizers instead of H.263.
@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
}
)
Set experimental quantizer modulation.
@item rc
_
qmod
_
freq @var
{
integer
}
(@emph
{
encoding,video
}
)
Set experimental quantizer modulation.
@item rc
_
override
_
count @var
{
integer
}
@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
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
}
)
Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
@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
}
)
Set ratecontrol buffer size (in bits).
@item rc
_
buf
_
aggressivity @var
{
float
}
(@emph
{
encoding,video
}
)
Currently useless.
@item i
_
qfactor @var
{
float
}
(@emph
{
encoding,video
}
)
Set QP factor between P and I frames.
@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
}
)
Set initial complexity for 1-pass encoding.
@item dct @var
{
integer
}
(@emph
{
encoding,video
}
)
Set DCT algorithm.
Possible values:
@table @samp
@item auto
autoselect a good one (default)
@item fastint
fast integer
@item int
accurate integer
@item mmx
@item altivec
@item faan
floating point AAN DCT
@end table
@item lumi
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Compress bright areas stronger than medium ones.
@item tcplx
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Set temporal complexity masking.
@item scplx
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Set spatial complexity masking.
@item p
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Set inter masking.
@item dark
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Compress dark areas stronger than medium ones.
@item idct @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
Select IDCT implementation.
Possible values:
@table @samp
@item auto
@item int
@item simple
@item simplemmx
@item libmpeg2mmx
@item mmi
@item arm
@item altivec
@item sh4
@item simplearm
@item simplearmv5te
@item simplearmv6
@item simpleneon
@item simplealpha
@item h264
@item vp3
@item ipp
@item xvidmmx
@item faani
floating point AAN IDCT
@end table
@item slice
_
count @var
{
integer
}
@item ec @var
{
flags
}
(@emph
{
decoding,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
@end table
@item bits
_
per
_
coded
_
sample @var
{
integer
}
@item pred @var
{
integer
}
(@emph
{
encoding,video
}
)
Set prediction method.
Possible values:
@table @samp
@item left
@item plane
@item median
@end table
@item aspect @var
{
rational number
}
(@emph
{
encoding,video
}
)
Set sample aspect ratio.
@item debug @var
{
flags
}
(@emph
{
decoding/encoding,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 mv
motion vector
@item dct
_
coeff
@item skip
@item startcode
@item pts
@item er
error recognition
@item mmco
memory management control operations (H.264)
@item bugs
@item vis
_
qp
visualize quantization parameter (QP), lower QP are tinted greener
@item vis
_
mb
_
type
visualize block types
@item buffers
picture buffer allocations
@item thread
_
ops
threading operations
@end table
@item vismv @var
{
integer
}
(@emph
{
decoding,video
}
)
Visualize motion vectors (MVs).
Possible values:
@table @samp
@item pf
forward predicted MVs of P-frames
@item bf
forward predicted MVs of B-frames
@item bb
backward predicted MVs of B-frames
@end table
@item cmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set full pel me compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item subcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set sub pel me compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item mbcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set macroblock compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item ildctcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set interlaced dct compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item dia
_
size @var
{
integer
}
(@emph
{
encoding,video
}
)
Set diamond type
&
size for motion estimation.
@item last
_
pred @var
{
integer
}
(@emph
{
encoding,video
}
)
Set amount of motion predictors from the previous frame.
@item preme @var
{
integer
}
(@emph
{
encoding,video
}
)
Set pre motion estimation.
@item precmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set pre motion estimation compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@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
}
)
Set sub pel motion estimation quality.
@item dtg
_
active
_
format @var
{
integer
}
@item me
_
range @var
{
integer
}
(@emph
{
encoding,video
}
)
Set limit motion vectors range (1023 for DivX player).
@item ibias @var
{
integer
}
(@emph
{
encoding,video
}
)
Set intra quant bias.
@item pbias @var
{
integer
}
(@emph
{
encoding,video
}
)
Set inter quant bias.
@item color
_
table
_
id @var
{
integer
}
@item global
_
quality @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
@item coder @var
{
integer
}
(@emph
{
encoding,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
@item deflate
deflate-based coder
@end table
@item context @var
{
integer
}
(@emph
{
encoding,video
}
)
Set context model.
@item slice
_
flags @var
{
integer
}
@item xvmc
_
acceleration @var
{
integer
}
@item mbd @var
{
integer
}
(@emph
{
encoding,video
}
)
Set macroblock decision algorithm (high quality mode).
Possible values:
@table @samp
@item simple
use mbcmp (default)
@item bits
use fewest bits
@item rd
use best rate distortion
@end table
@item stream
_
codec
_
tag @var
{
integer
}
@item sc
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
Set scene change threshold.
@item lmin @var
{
integer
}
(@emph
{
encoding,video
}
)
Set min lagrange factor (VBR).
@item lmax @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max lagrange factor (VBR).
@item nr @var
{
integer
}
(@emph
{
encoding,video
}
)
Set noise reduction.
@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 inter
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
@item flags2 @var
{
flags
}
(@emph
{
decoding/encoding,audio,video
}
)
Possible values:
@table @samp
@item fast
allow non spec compliant speedup tricks
@item sgop
Deprecated, use mpegvideo private options instead
@item noout
skip bitstream encoding
@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 skiprd
Deprecated, use mpegvideo private options instead
@end table
@item error @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
}
)
Possible values:
@table @samp
@item auto
detect a good number of threads
@end table
@item me
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
Set motion estimaton threshold.
@item mb
_
threshold @var
{
integer
}
(@emph
{
encoding,video
}
)
Set macroblock threshold.
@item dc @var
{
integer
}
(@emph
{
encoding,video
}
)
Set intra
_
dc
_
precision.
@item nssew @var
{
integer
}
(@emph
{
encoding,video
}
)
Set nsse weight.
@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
}
)
Set number of macroblock rows at the bottom which are skipped.
@item profile @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Possible values:
@table @samp
@item unknown
@item aac
_
main
@item aac
_
low
@item aac
_
ssr
@item aac
_
ltp
@item aac
_
he
@item aac
_
he
_
v2
@item aac
_
ld
@item aac
_
eld
@item dts
@item dts
_
es
@item dts
_
96
_
24
@item dts
_
hd
_
hra
@item dts
_
hd
_
ma
@end table
@item level @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Possible values:
@table @samp
@item unknown
@end table
@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
}
)
Set frame skip threshold.
@item skip
_
factor @var
{
integer
}
(@emph
{
encoding,video
}
)
Set frame skip factor.
@item skip
_
exp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set frame skip exponent.
@item skipcmp @var
{
integer
}
(@emph
{
encoding,video
}
)
Set frame skip compare function.
Possible values:
@table @samp
@item sad
sum of absolute differences, fast (default)
@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 w53
5/3 wavelet, only used in snow
@item w97
9/7 wavelet, only used in snow
@item dctmax
@item chroma
@end table
@item border
_
mask @var
{
float
}
(@emph
{
encoding,video
}
)
Increase the quantizer for macroblocks close to borders.
@item mblmin @var
{
integer
}
(@emph
{
encoding,video
}
)
Set min macroblock lagrange factor (VBR).
@item mblmax @var
{
integer
}
(@emph
{
encoding,video
}
)
Set max macroblock lagrange factor (VBR).
@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
}
)
Possible values:
@table @samp
@item none
@item default
@item noref
@item bidir
@item nokey
@item all
@end table
@item skip
_
idct @var
{
integer
}
(@emph
{
decoding,video
}
)
Possible values:
@table @samp
@item none
@item default
@item noref
@item bidir
@item nokey
@item all
@end table
@item skip
_
frame @var
{
integer
}
(@emph
{
decoding,video
}
)
Possible values:
@table @samp
@item none
@item default
@item noref
@item bidir
@item nokey
@item all
@end table
@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
}
)
Downscale frames for dynamic B-frame decision.
@item keyint
_
min @var
{
integer
}
(@emph
{
encoding,video
}
)
Set minimum interval between IDR-frames.
@item refs @var
{
integer
}
(@emph
{
encoding,video
}
)
Set reference frames to consider for motion compensation.
@item chromaoffset @var
{
integer
}
(@emph
{
encoding,video
}
)
Set chroma qp offset from luma.
@item trellis @var
{
integer
}
(@emph
{
encoding,audio,video
}
)
Set rate-distortion optimal quantization.
@item sc
_
factor @var
{
integer
}
(@emph
{
encoding,video
}
)
Set value multiplied by qscale for each frame and added to
scene
_
change
_
score.
@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
}
)
Set GOP timecode frame start number, in non drop frame format.
@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
}
)
Possible values:
@table @samp
@end table
@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 color
_
primaries @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item color
_
trc @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item colorspace @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item color
_
range @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item chroma
_
sample
_
location @var
{
integer
}
(@emph
{
decoding/encoding,video
}
)
@item log
_
level
_
offset @var
{
integer
}
Set the log level offset.
@item slices @var
{
integer
}
(@emph
{
encoding,video
}
)
Number of slices, used in parallelized encoding.
@item thread
_
type @var
{
flags
}
(@emph
{
decoding/encoding,video
}
)
Select multithreading type.
Possible values:
@table @samp
@item slice
@item frame
@end table
@item audio
_
service
_
type @var
{
integer
}
(@emph
{
encoding,audio
}
)
Set 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 @var
{
sample
_
fmt
}
(@emph
{
decoding,audio
}
)
Set sample format audio decoders should prefer. Default value is
@code
{
none
}
.
@item pkt
_
timebase @var
{
rational number
}
@end table
@c man end CODEC OPTIONS
@include decoders.texi
@include encoders.texi
@ignore
@ignore
@setfilename libavcodec
@setfilename libavcodec
@settitle media streams decoding and encoding library
@settitle media streams decoding and encoding library
@c man begin SEEALSO
@c man begin SEEALSO
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavutil(3)
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-codecs(1),
libavutil(3)
@c man end
@c man end
@c man begin AUTHORS
@c man begin AUTHORS
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment