Update for 0.5.7
[ffmpeg.git] / Changelog
1 Entries are sorted chronologically from oldest to youngest within each release,
2 releases are sorted from youngest to oldest.
3
4
5 version 0.5.6:
6 - svq1dec: call avcodec_set_dimensions() after dimensions changed. (NGS00148, CVE-2011-4579)
7 - vmd: fix segfaults on corruped streams (CVE-2011-4364)
8 - commits related to CVE-2011-4353:
9   - vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
10   - Plug some memory leaks in the VP6 decoder
11   - vp6: Reset the internal state when aborting key frames header parsing
12   - vp6: Fix illegal read.
13   - vp6: Fix illegal read.
14   - Fix out of bound reads in the QDM2 decoder.
15 - commits related to CVE-2011-4351:
16   - Check for out of bound writes in the QDM2 decoder.
17   - qdm2: check output buffer size before decoding
18   - Fix qdm2 decoder packet handling to match the api
19
20
21 version 0.5.5:
22
23 - Fix memory (re)allocation in matroskadec.c (MSVR11-011/CVE-2011-3504)
24 - Fix some crashes with invalid bitstreams in the CAVS decoder
25   (CVE-2011-3362, CVE-2011-3973, CVE-2011-3974)
26 - Compilation fixes for gcc-4.6, testsuite now passes again
27 - Detect and handle overreads in the MJPEG decoder.
28 - multiple other security fixes.
29
30
31
32 version 0.5.4:
33
34 - Fix memory corruption in WMV parsing (addresses CVE-2010-3908)
35 - Fix heap corruption crashes (addresses CVE-2011-0722)
36 - Fix crashes in Vorbis decoding found by zzuf (addresses CVE-2010-4704)
37 - Fix another crash in Vorbis decoding (addresses CVE-2011-0480, Chrome issue 68115)
38 - Fix invalid reads in VC-1 decoding (related to CVE-2011-0723)
39 - Do not attempt to decode APE file with no frames
40   (adresses http://packetstorm.linuxsecurity.com/1103-exploits/vlc105-dos.txt)
41
42
43
44 version 0.5.3:
45
46 - build system improvements
47 - performance fix for seekable HTTP
48 - fix several potentially exploitable issues in the FLIC decoder
49   (addresses CVE-2010-3429)
50
51
52
53 version 0.5.2:
54
55 - Hurd support
56 - PowerPC without AltiVec compilation issues
57 - validate channels and samplerate in the Vorbis decoder
58
59
60
61 version 0.5.1:
62
63 - build system updates
64 - documentation updates
65 - libswscale now is LGPL except for x86 optimizations
66 - fix for GPL code in libswscale that was erroneously activated
67 - AltiVec code in libswscale is now LGPL
68 - remaining GPL parts in AC-3 decoder converted to LGPL
69 - (L)GPL license upgrade support
70 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
71 - enable symbol versioning by default for linkers that support it
72 - backport av_lockmgr_register(), see doc/APIchanges for details
73 - security fixes for:
74   - ASF, Ogg and MOV demuxers
75   - FFv1, H.264, HuffYUV, MLP, MPEG audio and Snow decoders
76
77
78
79 version 0.5:
80
81 - The "device" muxers and demuxers are now in a new libavdevice library
82 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
83 - DV100 AKA DVCPRO HD decoder and demuxer
84 - TechSmith Camtasia (TSCC) video decoder
85 - IBM Ultimotion (ULTI) video decoder
86 - Sierra Online audio file demuxer and decoder
87 - Apple QuickDraw (qdrw) video decoder
88 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
89 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
90 - Miro VideoXL (VIXL) video decoder
91 - H.261 video encoder
92 - QPEG video decoder
93 - Nullsoft Video (NSV) file demuxer
94 - Shorten audio decoder
95 - LOCO video decoder
96 - Apple Lossless Audio Codec (ALAC) decoder
97 - Winnov WNV1 video decoder
98 - Autodesk Animator Studio Codec (AASC) decoder
99 - Indeo 2 video decoder
100 - Fraps FPS1 video decoder
101 - Snow video encoder/decoder
102 - Sonic audio encoder/decoder
103 - Vorbis audio encoder/decoder
104 - Macromedia ADPCM decoder
105 - Duck TrueMotion 2 video decoder
106 - support for decoding FLX and DTA extensions in FLIC files
107 - H.264 custom quantization matrices support
108 - ffserver fixed, it should now be usable again
109 - QDM2 audio decoder
110 - Real Cooker audio decoder
111 - TrueSpeech audio decoder
112 - WMA2 audio decoder fixed, now all files should play correctly
113 - RealAudio 14.4 and 28.8 decoders fixed
114 - JPEG-LS encoder and decoder
115 - CamStudio video decoder
116 - build system improvements
117 - tabs and trailing whitespace removed from the codebase
118 - AIFF/AIFF-C audio format, encoding and decoding
119 - ADTS AAC file reading and writing
120 - Creative VOC file reading and writing
121 - American Laser Games multimedia (*.mm) playback system
122 - Zip Blocks Motion Video decoder and encoder
123 - improved Theora/VP3 decoder
124 - True Audio (TTA) decoder
125 - AVS demuxer and video decoder
126 - Smacker demuxer and decoder
127 - NuppelVideo/MythTV demuxer and RTjpeg decoder
128 - KMVC decoder
129 - MPEG-2 intra VLC support
130 - MPEG-2 4:2:2 encoder
131 - Flash Screen Video decoder
132 - GXF demuxer
133 - Chinese AVS decoder
134 - GXF muxer
135 - MXF demuxer
136 - VC-1/WMV3/WMV9 video decoder
137 - MacIntel support
138 - AVISynth support
139 - VMware video decoder
140 - VP5 video decoder
141 - VP6 video decoder
142 - WavPack lossless audio decoder
143 - Targa (.TGA) picture decoder
144 - Delphine Software .cin demuxer/audio and video decoder
145 - Tiertex .seq demuxer/video decoder
146 - MTV demuxer
147 - TIFF picture encoder and decoder
148 - GIF picture decoder
149 - Intel Music Coder decoder
150 - Musepack decoder
151 - Flash Screen Video encoder
152 - Theora encoding via libtheora
153 - BMP encoder
154 - WMA encoder
155 - GSM-MS encoder and decoder
156 - DCA decoder
157 - DXA demuxer and decoder
158 - DNxHD decoder
159 - Gamecube movie (.THP) playback system
160 - Blackfin optimizations
161 - Interplay C93 demuxer and video decoder
162 - Bethsoft VID demuxer and video decoder
163 - CRYO APC demuxer
164 - Atrac3 decoder
165 - V.Flash PTX decoder
166 - RoQ muxer, RoQ audio encoder
167 - Renderware TXD demuxer and decoder
168 - extern C declarations for C++ removed from headers
169 - sws_flags command line option
170 - codebook generator
171 - RoQ video encoder
172 - QTRLE encoder
173 - OS/2 support removed and restored again
174 - AC-3 decoder
175 - NUT muxer
176 - Matroska muxer
177 - slice-based parallel H.264 decoding
178 - Monkey's Audio demuxer and decoder
179 - additional SPARC (VIS) optimizations
180 - AMV audio and video decoder
181 - DNxHD encoder
182 - H.264 PAFF decoding
183 - Nellymoser ASAO decoder
184 - Beam Software SIFF demuxer and decoder
185 - libvorbis Vorbis decoding removed in favor of native decoder
186 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
187 - Ogg (Theora, Vorbis and FLAC) muxer
188 - PC Paintbrush PCX decoder
189 - Sun Rasterfile decoder
190 - TechnoTrend PVA demuxer
191 - Linux Media Labs MPEG-4 (LMLM4) demuxer
192 - AVM2 (Flash 9) SWF muxer
193 - QT variant of IMA ADPCM encoder
194 - VFW grabber
195 - iPod/iPhone compatible mp4 muxer
196 - Mimic decoder
197 - MSN TCP Webcam stream demuxer
198 - RL2 demuxer / decoder
199 - IFF demuxer
200 - 8SVX audio decoder
201 - non-recursive Makefiles
202 - BFI demuxer
203 - MAXIS EA XA (.xa) demuxer / decoder
204 - BFI video decoder
205 - OMA demuxer
206 - MLP/TrueHD decoder
207 - Electronic Arts CMV decoder
208 - Motion Pixels Video decoder
209 - Motion Pixels MVI demuxer
210 - removed animated GIF decoder/demuxer
211 - D-Cinema audio muxer
212 - Electronic Arts TGV decoder
213 - Apple Lossless Audio Codec (ALAC) encoder
214 - AAC decoder
215 - floating point PCM encoder/decoder
216 - MXF muxer
217 - E-AC-3 support added to AC-3 decoder
218 - Nellymoser ASAO encoder
219 - ASS and SSA demuxer and muxer
220 - liba52 wrapper removed
221 - SVQ3 watermark decoding support
222 - Speex decoding via libspeex
223 - Electronic Arts TGQ decoder
224 - RV30 and RV40 decoder
225 - QCELP / PureVoice decoder
226 - hybrid WavPack support
227 - R3D REDCODE demuxer
228 - ALSA support for playback and record
229 - Electronic Arts TQI decoder
230 - OpenJPEG based JPEG 2000 decoder
231 - NC (NC4600) camera file demuxer
232 - Gopher client support
233 - MXF D-10 muxer
234 - generic metadata API
235
236
237 version 0.4.9-pre1:
238
239 - DV encoder, DV muxer
240 - Microsoft RLE video decoder
241 - Microsoft Video-1 decoder
242 - Apple Animation (RLE) decoder
243 - Apple Graphics (SMC) decoder
244 - Apple Video (RPZA) decoder
245 - Cinepak decoder
246 - Sega FILM (CPK) file demuxer
247 - Westwood multimedia support (VQA & AUD files)
248 - Id Quake II CIN playback support
249 - 8BPS video decoder
250 - FLIC playback support
251 - RealVideo 2.0 (RV20) decoder
252 - Duck TrueMotion v1 (DUCK) video decoder
253 - Sierra VMD demuxer and video decoder
254 - MSZH and ZLIB decoder support
255 - SVQ1 video encoder
256 - AMR-WB support
257 - PPC optimizations
258 - rate distortion optimal cbp support
259 - rate distorted optimal ac prediction for MPEG-4
260 - rate distorted optimal lambda->qp support
261 - AAC encoding with libfaac
262 - Sunplus JPEG codec (SP5X) support
263 - use Lagrange multipler instead of QP for ratecontrol
264 - Theora/VP3 decoding support
265 - XA and ADX ADPCM codecs
266 - export MPEG-2 active display area / pan scan
267 - Add support for configuring with IBM XLC
268 - floating point AAN DCT
269 - initial support for zygo video (not complete)
270 - RGB ffv1 support
271 - new audio/video parser API
272 - av_log() system
273 - av_read_frame() and av_seek_frame() support
274 - missing last frame fixes
275 - seek by mouse in ffplay
276 - noise reduction of DCT coefficients
277 - H.263 OBMC & 4MV support
278 - H.263 alternative inter vlc support
279 - H.263 loop filter
280 - H.263 slice structured mode
281 - interlaced DCT support for MPEG-2 encoding
282 - stuffing to stay above min_bitrate
283 - MB type & QP visualization
284 - frame stepping for ffplay
285 - interlaced motion estimation
286 - alternate scantable support
287 - SVCD scan offset support
288 - closed GOP support
289 - SSE2 FDCT
290 - quantizer noise shaping
291 - G.726 ADPCM audio codec
292 - MS ADPCM encoding
293 - multithreaded/SMP motion estimation
294 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
295 - multithreaded/SMP decoding for MPEG-2
296 - FLAC decoder
297 - Metrowerks CodeWarrior suppport
298 - H.263+ custom pcf support
299 - nicer output for 'ffmpeg -formats'
300 - Matroska demuxer
301 - SGI image format, encoding and decoding
302 - H.264 loop filter support
303 - H.264 CABAC support
304 - nicer looking arrows for the motion vector visualization
305 - improved VCD support
306 - audio timestamp drift compensation
307 - MPEG-2 YUV 422/444 support
308 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
309 - better image scaling
310 - H.261 support
311 - correctly interleave packets during encoding
312 - VIS optimized motion compensation
313 - intra_dc_precision>0 encoding support
314 - support reuse of motion vectors/MB types/field select values of the source video
315 - more accurate deblock filter
316 - padding support
317 - many optimizations and bugfixes
318 - FunCom ISS audio file demuxer and according ADPCM decoding
319
320 version 0.4.8:
321
322 - MPEG-2 video encoding (Michael)
323 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
324 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
325   and Mario Brito)
326 - Xan DPCM audio decoder (Mario Brito)
327 - Interplay MVE playback subsystem (Mike Melanson)
328 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
329
330 version 0.4.7:
331
332 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
333   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
334 - current version now also compiles with older GCC (Fabrice)
335 - 4X multimedia playback system including 4xm file demuxer (Mike
336   Melanson), and 4X video and audio codecs (Michael)
337 - Creative YUV (CYUV) decoder (Mike Melanson)
338 - FFV1 codec (our very simple lossless intra only codec, compresses much better
339   than HuffYUV) (Michael)
340 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
341 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
342   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
343 - ffplay has been replaced with a newer version which uses SDL (optionally)
344   for multiplatform support (Fabrice)
345 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
346   by anonymous
347 - AMR format has been added (Johannes Carlsson)
348 - 3GP support has been added (Johannes Carlsson)
349 - VP3 codec has been added (Mike Melanson)
350 - more MPEG-1/2 fixes
351 - better multiplatform support, MS Visual Studio fixes (various)
352 - AltiVec optimizations (Magnus Damn and others)
353 - SH4 processor support has been added (BERO)
354 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
355 - VOB streaming support (Brian Foley)
356 - better MP3 autodetection (Andriy Rysin)
357 - qpel encoding (Michael)
358 - 4mv+b frames encoding finally fixed (Michael)
359 - chroma ME (Michael)
360 - 5 comparison functions for ME (Michael)
361 - B-frame encoding speedup (Michael)
362 - WMV2 codec (unfinished - Michael)
363 - user specified diamond size for EPZS (Michael)
364 - Playstation STR playback subsystem, still experimental (Mike and Michael)
365 - ASV2 codec (Michael)
366 - CLJR decoder (Alex)
367
368 .. And lots more new enhancements and fixes.
369
370 version 0.4.6:
371
372 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
373   from scratch
374 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
375 - fix quantization bug in AC3 encoder
376 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
377 - added prototype ffplay program
378 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
379 - bug fix on MCBPC tables of H.263 (Juanjo)
380 - bug fix on DC coefficients of H.263 (Juanjo)
381 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
382 - now we can decode H.263 streams found in QuickTime files (Juanjo)
383 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
384 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
385 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
386 - now H.263 picture size is returned on the first decoded frame (Juanjo)
387 - added first regression tests
388 - added MPEG-2 TS demuxer
389 - new demux API for libav
390 - more accurate and faster IDCT (Michael)
391 - faster and entropy-controlled motion search (Michael)
392 - two pass video encoding (Michael)
393 - new video rate control (Michael)
394 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
395 - great performance improvement of video encoders and decoders (Michael)
396 - new and faster bit readers and vlc parsers (Michael)
397 - high quality encoding mode: tries all macroblock/VLC types (Michael)
398 - added DV video decoder
399 - preliminary RTP/RTSP support in ffserver and libavformat
400 - H.263+ AIC decoding/encoding support (Juanjo)
401 - VCD MPEG-PS mode (Juanjo)
402 - PSNR stuff (Juanjo)
403 - simple stats output (Juanjo)
404 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
405
406 version 0.4.5:
407
408 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
409 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
410 - added configure system (actually a small shell script)
411 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
412   Michael Hipp (temporary solution - waiting for integer only
413   decoder)
414 - fixed VIDIOCSYNC interrupt
415 - added Intel H.263 decoding support ('I263' AVI fourCC)
416 - added Real Video 1.0 decoding (needs further testing)
417 - simplified image formats again. Added PGM format (=grey
418   pgm). Renamed old PGM to PGMYUV.
419 - fixed msmpeg4 slice issues (tell me if you still find problems)
420 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
421 - added support for MPlayer interface
422 - added macroblock skip optimization
423 - added MJPEG decoder
424 - added mmx/mmxext IDCT from libmpeg2
425 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
426   <celer at shell.scrypt.net>)
427 - added pixel format conversion layer (e.g. for MJPEG or PPM)
428 - added deinterlacing option
429 - MPEG-1/2 fixes
430 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
431 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
432 - Windows porting of file converter
433 - added MJPEG raw format (input/ouput)
434 - added JPEG image format support (input/output)
435
436 version 0.4.4:
437
438 - fixed some std header definitions (Bjorn Lindgren
439   <bjorn.e.lindgren at telia.com>).
440 - added MPEG demuxer (MPEG-1 and 2 compatible).
441 - added ASF demuxer
442 - added prototype RM demuxer
443 - added AC3 decoding (done with libac3 by Aaron Holtzman)
444 - added decoding codec parameter guessing (.e.g. for MPEG, because the
445   header does not include them)
446 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
447   play them (only tested video)
448 - fixed H.263 white bug
449 - fixed phase rounding in img resample filter
450 - add MMX code for polyphase img resample filter
451 - added CPU autodetection
452 - added generic title/author/copyright/comment string handling (ASF and RM
453   use them)
454 - added SWF demux to extract MP3 track (not usable yet because no MP3
455   decoder)
456 - added fractional frame rate support
457 - codecs are no longer searched by read_header() (should fix ffserver
458   segfault)
459
460 version 0.4.3:
461
462 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
463 - fixed raw yuv output
464 - added motion rounding support in MPEG-4
465 - fixed motion bug rounding in MSMPEG4
466 - added B-frame handling in video core
467 - added full MPEG-1 decoding support
468 - added partial (frame only) MPEG-2 support
469 - changed the FOURCC code for H.263 to "U263" to be able to see the
470   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
471   this +codec ;) (JuanJo).
472 - Halfpel motion estimation after MB type selection (JuanJo)
473 - added pgm and .Y.U.V output format
474 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
475   output.
476 - added pgmpipe I/O format (original patch from Martin Aumueller
477   <lists at reserv.at>, but changed completely since we use a format
478   instead of a protocol)
479
480 version 0.4.2:
481
482 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
483   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
484   missing. MSMPEG4 support is complete.
485 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
486   can decode ffmpeg MPEGs :-)).
487 - added libavcodec API documentation (see apiexample.c).
488 - fixed image polyphase bug (the bottom of some images could be
489   greenish)
490 - added support for non clipped motion vectors (decoding only)
491   and image sizes non-multiple of 16
492 - added support for AC prediction (decoding only)
493 - added file overwrite confirmation (can be disabled with -y)
494 - added custom size picture to H.263 using H.263+ (Juanjo)
495
496 version 0.4.1:
497
498 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
499   of AVI and ASF to DIV3.
500 - added -me option to set motion estimation method
501   (default=log). suppressed redundant -hq option.
502 - added options -acodec and -vcodec to force a given codec (useful for
503   AVI for example)
504 - fixed -an option
505 - improved dct_quantize speed
506 - factorized some motion estimation code
507
508 version 0.4.0:
509
510 - removing grab code from ffserver and moved it to ffmpeg. Added
511   multistream support to ffmpeg.
512 - added timeshifting support for live feeds (option ?date=xxx in the
513   URL)
514 - added high quality image resize code with polyphase filter (need
515   mmx/see optimization). Enable multiple image size support in ffserver.
516 - added multi live feed support in ffserver
517 - suppressed master feature from ffserver (it should be done with an
518   external program which opens the .ffm url and writes it to another
519   ffserver)
520 - added preliminary support for video stream parsing (WAV and AVI half
521   done). Added proper support for audio/video file conversion in
522   ffmpeg.
523 - added preliminary support for video file sending from ffserver
524 - redesigning I/O subsystem: now using URL based input and output
525   (see avio.h)
526 - added WAV format support
527 - added "tty user interface" to ffmpeg to stop grabbing gracefully
528 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
529   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
530 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
531 - added new motion estimation algorithms, log and phods (Juanjo)
532 - changed directories: libav for format handling, libavcodec for
533   codecs
534
535 version 0.3.4:
536
537 - added stereo in MPEG audio encoder
538
539 version 0.3.3:
540
541 - added 'high quality' mode which use motion vectors. It can be used in
542   real time at low resolution.
543 - fixed rounding problems which caused quality problems at high
544   bitrates and large GOP size
545
546 version 0.3.2: small fixes
547
548 - ASF fixes
549 - put_seek bug fix
550
551 version 0.3.1: added avi/divx support
552
553 - added AVI support
554 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
555 - added sound for flash format (not tested)
556
557 version 0.3: initial public release