update for 0.10.8
[ffmpeg.git] / Changelog
index b183d30..f4238a7 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,99 +1,93 @@
 Entries are sorted chronologically from oldest to youngest within each release,
 releases are sorted from youngest to oldest.
 
-
-version 0.8.6:
-
-- Build system fixes: Fix Altivec detection (Debian Bug#701710) and fix
-  CAF demuxer dependencies
-- Various minor documentation fixes
-- atrac3: avoid oversized shifting in decode_bytes()
-- dsputil: fix invalid array indexing
-- flacdec: simplify bounds checking in flac_probe() to avoid undefined behavior.
-- h264: check for luma and chroma bit depth being equal (CVE-2013-2277)
-- iff: validate CMAP palette size (CVE-2013-2495)
-- indeo3: initialise pixel planes on allocation
-- ivi_common: do not call MC for intra frames when dc_transform is unset
-- lavf: fix arithmetic overflows in avformat_seek_file()
-- lzo: fix overflow checking in copy_backptr()
-- matroskadec: request a read buffer for the wav header
-- mp3: exit on parsing error in mp_decode_frame
-- msrledec: convert to bytestream2 API and add proper bounds checking (CVE-2013-2496)
-- oggdec: make sure the private parse data is cleaned up
-- parser: fix large overreads
-- png: use av_mallocz_array() for the zlib zalloc function, avoids accessing uninitialized memory
-- pthread: set the frame properties from the thread context, not user
-- roqvideodec: fix a potential infinite loop in roqvideo_decode_frame()
-- update year to 2013
-- various potentially security relevant fixes to the shorten decoder
-- vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
-- vorbisdec: Error on bark_map_size equal to 0 (CVE-2013-0894)
-- wmadec: require block_align to be set
-- wmaprodec: require block_align to be set, avoids infinite loop
-- wmaprodec: return an error, not 0, when the input is too small
-- xxan: fix invalid memory access in xan_decode_frame_type0()
-
-
-version 0.8.5:
-
-- Several bugs and crashes have been fixed in the following codecs:
-  Indeo 4 (CVE-2012-2791), VP5/VP6 (CVE-2012-2783), Indeo 3 (CVE-2012-2804),
-  MPEG-1/2 (CVE-2012-2803), MP3 (CVE-2012-2797), AAC (CVE-2012-5144),
-  AC-3 (CVE-2012-2802), AVS (CVE-2012-2801), DFA (CVE-2012-2798)
-
-- backported hardening patches for h264 and svq3
-
-- smaller bug fixes in id3v2 (Bug 395), RTSP, option handling, ALAC,
-  Flash Screen Video
-
-- unconditionally enable PIC on PowerPC
-
-- x86: Require an assembler able to cope with AVX instructions
-
-- fix a serious memory leak on broken Ogg files
-
-
-version 0.8.4:
-
-- Several bugs and crashes have been fixed in the following codecs:
-  h264 (Bug 118), vc1dec (CVE-2012-2796), sipr, bmpdec (bug 367), alsdec
-  (CVE-2012-2775), rv34/rv40 (CVE-2012-2772), indeo3/indeo4
-  (CVE-2012-2776, CVE-2012-2779, CVE-2012-2787, CVE-2012-2794,
-  CVE-2012-2800), vorbisenc, vorbisdec (Bug 277), snow, ac3dec
-  (CVE-2012-2802), avsdec (CVE-2012-2801), dfa (CVE-2012-2786,
-  CVE-2012-2798), lagrith (CVE-2012-2793), wmaprodec (CVE-2012-2789 &
-  Bug 327), avidec (CVE-2012-2788, CVE-2012-2790), cavsdec
-  (CVE-2012-2777, CVE-2012-2784), wav (Bug 379), yuff4mpeg (Bug 373),
-  mpegaudio, tiffenc, smacker (Bug 265).
-
-- smaller bug fixes in avconv (Bug 352)
-
-- fix lt() and lte() in function evaluator
-
-- fix segfault in avformat_open_input()
-
-- fix segfault in golomb decoder (bug 310)
-
-- fix segfault (double free) in libavfilter
-
-- convert dfa decoder to bytestream2 API to protect from overreads
-
-- bugfix in vf_pad/scale filter (Bug 203 & 245)
-
-- lavc: remove stats_out and stats_in from the options table. (Bug 380)
-
-
-version 0.8.3:
-
-- Several bugs and crashes have been fixed in the following codecs: PNG,
-  Electronic Arts TQI, H.264 (CVE-2012-0851) and H.263 (CVE-2011-3937)
-
-
-version 0.8.2:
+version next:
+
+
+version 0.10.8
+- kmvc: Clip pixel position to valid range
+- kmvc: use fixed sized arrays in the context
+- indeo: use a typedef for the mc function pointer
+- lavc: check for overflow in init_get_bits
+- mjpegdec: properly report unsupported disabled features
+- jpegls: return meaningful errors
+- jpegls: factorize return paths
+- jpegls: check the scan offset
+- wavpack: validate samples size parsed in wavpack_decode_block
+- ljpeg: use the correct number of components in yuv
+- mjpeg: Validate sampling factors
+- mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
+- wavpack: check packet size early
+- wavpack: return meaningful errors
+- apetag: use int64_t for filesize
+- tiff: do not overread the source buffer
+- Prepare for 0.8.8 Release
+- smacker: fix an off by one in huff.length computation
+- smacker: check the return value of smacker_decode_tree
+- smacker: pad the extradata allocation
+- smacker: check frame size validity
+- vmdav: convert to bytestream2
+- 4xm: don't rely on get_buffer() initializing the frame.
+- 4xm: check the return value of read_huffman_tables().
+- 4xm: use the correct logging context
+- 4xm: reject frames not compatible with the declared version
+- 4xm: check bitstream_size boundary before using it
+- 4xm: do not overread the source buffer in decode_p_block
+- avfiltergraph: check for sws opts being non-NULL before using them
+- bmv: check for len being valid in bmv_decode_frame()
+- dfa: check for invalid access in decode_wdlt()
+- indeo3: check motion vectors
+- indeo3: fix data size check
+- indeo3: switch parsing the header to bytestream2
+- lavf: make sure stream probe data gets freed.
+- oggdec: fix faulty cleanup prototype
+- oma: Validate sample rates
+- qdm2: check that the FFT size is a power of 2
+- rv10: check that extradata is large enough
+- xmv: check audio track parameters validity
+- xmv: do not leak memory in the error paths in xmv_read_header()
+- aac: check the maximum number of channels
+- indeo3: fix off by one in MV validity check, Bug #503
+- id3v2: check for end of file while unescaping tags
+- wav: Always seek to an even offset, Bug #500, LP: #1174737
+- proresdec: support mixed interlaced/non-interlaced content
+
+
+version 0.10.6:
+
+- many bug fixes that where found with Coverity
+
+- The following CVE fixes where backported:
+  CVE-2012-2796, CVE-2012-2775, CVE-2012-2772, CVE-2012-2776,
+  CVE-2012-2779, CVE-2012-2787, CVE-2012-2794, CVE-2012-2800,
+  CVE-2012-2802, CVE-2012-2801, CVE-2012-2786, CVE-2012-2798,
+  CVE-2012-2793, CVE-2012-2789, CVE-2012-2788, CVE-2012-2790,
+  CVE-2012-2777, CVE-2012-2784
+
+- hundreads of other bug fixes, some possibly security relevant,
+  see the git log for details.
+
+
+version 0.10.5:
+
+- Several bugs and crashes have been fixed as well as build problems
+  with recent mingw64
+
+
+version 0.10.4:
+
+- Several bugs and crashes have been fixed
+  Note, CVE-2012-0851 and CVE-2011-3937 have been fixed in previous releases
+
+version 0.10.3:
+
+- Security fixes in the 4xm demuxer, avi demuxer, cook decoder,
+  mm demuxer, mpegvideo decoder, vqavideo decoder (CVE-2012-0947) and
+  xmv demuxer.
 
 - Several bugs and crashes have been fixed in the following codecs: AAC,
   APE, H.263, H.264, Indeo 4, Mimic, MJPEG, Motion Pixels Video, RAW,
-  TTA, VC1, VQA, WMA Voice, vqavideo (CVE-2012-0947).
+  TTA, VC1, VQA, WMA Voice, vqavideo.
 
 - Several bugs and crashes have been fixed in the following formats:
   ASF, ID3v2, MOV, xWMA
@@ -103,7 +97,11 @@ version 0.8.2:
   checks: truemotion2, utvideo, vqavideo
 
 
-version 0.8.1:
+version 0.10.1
+- Several security fixes, many bugfixes affecting many formats and
+  codecs, the list below is not complete.
+
+- swapuv filter
 
 - Several bugs and crashes have been fixed in the following codecs: AAC,
   AC-3, ADPCM, AMR (both NB and WB), ATRAC3, CAVC, Cook, camstudio, DCA,
@@ -134,27 +132,52 @@ version 0.8.1:
   further information.
 
 
-version 0.8:
-
+version 0.10:
+- Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
+         CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
+         CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
+         CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
+- v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
+- SBaGen (SBG) binaural beats script demuxer
+- OpenMG Audio muxer
+- Timecode extraction in DV and MOV
+- thumbnail video filter
+- XML output in ffprobe
+- asplit audio filter
+- tinterlace video filter
+- astreamsync audio filter
+- amerge audio filter
+- ISMV (Smooth Streaming) muxer
 - GSM audio parser
 - SMJPEG muxer
-
-
-version 0.8_beta2:
-
+- XWD encoder and decoder
 - 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.
+- y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
+- ffprobe -show_error option
+- Avid 1:1 10-bit RGB Packer codec
+- v308 Quicktime Uncompressed 4:4:4 encoder and decoder
+- yuv4 libquicktime packed 4:2:0 encoder and decoder
+- ffprobe -show_frames option
+- silencedetect audio filter
+- ffprobe -show_program_version, -show_library_versions, -show_versions options
 - rv34: frame-level multi-threading
 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
+- Improved PGS subtitle decoder
+- dumpgraph option to lavfi device
+- r210 and r10k encoders
+- ffwavesynth decoder
+- aviocat tool
+- ffeval tool
 
 
-version 0.8_beta1:
+version 0.9:
 
+- openal input device added
+- boxblur filter added
 - 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
+- lavfi input device added
+- 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
@@ -224,23 +247,40 @@ easier to use. The changes are:
     * -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
+- LOAS demuxer
+- ashowinfo filter added
 - Windows Media Image decoder
+- amovie source added
 - LATM muxer/demuxer
-- showinfo filter
-- split filter
+- Speex encoder via libspeex
+- JSON output in ffprobe
+- WTV muxer
+- Optional C++ Support (needed for libstagefright)
+- H.264 Decoding on Android via Stagefright
+- Prores decoder
+- BIN/XBIN/ADF/IDF text file decoder
+- aconvert audio filter added
+- audio support to lavfi input device added
 - libcdio-paranoia input device for audio CD grabbing
-- select filter
 - Apple ProRes decoder
 - CELT in Ogg demuxing
+- G.723.1 demuxer and decoder
+- libmodplug support (--enable-libmodplug)
 - VC-1 interlaced decoding
-- lut, lutrgb, and lutyuv filters
-- boxblur filter
+- libutvideo wrapper (--enable-libutvideo)
+- aevalsrc audio source added
 - 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
+- Prores encoder
+- Video Decoder Acceleration (VDA) HWAccel module.
 - replacement Indeo 3 decoder
+- new ffmpeg option: -map_channel
+- volume audio filter added
+- earwax audio filter added
+- libv4l2 support (--enable-libv4l2)
 - TLS/SSL and HTTPS protocol support
 - AVOptions API rewritten and documented
 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
@@ -250,44 +290,27 @@ easier to use. The changes are:
 - Discworld II BMV decoding support
 - VBLE Decoder
 - OS X Video Decoder Acceleration (VDA) support
+- compact and csv output in ffprobe
+- pan audio filter
+- IFF Amiga Continuous Bitmap (ACBM) decoder
+- ass filter
 - CRI ADX audio format muxer and demuxer
 - Playstation Portable PMP format demuxer
+- Microsoft Windows ICO demuxer
+- life source
 - PCM format support in OMA demuxer
 - CLJR encoder
+- new option: -report
 - Dxtory capture format decoder
-- v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
-- OpenMG Audio muxer
+- cellauto source
 - 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:
+version 0.8:
 
+- many many things we forgot because we rather write code than changelogs
 - WebM support in Matroska de/muxer
 - low overhead Ogg muxing
 - MMS-TCP support
@@ -295,6 +318,7 @@ version 0.7_beta1:
 - Demuxer for On2's IVF format
 - Pictor/PC Paint decoder
 - HE-AAC v2 decoder
+- HE-AAC v2 encoding with libaacplus
 - libfaad2 wrapper removed
 - DTS-ES extension (XCh) decoding support
 - native VP8 decoder
@@ -306,6 +330,7 @@ version 0.7_beta1:
 - RTP depacketization of QDM2
 - ANSI/ASCII art playback system
 - Lego Mindstorms RSO de/muxer
+- libavcore added (and subsequently removed)
 - SubRip subtitle file muxer and demuxer
 - Chinese AVS encoding via libxavs
 - ffprobe -show_packets option added
@@ -352,7 +377,7 @@ version 0.7_beta1:
 - 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
+- SubRip (srt) subtitle encoder and decoder
 - floating-point AC-3 encoder added
 - Lagarith decoder
 - ffmpeg -copytb option added
@@ -365,11 +390,46 @@ version 0.7_beta1:
 - sndio support for playback and record
 - Linux framebuffer input device added
 - Chronomaster DFA decoder
-- Mobotix MxPEG decoder
+- DPX image encoder
+- MicroDVD subtitle file muxer and demuxer
+- Playstation Portable PMP format demuxer
+- fieldorder video filter added
 - AAC encoding via libvo-aacenc
 - AMR-WB encoding via libvo-amrwbenc
 - xWMA demuxer
-- fieldorder video filter added
+- Mobotix MxPEG decoder
+- VP8 frame-multithreading
+- NEON optimizations for VP8
+- Lots of deprecated API cruft removed
+- fft and imdct optimizations for AVX (Sandy Bridge) processors
+- showinfo filter added
+- SMPTE 302M AES3 audio decoder
+- Apple Core Audio Format muxer
+- 9bit and 10bit per sample support in the H.264 decoder
+- 9bit and 10bit FFV1 encoding / decoding
+- split filter added
+- select filter added
+- sdl output device added
+- libmpcodecs video filter support (3 times as many filters than before)
+- mpeg2 aspect ratio dection fixed
+- libxvid aspect pickiness fixed
+- Frame multithreaded decoding
+- E-AC-3 audio encoder
+- ac3enc: add channel coupling support
+- floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
+- H264/MPEG frame-level multi-threading
+- All 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
+- lut, lutrgb, and lutyuv filters added
+- buffersink libavfilter sink added
+- Bump libswscale for recently reported ABI break
+- New J2K encoder (via OpenJPEG)
+
+
+version 0.7:
+
+- all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
 
 
 version 0.6:
@@ -610,6 +670,7 @@ version 0.5:
 - Gopher client support
 - MXF D-10 muxer
 - generic metadata API
+- flash ScreenVideo2 encoder
 
 
 version 0.4.9-pre1: