SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG
DONATE


YUM REPOSITORY

 
 

MAN page from Fedora 28 ffmpeg-doc-4.1.1-1.fc28.x86_64.rpm

FFMPEG-CODECS

Section: (1)
Updated:
Index 

NAME

ffmpeg-codecs - FFmpeg codecs 

DESCRIPTION

This document describes the codecs (decoders and encoders) provided bythe libavcodec library. 

CODEC OPTIONS

libavcodec provides some generic global options, which can be set onall the encoders and decoders. In addition each codec may supportso-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 nonsensical or ignored by another, so you need to be awareof the meaning of the specified options. Also some options aremeant only for decoding or encoding.

Options may be set by specifying -option value in theFFmpeg tools, or by setting the value explicitly in the"AVCodecContext" options or using the libavutil/opt.h APIfor programmatic use.

The list of supported options follow:

b integer (encoding,audio,video)
Set bitrate in bits/s. Default value is 200K.
ab integer (encoding,audio)
Set audio bitrate (in bits/s). Default value is 128K.
bt integer (encoding,video)
Set video bitrate tolerance (in bits/s). In 1-pass mode, bitratetolerance specifies how far ratecontrol is willing to deviate from thetarget average bitrate value. This is not related to min/maxbitrate. Lowering tolerance too much has an adverse effect on quality.
flags flags (decoding/encoding,audio,video,subtitles)
Set generic flags.

Possible values:

mv4
Use four motion vector by macroblock (mpeg4).
qpel
Use 1/4 pel motion compensation.
loop
Use loop filter.
qscale
Use fixed qscale.
pass1
Use internal 2pass ratecontrol in first pass mode.
pass2
Use internal 2pass ratecontrol in second pass mode.
gray
Only decode/encode grayscale.
emu_edge
Do not draw edges.
psnr
Set error[?] variables during encoding.
truncated
ildct
Use interlaced DCT.
low_delay
Force low delay.
global_header
Place global headers in extradata instead of every keyframe.
bitexact
Only write platform-, build- and time-independent data. (except (I)DCT).This ensures that file and data checksums are reproducible and match betweenplatforms. Its primary use is for regression testing.
aic
Apply H263 advanced intra coding / mpeg4 ac prediction.
cbp
Deprecated, use mpegvideo private options instead.
qprd
Deprecated, use mpegvideo private options instead.
ilme
Apply interlaced motion estimation.
cgop
Use closed gop.
me_method integer (encoding,video)
Set motion estimation method.

Possible values:

zero
zero motion estimation (fastest)
full
full motion estimation (slowest)
epzs
EPZS motion estimation (default)
esa
esa motion estimation (alias for full)
tesa
tesa motion estimation
dia
dia motion estimation (alias for epzs)
log
log motion estimation
phods
phods motion estimation
x1
X1 motion estimation
hex
hex motion estimation
umh
umh motion estimation
iter
iter motion estimation
extradata_size integer
Set extradata size.
time_base rational number
Set codec time base.

It is the fundamental unit of time (in seconds) in terms of whichframe timestamps are represented. For fixed-fps content, timebaseshould be "1 / frame_rate" and timestamp increments should beidentically 1.

g integer (encoding,video)
Set the group of picture (GOP) size. Default value is 12.
ar integer (decoding/encoding,audio)
Set audio sampling rate (in Hz).
ac integer (decoding/encoding,audio)
Set number of audio channels.
cutoff integer (encoding,audio)
Set cutoff bandwidth. (Supported only by selected encoders, seetheir respective documentation sections.)
frame_size integer (encoding,audio)
Set audio frame size.

Each submitted frame except the last must contain exactly frame_sizesamples per channel. May be 0 when the codec hasCODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is notrestricted. It is set by some decoders to indicate constant framesize.

frame_number integer
Set the frame number.
delay integer
qcomp float (encoding,video)
Set video quantizer scale compression (VBR). It is used as a constantin the ratecontrol equation. Recommended range for default rc_eq:0.0-1.0.
qblur float (encoding,video)
Set video quantizer scale blur (VBR).
qmin integer (encoding,video)
Set min video quantizer scale (VBR). Must be included between -1 and69, default value is 2.
qmax integer (encoding,video)
Set max video quantizer scale (VBR). Must be included between -1 and1024, default value is 31.
qdiff integer (encoding,video)
Set max difference between the quantizer scale (VBR).
bf integer (encoding,video)
Set max number of B frames between non-B-frames.

Must be an integer between -1 and 16. 0 means that B-frames aredisabled. If a value of -1 is used, it will choose an automatic valuedepending on the encoder.

Default value is 0.

b_qfactor float (encoding,video)
Set qp factor between P and B frames.
rc_strategy integer (encoding,video)
Set ratecontrol method.
b_strategy integer (encoding,video)
Set strategy to choose between I/P/B-frames.
ps integer (encoding,video)
Set RTP payload size in bytes.
mv_bits integer
header_bits integer
i_tex_bits integer
p_tex_bits integer
i_count integer
p_count integer
skip_count integer
misc_bits integer
frame_bits integer
codec_tag integer
bug flags (decoding,video)
Workaround not auto detected encoder bugs.

Possible values:

autodetect
old_msmpeg4
some old lavc generated msmpeg4v3 files (no autodetection)
xvid_ilace
Xvid interlacing bug (autodetected if fourcc==XVIX)
ump4
(autodetected if fourcc==UMP4)
no_padding
padding bug (autodetected)
amv
ac_vlc
illegal vlc bug (autodetected per fourcc)
qpel_chroma
std_qpel
old standard qpel (autodetected per fourcc/version)
qpel_chroma2
direct_blocksize
direct-qpel-blocksize bug (autodetected per fourcc/version)
edge
edge padding bug (autodetected per fourcc/version)
hpel_chroma
dc_clip
ms
Workaround various bugs in microsoft broken decoders.
trunc
trancated frames
lelim integer (encoding,video)
Set single coefficient elimination threshold for luminance (negativevalues also consider DC coefficient).
celim integer (encoding,video)
Set single coefficient elimination threshold for chrominance (negativevalues also consider dc coefficient)
strict integer (decoding/encoding,audio,video)
Specify how strictly to follow the standards.

Possible values:

very
strictly conform to an older more strict version of the spec or reference software
strict
strictly conform to all the things in the spec no matter what consequences
normal
unofficial
allow unofficial extensions
experimental
allow non standardized experimental things, experimental(unfinished/work in progress/not well tested) decoders and encoders.Note: experimental decoders can pose a security risk, do not use this fordecoding untrusted input.
b_qoffset float (encoding,video)
Set QP offset between P and B frames.
err_detect flags (decoding,audio,video)
Set error detection flags.

Possible values:

crccheck
verify embedded CRCs
bitstream
detect bitstream specification deviations
buffer
detect improper bitstream length
explode
abort decoding on minor error detection
ignore_err
ignore decoding errors, and continue decoding.This is useful if you want to analyze the content of a video and thus wanteverything to be decoded no matter what. This option will not result in a videothat is pleasing to watch in case of errors.
careful
consider things that violate the spec and have not been seen in the wild as errors
compliant
consider all spec non compliancies as errors
aggressive
consider things that a sane encoder should not do as an error
has_b_frames integer
block_align integer
mpeg_quant integer (encoding,video)
Use MPEG quantizers instead of H.263.
qsquish float (encoding,video)
How to keep quantizer between qmin and qmax (0 = clip, 1 = usedifferentiable function).
rc_qmod_amp float (encoding,video)
Set experimental quantizer modulation.
rc_qmod_freq integer (encoding,video)
Set experimental quantizer modulation.
rc_override_count integer
rc_eq string (encoding,video)
Set rate control equation. When computing the expression, besides thestandard functions defined in the section 'Expression Evaluation', thefollowing functions are available: bits2qp(bits), qp2bits(qp). Alsothe following constants are available: iTex pTex tex mv fCode iCountmcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTexavgTex.
maxrate integer (encoding,audio,video)
Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
minrate integer (encoding,audio,video)
Set min bitrate tolerance (in bits/s). Most useful in setting up a CBRencode. It is of little use elsewise.
bufsize integer (encoding,audio,video)
Set ratecontrol buffer size (in bits).
rc_buf_aggressivity float (encoding,video)
Currently useless.
i_qfactor float (encoding,video)
Set QP factor between P and I frames.
i_qoffset float (encoding,video)
Set QP offset between P and I frames.
rc_init_cplx float (encoding,video)
Set initial complexity for 1-pass encoding.
dct integer (encoding,video)
Set DCT algorithm.

Possible values:

auto
autoselect a good one (default)
fastint
fast integer
int
accurate integer
mmx
altivec
faan
floating point AAN DCT
lumi_mask float (encoding,video)
Compress bright areas stronger than medium ones.
tcplx_mask float (encoding,video)
Set temporal complexity masking.
scplx_mask float (encoding,video)
Set spatial complexity masking.
p_mask float (encoding,video)
Set inter masking.
dark_mask float (encoding,video)
Compress dark areas stronger than medium ones.
idct integer (decoding/encoding,video)
Select IDCT implementation.

Possible values:

auto
int
simple
simplemmx
simpleauto
Automatically pick a IDCT compatible with the simple one
arm
altivec
sh4
simplearm
simplearmv5te
simplearmv6
simpleneon
simplealpha
ipp
xvidmmx
faani
floating point AAN IDCT
slice_count integer
ec flags (decoding,video)
Set error concealment strategy.

Possible values:

guess_mvs
iterative motion vector (MV) search (slow)
deblock
use strong deblock filter for damaged MBs
favor_inter
favor predicting from the previous frame instead of the current
bits_per_coded_sample integer
pred integer (encoding,video)
Set prediction method.

Possible values:

left
plane
median
aspect rational number (encoding,video)
Set sample aspect ratio.
sar rational number (encoding,video)
Set sample aspect ratio. Alias to aspect.
debug flags (decoding/encoding,audio,video,subtitles)
Print specific debug info.

Possible values:

pict
picture info
rc
rate control
bitstream
mb_type
macroblock (MB) type
qp
per-block quantization parameter (QP)
dct_coeff
green_metadata
display complexity metadata for the upcoming frame, GoP or for a given duration.
skip
startcode
er
error recognition
mmco
memory management control operations (H.264)
bugs
buffers
picture buffer allocations
thread_ops
threading operations
nomc
skip motion compensation
cmp integer (encoding,video)
Set full pel me compare function.

Possible values:

sad
sum of absolute differences, fast (default)
sse
sum of squared errors
satd
sum of absolute Hadamard transformed differences
dct
sum of absolute DCT transformed differences
psnr
sum of squared quantization errors (avoid, low quality)
bit
number of bits needed for the block
rd
rate distortion optimal, slow
zero
0
vsad
sum of absolute vertical differences
vsse
sum of squared vertical differences
nsse
noise preserving sum of squared differences
w53
5/3 wavelet, only used in snow
w97
9/7 wavelet, only used in snow
dctmax
chroma
subcmp integer (encoding,video)
Set sub pel me compare function.

Possible values:

sad
sum of absolute differences, fast (default)
sse
sum of squared errors
satd
sum of absolute Hadamard transformed differences
dct
sum of absolute DCT transformed differences
psnr
sum of squared quantization errors (avoid, low quality)
bit
number of bits needed for the block
rd
rate distortion optimal, slow
zero
0
vsad
sum of absolute vertical differences
vsse
sum of squared vertical differences
nsse
noise preserving sum of squared differences
w53
5/3 wavelet, only used in snow
w97
9/7 wavelet, only used in snow
dctmax
chroma
mbcmp integer (encoding,video)
Set macroblock compare function.

Possible values:

sad
sum of absolute differences, fast (default)
sse
sum of squared errors
satd
sum of absolute Hadamard transformed differences
dct
sum of absolute DCT transformed differences
psnr
sum of squared quantization errors (avoid, low quality)
bit
number of bits needed for the block
rd
rate distortion optimal, slow
zero
0
vsad
sum of absolute vertical differences
vsse
sum of squared vertical differences
nsse
noise preserving sum of squared differences
w53
5/3 wavelet, only used in snow
w97
9/7 wavelet, only used in snow
dctmax
chroma
ildctcmp integer (encoding,video)
Set interlaced dct compare function.

Possible values:

sad
sum of absolute differences, fast (default)
sse
sum of squared errors
satd
sum of absolute Hadamard transformed differences
dct
sum of absolute DCT transformed differences
psnr
sum of squared quantization errors (avoid, low quality)
bit
number of bits needed for the block
rd
rate distortion optimal, slow
zero
0
vsad
sum of absolute vertical differences
vsse
sum of squared vertical differences
nsse
noise preserving sum of squared differences
w53
5/3 wavelet, only used in snow
w97
9/7 wavelet, only used in snow
dctmax
chroma
dia_size integer (encoding,video)
Set diamond type & size for motion estimation.
last_pred integer (encoding,video)
Set amount of motion predictors from the previous frame.
preme integer (encoding,video)
Set pre motion estimation.
precmp integer (encoding,video)
Set pre motion estimation compare function.

Possible values:

sad
sum of absolute differences, fast (default)
sse
sum of squared errors
satd
sum of absolute Hadamard transformed differences
dct
sum of absolute DCT transformed differences
psnr
sum of squared quantization errors (avoid, low quality)
bit
number of bits needed for the block
rd
rate distortion optimal, slow
zero
0
vsad
sum of absolute vertical differences
vsse
sum of squared vertical differences
nsse
noise preserving sum of squared differences
w53
5/3 wavelet, only used in snow
w97
9/7 wavelet, only used in snow
dctmax
chroma
pre_dia_size integer (encoding,video)
Set diamond type & size for motion estimation pre-pass.
subq integer (encoding,video)
Set sub pel motion estimation quality.
dtg_active_format integer
me_range integer (encoding,video)
Set limit motion vectors range (1023 for DivX player).
ibias integer (encoding,video)
Set intra quant bias.
pbias integer (encoding,video)
Set inter quant bias.
color_table_id integer
global_quality integer (encoding,audio,video)
coder integer (encoding,video)
Possible values:
vlc
variable length coder / huffman coder
ac
arithmetic coder
raw
raw (no encoding)
rle
run-length coder
deflate
deflate-based coder
context integer (encoding,video)
Set context model.
slice_flags integer
mbd integer (encoding,video)
Set macroblock decision algorithm (high quality mode).

Possible values:

simple
use mbcmp (default)
bits
use fewest bits
rd
use best rate distortion
stream_codec_tag integer
sc_threshold integer (encoding,video)
Set scene change threshold.
lmin integer (encoding,video)
Set min lagrange factor (VBR).
lmax integer (encoding,video)
Set max lagrange factor (VBR).
nr integer (encoding,video)
Set noise reduction.
rc_init_occupancy integer (encoding,video)
Set number of bits which should be loaded into the rc buffer beforedecoding starts.
flags2 flags (decoding/encoding,audio,video)
Possible values:
fast
Allow non spec compliant speedup tricks.
sgop
Deprecated, use mpegvideo private options instead.
noout
Skip bitstream encoding.
ignorecrop
Ignore cropping information from sps.
local_header
Place global headers at every keyframe instead of in extradata.
chunks
Frame data might be split into multiple chunks.
showall
Show all frames before the first keyframe.
skiprd
Deprecated, use mpegvideo private options instead.
export_mvs
Export motion vectors into frame side-data (see "AV_FRAME_DATA_MOTION_VECTORS")for codecs that support it. See also doc/examples/export_mvs.c.
error integer (encoding,video)
qns integer (encoding,video)
Deprecated, use mpegvideo private options instead.
threads integer (decoding/encoding,video)
Set the number of threads to be used, in case the selected codecimplementation supports multi-threading.

Possible values:

auto, 0
automatically select the number of threads to set

Default value is auto.

me_threshold integer (encoding,video)
Set motion estimation threshold.
mb_threshold integer (encoding,video)
Set macroblock threshold.
dc integer (encoding,video)
Set intra_dc_precision.
nssew integer (encoding,video)
Set nsse weight.
skip_top integer (decoding,video)
Set number of macroblock rows at the top which are skipped.
skip_bottom integer (decoding,video)
Set number of macroblock rows at the bottom which are skipped.
profile integer (encoding,audio,video)
Possible values:
unknown
aac_main
aac_low
aac_ssr
aac_ltp
aac_he
aac_he_v2
aac_ld
aac_eld
mpeg2_aac_low
mpeg2_aac_he
mpeg4_sp
mpeg4_core
mpeg4_main
mpeg4_asp
dts
dts_es
dts_96_24
dts_hd_hra
dts_hd_ma
level integer (encoding,audio,video)
Possible values:
unknown
lowres integer (decoding,audio,video)
Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
skip_threshold integer (encoding,video)
Set frame skip threshold.
skip_factor integer (encoding,video)
Set frame skip factor.
skip_exp integer (encoding,video)
Set frame skip exponent.Negative values behave identical to the corresponding positive ones, exceptthat the score is normalized.Positive values exist primarily for compatibility reasons and are not so useful.
skipcmp integer (encoding,video)
Set frame skip compare function.

Possible values:

sad
sum of absolute differences, fast (default)
sse
sum of squared errors
satd
sum of absolute Hadamard transformed differences
dct
sum of absolute DCT transformed differences
psnr
sum of squared quantization errors (avoid, low quality)
bit
number of bits needed for the block
rd
rate distortion optimal, slow
zero
0
vsad
sum of absolute vertical differences
vsse
sum of squared vertical differences
nsse
noise preserving sum of squared differences
w53
5/3 wavelet, only used in snow
w97
9/7 wavelet, only used in snow
dctmax
chroma
border_mask float (encoding,video)
Increase the quantizer for macroblocks close to borders.
mblmin integer (encoding,video)
Set min macroblock lagrange factor (VBR).
mblmax integer (encoding,video)
Set max macroblock lagrange factor (VBR).
mepc integer (encoding,video)
Set motion estimation bitrate penalty compensation (1.0 = 256).
skip_loop_filter integer (decoding,video)
skip_idct integer (decoding,video)
skip_frame integer (decoding,video)
Make decoder discard processing depending on the frame type selectedby the option value.

skip_loop_filter skips frame loop filtering, skip_idctskips frame IDCT/dequantization, skip_frame skips decoding.

Possible values:

none
Discard no frame.
default
Discard useless frames like 0-sized frames.
noref
Discard all non-reference frames.
bidir
Discard all bidirectional frames.
nokey
Discard all frames excepts keyframes.
all
Discard all frames.

Default value is default.

bidir_refine integer (encoding,video)
Refine the two motion vectors used in bidirectional macroblocks.
brd_scale integer (encoding,video)
Downscale frames for dynamic B-frame decision.
keyint_min integer (encoding,video)
Set minimum interval between IDR-frames.
refs integer (encoding,video)
Set reference frames to consider for motion compensation.
chromaoffset integer (encoding,video)
Set chroma qp offset from luma.
trellis integer (encoding,audio,video)
Set rate-distortion optimal quantization.
mv0_threshold integer (encoding,video)
b_sensitivity integer (encoding,video)
Adjust sensitivity of b_frame_strategy 1.
compression_level integer (encoding,audio,video)
min_prediction_order integer (encoding,audio)
max_prediction_order integer (encoding,audio)
timecode_frame_start integer (encoding,video)
Set GOP timecode frame start number, in non drop frame format.
request_channels integer (decoding,audio)
Set desired number of audio channels.
bits_per_raw_sample integer
channel_layout integer (decoding/encoding,audio)
Possible values:
request_channel_layout integer (decoding,audio)
Possible values:
rc_max_vbv_use float (encoding,video)
rc_min_vbv_use float (encoding,video)
ticks_per_frame integer (decoding/encoding,audio,video)
color_primaries integer (decoding/encoding,video)
Possible values:
bt709
BT.709
bt470m
BT.470 M
bt470bg
BT.470 BG
smpte170m
SMPTE 170 M
smpte240m
SMPTE 240 M
film
Film
bt2020
BT.2020
smpte428
smpte428_1
SMPTE ST 428-1
smpte431
SMPTE 431-2
smpte432
SMPTE 432-1
jedec-p22
JEDEC P22
color_trc integer (decoding/encoding,video)
Possible values:
bt709
BT.709
gamma22
BT.470 M
gamma28
BT.470 BG
smpte170m
SMPTE 170 M
smpte240m
SMPTE 240 M
linear
Linear
log
log100
Log
log_sqrt
log316
Log square root
iec61966_2_4
iec61966-2-4
IEC 61966-2-4
bt1361
bt1361e
BT.1361
iec61966_2_1
iec61966-2-1
IEC 61966-2-1
bt2020_10
bt2020_10bit
BT.2020 - 10 bit
bt2020_12
bt2020_12bit
BT.2020 - 12 bit
smpte2084
SMPTE ST 2084
smpte428
smpte428_1
SMPTE ST 428-1
arib-std-b67
ARIB STD-B67
colorspace integer (decoding/encoding,video)
Possible values:
rgb
RGB
bt709
BT.709
fcc
FCC
bt470bg
BT.470 BG
smpte170m
SMPTE 170 M
smpte240m
SMPTE 240 M
ycocg
YCOCG
bt2020nc
bt2020_ncl
BT.2020 NCL
bt2020c
bt2020_cl
BT.2020 CL
smpte2085
SMPTE 2085
color_range integer (decoding/encoding,video)
If used as input parameter, it serves as a hint to the decoder, whichcolor_range the input has.Possible values:
tv
mpeg
MPEG (219*2^(n-8))
pc
jpeg
JPEG (2^n-1)
chroma_sample_location integer (decoding/encoding,video)
Possible values:
left
center
topleft
top
bottomleft
bottom
log_level_offset integer
Set the log level offset.
slices integer (encoding,video)
Number of slices, used in parallelized encoding.
thread_type flags (decoding/encoding,video)
Select which multithreading methods to use.

Use of frame will increase decoding delay by one frame perthread, so clients which cannot provide future frames should not useit.

Possible values:

slice
Decode more than one part of a single frame at once.

Multithreading using slices works only when the video was encoded withslices.

frame
Decode more than one frame at once.

Default value is slice+frame.

audio_service_type integer (encoding,audio)
Set audio service type.

Possible values:

ma
Main Audio Service
ef
Effects
vi
Visually Impaired
hi
Hearing Impaired
di
Dialogue
co
Commentary
em
Emergency
vo
Voice Over
ka
Karaoke
request_sample_fmt sample_fmt (decoding,audio)
Set sample format audio decoders should prefer. Default value is"none".
pkt_timebase rational number
sub_charenc encoding (decoding,subtitles)
Set the input subtitles character encoding.
field_order field_order (video)
Set/override the field order of the video.Possible values:
progressive
Progressive video
tt
Interlaced video, top field coded and displayed first
bb
Interlaced video, bottom field coded and displayed first
tb
Interlaced video, top coded first, bottom displayed first
bt
Interlaced video, bottom coded first, top displayed first
skip_alpha bool (decoding,video)
Set to 1 to disable processing alpha (transparency). This works like thegray flag in the flags option which skips chroma informationinstead of alpha. Default is 0.
codec_whitelist list (input)
``,'' separated list of allowed decoders. By default all are allowed.
dump_separator string (input)
Separator used to separate the fields printed on the command line about theStream parameters.For example to separate the fields with newlines and indention:

        ffprobe -dump_separator "                                  "  -i ~/videos/matrixbench_mpeg2.mpg
max_pixels integer (decoding/encoding,video)
Maximum number of pixels per image. This value can be used to avoid out ofmemory failures due to large images.
apply_cropping bool (decoding,video)
Enable cropping if cropping parameters are multiples of the requiredalignment for the left and top parameters. If the alignment is not met thecropping will be partially applied to maintain alignment.Default is 1 (enabled).Note: The required alignment depends on if "AV_CODEC_FLAG_UNALIGNED" is set and theCPU. "AV_CODEC_FLAG_UNALIGNED" cannot be changed from the command line. Also hardwaredecoders will not apply left/top Cropping.
 

DECODERS

Decoders are configured elements in FFmpeg which allow the decoding ofmultimedia streams.

When you configure your FFmpeg build, all the supported native decodersare enabled by default. Decoders requiring an external library must be enabledmanually via the corresponding "--enable-lib" option. You can list allavailable decoders using the configure option "--list-decoders".

You can disable all the decoders with the configure option"--disable-decoders" and selectively enable / disable single decoderswith the options "--enable-decoder=DECODER" /"--disable-decoder=DECODER".

The option "-decoders" of the ff* tools will display the list ofenabled decoders. 

VIDEO DECODERS

A description of some of the currently available video decodersfollows. 

rawvideo

Raw video decoder.

This decoder decodes rawvideo streams.

Options

top top_field_first
Specify the assumed field type of the input video.
-1
the video is assumed to be progressive (default)
0
bottom-field-first is assumed
1
top-field-first is assumed
 

libdavs2

AVS2-P2/IEEE1857.4 video decoder wrapper.

This decoder allows libavcodec to decode AVS2 streams with davs2 library. 

AUDIO DECODERS

A description of some of the currently available audio decodersfollows. 

ac3

AC-3 audio decoder.

This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well asthe undocumented RealAudio 3 (a.k.a. dnet).

AC-3 Decoder Options

-drc_scale value
Dynamic Range Scale Factor. The factor to apply to dynamic range valuesfrom the AC-3 stream. This factor is applied exponentially.There are 3 notable scale factor ranges:
drc_scale == 0
DRC disabled. Produces full range audio.
0 < drc_scale <= 1
DRC enabled. Applies a fraction of the stream DRC value.Audio reproduction is between full range and full compression.
drc_scale > 1
DRC enabled. Applies drc_scale asymmetrically.Loud sounds are fully compressed. Soft sounds are enhanced.
 

flac

FLAC audio decoder.

This decoder aims to implement the complete FLAC specification from Xiph.

FLAC Decoder options

-use_buggy_lpc
The lavc FLAC encoder used to produce buggy streams with high lpc values(like the default value). This option makes it possible to decode such streamscorrectly by using lavc's old buggy lpc logic for decoding.
 

ffwavesynth

Internal wave synthesizer.

This decoder generates wave patterns according to predefined sequences. Itsuse is purely internal and the format of the data it accepts is not publiclydocumented. 

libcelt

libcelt decoder wrapper.

libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio codec.Requires the presence of the libcelt headers and library during configuration.You need to explicitly configure the build with "--enable-libcelt". 

libgsm

libgsm decoder wrapper.

libgsm allows libavcodec to decode the GSM full rate audio codec. Requiresthe presence of the libgsm headers and library during configuration. You needto explicitly configure the build with "--enable-libgsm".

This decoder supports both the ordinary GSM and the Microsoft variant. 

libilbc

libilbc decoder wrapper.

libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC)audio codec. Requires the presence of the libilbc headers and library duringconfiguration. You need to explicitly configure the build with"--enable-libilbc".

Options

The following option is supported by the libilbc wrapper.

enhance
Enable the enhancement of the decoded audio when set to 1. The defaultvalue is 0 (disabled).
 

libopencore-amrnb

libopencore-amrnb decoder wrapper.

libopencore-amrnb allows libavcodec to decode the Adaptive Multi-RateNarrowband audio codec. Using it requires the presence of thelibopencore-amrnb headers and library during configuration. You need toexplicitly configure the build with "--enable-libopencore-amrnb".

An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NBwithout this library. 

libopencore-amrwb

libopencore-amrwb decoder wrapper.

libopencore-amrwb allows libavcodec to decode the Adaptive Multi-RateWideband audio codec. Using it requires the presence of thelibopencore-amrwb headers and library during configuration. You need toexplicitly configure the build with "--enable-libopencore-amrwb".

An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WBwithout this library. 

libopus

libopus decoder wrapper.

libopus allows libavcodec to decode the Opus Interactive Audio Codec.Requires the presence of the libopus headers and library duringconfiguration. You need to explicitly configure the build with"--enable-libopus".

An FFmpeg native decoder for Opus exists, so users can decode Opuswithout this library. 

SUBTITLES DECODERS

 

dvbsub

Options
compute_clut
-1
Compute clut if no matching CLUT is in the stream.
0
Never compute CLUT
1
Always compute CLUT and override the one provided in the stream.
dvb_substream
Selects the dvb substream, or all substreams if -1 which is default.
 

dvdsub

This codec decodes the bitmap subtitles used in DVDs; the same subtitles canalso be found in VobSub file pairs and in some Matroska files.

Options

palette
Specify the global palette used by the bitmaps. When stored in VobSub, thepalette is normally specified in the index file; in Matroska, the palette isstored in the codec extra-data in the same format as in VobSub. In DVDs, thepalette is stored in the IFO file, and therefore not available when readingfrom dumped VOB files.

The format for this option is a string containing 16 24-bits hexadecimalnumbers (without 0x prefix) separated by comas, for example "0d00ee,ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b".

ifo_palette
Specify the IFO file from which the global palette is obtained.(experimental)
forced_subs_only
Only decode subtitle entries marked as forced. Some titles have forcedand non-forced subtitles in the same track. Setting this flag to 1will only keep the forced subtitles. Default value is 0.
 

