Skip to content
Snippets Groups Projects
Changelog 64.3 KiB
Newer Older
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.

Michael Niedermayer's avatar
Michael Niedermayer committed
version 4.3.1:
Michael Niedermayer's avatar
Michael Niedermayer committed
 avcodec/tiff: Check input space in dng_decode_jpeg()
 avcodec/mjpeg_parser: Adjust size rejection threshold
 avcodec/cbs_jpeg: Fix uninitialized end index in cbs_jpeg_split_fragment()
 avformat/sdp: Fix potential write beyond end of buffer
 avformat/mm: Check for existence of audio stream
Michael Niedermayer's avatar
Michael Niedermayer committed
 avformat/mov: Fix unaligned read of uint32_t and endian-dependance in mov_read_default
 avcodec/apedec: Fix undefined integer overflow with 24bit
 avcodec/loco: Fix integer overflow with large values from loco_get_rice()
 avformat/smjpegdec: Check the existence of referred streams
 avcodec/tiff: Check frame parameters before blit for DNG
 avcodec/mjpegdec: Limit bayer to single plane outputting format
 avcodec/pnmdec: Fix misaligned reads
 avcodec/mv30: Fix integer overflows in idct2_1d()
 avcodec/hcadec: Check total_band_count against imdct_in size
 avcodec/scpr3: Fix out of array access with dectab
 avcodec/tiff: Do not overrun the array ends in dng_blit()
 avcodec/dstdec: Replace AC overread check by sample rate check
 dnn_backend_native: Add overflow check for length calculation.
 avcodec/h264_metadata_bsf: Fix invalid av_freep
 avcodec/cbs_h265: set default VUI parameters when vui_parameters_present_flag is false
 avcodec/av1_parser: initialize avctx->pix_fmt
 avcodec/av1_parser: add missing parsing for RGB pixel format signaling
 avcodec/av1_parser: set context values outside the OBU parsing loop
 avutil/avsscanf: Add () to avoid integer overflow in scanexp()
 avformat/utils: reorder duration computation to avoid overflow
 avcodec/pngdec: Check for fctl after idat
 avformat/hls: Pass a copy of the URL for probing
 avutil/common: Fix integer overflow in av_ceil_log2_c()
 avcodec/wmalosslessdec: fix overflow with pred in revert_cdlms
 avformat/mvdec: Fix integer overflow with billions of channels
 avformat/microdvddec: skip malformed lines without frame number.
 dnn_backend_native: check operand index
 dnn_backend_native.c: refine code for fail case
 avformat/mov: fix memleaks
 libavformat/mov: Fix memleaks when demuxing DV audio
 avcodec/cbs_av1: Fix writing uvlc numbers >= INT_MAX
 avformat/avc, mxfenc: Avoid allocation of H264 SPS structure, fix memleak
 avcodec/bitstream: Don't check for undefined behaviour after it happened
 avformat/aviobuf: Also return truncated buffer in avio_get_dyn_buf()
 avformat/aviobuf: Don't check for overflow after it happened

version 4.3:
Paul B Mahol's avatar
Paul B Mahol committed
- v360 filter
- Intel QSV-accelerated MJPEG decoding
- Intel QSV-accelerated VP9 decoding
- Support for TrueHD in mp4
- Support AMD AMF encoder on Linux (via Vulkan)
Paul B Mahol's avatar
Paul B Mahol committed
- IMM5 video decoder
- ZeroMQ protocol
- support Sipro ACELP.KELVIN decoding
- streamhash muxer
- sierpinski video source
- scroll video filter
- photosensitivity filter
- anlms filter
- arnndn filter
- bilateral filter
- maskedmin and maskedmax filters
- VDPAU VP9 hwaccel
- median filter
- QSV-accelerated VP9 encoding
- AV1 encoding support via librav1e
- AV1 frame merge bitstream filter
- AV1 Annex B demuxer
- axcorrelate filter
- mvdv decoder
- mvha decoder
- MPEG-H 3D Audio support in mp4
- thistogram filter
- freezeframes filter
- Argonaut Games ADPCM decoder
- Argonaut Games ASF demuxer
- xfade video filter
- xfade_opencl filter
- afirsrc audio filter source
- pad_opencl filter
- Simon & Schuster Interactive ADPCM decoder
- Real War KVAG demuxer
- CDToons video decoder
- siren audio decoder
- Rayman 2 ADPCM decoder
- Rayman 2 APM demuxer
- High Voltage Software ADPCM decoder
- LEGO Racers ALP (.tun & .pcm) demuxer
- AMQP 0-9-1 protocol (RabbitMQ)
- Vulkan support
- avgblur_vulkan, overlay_vulkan, scale_vulkan and chromaber_vulkan filters
- ADPCM IMA MTF decoder
- FWSE demuxer
- DERF DPCM decoder
- DERF demuxer
- CRI HCA decoder
Paul B Mahol's avatar
Paul B Mahol committed
- CRI HCA demuxer
- overlay_cuda filter
- switch from AvxSynth to AviSynth+ on Linux
Paul B Mahol's avatar
Paul B Mahol committed
- mv30 decoder
- Expanded styling support for 3GPP Timed Text Subtitles (movtext)
James Almer's avatar
James Almer committed
- WebP parser
- tmedian filter
- maskedthreshold filter
- Cunning Developments ADPCM decoder
- asubboost filter
- Pro Pinball Series Soundbank demuxer
- NotchLC decoder
- gradients source video filter
- MediaFoundation encoder wrapper
- untile filter
- Simon & Schuster Interactive ADPCM encoder
- PFM decoder
- dblur video filter
- Real War KVAG muxer
version 4.2:
Paul B Mahol's avatar
Paul B Mahol committed
- tpad filter
- AV1 decoding support through libdav1d
- dedot filter
- chromashift and rgbashift filters
- truehd_core bitstream filter
- dhav demuxer
- PCM-DVD encoder
Paul B Mahol's avatar
Paul B Mahol committed
- GIF parser
- vividas demuxer
Paul B Mahol's avatar
Paul B Mahol committed
- hymt decoder
- anlmdn filter
- maskfun filter
- hcom demuxer and decoder
Paul B Mahol's avatar
Paul B Mahol committed
- ARBC decoder
- libaribb24 based ARIB STD-B24 caption support (profiles A and C)
- Support decoding of HEVC 4:4:4 content in nvdec and cuviddec
- removed libndi-newtek
- agm decoder
- AV1 frame split bitstream filter
Paul B Mahol's avatar
Paul B Mahol committed
- lscr decoder
- lagfun filter
- asoftclip filter
- Support decoding of HEVC 4:4:4 content in vdpau
- colorhold filter
- xmedian filter
Paul B Mahol's avatar
Paul B Mahol committed
- asr filter
- showspatial multimedia filter
Peter Ross's avatar
Peter Ross committed
- VP4 video decoder
- derain filter
- deesser filter
- mov muxer writes tracks with unspecified language instead of English by default
- add support for using clang to compile CUDA kernels
version 4.1:
- deblock filter
Paul B Mahol's avatar
Paul B Mahol committed
- tmix filter
- amplify filter
- fftdnoiz filter
- aderivative and aintegral audio filters
- pal75bars and pal100bars video filter sources
- support mbedTLS based TLS
- adeclick filter
- adeclip filter
- libtensorflow backend for DNN based filters like srcnn
- vc1 decoder is now bit-exact
- ATRAC9 decoder
- lensfun wrapper filter
- colorconstancy filter
- AVS2 video decoder via libdavs2
Paul B Mahol's avatar
Paul B Mahol committed
- IMM4 video decoder
- Brooktree ProSumer video decoder
- MatchWare Screen Capture Codec decoder
- WinCam Motion Video decoder
- 1D LUT filter (lut1d)
- RemotelyAnywhere Screen Capture decoder
- cue and acue filters
- transpose_npp filter
- AVS2 video encoder via libxavs2
- amultiply filter
Paul B Mahol's avatar
Paul B Mahol committed
- Block-Matching 3d (bm3d) denoising filter
- acrossover filter
- ilbc decoder
- audio denoiser as afftdn filter
James Almer's avatar
James Almer committed
- AV1 parser
Paul B Mahol's avatar
Paul B Mahol committed
- SER demuxer
- sinc audio filter source
- chromahold filter
- vibrance filter
- decoding S12M timecode in h264
- xstack filter
- pcm vidc decoder and encoder
- (a)graphmonitor filter
- Bitstream filters for editing metadata in H.264, HEVC and MPEG-2 streams
- Dropped support for OpenJPEG versions 2.0 and below. Using OpenJPEG now
  requires 2.1 (or later) and pkg-config.
Clément Bœsch's avatar
Clément Bœsch committed
- VDA dropped (use VideoToolbox instead)
- MagicYUV encoder
- Raw AMR-NB and AMR-WB demuxers
- TiVo ty/ty+ demuxer
- Intel QSV-accelerated MJPEG encoding
- PCE support for extended channel layouts in the AAC encoder
- native aptX and aptX HD encoder and decoder
- Raw aptX and aptX HD muxer and demuxer
- NVIDIA NVDEC-accelerated H.264, HEVC, MJPEG, MPEG-1/2/4, VC1, VP8/9 hwaccel decoding
- Intel QSV-accelerated overlay filter
- mcompand audio filter
- acontrast audio filter
- OpenCL overlay filter
Paul B Mahol's avatar
Paul B Mahol committed
- video mix filter
- video normalize filter
- audio lv2 wrapper filter
- VAAPI MJPEG and VP8 decoding
- AMD AMF H.264 and HEVC encoders
- video fillborders filter
- video setrange filter
Paul B Mahol's avatar
Paul B Mahol committed
- nsp demuxer
- support LibreSSL (via libtls)
- AVX-512/ZMM support added
- Dropped support for building for Windows XP. The minimum supported Windows
  version is Windows Vista.
