Help us keep the list up to date and submit new video software here.

Software Home »

Complete Version history / Release notes / Changelog / What's New for Libav

version 12.3:

- pictor: Correctly check frame dimension (CVE-2017-7862)
- smacker: add sanity check for length in smacker_decode_tree() (CVE-2017-16803)
- smacker: limit recursion depth of smacker_decode_bigtree
- cmdutils: update copyright year to 2018
- matroskadec: allow RealAudio/Cook/Sipro streams of flavor 0 (bug/1055)
- avconv: only retry decoding on actual decoding errors (bug/1089)
- vc1: skip motion compensation when data for last picture is invalid (bug/1101)
- avcodec/vc1dec: fix mby_start for interlaced content (bug/1100)

version 12.2:

- mpegvideo_motion: Handle edge emulation even without unrestricted_mv (bug/962, bug/1060)
- smacker: Check that the data size is a multiple of a sample vector (CVE-2015-8365)
- build: Add an option for passing linker flags to the shared library build
- configure: Simplify and fix libxcb check
- openssl: Support version 1.1.0.
- rtmpdh: Don't use the OpenSSL DH struct
- dvbsubdec: Fixed segfault when decoding subtitles
- doc: Drop the legacy symlink to README
- dfa: Disallow odd width/height and add proper bounds check for DDS1 chunks (CVE-2017-9992)
- rmdec: don't ignore the return value of av_get_packet()
- caf: add an Opus tag
- h264dec: Fix mix of lossless and lossy MBs decoding
- h264_cabac: Fix CABAC+8x8dct in 4:4:4
- h264dec: fix Lossless Decoding (Profile 244) for 8x8 Intra Prediction
- h264dec: track the last seen value of x264_build
- h264dec: use a large enough field for reference list modification values
- yadif: Account for the buffer alignment while processing the frame edges (bug/1031)
- mov: log and return early on non-positive stsd entry counts
- mov: Do not set stsd_count if mov_read_stsd() fails
- mov: move stsd finalization to an appropriate place (bug/1072)
- arm: Fix SIGBUS on ARM when compiled with binutils 2.29
- smacker: return meaningful error codes on failure
- smacker: fix integer overflow with pts_inc (bug/1073)

version 12.1:

- vaapi_h264: fix RefPicList[] field flags.
- libilbc: support for latest git of libilbc
- libopusdec: default to stereo for invalid number of channels
- avpacket: fix leak on realloc in av_packet_add_side_data()
- mpegvideo: Return correct coded frame sizes from parser
- hwcontext_vaapi: Don't abort on failing to allocate from a fixed-size pool
- mov: Update colr values
- avconv: Fix the audio next dts computation
- mss2: only use error correction for matching block counts
- h264_slice: Wait for refs to be available before we use them in error concealment
- hevc: decouple calling get_format() from exporting the SPS parameters
- hevcdec: do not set decoder-global SPS prematurely
- mov: fix a possible invalid read in mov_read_mac_string() (bug/972, bug/1003)
- mpegvideo_parser: avoid signed overflow in bitrate calculation (bug/981)
- mpeg12dec: avoid signed overflow in bitrate calculation (bug/981)
- mpeg12dec: move setting first_field to mpeg_field_start() (bug/999)
- h264dec: make sure to only end a field if it has been started (bug/977, bug/978, bug/992)
- matroskadec: fix SRT subtitle duration
- http: Check for negative chunk sizes
- cmdutils: update copyright year to 2017
- matroskadec: make sure not to leave EbmlBin in an inconsistent state (bug/1001)
- asfdec: Use the ASF stream count when iterating
- aac: Validate the sbr sample rate before using the value (bug/1027)
- mov: Do not try to parse multiple stsd for the same track (bug/1017)
- vf_fade: Make sure to not miss the last lines of a frame
- asfdec: Account for different Format Data sizes (bug/1020)
- asfdec: fix reading files larger than 2GB
- h264dec: fix dropped initial SEI recovery point
- rtmppkt: Check for packet size mismatches
- apetag: fix flag value to signal footer presence
- apetag: account for header size if present when returning the start position
- lavc: make sure not to return EAGAIN from codecs
- h264dec: initialize field_started to 0 on each decode call (bug/1019)
- h2645_parse: use the bytestream2 API for packet splitting (bug/1002)
- h264_cavlc: check the value of run_before (bug/1000)
- nsvdec: don't ignore the return value of av_get_packet() (bug/1039)
- mpeg4videodec: raise an error if sprite_trajectory.table is NULL (bug/1012)
- dca: Validate the channel map (bug/1016)
- avformat: Free the internal codec context at the end
- dca: Account for lfe when checking for the channel count (bug/1037)
- flv: Validate the packet size (bug/1041)
- mjpeg: Report non-3 component rgb lossless as not supported (bug/1043)
- mm: Skip unexpected audio packets (bug/1046)
- vc1dec: raise an error if sprite picture data is missing (bug/1013)
- avplay: Do not try to allocate new frames when the player is closing (bug/1052)
- avprobe: Handle unknown values for the color description (bug/1040)
- aacsbr: Turnoff in the event of over read. (bug/1047)
- h264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking() (bug/1036)

version 12:

- aliases and defaults for Ogg subtypes (opus, spx)
- HEVC/H.265 RTP payload format (draft v6) packetizer and depacketizer
- avplay now exits by default at the end of playback
- XCB-based screen-grabber
- creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
- H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
- RTP/mpegts muxer
- VP8 in Ogg demuxing
- OpenH264 encoder wrapper
- Support DNx100 (960x720@8)
- Direct3D11-accelerated decoding
- DXVA2-accelerated HEVC decoding
- AAC ELD 480 decoding
- Intel QSV-accelerated H.264 decoding
- DSS SP decoder and DSS demuxer
- RTP depacketizer for AC3 payload format (RFC 4184)
- RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
- RTP depacketizer for DV (RFC 6469)
- Canopus HQX decoder
- RTP depacketization of T.140 text (RFC 4103)
- VP9 RTP payload format (draft 0) experimental depacketizer
- TDSC decoder
- DTS lossless extension (XLL) decoding (not lossless, disabled by default)
- Intel QSV-accelerated H.264 encoding
- MMAL-accelerated H.264 decoding
- DTS decoding through libdcadec
- Canopus HQ/HQA decoder
- Automatically rotate videos based on metadata in avconv
- improved Quickdraw compatibility
- NVIDIA NVENC-accelerated H.264 and HEVC encoding support
- Multipart JPEG demuxer
- Support the extended vp9 profiles in the libvpx wrapper
- Hap decoder and encoder
- DirectDraw Surface image/texture decoder
- rewritten ASF demuxer
- Go2Meeting decoding support
- Intel QSV-accelerated MPEG-2 video and HEVC encoding
- bitstream filter for converting HEVC from MP4 to Annex B
- Intel QSV-accelerated MPEG-2 video and HEVC decoding
- Support DNx100 (1440x1080@8)
- DXV decoding
- Screenpresso SPV1 decoding
- zero-copy Intel QSV transcoding in avconv
- libkvazaar HEVC encoder
- innoHeim/Rsupport Screen Capture Codec decoder
- support encoding 16-bit RLE SGI images
- support Apple AVFoundation video capture
- G.723.1 muxer and encoder
- compressed SWF
- VAAPI-accelerated format conversion and scaling
- libnpp/CUDA-accelerated format conversion and scaling
- VAAPI-accelerate H.264/HEVC/MJPEG encoding
- Generic OpenMAX IL encoder with support for Raspberry Pi
- MMAL-accelerated MPEG-2 and VC-1 decoding
- G.729 raw demuxer
- MagicYUV decoder
- Duck TrueMotion 2.0 Real Time decoder
- Intel QSV video scaling and deinterlacing filter
- Support MOV with multiple sample description tables
- OpenH264 decoder wrapper
- Removed the legacy X11 screen grabber, use XCB instead
- HDCD decoding filter through libhdcd

version 11.8:

- ppc: Support little endian intreadwrite
- ppc: avutil: Drop a potentially dangerous workaround
- ppc: linux: Check altivec using the auxv
- ppc: Restrict some Altivec implementations to Big Endian
- fft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs
- ac3: Check the array bound before dereferencing
- librtmp: Avoid an infiniloop setting connection arguments
- h264: only allow starting a new picture in the first slice thread
- mimic: do not release the newly obsolete reference at the end of decoding
- buffer: fix av_buffer_realloc() when the data is offset wrt buffer start
- vp9: make mv bounds 32bit.
- riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data.
- vmnc: check that subrectangles fit into their containing rectangles
- alac: do not return success if nothing was decoded
- qpeg: fix an off by 1 error in the MV check
- cook: use the bytestream2 API for reading extradata
- pcx: properly pad the scanline
- pcx: check that the packet is large enough before reading the header
- pcx: use the bytestream2 API for reading from input
- vc1: check that slices have a positive height
- mss12: validate display dimensions
- mov: Remove ancient heuristic hack
- mov: Remove old b-frame/video delay heuristic
- avprobe: do not call avio_close() on a custom context
- avprobe: Fix memory leak