libzvbi-teletext

Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletextsubtitles. Requires the presence of the libzvbi headers and library duringconfiguration. You need to explicitly configure the build with"--enable-libzvbi".

Options

txt_page
List of teletext page numbers to decode. Pages that do not match the specifiedlist are dropped. You may use the special "*" string to match all pages,or "subtitle" to match all subtitle pages.Default value is *.
txt_chop_top
Discards the top teletext line. Default value is 1.
txt_format
Specifies the format of the decoded subtitles.
bitmap
The default format, you should use this for teletext pages, because certaingraphics and colors cannot be expressed in simple text or even ASS.
text
Simple text based output without formatting.
ass
Formatted ASS output, subtitle pages and teletext pages are returned indifferent styles, subtitle pages are stripped down to text, but an effort ismade to keep the text alignment and the formatting.
txt_left
X offset of generated bitmaps, default is 0.
txt_top
Y offset of generated bitmaps, default is 0.
txt_chop_spaces
Chops leading and trailing spaces and removes empty lines from the generatedtext. This option is useful for teletext based subtitles where empty spaces maybe present at the start or at the end of the lines or empty lines may bepresent between the subtitle lines because of double-sized teletext characters.Default value is 1.
txt_duration
Sets the display duration of the decoded teletext pages or subtitles inmilliseconds. Default value is -1 which means infinity or until the nextsubtitle event comes.
txt_transparent
Force transparent background of the generated teletext bitmaps. Default valueis 0 which means an opaque background.
txt_opacity
Sets the opacity (0-255) of the teletext background. Iftxt_transparent is not set, it only affects characters between a startbox and an end box, typically subtitles. Default value is 0 iftxt_transparent is set, 255 otherwise.
 

ENCODERS

Encoders are configured elements in FFmpeg which allow the encoding ofmultimedia streams.

When you configure your FFmpeg build, all the supported native encodersare enabled by default. Encoders requiring an external library must be enabledmanually via the corresponding "--enable-lib" option. You can list allavailable encoders using the configure option "--list-encoders".

You can disable all the encoders with the configure option"--disable-encoders" and selectively enable / disable single encoderswith the options "--enable-encoder=ENCODER" /"--disable-encoder=ENCODER".

The option "-encoders" of the ff* tools will display the list ofenabled encoders. 

AUDIO ENCODERS

A description of some of the currently available audio encodersfollows. 

aac

Advanced Audio Coding (AAC) encoder.

This encoder is the default AAC encoder, natively implemented into FFmpeg. Itsquality is on par or better than libfdk_aac at the default bitrate of 128kbps.This encoder also implements more options, profiles and samplerates thanother encoders (with only the AAC-HE profile pending to be implemented) so thisencoder has become the default and is the recommended choice.

Options

b
Set bit rate in bits/s. Setting this automatically activates constant bit rate(CBR) mode. If this option is unspecified it is set to 128kbps.
q
Set quality for variable bit rate (VBR) mode. This option is valid only usingthe ffmpeg command-line tool. For library interface users, useglobal_quality.
cutoff
Set cutoff frequency. If unspecified will allow the encoder to dynamicallyadjust the cutoff to improve clarity on low bitrates.
aac_coder
Set AAC encoder coding method. Possible values:
twoloop
Two loop searching (TLS) method.

This method first sets quantizers depending on band thresholds and then triesto find an optimal combination by adding or subtracting a specific value fromall quantizers and adjusting some individual quantizer a little. Will tuneitself based on whether aac_is, aac_ms and aac_pnsare enabled.

anmr
Average noise to mask ratio (ANMR) trellis-based solution.

This is an experimental coder which currently produces a lower quality, is moreunstable and is slower than the default twoloop coder but has potential.Currently has no support for the aac_is or aac_pns options.Not currently recommended.

fast
Constant quantizer method.

Uses a cheaper version of twoloop algorithm that doesn't try to do as manyclever adjustments. Worse with low bitrates (less than 64kbps), but is betterand much faster at higher bitrates.This is the default choice for a coder

aac_ms
Sets mid/side coding mode. The default value of ``auto'' will automatically useM/S with bands which will benefit from such coding. Can be forced for all bandsusing the value ``enable'', which is mainly useful for debugging or disabled using``disable''.
aac_is
Sets intensity stereo c