- deconvolve video filter
- entropy video filter
- hilbert audio filter source
- aiir audio filter
- aiff: add support for CD-ROM XA ADPCM
- Removed the ffserver program
- Removed the ffmenc and ffmdec muxer and demuxer
- VideoToolbox HEVC encoder and hwaccel
- VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters
- Add android_camera indev
Tomas Härdin's avatar
Tomas Härdin committed
- codec2 en/decoding via libcodec2
- muxer/demuxer for raw codec2 files and .c2 files
- Moved nvidia codec headers into an external repository.
  They can be found at http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
- native SBC encoder and decoder
- drmeter audio filter
- hapqa_extract bitstream filter
- filter_units bitstream filter
- AV1 Support through libaom
- E-AC-3 dependent frames support
- bitstream filter for extracting E-AC-3 core
- Haivision SRT protocol via libsrt
Misty De Meo's avatar
Misty De Meo committed
- segafilm muxer
- vfrdet filter
Sergey Lavrushkin's avatar
Sergey Lavrushkin committed
- SRCNN filter
- deflicker video filter
- doubleweave video filter
- lumakey video filter
- pixscope video filter
- oscilloscope video filter
- config.log and other configuration files moved into ffbuild/ directory
- update cuvid/nvenc headers to Video Codec SDK 8.0.14
- afir audio filter
- scale_cuda CUDA based video scale filter
- librsvg support for svg rasterization
- crossfeed audio filter
- spec compliant VP9 muxing support in MP4
- remove the libnut muxer/demuxer wrappers
- remove the libschroedinger encoder/decoder wrappers
- surround audio filter
- sofalizer filter switched to libmysofa
- Gremlin Digital Video demuxer and decoder
- headphone audio filter
- superequalizer audio filter
- roberts video filter
- The x86 assembler default switched from yasm to nasm, pass
  --x86asmexe=yasm to configure to restore the old behavior.
- additional frame format support for Interplay MVE movies
- support for decoding through D3D11VA in ffmpeg
- limiter video filter
- libvmaf video filter
foo86's avatar
foo86 committed
- Dolby E decoder and SMPTE 337M demuxer
- unpremultiply video filter
- tlut2 video filter
- floodfill video filter
- pseudocolor video filter
- raw G.726 muxer and demuxer, left- and right-justified
- NewTek NDI input/output device
- Some video filters with several inputs now use a common set of options:
  blend, libvmaf, lut3d, overlay, psnr, ssim.
  They must always be used by name.
Paras Chadha's avatar
Paras Chadha committed
- FITS demuxer and decoder
Paras Chadha's avatar
Paras Chadha committed
- FITS muxer and encoder
- add --disable-autodetect build switch
Clément Bœsch's avatar
Clément Bœsch committed
- drop deprecated qtkit input device (use avfoundation instead)
- despill video filter
- haas audio filter
- SUP/PGS subtitle muxer
- convolve video filter
- VP9 tile threading support
- KMS screen grabber
- CUDA thumbnail filter
- V4L2 mem2mem HW assisted codecs
- Rockchip MPP hardware decoding
- vmafmotion video filter
- use MIME type "G726" for little-endian G.726, "AAL2-G726" for big-endian G.726
James Almer's avatar
James Almer committed

version 3.3:
- CrystalHD decoder moved to new decode API
- add internal ebur128 library, remove external libebur128 dependency
- Pro-MPEG CoP #3-R2 FEC protocol
- premultiply video filter
- Support for spherical videos
- configure now fails if autodetect-libraries are requested but not found
- 16.8 floating point pcm decoder
- 24.0 floating point pcm decoder
- Apple Pixlet decoder
Paul B Mahol's avatar
Paul B Mahol committed
- QDMC audio decoder
- NewTek SpeedHQ decoder
- MIDI Sample Dump Standard demuxer
- readeia608 filter
- Sample Dump eXchange demuxer
- abitscope multimedia filter
Paul B Mahol's avatar
Paul B Mahol committed
- Scenarist Closed Captions demuxer and muxer
- threshold filter
- midequalizer filter
- Optimal Huffman tables for (M)JPEG encoding
- VAAPI-accelerated MPEG-2 and VP8 encoding
- FM Screen Capture Codec decoder
- ScreenPressor decoder
- incomplete ClearVideo decoder
- Intel QSV video scaling and deinterlacing filters
- Support MOV with multiple sample description tables
- XPM decoder
- Removed the legacy X11 screen grabber, use XCB instead
- MPEG-7 Video Signature filter
- Removed asyncts filter (use af_aresample instead)
- Intel QSV-accelerated VP8 video decoding
- VAAPI-accelerated deinterlacing
Michael Niedermayer's avatar
Michael Niedermayer committed
version 3.2:
- libopenmpt demuxer
- tee protocol
- Changed metadata print option to accept general urls
- Alias muxer for Ogg Video (.ogv)
- VP8 in Ogg muxing
- curves filter doesn't automatically insert points at x=0 and x=1 anymore
- 16-bit support in curves filter and selectivecolor filter
- OpenH264 decoder wrapper
- MediaCodec H.264/HEVC/MPEG-4/VP8/VP9 hwaccel
James Almer's avatar
James Almer committed
- True Audio (TTA) muxer
- crystalizer audio filter
- acrusher audio filter
- bitplanenoise video filter
- floating point support in als decoder
- fifo muxer
- maskedclamp filter
- hysteresis filter
Paul B Mahol's avatar
Paul B Mahol committed
- lut2 filter
- yuvtestsrc filter
- CUDA CUVID H.263/VP8/VP9/10 bit HEVC (Dithered) Decoding
- vaguedenoiser filter
- added threads option per filter instance
- weave filter
- gblur filter
- avgblur filter
- sobel and prewitt filter
- MediaCodec HEVC/MPEG-4/VP8/VP9 decoding
- Meridian Lossless Packing (MLP) / TrueHD encoder
- Non-Local Means (nlmeans) denoising filter
- sdl2 output device and ffplay support
- sdl1 output device and sdl1 support removed
- extended mov edit list support
- libfaac encoder removed
- Matroska muxer now writes CRC32 elements by default in all Level 1 elements
- sidedata video and asidedata audio filter
- Changed mapping of rtp MIME type G726 to codec g726le.
- spec compliant VAAPI/DXVA2 VC-1 decoding of slices in frame-coded images
- DXVA2-accelerated HEVC Main10 decoding
- fieldhint filter
- loop video filter and aloop audio filter
- Bob Weaver deinterlacing filter
- firequalizer filter
- datascope filter
- bench and abench filters
- ciescope filter
- protocol blacklisting API
- MediaCodec H264 decoding
- VC-2 HQ RTP payload format (draft v1) depacketizer and packetizer
- VP9 RTP payload format (draft v2) packetizer
- AudioToolbox audio decoders
- AudioToolbox audio encoders
- coreimage filter (GPU based image filtering on OSX)
- bitstream filter for extracting DTS core
- ADPCM IMA DAT4 decoder
- musx demuxer
Paul B Mahol's avatar
Paul B Mahol committed
- aix demuxer
F.Sluiter's avatar
F.Sluiter committed
- remap filter
- hash and framehash muxers
- colorspace filter
- readvitc filter
- VAAPI-accelerated format conversion and scaling
- libnpp/CUDA-accelerated format conversion and scaling
- Duck TrueMotion 2.0 Real Time decoder
- Wideband Single-bit Data (WSD) demuxer
- VAAPI-accelerated H.264/HEVC/MJPEG encoding
- DTS Express (LBR) decoder
- Generic OpenMAX IL encoder with support for Raspberry Pi
- IFF ANIM demuxer & decoder
- Direct Stream Transfer (DST) decoder
Kyle Swanson's avatar
Kyle Swanson committed
- loudnorm filter
- MTAF demuxer and decoder
- MagicYUV decoder
- OpenExr improvements (tile data and B44/B44A support)
- BitJazz SheerVideo decoder
- CUDA CUVID H264/HEVC decoder
- 10-bit depth support in native utvideo decoder
- libutvideo wrapper removed
James Almer's avatar
James Almer committed
- YUY2 Lossless Codec decoder
- VideoToolbox H.264 encoder
- Common Encryption (CENC) MP4 encoding and decoding support
- extrastereo filter
Paul B Mahol's avatar
Paul B Mahol committed
- ocr filter
- alimiter filter
- stereowiden filter
- stereotools filter
- rubberband filter
- tremolo filter
- agate filter
- maskedmerge filter
- Screenpresso SPV1 decoding
- chromaprint fingerprinting muxer
- ffplay dynamic volume control
- displace filter
- selectivecolor filter
- extensive native AAC encoder improvements and removal of experimental flag
- ADPCM PSX decoder
Paul B Mahol's avatar
Paul B Mahol committed
- 3dostr, dcstr, fsb, genh, vag, xvag, ads, msf, svag & vpk demuxer
- zscale filter
Paul B Mahol's avatar
Paul B Mahol committed
- wve demuxer
- zero-copy Intel QSV transcoding in ffmpeg
- shuffleframes filter
- SDX2 DPCM decoder
- vibrato filter
- innoHeim/Rsupport Screen Capture Codec decoder
- ADPCM AICA decoder
Paul B Mahol's avatar
Paul B Mahol committed
- Interplay ACM demuxer and audio decoder
- XMA1 & XMA2 decoder
- realtime filter
Kyle Swanson's avatar
Kyle Swanson committed
- anoisesrc audio filter source
Paul B Mahol's avatar
Paul B Mahol committed
- IVR demuxer
- compensationdelay filter
- acompressor filter
- support encoding 16-bit RLE SGI images
- apulsator filter
- sidechaingate audio filter
- mipsdspr1 option has been renamed to mipsdsp
- aemphasis filter
- mips32r5 option has been removed
- mips64r6 option has been removed
- DXVA2-accelerated VP9 decoding
- SOFAlizer: virtual binaural acoustics filter
- VAAPI VP9 hwaccel
- audio high-order multiband parametric equalizer
- automatic bitstream filtering
- showspectrumpic filter
- libstagefright support removed
- spectrumsynth filter
- ahistogram filter
- only seek with the right mouse button in ffplay
- toggle full screen when double-clicking with the left mouse button in ffplay
Paul B Mahol's avatar
Paul B Mahol committed
- afftfilt filter
- convolution filter
- libquvi support removed
- support for dvaudio in wav and avi
- libaacplus and libvo-aacenc support removed
- new DCA decoder with full support for DTS-HD extensions
- significant performance improvements in Windows Television (WTV) demuxer
- nnedi deinterlacer
- streamselect video and astreamselect audio filter
- swaprect filter
- metadata video and ametadata audio filter
- SMPTE VC-2 HQ profile support for the Dirac decoder
- SMPTE VC-2 native encoder supporting the HQ profile
Michael Niedermayer's avatar
Michael Niedermayer committed


