Documentation:Modules/avcodec

From VideoLAN Wiki
Jump to navigation Jump to search
Module: avcodec
Type codec library
First VLC version -
Last VLC version -
Operating system(s) all
Description Various audio and video decoders/encoders delivered by the FFmpeg library. This includes (MS)MPEG4, DivX, SVQ1, H261, H263, H264, WMV, WMA, AAC, AMR, DV, MJPEG and other codecs
Shortcut(s) -

libavcodec provided by the FFmpeg project. A full list of supported codecs may be found with modules/codec/avcodec/fourcc.c

Options prefixed with ffmpeg- or sout-ffmpeg- were deprecated in 2.1.0 to reflect the new module name avcodec. The only option that seems not to have been replaced later is --avcodec-vismv, removed in 3.0.0.

The variable ENC_PROFILE_LONGTEXT defined in modules/codec/avcodec/avcodec.h does not mention that it checks for ld (Low Delay) and eld (Extended Low Delay). FIXME: Unclear whether they are actually supported.

Options as of 3.0.6:

Decoding

  • avcodec-dr <boolean> : Direct rendering default value: enabled
  • avcodec-corrupted <boolean> : Prefer visual artifacts instead of missing frames default value: enabled
  • avcodec-error-resilience <integer [0 .. 4]> : libavcodec can do error resilience. However, with a buggy encoder (such as the ISO MPEG-4 encoder from M$) this can produce a lot of errors. Valid values range from 0 to 4 (0 disables all errors resilience) default value: 1
  • avcodec-workaround-bugs <integer> : Try to fix some bugs: 1 autodetect, 2 old msmpeg4, 4 xvid interlaced, 8 ump4, 16 no padding, 32 ac vlc, 64 Qpel chroma. This must be the sum of the values. For example, to fix "ac vlc" and "ump4", enter 40.) default value: 1
  • avcodec-hurry-up <boolean> : The decoder can partially decode or skip frame(s) when there is not enough time. It's useful with low CPU power but it can produce distorted pictures default value: enabled
  • avcodec-skip-frame <integer> {-1,0,1,2,3,4} : Force skipping of frames to speed up decoding (-1=None, 0=Default, 1=B-frames, 2=P-frames, 3=B+P frames, 4=all frames) default value: 0
  • avcodec-skip-idct <integer> {-1,0,1,2,3,4} : Force skipping of IDCT to speed up decoding for frame types (-1=None, 0=Default, 1=B-frames, 2=P-frames, 3=B+P frames, 4=all frames) default value: 0
  • avcodec-fast <boolean> : Allow non specification compliant speedup tricks. Faster but error-prone default value: disabled
  • avcodec-skiploopfilter <integer> {0 (None), 1 (Non-ref), 2 (Bidir), 3 (Non-key), 4 (All)} : Skipping the loop filter (aka deblocking) usually has a detrimental effect on quality. However it provides a big speedup for high definition streams default value: 0
  • avcodec-debug <integer> : Set FFmpeg debug mask default value: 0
  • avcodec-codec <string> : Internal libavcodec codec name default value: NULL
  • avcodec-hw <integer> {any,vdpau_avcodec,vaapi,vaapi_drm,none} : This allows hardware decoding when available default value: any
  • avcodec-threads <integer> : Number of threads used for decoding, 0 meaning auto default value: 0
  • avcodec-options <string> : Advanced options, in the form {opt=val,opt2=val2} default value: NULL

Encoding

  • sout-avcodec-codec <string> : Internal libavcodec codec name default value: NULL
  • sout-avcodec-hq <string> {rd,bits,simple} : Quality level for the encoding of motions vectors (this can slow down the encoding very much) default value: rd
  • sout-avcodec-keyint <integer> : Number of frames that will be coded for one key frame default value: 0
  • sout-avcodec-bframes <integer> : Number of B-frames that will be coded between two reference frames default value: 0
  • sout-avcodec-hurry-up <boolean> : The encoder can make on-the-fly quality tradeoffs if your CPU can't keep up with the encoding rate. It will disable trellis quantization, then the rate distortion of motion vectors (hq), and raise the noise reduction threshold to ease the encoder's task default value: disabled
  • sout-avcodec-interlace <boolean> : Enable dedicated

algorithms for interlaced frames default value: disabled

  • sout-avcodec-interlace-me <boolean> : Enable interlaced motion estimation algorithms. This requires more CPU default value: enabled
  • sout-avcodec-vt <integer> : Video bitrate tolerance in kbit/s default value: 0
  • sout-avcodec-pre-me <boolean> : Enable the pre-motion estimation algorithm default value: disabled
  • sout-avcodec-rc-buffer-size <integer> : Rate control buffer size (in kbytes). A bigger buffer will allow for better rate control, but will cause a delay in the stream default value: 0
  • sout-avcodec-rc-buffer-aggressivity <float> : Rate control buffer aggressiveness default value: 1.0
  • sout-avcodec-i-quant-factor <float> : Quantization factor of I-frames, compared with P-frames (for instance 1.0 => same qscale for I and P frames) default value: 0
  • sout-avcodec-noise-reduction <integer> : Enable a simple noise reduction algorithm to lower the encoding length and bitrate, at the expense of lower quality frames default value: 0
  • sout-avcodec-mpeg4-matrix <boolean> : Use the MPEG-4 quantization matrix for MPEG-2 encoding. This generally yields a better looking picture, while still retaining the compatibility with standard MPEG-2 decoders default value: disabled
  • sout-avcodec-qmin <integer> : Minimum video quantizer scale default value: 0
  • sout-avcodec-qmax <integer> : Maximum video quantizer scale default value: 0
  • sout-avcodec-trellis <boolean> : Enable trellis quantization (rate distortion for block coefficients) default value: disabled
  • sout-avcodec-qscale <float [0.01 .. 255.0]> : A fixed video quantizer scale for VBR encoding (accepted values: 0.01 to 255.0) default value: 3
  • sout-avcodec-strict <integer [-2 .. 2]> : Force a strict standard compliance when encoding (accepted values: -2 to 2) default value: 0
  • sout-avcodec-lumi-masking <float> : Raise the quantizer for very bright macroblocks default value: 0.0
  • sout-avcodec-dark-masking <float> : Raise the quantizer for very dark macroblocks default value: 0.0
  • sout-avcodec-p-masking <float> : Raise the quantizer for macroblocks with a high temporal complexity default value: 0.0
  • sout-avcodec-border-masking <float> : Raise the quantizer for macroblocks at the border of the frame default value: 0.0
  • sout-avcodec-luma-elim-threshold <integer> : Eliminates luminance blocks when the PSNR isn't much changed. The H.264 specification recommends -4 default value: 0
  • sout-avcodec-chroma-elim-threshold <integer> : Eliminates chrominance blocks when the PSNR isn't much changed. The H.264 specification recommends 7 default value: 0
  • sout-avcodec-aac-profile <string> : Specify the AAC audio profile to use for encoding the audio bitstream. It takes the following options: main, low, ssr (not supported), ltp, hev1, hev2. hev1 and hev2 are currently supported only with libfdk-aac enabled libavcodec default value: low
  • sout-avcodec-options <string> : Advanced options, in the form {opt=val,opt2=val2} default value: NULL

Source code

This page is part of official VLC media player Documentation (User GuideStreaming HowToHacker GuideModules)
Please read the Documentation Editing Guidelines before you edit the documentation
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.