version 11.7:

- asfenc: fix some possible integer overflows (CVE-2016-2326)
- vf_fade: make sure the slice end is always in the frame
- tls: Use the right return value for breaking out due to the interrupt callback
- avpacket: Check buffer reference (CID/1267889)
- avpacket: fix setting in av_packet_ref()
- cmdutils: update copyright year to 2016
- colorspace: Add support for BT709
- pgssub: Fix subpicture colorspace and range
- indeo2: Fix banding artefacts
- mov: Check the entries value when parsing dref boxes (CVE-2016-3062)
- matroska: Support V_QUICKTIME as written in the specification

version 11.6:

- configure: add --enable-rpath
- concat: disable by default

version 11.5:

- aac_parser: add required padding for GetBitContext buffer
- ac3_parser: add required padding for GetBitContext buffer
- imc: add required padding for GetBitContext buffer
- h263: Always check both dimensions
- opusdec: properly handle mismatching configurations in multichannel streams (bug/876)
- configure: Set the initial ldflags to match the cflags
- configure: mips: Support mips r6, r2 and r1
- mips: intreadwrite: Only execute that code for mips r1 or r2
- vc1: Use logical instead of bitwise or for twomv
- configure: address a copy-paste typo
- rtmpcrypt: Do the xtea decryption in little endian mode
- mov: Correctly allocate ctts_data
- mov: Fix two memleaks
- bink: Factorize bink put_pixel
- aac: Wait to know the channels before allocating frame
- configure: Support MSVC 2015 (bug/864)
- rtpdec_asf: Check memory allocation and free memory on error (CID/1257774)
- jack: Check memory allocation (CID/1292520)
- mov: Check memory allocation (CID/1292518)
- audiointerleave: Always initialize new_pkt (CID/609333)
- sctp: Always initialize outmsg struct (CID/1302711)
- mkv: Correctly report the latest packet had been flushed (bug/865)
- h264_weight: Fix SSSE3 biweight code with weights of 128
- lavc: Clarify the behaviour of dimension and format context fields
- h264: make sure the current picture is not made a long ref multiple times
- aic: Fix slice size computation for widths multiples of 32 macroblocks
- mov: Preserve the metadata even when bit-exactness is requested (bug/845)
- webp: Make sure enough bytes are available
- h261: Set 'still image mode off' in picture header (bug/872)
- h261: Signal freeze picture release for intra frames (bug/873)
- avconv: vda: Unlock the pixel buffer once it is accessed
- g726: Do not crash on user mistake
- bytestream2: set the reader to the end when reading more than available
- arm: use a local label instead of the function symbol in ff_prefetch_arm
- af_channelmap: properly set the supported output channel layouts
- rtsp: Only interpret $ as interleaved packet indicator at the start of replies
- rtsp: Allow $ as interleaved packet indicator before a complete response header
- configure: arm: Assume softfp ABI on darwin
- vp7: bound checking in vp7_decode_frame_header
- imgutils: Fix a typo in avcodec_get_pix_fmt_loss
- mux: Make sure that the data is actually written (bug/881)
- file: properly forward errors from file_read() and file_write() (bug/881)
- mmvideo: Make sure the rle does not write over the frame boundaries (bug/887)
- opus: Buffer the samples from the correct offset (bug/909)
- nut: Use the correct codec_tag when multiple are available (bug/883)
- truemotion2: Fix the buffer check (bug/906)
- flashsv: Initialize the block array (bug/908)
- mimic: Always return on failure (bug/905)
- msnwc_tcp: Correctly report failure
- lagarith: Correctly compute hash_shift (bug/907)
- rpza: Check the blocks left before processing one (bug/903)
- dvdsubdec: Validate the RLE offsets
- avi: Validate the stream-id for DV as well (bug/879)
- mov: Use the correct type for size (bug/921)
- mov: Force the full parsing of mp3 (bug/899)
- mkv: Force the full parsing of mp3
- matroska: Always consider S_TEXT/UTF8 as SRT when demuxing

version 11.4:

- h264: Make sure reinit failures mark the context as not initialized (CVE-2015-3417)
- msrle: Use FFABS to determine the frame size in msrle_decode_pal4 (CVE-2015-3395)
- cavs: Remove an unneeded scratch buffer
- configure: Disable i686 for i586 and lower CPUs (debian/783082)
- mjpegenc: Fix JFIF header byte ordering (bug/808)
- nut: Make sure to clean up on read_header failure
- png: Set the color range as full range
- avi: Validate sample_size
- nut: Check chapter creation in decode_info_header
- alac: Reject rice_limit 0 if compression is used
- ape: Support _0000 files with nblock smaller than 64
- mux: Do not leave stale side data pointers in ff_interleave_add_packet()
- avresample: Reallocate the internal buffer to the correct size (bug/825)
- mpegts: Update the PSI/SI table only if the version change
- rtsp: Make sure we don't write too many transport entries into a fixed-size array
- rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
- mov: Fix little endian audio detection
- x86: Put COPY3_IF_LT under HAVE_6REGS (gentoo/541930)
- roqvideoenc: set enc->avctx in roq_encode_init
- mp3: Properly use AVCodecContext API
- libvpx: Fix mixed use of av_malloc() and av_reallocp()
- Revert "lavfi: always check av_expr_parse_and_eval() return value"
- alsdec: only adapt order for positive max_order
- alsdec: check sample pointer range in revert_channel_correlation
- aacpsy: correct calculation of minath in psy_3gpp_init
- alsdec: limit avctx->bits_per_raw_sample to 32
- aasc: return correct buffer size from aasc_decode_frame
- matroskadec: fix crash when parsing invalid mkv
- avconv: do not overwrite the stream codec context for streamcopy
- webp: ensure that each transform is only used once
- h264_ps: properly check cropping parameters against overflow
- hevc: zero the correct variables on invalid crop parameters
- hevc: make the crop sizes unsigned

version 11.3:

- utvideodec: Handle slice_height being zero (CVE-2014-9604)
- adxdec: set avctx->channels in adx_read_header
- rmenc: limit packet size
- webp: validate the distance prefix code
- rv10: check size of s->mb_width * s->mb_height
- eamad: check for out of bounds read (CID/1257500)
- mdec: check for out of bounds read (CID/1257501)
- configure: Properly fail when libcdio/cdparanoia is not found
- tiff: Check that there is no aliasing in pixel format selection (CVE-2014-8544)
- aic: Fix decoding files with odd dimensions
- vorbis: Check the vlc value in setup_classifs
- arm: Suppress tags about used cpu arch and extensions
- prores: Extend the padding check to 16bit
- icecast: Do not use chunked post, allows feeding to icecast properly
- img2dec: correctly use the parsed value from -start_number
- h264_cabac: Break infinite loops
- hevc_deblock: Fix compilation with nasm (libav #795)
- h264: initialize H264Context.avctx in init_thread_copy
- h264: Do not share rbsp_buffer across threads
- h264: only ref cur_pic in update_thread_context if it is initialized
- matroskadec: Fix read-after-free in matroska_read_seek() (chromium #427266)
- log: Unbreak no-tty support on 256color terminals

version 11.2:

- h264: restore a block mistakenly removed in e10fd08a (libav #781)
- on2avc: check number of channels (CVE-2014-8549)
- smc: fix the bounds check (CVE-2014-8548)
- gifdec: refactor interleave end handling (CVE-2014-8547)
- mmvideo: check frame dimensions (CVE-2014-8543)
- jvdec: check frame dimensions (CVE-2014-8542)
- mjpegdec: check for pixel format changes (CVE-2014-8541)
- mov: avoid a memleak when multiple stss boxes are present
- vc1: Do not assume seek happens after decoding
- avconv: Use the mpeg12 private option scan_offset (debian/773055)
- xsub: Support DXSA subtitles
- mp3dec: fix reading the Xing tag
- matroskaenc: write correct Display{Width, Height} in stereo encoding
- configure: Fix enabling memalign_hack automatically
- mp3enc: fix a triggerable assert
- latm: Do not give a score for a single instance
- mp3: Tweak the probe scores
- matroskaenc: write correct Display{Width, Height} in stereo encoding
- configure: Fix enabling memalign_hack automatically
- coverity: Fix most of the reported warnings and issues

version 11.1:

- Replace lena.pnm (debian#771126)
- Treat all '*.pnm' files as non-text file
- opusdec: make sure all substreams have the same number of coded samples
- lavu: fix memory leaks by using a mutex instead of atomics
- lavu: add wrappers for the pthreads mutex API
- mp3enc: fix a triggerable assert
- resample: Avoid off-by-1 errors in PTS calcs. (libav#753)
- imc: fix order of operations in coefficients read
- hevc_mvs: make sure to always initialize the temporal MV fully
- hevc_mvs: initialize the temporal MV in case of missing ref
- h264: reset ret to avoid propagating minor failures (libav#750 / lp#905753)
- hevc: Initialize mergecand_list to 0
- mpeg12: Always invoke the get_format() callback
- h264: Always invoke the get_format() callback
- Update default FATE URL for release/11
- apetag: Fix APE tag size check

version 11:
- libx265 encoder
- shuffleplanes filter
- replaygain data export
- Alias PIX image encoder and decoder
- BRender PIX image decoder
- Amazing Studio PAF playback support
- XBM decoder
- BMP standalone parser
- OpenEXR image decoder
- support encoding and decoding 4-channel SGI images
- support decoding 16-bit RLE SGI images
- VP7 video decoder
- LucasArts SMUSH SANM video decoder
- LucasArts SMUSH VIMA audio decoder (ADPCM)
- LucasArts SMUSH demuxer
- MP2 encoding via TwoLAME
- asettb filter
- Silicon Graphics RLE 8-bit video decoder
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
- Silicon Graphics Movie demuxer
- On2 AVC (Audio for Video) decoder
- support for decoding through DXVA2 in avconv
- libbs2b-based stereo-to-binaural audio filter
- native Opus decoder
- display matrix export and rotation API
- drop avserver, it was unmaintained for years and largely broken
- Icecast protocol
- request Icecast metadata by default
- support for using metadata in stream specifiers in avtools
- Matroska 3D support

version 10.3:
- huffyuv: Check and propagate function return values (CVE-2013-0868)
- h264: prevent theoretical infinite loop in SEI parsing (CVE-2011-3946)
- pgssubdec: Check RLE size before copying (CVE-2013-0852)
- video4linux2: Avoid a floating point exception
- vf_select: Drop a debug av_log with an unchecked double to enum conversion
- librtmp: Don't free the temp url at the end of rtmp_open
- arm: Avoid using the 'setend' instruction on ARMv7 and newer
- avplay: Handle pixel aspect ratio properly
- eamad: use the bytestream2 API instead of AV_RL (CVE-2013-0851)
- pg2meet: allow size changes within original sizes
- af_compand: make sure request_frame always outputs at least one frame

version 10.2:
- adpcm: Write the proper predictor in trellis mode in IMA QT
- adpcm: Avoid reading out of bounds in the IMA QT trellis encoder
- oggenc: Set the right AVOption size for the pref_duration option
- avpacket: fix copying side data in av_packet_copy_props()
- jpeg2000: fix dereferencing invalid pointers during cleanup
- Check mp3 header before calling avpriv_mpegaudio_decode_header() (bug/705)
- Check if an mp3 header is using a reserved sample rate
- lzo: Handle integer overflow (bug/704)
- avconv: make -shortest work with streamcopy
- ppc: Fix compilation for ppc64le (ELFv2) (ubuntu/1263802)
- aarch64: Use the correct syntax for relocations (debian/751856, ubuntu/1323144)

version 10.1:
- pcm-dvd: Fix 20bit decoding (bug/592)
- avi: Improve non-interleaved detection (bug/666)
- arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
- arm: hpeldsp: prevent overreads in armv6 asm (bug/646)
- avfilter: Add missing emms_c when needed
- rtmpproto: Check the buffer sizes when copying app/playpath strings
- swscale: Fix an undefined behaviour
- vp9: Read the frame size as unsigned
- dcadec: Use correct channel count in stereo downmix check
- dcadec: Do not decode the XCh extension when downmixing to stereo
- matroska: add the Opus mapping
- matroskadec: read the CodecDelay element
- rtmpproto: Make sure to pass on the error code if read_connect failed
- lavr: allocate the resampling buffer with a positive size
- mp3enc: Properly write bitrate value in XING header (debian/736088)
- golomb: Fix the implementation of get_se_golomb_long

version 10:
- af_channelmap: fix ONE_STR mapping mode
- matroskaenc: HEVC fixeswrite private data in hvcC format for HEVC.
- doc: Point to the correct, actually maintained gas-preprocessor repo
- http: Add support reading ICY metadata
- configure: Support older version of openjpeg1

version 10~beta2:
- compand audio filter
- and many various smaller fixes, for a full changelog, please refer to:

version 10~beta1:
- av_strnstr
- support ID3v2 tags in ASF files
- reference-counting for AVFrame and AVPacket data
- avconv now fails when input options are used for output file
or vice versa
- avconv options -filter_script and -filter_complex_script, which allow a
filtergraph description to be read from a file
- uniform options syntax across all filters
- interlace filter
- JPEG 2000 decoder
- asetpts filter (same as setpts, but for audio)
- trim and atrim filters
- avconv -t and -ss (output-only) options are now sample-accurate when
transcoding audio
- Matroska muxer can now put the index at the beginning of the file.
- avconv -deinterlace option removed, the yadif filter should be used instead
- Apple Intermediate Codec decoder
- Escape 130 video decoder
- support for slice multithreading in libavfilter
- VC-1 interlaced B-frame support
- support for WavPack muxing (raw and in Matroska)
- Go2Webinar decoder
- WavPack encoding through libwavpack
- Added the -n parameter to avconv
- RTMP seek support
- when transcoding with avconv (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.
- avconv -t option can now be used for inputs, to limit the duration of
data read from an input file
- Voxware MetaSound decoder
- WebP decoder
- Error Resilient AAC syntax (ER AAC LC) decoding
- Low Delay AAC (ER AAC LD) decoding
- mux chapters in ASF files
- Opus in Ogg demuxing
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
- F4V muxer
- HNM version 4 demuxer and video decoder
- HEVC decoder
- raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
- remove avplay -vismv option, which has not worked for a long time
- Live HDS muxer
- setsar/setdar filters now support variables in ratio expressions
- dar variable in the scale filter now returns the actual DAR (i.e. a * sar)
- VP9 decoder
- support for decoding through VDPAU in avconv (the -hwaccel option)
- remove mp3_header_(de)compress bitstream filters
- stereoscopic 3d metadata handling
- png standalone parser
- WebP encoding via libwebp
- ATRAC3+ decoder
- framepack filter
- Mirillis FIC video decoder
- Support DNx444

version 9.12:
- configure: Update freetype check to follow upstream
- drawtext: Drop pointless header
- configure: Support preprocessor macros as header names
- arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
- qt-faststart: Check offset_count before reading from the moov_atom buffer
- arm: hpeldsp: prevent overreads in armv6 asm
- configure: enable PIC on s390(x)
- ituh263: reject b-frame with pp_time = 0
- lagarith: reallocate rgb_planes when needed
- truemotion1: check the header size
- shorten: pad the internal bitstream buffer
- samplefmt: avoid integer overflow in av_samples_get_buffer_size()
- h264: Fix a typo from the previous commit
- h264: Lower bound check for slice offsets
- Add missing header to fix compilation after d2a0654
- configure: Add missing dependency of Snow decoder on videodsp
- rpza: limit the number of blocks to the total remaining blocks in the frame

version 9.11:
- oggparseogm: check timing variables
- mathematics: remove asserts from av_rescale_rnd()
- vc1: Always reset numref when parsing a new frame header.
- h264: reset num_reorder_frames if it is invalid
- h264: check that an IDR NAL only contains I slices
- mov: Free an earlier allocated array if allocating a new one
- mov: Free intermediate arrays in the normal cleanup function
- segafilm: fix leaks if reading the header fails
- h264_cavlc: check the size of the intra PCM data.
- h263: Check init_get_bits return value
- cavsdec: check ff_get_buffer() return value
- cavs: Check for negative cbp
- avi: DV in AVI must be considered single stream
- vmnc: Check the cursor dimensions
- vmnc: Port to bytestream2
- vmnc: K&R formatting cosmetics
- flashsv: Check diff_start diff_height values
- dsputil/pngdsp: fix signed/unsigned type in end comparison (CVE-2013-7010, CVE-2013-7014)
- lavf: make av_probe_input_buffer more robust (CVE-2012-6618)
- lavf: use a fixed width type
- lavf: simplify handling of offset in av_probe_input_buffer()
- prores: Error out only on surely incomplete ac_coeffs
- shorten: Fix out-of-array read
- prores: Add a codepath for decoding errors
- nut: Fix unchecked allocations
- avi: directly resync on DV in AVI read failure
- mov: Don't allocate arrays with av_malloc that will be realloced
- shorten: Extend fixed_coeffs to properly support pred_order 0

version 9.10:
- alac: Do bounds checking of lpc_order read from the bitstream
- ape: Don't allow the seektable to be omitted
- asfdec: Check the return value of asf_read_stream_properties
- asvdec: Verify the amount of extradata
- avidec: Make sure a packet is large enough before reading its data
- bfi: Add some very basic sanity checks for input packet sizes
- bfi: Avoid divisions by zero
- cavsdec: Make sure a sequence header has been decoded before decoding pictures
- dcadec: Validate the lfe parameter
- dsicin: Add some basic sanity checks for fields read from the file
- eacmv: Make sure a reference frame exists before referencing it
- electronicarts: Add more sanity checking for the number of channels
- electronicarts: Check packet sizes before reading
- ffv1: Make sure at least one slice context is initialized
- fraps: Make the input buffer size checks more strict
- h263dec: Remove a hack that can cause infinite loops
- idroqdec: Make sure a video stream has been allocated before returning packets
- ivi_common: Make sure color planes have been initialized
- lavf: Avoid setting avg_frame_rate if delta_dts is negative
- mace: Make sure that the channel count is set to a valid value
- matroskadec: Verify realaudio codec parameters
- mov: Don't use a negative duration for setting other fields
- mov: Make sure the read sample count is nonnegative
- mpc8: Check the seek table size parsed from the bitstream
- mpc8: Make sure the first stream exists before parsing the seek table
- mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
- mpegaudiodec: Validate that the number of channels fits at the given offset
- mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0
- mvi: Add sanity checking for the audio frame size
- mxfdec: set audio timebase to 1/samplerate
- oggparseogm: Convert to use bytestream2
- omadec: Properly check lengths before incrementing the position
- pcx: Check the packet size before assuming it fits a palette
- pcx: Consume the whole packet if giving up due to missing palette
- pngdec: Stop trying to decode once inflate returns Z_STREAM_END
- qpeg: Add checks for running out of rows in qpeg_decode_inter
- r3d: Add more input value validation
- riffdec: Add sanity checks for the sample rate
- rl2: Avoid a division by zero
- rmdec: Validate the fps value
- rpza: Fix a buffer size check
- rv10: Validate the dimensions set from the container
- rv34: Check the return value from ff_rv34_decode_init
- segafilm: Validate the number of audio channels
- shorten: Break out of loop looking for fmt chunk if none is found
- shorten: Use a checked bytestream reader for the wave header
- sierravmd: Do sanity checking of frame sizes
- smacker: Avoid integer overflow when allocating packets
- smacker: Don't return packets in unallocated streams
- smacker: Make sure we don't fill in huffman codes out of range
- svq3: Avoid a division by zero
- svq3: Check for any negative return value from ff_h264_check_intra_pred_mode
- truemotion2: Use av_freep properly in an error path
- twinvqdec: Check the ibps parameter separately
- vc1dec: Don't decode slices when the latest slice header failed to decode
- vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors
- vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks
- vc1dec: Undo mpegvideo initialization if unable to allocate tables
- vocdec: Don't update codec parameters mid-stream
- vp3: Check the framerate for validity
- vqf: Make sure sample_rate is set to a valid value
- vqf: Make sure the bitrate is in the valid range
- wnv1: Make sure the input packet is large enough
- wtv: Add more sanity checks for a length read from the file
- xan: Only read within the data that actually was initialized
- xan: Use bytestream2 to limit reading to within the buffer
- xmv: Add more sanity checks for parameters read from the bitstream
- xwma: Avoid division by zero
- xxan: Disallow odd width
- zmbvdec: Check the buffer size for uncompressed data

version 9.9:
- 4xm: check that bits per sample is strictly positive
- 4xm: Check that the read track value is non-negative
- 4xm: Reject not a multiple of 16 dimension
- 8bps: Bound-check the input buffer
- aac: Check init_get_bits return value
- aac: return meaningful errors
- ac3: Clean up the error paths
- ac3dec: Don't consume more data than the actual input packet size
- ac3dec: Increment channel pointers only once per channel
- ac3: Do not clash with normal AVERROR
- ac3: Return proper error codes
- adpcm: Write the correct number of samples for ima-dk4
- alac: Check that the channels fit at the given offset
- alac: Limit max_samples_per_frame
- alsdec: Clean up error paths
- alsdec: Fix the clipping range
- ape demuxer: check for EOF in potentially long loops
- atrac3: Error on impossible encoding/channel combinations
- atrac3: fix error handling
- atrac3: set the getbits context the right buffer_end
- avconv: do not use lavfi direct rendering with -deinterlace
- avidec: Let the inner dv demuxer take care of discarding
- avio: Handle AVERROR_EOF in the same way as the return value 0
- bink: Bound check the quantization matrix.
- dca: Error out on missing DSYNC
- dca: Respect the current limits in the downmixing capabilities
- dsicinav: Bound-check the source buffer when needed
- dsicinav: Clip the source size to the expected maximum
- dv: Add a guard to not overread the ppcm array
- dxa: Make sure the reference frame exists
- h261: check the mtype index
- iff: Do not read over the source buffer
- imc: Catch a division by zero
- indeo4: Check the quantization matrix index
- indeo4: Do not access missing reference MV
- indeo4: Validate scantable dimension
- indeo5: return proper error codes
- indeo: Bound-check before applying motion compensation
- indeo: Bound-check before applying transform
- indeo: Do not reference mismatched tiles
- indeo: Reject impossible FRAMETYPE_NULL
- indeo: Sanitize ff_ivi_init_planes fail paths
- lavf: avoid integer overflow when estimating bitrate
- lavf: Make sure avg_frame_rate can be calculated without integer overflow
- matroskadec: Check that .lang was allocated and set before reading it
- mjpegb: Detect changing number of planes in interlaced video
- mlpdec: Do not set invalid context in read_restart_header
- mov: Do not allow updating the time scale after it has been set
- mov: Seek back if overreading an individual atom
- mpegvideo: Avoid 32-bit wrapping of linesize multiplications
- nuv: check ff_rtjpeg_decode_frame_yuv420 return value
- nuv: Do not ignore lzo decompression failures
- nuv: Pad the lzo outbuf
- nuv: Reset the frame on resize
- nuv: return meaningful error codes.
- nuv: Use av_fast_realloc
- ogg: Always alloc the private context in vorbis_header
- ogg: Fix potential infinite discard loop
- oma: check geob tag boundary
- oma: correctly mark and decrypt partial packets
- oma: refactor seek function
- pcm: always use codec->id instead of codec_id
- pcx: Do not overread source buffer in pcx_rle_decode
- pictordec: break out of both decoding loops when y drops below 0
- pictordec: pass correct context to avpriv_request_sample
- qdm2: check and reset dithering index per channel
- qdm2: Conceal broken samples
- qdm2: refactor joined stereo support
- qdm2: use init_static_data
- rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
- rtjpeg: Use init_get_bits8
- rtmp: Do not misuse memcmp
- rtmp: rename data_size to size
- segafilm: Error out on impossible packet size
- vc1: check mb_height validity.
- vc1: check the source buffer in vc1_mc functions
- vcr1: add sanity checks
- vqavideo: check the version
- westwood_vqa: do not free extradata on error in read_header
- wmavoice: conceal clearly corrupted blocks
- wtv: Mark attachment with a negative stream id
- xl: Make sure the width is valid

version 9.8:
- kmvc: Clip pixel position to valid range
- kmvc: Use fixed sized arrays in the context
- indeo: Reject negative array indexes
- indeo: Check for reference when inheriting motion vectors
- indeo: Properly forward the error codes
- mjpeg: Check the unescaped size for overflows
- wmapro: Error out on impossible scale factor offsets
- wmapro: Check the min_samples_per_subframe
- wmapro: Return early on unsupported condition
- wmapro: Check num_vec_coeffs against the actual available buffer
- wmapro: Make sure there is room to store the current packet
- lavc: Move put_bits_left in put_bits.h
- 4xm: Do not overread the source buffer in decode_p_block
- 4xm: Check bitstream_size boundary before using it

version 9.7:

Most of the following fixes resulted from test samples that the Google
Security Team has kindly made available to us:

- 4xm: fix several programming errors to avoid crashes, etc.
- apetag: use int64_t for filesize
- jpegls: Fix invalid writes to memory
- ljpeg: use the correct number of components in YUV
- mjpeg: Validate sampling factors
- mjpegdec: properly report unsupported disabled features
- mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
- mpegvideo: allocate sufficiently large scratch buffer for interlaced vid
- pixdesc: mark gray8 as pseudopal
- smacker: fix several programming errors to avoid crashes, etc.
- tiff: do not overread the source buffer
- vmd: drop incomplete chunks and spurious samples
- vmdav: convert to bytestream2 to avoid invalid reads and writes
- wavpack: check packet size early
- wavpack: use bytestream2 in wavpack_decode_block
- wavpack: validate samples size parsed in wavpack_decode_block

version 9.6:
- aac: check the maximum number of channels to avoid invalid writes
- indeo3: fix off by one in MV validity check
- id3v2: check for end of file while unescaping tags to avoid invalid
writes, reported by Google Security Team
- afifo: fix request_samples on the last frame in certain cases
- hls, segment: fix splitting for audio-only streams
- wav: Always seek to an even offset, Bug #500, LP: #1174737
- swscale: Use alpha from the right row in yuva2rgba_c, Bug #504
- indeo3: use unaligned reads on reference blocks, Bug #503
- oma: properly forward errors in oma_read_packet
- af_asyncts: fix offset calculation
- proresdec: support mixed interlaced/non-interlaced content

version 9.5:

Most of the following fixes resulted from test samples that the Google
Security Team has kindly made available to us:

- af_channelmap: sanity check input channel indices in all cases
- avfiltergraph: check for sws opts being non-NULL before using them
- bmv: check for len being valid in bmv_decode_frame()
- configure: Enable hwaccels without external dependencies by default
- dfa: check for invalid access in decode_wdlt()
- id3v2: pad the APIC packets as required by lavc
- indeo3: check motion vectors
- indeo3: fix data size check
- indeo3: switch parsing the header to bytestream2
- lavf: make sure stream probe data gets freed
- matroska: Update the available size after lace parsing
- matroska: fix a corner case in ebml-lace parsing
- matroska: pass the lace size to the matroska_parse_rm_audio
- mp3dec: fallback to generic seeking when a TOC is not present
- oggdec: fix faulty cleanup prototype
- oma: Validate sample rates
- qdm2: check that the FFT size is a power of 2
- riff: check for eof if chunk size and code are 0 to prevent an infinite loop
- rv10: check that extradata is large enough
- svq1dec: check that the reference frame has the same dimensions as the current one
- svq1dec: clip motion vectors to the frame size
- xmv: check audio track parameters validity
- xmv: do not leak memory in the error paths in xmv_read_header()

version 9.4:
- atrac3: avoid oversized shifting in decode_bytes()
- eamad: allocate a dummy reference frame when the real one is missing
- ffv1: fix calculating slice dimensions for version 2
- flacdec: simplify bounds checking in flac_probe()
- h264: check for luma and chroma bit dept being equal (CVE-2013-2277)
- hqdn3d: Fix out of array read in LOWPASS
- iff: validate CMAP palette size (CVE-2013-2495)
- ivi_common: do not call MC for intra frames when dc_transform is unset
- libmp3lame: use the correct remaining buffer size when flushing
- lzo: fix overflow checking in copy_backptr()
- mp3dec: Fix VBR bit rate parsing
- png: use av_mallocz_array() for the zlib zalloc function
- roqvideodec: fix a potential infinite loop in roqvideo_decode_frame()
- shorten: fix various programming mistakes
- vf_gradfun: fix uninitialized variable use
- vf_hqdn3d: fix uninitialized variable use
- vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
- wmadec: require block_align to be set
- wmaprodec: require block_align to be set
- wmaprodec: return an error, not 0, when the input is too small
- xxan: fix invalid memory access in xan_decode_frame_type0()

version 9.3:
- h264: fix deadlocks with broken/fuzzed files
- flvdec: make decoder more robust
- vorbisdec: fix buffer overflow (CVE-2013-0894)
- ac3dec: validate channel output mode against channel count
- doc: minor improvements

version 9.2:
- loco: check that there is data left after decoding a plane.
- mov: use the format context for logging.
- lagarith: avoid infinite loop in lag_rac_refill() with corrupted files
- flicvideo: avoid an infinite loop in byte run compression
- av_memcpy_backptr: avoid an infinite loop for back = 0
- mlpdec: do not try to allocate a zero-sized output buffer.
- qtrle: add more checks against pixel_ptr being negative.
- 4xm: check the return value of read_huffman_tables().
- cavs: initialize various context tables, avoids crashes with corrupted files
- x86/H.264: Don't use redzone in AVX h264_deblock on Win64
- VQA video: check chunk sizes before reading chunks
- RoQ video decoder: check dimensions validity
- QDM2: check array index before use, fix out of array accesses
- mpegvideo: Do REBASE_PICTURE with byte pointers
- SVQ3: unbreak decoding
- libopencore-amrwb: Make AMR-WB ifdeffery more precise
- libopencore-amr: Conditionally compile decoder and encoder bits
- arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
- xxan: properly handle odd heights
- msrledec: check bounds before constructing a possibly invalid pointer,
- qtrle: fix the topmost line for 1bit
- aasc: fix output for msrle compression
- yop: check for input overreads
- yop: check that extradata is large enough
- fraps: fix off-by one bug for version 1
- vf_delogo: fix copying the input frame
- vf_delogo: fix an uninitialized read
- dnxhdenc: fix invalid reads in dnxhd_mb_var_thread()
- ATRAC3: use correct loop variable in add_tonal_components()
- MLP: store the channel layout for each substream
- MLP decoder: TrueHD: use Libav channel order
- x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
- arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
- lavr: call mix_function_init() in ff_audio_mix_set_matrix()
- rtpenc_chain: Use the original AVFormatContext for getting payload type
- rtp: Make sure the output format pointer is set
- rtp: Make sure priv_data is set before reading it
- videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
- get_bits: change the failure condition in init_get_bits
- mpegvideo: fix loop condition in draw_line()
- fate: update ref after rv30_loop_filter fix
- RV30: fix masking in rv30_loop_filter()
- libcdio: support recent cdio-paranoia
- Theora: Skip zero-sized headers
- H.264: add 3 pixels below for subpixel filter wait position
- H.264: fix ff_generate_sliding_window_mmcos() prototype
- H.264: don't clobber mmco opcode tables for non-first slice headers
- libx264: use the library specific default rc_initial_buffer_occupancy
- lavc: set the default rc_initial_buffer_occupancy
- lavc: introduce the convenience function init_get_bits8
- lavc: check for overflow in init_get_bits
- configure: enable pic for shared libs on AArch64
- zmbv: Reset the decoder on keyframe errors
- VC1 decoder: prevent a crash due missing pred_flag parameter
- matroska: Fix use after free
- VP3: Fix double free in vp3_decode_end()

version 9.1:
- Fix a crash on windows platforms related to automatic stack alignment
in libavresample
- Fix memleaks in the Ogg demuxer. Related to CVE-2012-2882

version 9:
- av_basename and av_dirname
- adobe and limelight publisher authentication in RTMP

version 9_beta3:
- ashowinfo audio filter
- 24-bit FLAC encoding
- audio volume filter
- deprecated the avconv -vol option. the volume filter is to be used instead.
- multi-channel ALAC encoding up to 7.1
- TAK demuxer, parser, and decoder
- adaptive frame-level multithreading for H.264

version 9_beta2:
- metadata (INFO tag) support in WAV muxer
- support for building DLLs using MSVC
- remove avserver daemon mode
- support building on the Plan 9 operating system
- ffv1: support version 1.3

version 9_beta1:

- XWD encoder and decoder
- Support for fragmentation in the mov/mp4 muxer
- ISMV (Smooth Streaming) muxer
- CDXL demuxer and decoder
- Apple ProRes encoder
- Sun Rasterfile Encoder
- remove libpostproc
- ID3v2 attached pictures reading and writing
- WMA Lossless decoder
- XBM encoder
- RealAudio Lossless decoder
- ZeroCodec decoder
- drop support for avconv without libavfilter
- add libavresample audio conversion library
- audio filters support in libavfilter and avconv
- add fps filter
- audio split filter
- audio mix filter
- avprobe output is now standard INI or JSON. The old format can still
be used with -of old.
- Indeo Audio decoder
- channelsplit audio filter
- RTMPT protocol support
- iLBC encoding/decoding via libilbc
- Microsoft Screen 1 decoder
- join audio filter
- audio channel mapping filter
- Microsoft ATC Screen decoder
- RTSP listen mode
- TechSmith Screen Codec 2 decoder
- AAC encoding via libfdk-aac
- Microsoft Expression Encoder Screen decoder
- RTMPS protocol support
- RTMPTS protocol support
- JPEG 2000 encoding support through OpenJPEG
- G.723.1 demuxer and decoder
- RTMPE protocol support
- RTMPTE protocol support
- Canopus Lossless Codec decoder
- avconv -shortest option is now per-output file,
-pass and -passlogfile are now per-output stream
- Ut Video encoder
- Microsoft Screen 2 decoder
- RTP depacketization of JPEG
- Smooth Streaming live segmenter muxer
- RTP packetization of JPEG
- Opus decoder and encoder using libopus
- remove -same_quant, it hasn't worked for years
- support for building with MSVC

version 0.8:

- GSM audio parser
- SMJPEG muxer

version 0.8_beta2:

- Automatic thread count based on detection number of (available) CPU cores
- Deprecate libpostproc. If desired, the switch --enable-postproc will
enable it but it may be removed in a later Libav release.
- rv34: frame-level multi-threading
- optimized iMDCT transform on x86 using SSE for for mpegaudiodec

version 0.8_beta1:

- BWF muxer
- Flash Screen Video 2 decoder
- ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
- ffmpeg deprecated, added avconv, which is almost the same for now, except
for a few incompatible changes in the options, which will hopefully make them
easier to use. The changes are:
* The options placement is now strictly enforced! While in theory the
options for ffmpeg should be given in [input options] -i INPUT [output
options] OUTPUT order, in practice it was possible to give output options
before the -i and it mostly worked. Except when it didn't - the behavior was
a bit inconsistent. In avconv, it is not possible to mix input and output
options. All non-global options are reset after an input or output filename.
* All per-file options are now truly per-file - they apply only to the next
input or output file and specifying different values for different files
will now work properly (notably -ss and -t options).
* All per-stream options are now truly per-stream - it is possible to
specify which stream(s) should a given option apply to. See the Stream
specifiers section in the avconv manual for details.
* In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
sense that they're specified after the output filename instead of before,
like all other options. In avconv this irregularity is removed, all options
apply to the next input or output file.
* -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
irregular and highly confusing, they were also redundant. In avconv the -map
option will create new streams in the output file and map input streams to
them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
each stream in the first input file.
* The -map option now has slightly different and more powerful syntax:
+ Colons (':') are used to separate file index/stream type/stream index
instead of dots. Comma (',') is used to separate the sync stream instead
of colon.. This is done for consistency with other options.
+ It's possible to specify stream type. E.g. -map 0:a:2 creates an
output stream from the third input audio stream.
+ Omitting the stream index now maps all the streams of the given type,
not just the first. E.g. -map 0:s creates output streams for all the
subtitle streams in the first input file.
+ Since -map can now match multiple streams, negative mappings were
introduced. Negative mappings disable some streams from an already
defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
all the stream in the first input file, except for the second audio
* There is a new option -c (or -codec) for choosing the decoder/encoder to
use, which allows to precisely specify target stream(s) consistently with
other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
libvorbis sets the codec for the first audio stream and -c copy copies all
the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
aliases to -c:v/a/s
* It is now possible to precisely specify which stream should an AVOption
apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
-b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
syntax is deprecated and will stop working soon.
* -map_chapters now takes only an input file index and applies to the next
output file. This is consistent with how all the other options work.
* -map_metadata now takes only an input metadata specifier and applies to
the next output file. Output metadata specifier is now part of the option
name, similarly to the AVOptions/map/codec feature above.
* -metadata can now be used to set metadata on streams and chapters, e.g.
-metadata:s:1 language=eng sets the language of the first stream to 'eng'.
This made -vlang/-alang/-slang options redundant, so they were removed.
* -qscale option now uses stream specifiers and applies to all streams, not
just video. I.e. plain -qscale number would now apply to all streams. To get
the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
and -aq is now an alias for -q:a.
* -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
uses stream specifiers. Use -bsf:v/a/s instead of the old options.
* -itsscale option now uses stream specifiers, so its argument is only the
scale parameter.
* -intra option was removed, use -g 0 for the same effect.
* -psnr option was removed, use -flags +psnr for the same effect.
* -vf option is now an alias to the new -filter option, which uses stream specifiers.
* -vframes/-aframes/-dframes options are now aliases to the new -frames option.
* -vtag/-atag/-stag options are now aliases to the new -tag option.
- XMV demuxer
- Windows Media Image decoder
- LATM muxer/demuxer
- showinfo filter
- split filter
- libcdio-paranoia input device for audio CD grabbing
- select filter
- Apple ProRes decoder
- CELT in Ogg demuxing
- VC-1 interlaced decoding
- lut, lutrgb, and lutyuv filters
- boxblur filter
- Ut Video decoder
- Speex encoding via libspeex
- 4:2:2 H.264 decoding support
- 4:2:2 and 4:4:4 H.264 encoding with libx264
- Pulseaudio input device
- replacement Indeo 3 decoder
- TLS/SSL and HTTPS protocol support
- AVOptions API rewritten and documented
- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
AVCodecContext deprecated. Codec private options should be used instead.
- Properly working defaults in libx264 wrapper, support for native presets.
- Encrypted OMA files support
- Discworld II BMV decoding support
- VBLE Decoder
- OS X Video Decoder Acceleration (VDA) support
- CRI ADX audio format muxer and demuxer
- Playstation Portable PMP format demuxer
- PCM format support in OMA demuxer
- CLJR encoder
- Dxtory capture format decoder
- v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
- OpenMG Audio muxer
- Simple segmenting muxer
- Indeo 4 decoder
- SMJPEG demuxer

version 0.7:

- E-AC-3 audio encoder
- ac3enc: add channel coupling support
- floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
- H.264/MPEG frame-level multithreading
- av_metadata_* functions renamed to av_dict_* and moved to libavutil
- 4:4:4 H.264 decoding support
- 10-bit H.264 optimizations for x86
- bump libswscale for recently reported ABI break

version 0.7_beta2:

- VP8 frame-level multithreading
- NEON optimizations for VP8
- removed a lot of deprecated API cruft
- FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
- DPX image encoder
- SMPTE 302M AES3 audio decoder
- ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
- 9bit and 10bit per sample support in the H.264 decoder

version 0.7_beta1:

- WebM support in Matroska de/muxer
- low overhead Ogg muxing
- MMS-TCP support
- VP8 de/encoding via libvpx
- Demuxer for On2's IVF format
- Pictor/PC Paint decoder
- HE-AAC v2 decoder
- libfaad2 wrapper removed
- DTS-ES extension (XCh) decoding support
- native VP8 decoder
- RTSP tunneling over HTTP
- RTP depacketization of SVQ3
- -strict inofficial replaced by -strict unofficial
- ffplay -exitonkeydown and -exitonmousedown options added
- native GSM / GSM MS decoder
- RTP depacketization of QDM2
- ANSI/ASCII art playback system
- Lego Mindstorms RSO de/muxer
- SubRip subtitle file muxer and demuxer
- Chinese AVS encoding via libxavs
- ffprobe -show_packets option added
- RTP packetization of Theora and Vorbis
- RTP depacketization of MP4A-LATM
- RTP packetization and depacketization of VP8
- hflip filter
- Apple HTTP Live Streaming demuxer
- a64 codec
- MMS-HTTP support
- G.722 ADPCM audio encoder/decoder
- R10k video decoder
- ocv_smooth filter
- frei0r wrapper filter
- change crop filter syntax to width:height:x:y
- make the crop filter accept parametric expressions
- make ffprobe accept AVFormatContext options
- yadif filter
- blackframe filter
- Demuxer for Leitch/Harris' VR native stream format (LXF)
- RTP depacketization of the X-QT QuickTime format
- SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
- cropdetect filter
- ffmpeg -crop* options removed
- transpose filter added
- ffmpeg -force_key_frames option added
- demuxer for receiving raw rtp:// URLs without an SDP description
- single stream LATM/LOAS decoder
- setpts filter added
- Win64 support for optimized x86 assembly functions
- MJPEG/AVI1 to JPEG/JFIF bitstream filter
- ASS subtitle encoder and decoder
- IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
- overlay filter added
- rename aspect filter to setdar, and pixelaspect to setsar
- IEC 61937 demuxer
- Mobotix .mxg demuxer
- frei0r source added
- hqdn3d filter added
- RTP depacketization of QCELP
- FLAC parser added
- gradfun filter added
- AMR-WB decoder
- replace the ocv_smooth filter with a more generic ocv filter
- Windows Televison (WTV) demuxer
- FFmpeg metadata format muxer and demuxer
- SubRip (srt) subtitle decoder
- floating-point AC-3 encoder added
- Lagarith decoder
- ffmpeg -copytb option added
- IVF muxer added
- Wing Commander IV movies decoder added
- movie source added
- Bink version 'b' audio and video decoder
- Bitmap Brothers JV playback system
- Apple HTTP Live Streaming protocol handler
- sndio support for playback and record
- Linux framebuffer input device added
- Chronomaster DFA decoder
- Mobotix MxPEG decoder
- AAC encoding via libvo-aacenc
- AMR-WB encoding via libvo-amrwbenc
- xWMA demuxer
- fieldorder video filter added

version 0.6:

- PB-frame decoding for H.263
- deprecated vhook subsystem removed
- deprecated old scaler removed
- VQF demuxer
- Alpha channel scaler
- PCX encoder
- RTP packetization of H.263
- RTP packetization of AMR
- RTP depacketization of Vorbis
- CorePNG decoding support
- Cook multichannel decoding support
- introduced avlanguage helpers in libavformat
- 8088flex TMV demuxer and decoder
- per-stream language-tags extraction in asfdec
- V210 decoder and encoder
- remaining GPL parts in AC-3 decoder converted to LGPL
- QCP demuxer
- SoX native format muxer and demuxer
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
- DPX image decoder
- Electronic Arts Madcow decoder
- DivX (XSUB) subtitle encoder
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
- experimental AAC encoder
- RTP depacketization of ASF and RTSP from WMS servers
- RTMP support in libavformat
- noX handling for OPT_BOOL X options
- Wave64 demuxer
- IEC-61937 compatible Muxer
- TwinVQ decoder
- Bluray (PGS) subtitle decoder
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
- WMA Pro decoder
- Core Audio Format demuxer
- Atrac1 decoder
- MD STUDIO audio demuxer
- RF64 support in WAV demuxer
- MPEG-4 Audio Lossless Coding (ALS) decoder
- -formats option split into -formats, -codecs, -bsfs, and -protocols
- IV8 demuxer
- CDG demuxer and decoder
- R210 decoder
- Auravision Aura 1 and 2 decoders
- Deluxe Paint Animation playback system
- SIPR decoder
- Adobe Filmstrip muxer and demuxer
- RTP depacketization of H.263
- Bink demuxer and audio/video decoders
- enable symbol versioning by default for linkers that support it
- IFF PBM/ILBM bitmap decoder
- concat protocol
- Indeo 5 decoder
- RTP depacketization of AMR
- WMA Voice decoder
- ffprobe tool
- AMR-NB decoder
- RTSP muxer
- HE-AAC v1 decoder
- Kega Game Video (KGV1) decoder
- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
- RTP depacketization of Theora
- HTTP Digest authentication
- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
- Psygnosis YOP demuxer and video decoder
- spectral extension support in the E-AC-3 decoder
- unsharp video filter
- RTP hinting in the mov/3gp/mp4 muxer
- Dirac in Ogg demuxing
- seek to keyframes in Ogg
- 4:2:2 and 4:4:4 Theora decoding
- 35% faster VP3/Theora decoding
- faster AAC decoding
- faster H.264 decoding
- RealAudio 1.0 (14.4K) encoder

version 0.5:

- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
- TechSmith Camtasia (TSCC) video decoder
- IBM Ultimotion (ULTI) video decoder
- Sierra Online audio file demuxer and decoder
- Apple QuickDraw (qdrw) video decoder
- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
- Miro VideoXL (VIXL) video decoder
- H.261 video encoder
- QPEG video decoder
- Nullsoft Video (NSV) file demuxer
- Shorten audio decoder
- LOCO video decoder
- Apple Lossless Audio Codec (ALAC) decoder
- Winnov WNV1 video decoder
- Autodesk Animator Studio Codec (AASC) decoder
- Indeo 2 video decoder
- Fraps FPS1 video decoder
- Snow video encoder/decoder
- Sonic audio encoder/decoder
- Vorbis audio decoder
- Macromedia ADPCM decoder
- Duck TrueMotion 2 video decoder
- support for decoding FLX and DTA extensions in FLIC files
- H.264 custom quantization matrices support
- ffserver fixed, it should now be usable again
- QDM2 audio decoder
- Real Cooker audio decoder
- TrueSpeech audio decoder
- WMA2 audio decoder fixed, now all files should play correctly
- RealAudio 14.4 and 28.8 decoders fixed
- JPEG-LS decoder
- build system improvements
- tabs and trailing whitespace removed from the codebase
- CamStudio video decoder
- AIFF/AIFF-C audio format, encoding and decoding
- ADTS AAC file reading and writing
- Creative VOC file reading and writing
- American Laser Games multimedia (*.mm) playback system
- Zip Motion Blocks Video decoder
- improved Theora/VP3 decoder
- True Audio (TTA) decoder
- AVS demuxer and video decoder
- JPEG-LS encoder
- Smacker demuxer and decoder
- NuppelVideo/MythTV demuxer and RTjpeg decoder
- KMVC decoder
- MPEG-2 intra VLC support
- MPEG-2 4:2:2 encoder
- Flash Screen Video decoder
- GXF demuxer
- Chinese AVS decoder
- GXF muxer
- MXF demuxer
- VC-1/WMV3/WMV9 video decoder
- MacIntel support
- AVISynth support
- VMware video decoder
- VP5 video decoder
- VP6 video decoder
- WavPack lossless audio decoder
- Targa (.TGA) picture decoder
- Vorbis audio encoder
- Delphine Software .cin demuxer/audio and video decoder
- Tiertex .seq demuxer/video decoder
- MTV demuxer
- TIFF picture encoder and decoder
- GIF picture decoder
- Intel Music Coder decoder
- Zip Motion Blocks Video encoder
- Musepack decoder
- Flash Screen Video encoder
- Theora encoding via libtheora
- BMP encoder
- WMA encoder
- GSM-MS encoder and decoder
- DCA decoder
- DXA demuxer and decoder
- DNxHD decoder
- Gamecube movie (.THP) playback system
- Blackfin optimizations
- Interplay C93 demuxer and video decoder
- Bethsoft VID demuxer and video decoder
- CRYO APC demuxer
- Atrac3 decoder
- V.Flash PTX decoder
- RoQ muxer, RoQ audio encoder
- Renderware TXD demuxer and decoder
- extern C declarations for C++ removed from headers
- sws_flags command line option
- codebook generator
- RoQ video encoder
- QTRLE encoder
- OS/2 support removed and restored again
- AC-3 decoder
- NUT muxer
- additional SPARC (VIS) optimizations
- Matroska muxer
- slice-based parallel H.264 decoding
- Monkey's Audio demuxer and decoder
- AMV audio and video decoder
- DNxHD encoder
- H.264 PAFF decoding
- Nellymoser ASAO decoder
- Beam Software SIFF demuxer and decoder
- libvorbis Vorbis decoding removed in favor of native decoder
- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
- Ogg (Theora, Vorbis and FLAC) muxer
- The "device" muxers and demuxers are now in a new libavdevice library
- PC Paintbrush PCX decoder
- Sun Rasterfile decoder
- TechnoTrend PVA demuxer
- Linux Media Labs MPEG-4 (LMLM4) demuxer
- AVM2 (Flash 9) SWF muxer
- QT variant of IMA ADPCM encoder
- VFW grabber
- iPod/iPhone compatible mp4 muxer
- Mimic decoder
- MSN TCP Webcam stream demuxer
- RL2 demuxer / decoder
- IFF demuxer
- 8SVX audio decoder
- non-recursive Makefiles
- BFI demuxer
- MAXIS EA XA (.xa) demuxer / decoder
- BFI video decoder
- OMA demuxer
- MLP/TrueHD decoder
- Electronic Arts CMV decoder
- Motion Pixels Video decoder
- Motion Pixels MVI demuxer
- removed animated GIF decoder/demuxer
- D-Cinema audio muxer
- Electronic Arts TGV decoder
- Apple Lossless Audio Codec (ALAC) encoder
- AAC decoder
- floating point PCM encoder/decoder
- MXF muxer
- DV100 AKA DVCPRO HD decoder and demuxer
- E-AC-3 support added to AC-3 decoder
- Nellymoser ASAO encoder
- ASS and SSA demuxer and muxer
- liba52 wrapper removed
- SVQ3 watermark decoding support
- Speex decoding via libspeex
- Electronic Arts TGQ decoder
- RV40 decoder
- QCELP / PureVoice decoder
- RV30 decoder
- hybrid WavPack support
- R3D REDCODE demuxer
- ALSA support for playback and record
- Electronic Arts TQI decoder
- OpenJPEG based JPEG 2000 decoder
- NC (NC4600) camera file demuxer
- Gopher client support
- MXF D-10 muxer
- generic metadata API

version 0.4.9-pre1:

- DV encoder, DV muxer
- Microsoft RLE video decoder
- Microsoft Video-1 decoder
- Apple Animation (RLE) decoder
- Apple Graphics (SMC) decoder
- Apple Video (RPZA) decoder
- Cinepak decoder
- Sega FILM (CPK) file demuxer
- Westwood multimedia support (VQA & AUD files)
- Id Quake II CIN playback support
- 8BPS video decoder
- FLIC playback support
- RealVideo 2.0 (RV20) decoder
- Duck TrueMotion v1 (DUCK) video decoder
- Sierra VMD demuxer and video decoder
- MSZH and ZLIB decoder support
- SVQ1 video encoder
- AMR-WB support
- PPC optimizations
- rate distortion optimal cbp support
- rate distorted optimal ac prediction for MPEG-4
- rate distorted optimal lambda->qp support
- AAC encoding with libfaac
- Sunplus JPEG codec (SP5X) support
- use Lagrange multipler instead of QP for ratecontrol
- Theora/VP3 decoding support
- XA and ADX ADPCM codecs
- export MPEG-2 active display area / pan scan
- Add support for configuring with IBM XLC
- floating point AAN DCT
- initial support for zygo video (not complete)
- RGB ffv1 support
- new audio/video parser API
- av_log() system
- av_read_frame() and av_seek_frame() support
- missing last frame fixes
- seek by mouse in ffplay
- noise reduction of DCT coefficients
- H.263 OBMC & 4MV support
- H.263 alternative inter vlc support
- H.263 loop filter
- H.263 slice structured mode
- interlaced DCT support for MPEG-2 encoding
- stuffing to stay above min_bitrate
- MB type & QP visualization
- frame stepping for ffplay
- interlaced motion estimation
- alternate scantable support
- SVCD scan offset support
- closed GOP support
- quantizer noise shaping
- G.726 ADPCM audio codec
- MS ADPCM encoding
- multithreaded/SMP motion estimation
- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
- multithreaded/SMP decoding for MPEG-2
- FLAC decoder
- Metrowerks CodeWarrior suppport
- H.263+ custom pcf support
- nicer output for 'ffmpeg -formats'
- Matroska demuxer
- SGI image format, encoding and decoding
- H.264 loop filter support
- H.264 CABAC support
- nicer looking arrows for the motion vector visualization
- improved VCD support
- audio timestamp drift compensation
- MPEG-2 YUV 422/444 support
- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
- better image scaling
- H.261 support
- correctly interleave packets during encoding
- VIS optimized motion compensation
- intra_dc_precision>0 encoding support
- support reuse of motion vectors/MB types/field select values of the source video
- more accurate deblock filter
- padding support
- many optimizations and bugfixes
- FunCom ISS audio file demuxer and according ADPCM decoding

version 0.4.8:

- MPEG-2 video encoding (Michael)
- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
and Mario Brito)
- Xan DPCM audio decoder (Mario Brito)
- Interplay MVE playback subsystem (Mike Melanson)
- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)

version 0.4.7:

- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
(originally from public domain player for Amiga at
- current version now also compiles with older GCC (Fabrice)
- 4X multimedia playback system including 4xm file demuxer (Mike
Melanson), and 4X video and audio codecs (Michael)
- Creative YUV (CYUV) decoder (Mike Melanson)
- FFV1 codec (our very simple lossless intra only codec, compresses much better
than HuffYUV) (Michael)
- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
- ffplay has been replaced with a newer version which uses SDL (optionally)
for multiplatform support (Fabrice)
- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
by anonymous
- AMR format has been added (Johannes Carlsson)
- 3GP support has been added (Johannes Carlsson)
- VP3 codec has been added (Mike Melanson)
- more MPEG-1/2 fixes
- better multiplatform support, MS Visual Studio fixes (various)
- AltiVec optimizations (Magnus Damn and others)
- SH4 processor support has been added (BERO)
- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
- VOB streaming support (Brian Foley)
- better MP3 autodetection (Andriy Rysin)
- qpel encoding (Michael)
- 4mv+b frames encoding finally fixed (Michael)
- chroma ME (Michael)
- 5 comparison functions for ME (Michael)
- B-frame encoding speedup (Michael)
- WMV2 codec (unfinished - Michael)
- user specified diamond size for EPZS (Michael)
- Playstation STR playback subsystem, still experimental (Mike and Michael)
- ASV2 codec (Michael)
- CLJR decoder (Alex)

.. And lots more new enhancements and fixes.

version 0.4.6:

- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
from scratch
- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
- fix quantization bug in AC3 encoder
- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
- added prototype ffplay program
- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
- bug fix on MCBPC tables of H.263 (Juanjo)
- bug fix on DC coefficients of H.263 (Juanjo)
- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
- now we can decode H.263 streams found in QuickTime files (Juanjo)
- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
- now H.263 picture size is returned on the first decoded frame (Juanjo)
- added first regression tests
- added MPEG-2 TS demuxer
- new demux API for libav
- more accurate and faster IDCT (Michael)
- faster and entropy-controlled motion search (Michael)
- two pass video encoding (Michael)
- new video rate control (Michael)
- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
- great performance improvement of video encoders and decoders (Michael)
- new and faster bit readers and vlc parsers (Michael)
- high quality encoding mode: tries all macroblock/VLC types (Michael)
- added DV video decoder
- preliminary RTP/RTSP support in ffserver and libavformat
- H.263+ AIC decoding/encoding support (Juanjo)
- VCD MPEG-PS mode (Juanjo)
- PSNR stuff (Juanjo)
- simple stats output (Juanjo)
- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)

version 0.4.5:

- some header fixes (Zdenek Kabelac <kabi at>)
- many MMX optimizations (Nick Kurshev <nickols_k at>)
- added configure system (actually a small shell script)
- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
Michael Hipp (temporary solution - waiting for integer only
- fixed VIDIOCSYNC interrupt
- added Intel H.263 decoding support ('I263' AVI fourCC)
- added Real Video 1.0 decoding (needs further testing)
- simplified image formats again. Added PGM format (=grey
pgm). Renamed old PGM to PGMYUV.
- fixed msmpeg4 slice issues (tell me if you still find problems)
- fixed OpenDivX bugs with newer versions (added VOL header decoding)
- added support for MPlayer interface
- added macroblock skip optimization
- added MJPEG decoder
- added mmx/mmxext IDCT from libmpeg2
- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
<celer at>)
- added pixel format conversion layer (e.g. for MJPEG or PPM)
- added deinterlacing option
- MPEG-1/2 fixes
- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at>)
- ARM optimizations (Lionel Ulmer <lionel.ulmer at>).
- Windows porting of file converter
- added MJPEG raw format (input/ouput)
- added JPEG image format support (input/output)

version 0.4.4:

- fixed some std header definitions (Bjorn Lindgren
<bjorn.e.lindgren at>).
- added MPEG demuxer (MPEG-1 and 2 compatible).
- added ASF demuxer
- added prototype RM demuxer
- added AC3 decoding (done with libac3 by Aaron Holtzman)
- added decoding codec parameter guessing (.e.g. for MPEG, because the
header does not include them)
- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
play them (only tested video)
- fixed H.263 white bug
- fixed phase rounding in img resample filter
- add MMX code for polyphase img resample filter
- added CPU autodetection
- added generic title/author/copyright/comment string handling (ASF and RM
use them)
- added SWF demux to extract MP3 track (not usable yet because no MP3
- added fractional frame rate support
- codecs are no longer searched by read_header() (should fix ffserver

version 0.4.3:

- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at>)
- fixed raw yuv output
- added motion rounding support in MPEG-4
- fixed motion bug rounding in MSMPEG4
- added B-frame handling in video core
- added full MPEG-1 decoding support
- added partial (frame only) MPEG-2 support
- changed the FOURCC code for H.263 to "U263" to be able to see the
+AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
this +codec ;) (JuanJo).
- Halfpel motion estimation after MB type selection (JuanJo)
- added pgm and .Y.U.V output format
- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
- added pgmpipe I/O format (original patch from Martin Aumueller
<lists at>, but changed completely since we use a format
instead of a protocol)

version 0.4.2:

- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
(for OpenDivX) is almost complete: 8x8 MVs and rounding are
missing. MSMPEG4 support is complete.
- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
can decode ffmpeg MPEGs :-)).
- added libavcodec API documentation (see apiexample.c).
- fixed image polyphase bug (the bottom of some images could be
- added support for non clipped motion vectors (decoding only)
and image sizes non-multiple of 16
- added support for AC prediction (decoding only)
- added file overwrite confirmation (can be disabled with -y)
- added custom size picture to H.263 using H.263+ (Juanjo)

version 0.4.1:

- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
of AVI and ASF to DIV3.
- added -me option to set motion estimation method
(default=log). suppressed redundant -hq option.
- added options -acodec and -vcodec to force a given codec (useful for
AVI for example)
- fixed -an option
- improved dct_quantize speed
- factorized some motion estimation code

version 0.4.0:

- removing grab code from ffserver and moved it to ffmpeg. Added
multistream support to ffmpeg.
- added timeshifting support for live feeds (option ?date=xxx in the
- added high quality image resize code with polyphase filter (need
mmx/see optimization). Enable multiple image size support in ffserver.
- added multi live feed support in ffserver
- suppressed master feature from ffserver (it should be done with an
external program which opens the .ffm url and writes it to another
- added preliminary support for video stream parsing (WAV and AVI half
done). Added proper support for audio/video file conversion in
- added preliminary support for video file sending from ffserver
- redesigning I/O subsystem: now using URL based input and output
(see avio.h)
- added WAV format support
- added "tty user interface" to ffmpeg to stop grabbing gracefully
- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
(Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at>)
- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
- added new motion estimation algorithms, log and phods (Juanjo)
- changed directories: libav for format handling, libavcodec for

version 0.3.4:

- added stereo in MPEG audio encoder

version 0.3.3:

- added 'high quality' mode which use motion vectors. It can be used in
real time at low resolution.
- fixed rounding problems which caused quality problems at high
bitrates and large GOP size

version 0.3.2: small fixes

- ASF fixes
- put_seek bug fix

version 0.3.1: added avi/divx support

- added AVI support
- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
- added sound for flash format (not tested)

version 0.3: initial public release

Search   Contact us   Privacy Policy   About   Advertise   Forum   RSS Feeds   Statistics   Software   

Site layout: Default Classic Blue