version 2.8:
- colorkey video filter
- little-endian ADPCM_THP decoder
- Hap decoder and encoder
- DirectDraw Surface image/texture decoder
Paul B Mahol's avatar
Paul B Mahol committed
- ssim filter
- showvolume filter
- Many improvements to the JPEG 2000 decoder
- Go2Meeting decoding support
- adrawgraph audio and drawgraph video filter
Paul B Mahol's avatar
Paul B Mahol committed
- removegrain video filter
- Intel QSV-accelerated MPEG-2 video and HEVC encoding
- Intel QSV-accelerated MPEG-2 video and HEVC decoding
- Intel QSV-accelerated VC-1 video decoding
- libkvazaar HEVC encoder
- erosion, dilation, deflate and inflate video filters
- Dynamic Audio Normalizer as dynaudnorm filter
- Reverse video and areverse audio filter
- Random filter
- deband filter
- sidechaincompress audio filter
- bitstream filter for converting HEVC from MP4 to Annex B
- acrossfade audio filter
Clément Bœsch's avatar
Clément Bœsch committed
- allyuv and allrgb video sources
Paul B Mahol's avatar
Paul B Mahol committed
- atadenoise video filter
- OS X VideoToolbox support
- aphasemeter filter
- showfreqs filter
- vectorscope filter
- waveform filter
- hstack and vstack filter
- Support DNx100 (1440x1080@8)
- VAAPI hevc hwaccel
- VDPAU hevc hwaccel
- framerate filter
- Switched default encoders for webm to VP9 and Opus
- Removed experimental flag from the JPEG 2000 encoder
- FFT video filter
- DTS lossless extension (XLL) decoding (not lossless, disabled by default)
- showwavespic filter
- DTS decoding through libdcadec
- Drop support for nvenc API before 5.0
- nvenc HEVC encoder
- Detelecine filter
- Intel QSV-accelerated H.264 encoding
- MMAL-accelerated H.264 decoding
- basic APNG encoder and muxer with default extension "apng"
- unpack DivX-style packed B-frames in MPEG-4 bitstream filter
- WebM Live Chunk Muxer
- nvenc level and tier options
- chorus filter
- Automatically rotate videos based on metadata in ffmpeg
- improved Quickdraw compatibility
- VP9 high bit-depth and extended colorspaces decoding support
- WebPAnimEncoder API when available for encoding and muxing WebP
- Direct3D11-accelerated decoding
- Support Secure Transport
version 2.6:
- nvenc encoder
- 10bit spp filter
- colorlevels filter
- RIFX format for *.wav files
- non continuous cache protocol support
- tblend filter
- cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
- Camellia symmetric block cipher
- VOC seeking support
- Closed caption Decoder
- fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
- showpalette filter
- Twofish symmetric block cipher
- Support DNx100 (960x720@8)
- eq2 filter ported from libmpcodecs as eq filter
Paul B Mahol's avatar
Paul B Mahol committed
- removed libmpcodecs
- Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
- ported softpulldown filter from libmpcodecs as repeatfields filter
- dcshift filter
- RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
- RTP depacketizer for AC3 payload format (RFC 4184)
- palettegen and paletteuse filters
- VP9 RTP payload format (draft 0) experimental depacketizer
- RTP depacketizer for DV (RFC 6469)
- DXVA2-accelerated HEVC decoding
- AAC ELD 480 decoding
- Intel QSV-accelerated H.264 decoding
Oleksij Rempel's avatar
Oleksij Rempel committed
- DSS SP decoder and DSS demuxer
- Fix stsd atom corruption in DNxHD QuickTimes
Vittorio Giovara's avatar
Vittorio Giovara committed
- Canopus HQX decoder
- RTP depacketization of T.140 text (RFC 4103)
Andreas Cadhalpun's avatar
Andreas Cadhalpun committed
- Port MIPS optimizations to 64-bit

version 2.5:
- HEVC/H.265 RTP payload format (draft v6) packetizer
- SUP/PGS subtitle demuxer
- ffprobe -show_pixel_formats option
- CAST128 symmetric block cipher, ECB mode
- STL subtitle demuxer and decoder
- libutvideo YUV 4:2:2 10bit support
- XCB-based screen-grabber
- UDP-Lite support (RFC 3828)
- AVFoundation screen capturing support
- ffserver supports codec private options
- creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
- WebP muxer with animated WebP support
- zygoaudio decoding support
- postproc visualization support
Michael Niedermayer's avatar
Michael Niedermayer committed

version 2.4:
- Icecast protocol
- ported lenscorrection filter from frei0r filter
- large optimizations in dctdnoiz to make it usable
- ICY metadata are now requested by default with the HTTP protocol
- support for using metadata in stream specifiers in fftools
- LZMA compression support in TIFF decoder
- H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
- HEVC/H.265 RTP payload format (draft v6) depacketizer
- added codecview filter to visualize information exported by some codecs
- Matroska 3D support thorugh side data
- HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
Paul B Mahol's avatar
Paul B Mahol committed
- silenceremove filter
- AC3 fixed-point decoding
- shuffleplanes filter
- subfile protocol
- Phantom Cine demuxer
- replaygain data export
Peter Ross's avatar
Peter Ross committed
- VP7 video decoder
- Alias PIX image encoder and decoder
Lou Logan's avatar
Lou Logan committed
- Improvements to the BRender PIX image decoder
- Improvements to the XBM decoder
- QTKit input device
Lou Logan's avatar
Lou Logan committed
- improvements to OpenEXR image decoder
- support decoding 16-bit RLE SGI images
- GDI screen grabbing for Windows
- alternative rendition support for HTTP Live Streaming
- AVFoundation input device
- Direct Stream Digital (DSD) decoder
- Magic Lantern Video (MLV) demuxer
Kostya Shishkov's avatar
Kostya Shishkov committed
- On2 AVC (Audio for Video) decoder
- support for decoding through DXVA2 in ffmpeg
- libbs2b-based stereo-to-binaural audio filter
- libx264 reference frames count limiting depending on level
- native Opus decoder
- display matrix export and rotation API
- WebVTT encoder
- showcqt multimedia filter
Paul B Mahol's avatar
Paul B Mahol committed
- zoompan filter
- signalstats filter
- hqx filter (hq2x, hq3x, hq4x)
- flanger filter
- Image format auto-detection
- LRC demuxer and muxer
- Samba protocol (via libsmbclient)
- WebM DASH Manifest muxer
- libfribidi support in drawtext
Michael Niedermayer's avatar
Michael Niedermayer committed

version 2.2:

- HNM version 4 demuxer and video decoder
- setsar/setdar filters now support variables in ratio expressions
Stefano Sabatini's avatar
Stefano Sabatini committed
- elbg filter
- string validation in ffprobe
- support for decoding through VDPAU in ffmpeg (the -hwaccel option)
- complete Voxware MetaSound decoder
Timothy Gu's avatar
Timothy Gu committed
- remove mp3_header_compress bitstream filter
- Windows resource files for shared libraries
- aeval filter
- stereoscopic 3d metadata handling
- WebP encoding via libwebp
Maxim Poliakovski's avatar
Maxim Poliakovski committed
- ATRAC3+ decoder
- VP8 in Ogg demuxing
- side & metadata support in NUT
- XYZ12 rawvideo support in NUT
- Exif metadata support in WebP decoder
Lukasz Marek's avatar
Lukasz Marek committed
- OpenGL device
- Use metadata_header_padding to control padding in ID3 tags (currently used in
  MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
- Mirillis FIC video decoder
Derek Buitenhuis's avatar
Derek Buitenhuis committed
- libx265 encoder
- Autodetect VDA like all other hardware accelerations
- aliases and defaults for Ogg subtypes (opus, spx)
Michael Niedermayer's avatar
Michael Niedermayer committed

version 2.1:

Paul B Mahol's avatar
Paul B Mahol committed
- aecho filter
- perspective filter ported from libmpcodecs
- ffprobe -show_programs option
Paul B Mahol's avatar
Paul B Mahol committed
- compand filter
- when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
  even when used as an input option. Previous behavior can be restored with
  the -noaccurate_seek option.
- ffmpeg -t option can now be used for inputs, to limit the duration of
  data read from an input file
- incomplete Voxware MetaSound decoder
- read EXIF metadata from JPEG
- DVB teletext decoder
- phase filter ported from libmpcodecs
- w3fdif filter
- FFV1 version 1.3 is stable and no longer experimental
- FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
- changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
  more consistent with other muxers.
- adelay filter
- pullup filter ported from libmpcodecs
- ffprobe -read_intervals option
- Lossless and alpha support for WebP decoder
- Error Resilient AAC syntax (ER AAC LC) decoding
- Low Delay AAC (ER AAC LD) decoding
- mux chapters in ASF files
- SFTP protocol (via libssh)
- libx264: add ability to encode in YUVJ422P and YUVJ444P
- Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
- make decoding alpha optional for prores, ffv1 and vp6 by setting
  the skip_alpha flag.
- ladspa wrapper filter
Ronald S. Bultje's avatar
Ronald S. Bultje committed
- native VP9 decoder
Paul B Mahol's avatar
Paul B Mahol committed
- dpx parser
- max_error_rate parameter in ffmpeg
Lukasz Marek's avatar
Lukasz Marek committed
- PulseAudio output device
- ReplayGain scanner
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
- Linux framebuffer output device
- raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
- mergeplanes filter
- curves filter
- reference-counting for AVFrame and AVPacket data
- ffmpeg now fails when input options are used for output file
- support for Monkey's Audio versions from 3.93
- perms and aperms filters
Marton Balint's avatar
Marton Balint committed
- audio filtering support in ffplay
- 10% faster aac encoding on x86 and MIPS
- sine audio filter source
Michael Niedermayer's avatar
Michael Niedermayer committed
- WebP demuxing and decoding support
- ffmpeg options -filter_script and -filter_complex_script, which allow a
  filtergraph description to be read from a file
- OpenCL support
Paul B Mahol's avatar
Paul B Mahol committed
- audio phaser filter
Paul B Mahol's avatar
Paul B Mahol committed
- separatefields filter
- libquvi demuxer
- uniform options syntax across all filters
Paul B Mahol's avatar
Paul B Mahol committed
- telecine filter
- interlace filter
- smptehdbars source
- inverse telecine filters (fieldmatch and decimate)
Paul B Mahol's avatar
Paul B Mahol committed
- colorbalance filter
Paul B Mahol's avatar
Paul B Mahol committed
- colorchannelmixer filter
- The matroska demuxer can now output proper verbatim ASS packets. It will
  become the default at the next libavformat major bump.
- decent native animated GIF encoding
- asetrate filter
- interleave filter
- timeline editing with filters
- vidstabdetect and vidstabtransform filters for video stabilization using
  the vid.stab library
Paul B Mahol's avatar
Paul B Mahol committed
- astats filter
- ffmpeg -t and -ss (output-only) options are now sample-accurate when
- Matroska muxer can now put the index at the beginning of the file.
Paul B Mahol's avatar
Paul B Mahol committed
- extractplanes filter
Paul B Mahol's avatar
Paul B Mahol committed
- avectorscope filter
James Almer's avatar
James Almer committed
- ADPCM DTK decoder
James Almer's avatar
James Almer committed
- ADP demuxer
James Almer's avatar
James Almer committed
- RSD demuxer
James Almer's avatar
James Almer committed
- RedSpark demuxer
James Almer's avatar
James Almer committed
- ADPCM IMA Radical decoder
Stefano Sabatini's avatar
Stefano Sabatini committed
- zmq filters
- DCT denoiser filter (dctdnoiz)
- Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
- Apple Intermediate Codec decoder
Eli Friedman's avatar
Eli Friedman committed
- Escape 130 video decoder
Lukasz Marek's avatar
Lukasz Marek committed
- FTP protocol support
Clément Bœsch's avatar
Clément Bœsch committed
- V4L2 output device
- 3D LUT filter (lut3d)
- SMPTE 302M audio encoder
- support for slice multithreading in libavfilter
- Hald CLUT support (generation and filtering)
- VC-1 interlaced B-frame support
- support for WavPack muxing (raw and in Matroska)
- XVideo output device
- vignette filter
Paul B Mahol's avatar
Paul B Mahol committed
- True Audio (TTA) encoder
Kostya Shishkov's avatar
Kostya Shishkov committed
- Go2Webinar decoder
- mcdeint filter ported from libmpcodecs
- sab filter ported from libmpcodecs
- ffprobe -show_chapters option
- WavPack encoding through libwavpack
- rotate filter
Clément Bœsch's avatar
Clément Bœsch committed
- spp filter ported from libmpcodecs
wm4's avatar
wm4 committed
- libgme support
Paul B Mahol's avatar
Paul B Mahol committed
- psnr filter
- VDPAU hardware acceleration through normal hwaccel
- Error diffusion dither in Swscale
- Theora Midstream reconfiguration support
Paul B Mahol's avatar
Paul B Mahol committed
- EVRC decoder
Paul B Mahol's avatar
Paul B Mahol committed
- audio fade filter
- filtering audio with unknown channel layout
- allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
  and treble audio filter
- improved showspectrum filter, with multichannel support and sox-like colors
Paul B Mahol's avatar
Paul B Mahol committed
- histogram filter
- tee muxer
Paul B Mahol's avatar
Paul B Mahol committed
- il filter ported from libmpcodecs
- support ID3v2 tags in ASF files
- encrypted TTA stream decoding support
- RF64 support in WAV muxer
- noise filter ported from libmpcodecs
- Subtitles character encoding conversion
Paul B Mahol's avatar
Paul B Mahol committed
- blend filter
- stereo3d filter ported from libmpcodecs
- stream disposition information printing in ffprobe
- filter for loudness analysis following EBU R128
- Opus encoder using libopus
- ffprobe -select_streams option
- Pinnacle TARGA CineWave YUV16 decoder
- TAK demuxer, decoder and parser
Paul B Mahol's avatar
Paul B Mahol committed
- DTS-HD demuxer
- remove -same_quant, it hasn't worked for years
- X-Face image encoder and decoder
- 24-bit FLAC encoding
- multi-channel ALAC encoding up to 7.1
- metadata (INFO tag) support in WAV muxer
- subtitles raw text decoder
- support for building DLLs using MSVC
Paul B Mahol's avatar
Paul B Mahol committed
- LVF demuxer
- ffescape tool
Paul B Mahol's avatar
Paul B Mahol committed
- metadata (info chunk) support in CAF muxer
- field filter ported from libmpcodecs
Paul B Mahol's avatar
Paul B Mahol committed
- AVR demuxer
Clément Bœsch's avatar
Clément Bœsch committed
- geq filter ported from libmpcodecs
- remove ffserver daemon mode
James Almer's avatar
James Almer committed
- AST muxer/demuxer
- new expansion syntax for drawtext
- BRender PIX image decoder
- ffprobe -sections option
Paul B Mahol's avatar
Paul B Mahol committed
- ADPCM IMA Dialogic decoder
Paul B Mahol's avatar
Paul B Mahol committed
- BRSTM demuxer
Paul B Mahol's avatar
Paul B Mahol committed
- animated GIF decoder and demuxer
Paul B Mahol's avatar
Paul B Mahol committed
- PVF demuxer
- subtitles filter
Paul B Mahol's avatar
Paul B Mahol committed
- IRCAM muxer/demuxer
- Paris Audio File demuxer
- Virtual concatenation demuxer
Clément Bœsch's avatar
Clément Bœsch committed
- VobSub demuxer
- JSON captions for TED talks decoding support
- SOX Resampler support in libswresample
- SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
- Silicon Graphics Movie demuxer
- apad filter
- Resolution & pixel format change support with multithreading for H.264
- documentation split into per-component manuals
Clément Bœsch's avatar
Clément Bœsch committed
- pp (postproc) filter ported from MPlayer
Paul B Mahol's avatar
Paul B Mahol committed
- NIST Sphere demuxer
- MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
Paul B Mahol's avatar
Paul B Mahol committed
- Sony Wave64 muxer
- adobe and limelight publisher authentication in RTMP
- data: URI scheme
- support building on the Plan 9 operating system
- kerndeint filter ported from MPlayer
- histeq filter ported from VirtualDub
- Megalux Frame demuxer
Carl Eugen Hoyos's avatar
Carl Eugen Hoyos committed
- 012v decoder
- Improved AVC Intra decoding support
- INI and flat output in ffprobe
- Scene detection in libavfilter
- Indeo Audio decoder
- channelsplit audio filter
- setnsamples audio filter
Pavel Koshevoy's avatar
Pavel Koshevoy committed
- atempo filter
- ffprobe -show_data option
- RTMPT protocol support
- iLBC encoding/decoding via libilbc
- Microsoft Screen 1 decoder
- join audio filter
- audio channel mapping filter
- Microsoft ATC Screen decoder
Jordi Ortiz's avatar
Jordi Ortiz committed
- RTSP listen mode
- TechSmith Screen Codec 2 decoder
- AAC encoding via libfdk-aac
- Microsoft Expression Encoder Screen decoder
Samuel Pitoiset's avatar
Samuel Pitoiset committed
- RTMPS protocol support
Samuel Pitoiset's avatar
Samuel Pitoiset committed
- RTMPTS protocol support
Samuel Pitoiset's avatar
Samuel Pitoiset committed
- RTMPE protocol support
Samuel Pitoiset's avatar
Samuel Pitoiset committed
- RTMPTE protocol support
- showwaves and showspectrum filter
- LucasArts SMUSH SANM playback support
- LucasArts SMUSH VIMA audio decoder (ADPCM)
- SAMI, RealText and SubViewer demuxers and decoders
- Heart Of Darkness PAF playback support
- iec61883 device
- asettb filter
- new option: -progress
- 3GPP Timed Text encoder/decoder
- GeoTIFF decoder support
- ffmpeg -(no)stdin option
- Opus decoder using libopus
- caca output device using libcaca
- alphaextract and alphamerge filters
- concat filter
- flite filter
- Canopus Lossless Codec decoder
- bitmap subtitles in filters (experimental and temporary)
- MP2 encoding via TwoLAME
Paul B Mahol's avatar
Paul B Mahol committed
- bmp parser
- smptebars source
- asetpts filter
Jérémy Tran's avatar
Jérémy Tran committed
- hue filter
Michael Bradshaw's avatar
Michael Bradshaw committed
- ICO muxer
- SubRip encoder and decoder without embedded timing
- edge detection filter
- framestep filter
- ffmpeg -shortest option is now per-output file
  -pass and -passlogfile are now per-output stream
- volume measurement filter
Jan Ekström's avatar
Jan Ekström committed
- Ut Video encoder
Alberto Delmás's avatar
Alberto Delmás committed
- Microsoft Screen 2 decoder
- smartblur filter ported from MPlayer
Stephan Hilb's avatar
Stephan Hilb committed
- CPiA decoder
- decimate filter ported from MPlayer
- RTP depacketization of JPEG
- Smooth Streaming live segmenter muxer
- F4V muxer
- sendcmd and asendcmd filters
- WebVTT demuxer and decoder (simple tags supported)
- RTP packetization of JPEG
- faststart option in the MOV/MP4 muxer
- support for building with MSVC

version 0.11:

- Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
         CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
         CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
         CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
         CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
         CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
Paul B Mahol's avatar
Paul B Mahol committed
- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
- setfield filter
Paul B Mahol's avatar
Paul B Mahol committed
- CDXL demuxer and decoder
Kostya Shishkov's avatar
Kostya Shishkov committed
- Apple ProRes encoder
- ffprobe -count_packets and -count_frames options