update Changelog
[libav.git] / Changelog
1 Entries are sorted chronologically from oldest to youngest within each release,
2 releases are sorted from youngest to oldest.
3
4 version 0.8.7:
5
6 - avfiltergraph: check for sws opts being non-NULL before using them
7 - bmv: check for len being valid in bmv_decode_frame()
8 - dfa: check for invalid access in decode_wdlt()
9 - indeo3: check motion vectors
10 - indeo3: fix data size check
11 - indeo3: switch parsing the header to bytestream2
12 - lavf: make sure stream probe data gets freed.
13 - oggdec: fix faulty cleanup prototype
14 - oma: Validate sample rates
15 - qdm2: check that the FFT size is a power of 2
16 - rv10: check that extradata is large enough
17 - xmv: check audio track parameters validity
18 - xmv: do not leak memory in the error paths in xmv_read_header()
19 - aac: check the maximum number of channels
20 - indeo3: fix off by one in MV validity check, Bug #503
21 - id3v2: check for end of file while unescaping tags
22 - wav: Always seek to an even offset, Bug #500, LP: #1174737
23 - proresdec: support mixed interlaced/non-interlaced content
24
25 version 0.8.6:
26
27 - Build system fixes: Fix Altivec detection (Debian Bug#701710) and fix
28   CAF demuxer dependencies
29 - Various minor documentation fixes
30 - atrac3: avoid oversized shifting in decode_bytes()
31 - dsputil: fix invalid array indexing
32 - flacdec: simplify bounds checking in flac_probe() to avoid undefined behavior.
33 - h264: check for luma and chroma bit depth being equal (CVE-2013-2277)
34 - iff: validate CMAP palette size (CVE-2013-2495)
35 - indeo3: initialise pixel planes on allocation
36 - ivi_common: do not call MC for intra frames when dc_transform is unset
37 - lavf: fix arithmetic overflows in avformat_seek_file()
38 - lzo: fix overflow checking in copy_backptr()
39 - matroskadec: request a read buffer for the wav header
40 - mp3: exit on parsing error in mp_decode_frame
41 - msrledec: convert to bytestream2 API and add proper bounds checking (CVE-2013-2496)
42 - oggdec: make sure the private parse data is cleaned up
43 - parser: fix large overreads
44 - png: use av_mallocz_array() for the zlib zalloc function, avoids accessing uninitialized memory
45 - pthread: set the frame properties from the thread context, not user
46 - roqvideodec: fix a potential infinite loop in roqvideo_decode_frame()
47 - update year to 2013
48 - various potentially security relevant fixes to the shorten decoder
49 - vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
50 - vorbisdec: Error on bark_map_size equal to 0 (CVE-2013-0894)
51 - wmadec: require block_align to be set
52 - wmaprodec: require block_align to be set, avoids infinite loop
53 - wmaprodec: return an error, not 0, when the input is too small
54 - xxan: fix invalid memory access in xan_decode_frame_type0()
55
56
57 version 0.8.5:
58
59 - Several bugs and crashes have been fixed in the following codecs:
60   Indeo 4 (CVE-2012-2791), VP5/VP6 (CVE-2012-2783), Indeo 3 (CVE-2012-2804),
61   MPEG-1/2 (CVE-2012-2803), MP3 (CVE-2012-2797), AAC (CVE-2012-5144),
62   AC-3 (CVE-2012-2802), AVS (CVE-2012-2801), DFA (CVE-2012-2798)
63
64 - backported hardening patches for h264 and svq3
65
66 - smaller bug fixes in id3v2 (Bug 395), RTSP, option handling, ALAC,
67   Flash Screen Video
68
69 - unconditionally enable PIC on PowerPC
70
71 - x86: Require an assembler able to cope with AVX instructions
72
73 - fix a serious memory leak on broken Ogg files
74
75
76 version 0.8.4:
77
78 - Several bugs and crashes have been fixed in the following codecs:
79   h264 (Bug 118), vc1dec (CVE-2012-2796), sipr, bmpdec (bug 367), alsdec
80   (CVE-2012-2775), rv34/rv40 (CVE-2012-2772), indeo3/indeo4
81   (CVE-2012-2776, CVE-2012-2779, CVE-2012-2787, CVE-2012-2794,
82   CVE-2012-2800), vorbisenc, vorbisdec (Bug 277), snow, ac3dec
83   (CVE-2012-2802), avsdec (CVE-2012-2801), dfa (CVE-2012-2786,
84   CVE-2012-2798), lagrith (CVE-2012-2793), wmaprodec (CVE-2012-2789 &
85   Bug 327), avidec (CVE-2012-2788, CVE-2012-2790), cavsdec
86   (CVE-2012-2777, CVE-2012-2784), wav (Bug 379), yuff4mpeg (Bug 373),
87   mpegaudio, tiffenc, smacker (Bug 265).
88
89 - smaller bug fixes in avconv (Bug 352)
90
91 - fix lt() and lte() in function evaluator
92
93 - fix segfault in avformat_open_input()
94
95 - fix segfault in golomb decoder (bug 310)
96
97 - fix segfault (double free) in libavfilter
98
99 - convert dfa decoder to bytestream2 API to protect from overreads
100
101 - bugfix in vf_pad/scale filter (Bug 203 & 245)
102
103 - lavc: remove stats_out and stats_in from the options table. (Bug 380)
104
105
106 version 0.8.3:
107
108 - Several bugs and crashes have been fixed in the following codecs: PNG,
109   Electronic Arts TQI, H.264 (CVE-2012-0851) and H.263 (CVE-2011-3937)
110
111
112 version 0.8.2:
113
114 - Several bugs and crashes have been fixed in the following codecs: AAC,
115   APE, H.263, H.264, Indeo 4, Mimic, MJPEG, Motion Pixels Video, RAW,
116   TTA, VC1, VQA, WMA Voice, vqavideo (CVE-2012-0947).
117
118 - Several bugs and crashes have been fixed in the following formats:
119   ASF, ID3v2, MOV, xWMA
120
121 - This release additionally updates the following codecs to the
122   bytestream2 API, and therefore benefit from additional overflow
123   checks: truemotion2, utvideo, vqavideo
124
125
126 version 0.8.1:
127
128 - Several bugs and crashes have been fixed in the following codecs: AAC,
129   AC-3, ADPCM, AMR (both NB and WB), ATRAC3, CAVC, Cook, camstudio, DCA,
130   DPCM, DSI CIN, DV, EA TGQ, FLAC, fraps, G.722 (both encoder and
131   decoder), H.264, huvffyuv, BB JV decoder, Indeo 3, KGV1, LCL, the
132   libx264 wrapper, MJPEG, mp3on4, Musepack, MPEG1/2, PNG, QDM2, Qt RLE,
133   ROQ, RV10, RV30/RV34/RV40, shorten, smacker, subrip, SVQ3, TIFF,
134   Truemotion2, TTA, VC1, VMware Screen codec, Vorbis, VP5, VP6, WMA,
135   Westwood SNDx, XXAN.
136
137 - This release additionally updates the following codecs to the
138   bytestream2 API, and therefore benefit from additional overflow
139   checks: XXAN, ALG MM, TQG, SMC, Qt SMC, ROQ, PNG
140
141 - Several bugs and crashes have been fixed in the following formats:
142   AIFF, ASF, DV, Matroska, NSV, MOV, MPEG-TS, Smacker, Sony OpenMG, RM,
143   SWF.
144
145 - Libswscale has an potential overflow for large image size fixed.
146
147 - The following APIs have been added:
148
149   avcodec_is_open()
150   avformat_get_riff_video_tags()
151   avformat_get_riff_audio_tags()
152
153   Please see the file doc/APIchanges and the Doxygen documentation for
154   further information.
155
156
157 version 0.8:
158
159 - GSM audio parser
160 - SMJPEG muxer
161
162
163 version 0.8_beta2:
164
165 - Automatic thread count based on detection number of (available) CPU cores
166 - Deprecate libpostproc. If desired, the switch --enable-postproc will
167   enable it but it may be removed in a later Libav release.
168 - rv34: frame-level multi-threading
169 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
170
171
172 version 0.8_beta1:
173
174 - BWF muxer
175 - Flash Screen Video 2 decoder
176 - ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
177 - ffmpeg deprecated, added avconv, which is almost the same for now, except
178 for a few incompatible changes in the options, which will hopefully make them
179 easier to use. The changes are:
180     * The options placement is now strictly enforced! While in theory the
181       options for ffmpeg should be given in [input options] -i INPUT [output
182       options] OUTPUT order, in practice it was possible to give output options
183       before the -i and it mostly worked. Except when it didn't - the behavior was
184       a bit inconsistent. In avconv, it is not possible to mix input and output
185       options. All non-global options are reset after an input or output filename.
186     * All per-file options are now truly per-file - they apply only to the next
187       input or output file and specifying different values for different files
188       will now work properly (notably -ss and -t options).
189     * All per-stream options are now truly per-stream - it is possible to
190       specify which stream(s) should a given option apply to. See the Stream
191       specifiers section in the avconv manual for details.
192     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
193       sense that they're specified after the output filename instead of before,
194       like all other options. In avconv this irregularity is removed, all options
195       apply to the next input or output file.
196     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
197       irregular and highly confusing, they were also redundant. In avconv the -map
198       option will create new streams in the output file and map input streams to
199       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
200       each stream in the first input file.
201     * The -map option now has slightly different and more powerful syntax:
202         + Colons (':') are used to separate file index/stream type/stream index
203           instead of dots. Comma (',') is used to separate the sync stream instead
204           of colon.. This is done for consistency with other options.
205         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
206           output stream from the third input audio stream.
207         + Omitting the stream index now maps all the streams of the given type,
208           not just the first. E.g. -map 0:s creates output streams for all the
209           subtitle streams in the first input file.
210         + Since -map can now match multiple streams, negative mappings were
211           introduced. Negative mappings disable some streams from an already
212           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
213           all the stream in the first input file, except for the second audio
214           stream'.
215     * There is a new option -c (or -codec) for choosing the decoder/encoder to
216       use, which allows to precisely specify target stream(s) consistently with
217       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
218       libvorbis sets the codec for the first audio stream and -c copy copies all
219       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
220       aliases to -c:v/a/s
221     * It is now possible to precisely specify which stream should an AVOption
222       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
223       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
224       syntax is deprecated and will stop working soon.
225     * -map_chapters now takes only an input file index and applies to the next
226       output file. This is consistent with how all the other options work.
227     * -map_metadata now takes only an input metadata specifier and applies to
228       the next output file. Output metadata specifier is now part of the option
229       name, similarly to the AVOptions/map/codec feature above.
230     * -metadata can now be used to set metadata on streams and chapters, e.g.
231       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
232       This made -vlang/-alang/-slang options redundant, so they were removed.
233     * -qscale option now uses stream specifiers and applies to all streams, not
234       just video. I.e. plain -qscale number would now apply to all streams. To get
235       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
236       and -aq is now an alias for -q:a.
237     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
238       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
239     * -itsscale option now uses stream specifiers, so its argument is only the
240       scale parameter.
241     * -intra option was removed, use -g 0 for the same effect.
242     * -psnr option was removed, use -flags +psnr for the same effect.
243     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
244     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
245     * -vtag/-atag/-stag options are now aliases to the new -tag option.
246 - XMV demuxer
247 - Windows Media Image decoder
248 - LATM muxer/demuxer
249 - showinfo filter
250 - split filter
251 - libcdio-paranoia input device for audio CD grabbing
252 - select filter
253 - Apple ProRes decoder
254 - CELT in Ogg demuxing
255 - VC-1 interlaced decoding
256 - lut, lutrgb, and lutyuv filters
257 - boxblur filter
258 - Ut Video decoder
259 - Speex encoding via libspeex
260 - 4:2:2 H.264 decoding support
261 - 4:2:2 and 4:4:4 H.264 encoding with libx264
262 - Pulseaudio input device
263 - replacement Indeo 3 decoder
264 - TLS/SSL and HTTPS protocol support
265 - AVOptions API rewritten and documented
266 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
267   AVCodecContext deprecated. Codec private options should be used instead.
268 - Properly working defaults in libx264 wrapper, support for native presets.
269 - Encrypted OMA files support
270 - Discworld II BMV decoding support
271 - VBLE Decoder
272 - OS X Video Decoder Acceleration (VDA) support
273 - CRI ADX audio format muxer and demuxer
274 - Playstation Portable PMP format demuxer
275 - PCM format support in OMA demuxer
276 - CLJR encoder
277 - Dxtory capture format decoder
278 - v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
279 - OpenMG Audio muxer
280 - Simple segmenting muxer
281 - Indeo 4 decoder
282 - SMJPEG demuxer
283
284
285 version 0.7:
286
287 - E-AC-3 audio encoder
288 - ac3enc: add channel coupling support
289 - floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
290 - H.264/MPEG frame-level multithreading
291 - av_metadata_* functions renamed to av_dict_* and moved to libavutil
292 - 4:4:4 H.264 decoding support
293 - 10-bit H.264 optimizations for x86
294 - bump libswscale for recently reported ABI break
295
296
297 version 0.7_beta2:
298
299 - VP8 frame-level multithreading
300 - NEON optimizations for VP8
301 - removed a lot of deprecated API cruft
302 - FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
303 - DPX image encoder
304 - SMPTE 302M AES3 audio decoder
305 - ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
306 - 9bit and 10bit per sample support in the H.264 decoder
307
308
309 version 0.7_beta1:
310
311 - WebM support in Matroska de/muxer
312 - low overhead Ogg muxing
313 - MMS-TCP support
314 - VP8 de/encoding via libvpx
315 - Demuxer for On2's IVF format
316 - Pictor/PC Paint decoder
317 - HE-AAC v2 decoder
318 - libfaad2 wrapper removed
319 - DTS-ES extension (XCh) decoding support
320 - native VP8 decoder
321 - RTSP tunneling over HTTP
322 - RTP depacketization of SVQ3
323 - -strict inofficial replaced by -strict unofficial
324 - ffplay -exitonkeydown and -exitonmousedown options added
325 - native GSM / GSM MS decoder
326 - RTP depacketization of QDM2
327 - ANSI/ASCII art playback system
328 - Lego Mindstorms RSO de/muxer
329 - SubRip subtitle file muxer and demuxer
330 - Chinese AVS encoding via libxavs
331 - ffprobe -show_packets option added
332 - RTP packetization of Theora and Vorbis
333 - RTP depacketization of MP4A-LATM
334 - RTP packetization and depacketization of VP8
335 - hflip filter
336 - Apple HTTP Live Streaming demuxer
337 - a64 codec
338 - MMS-HTTP support
339 - G.722 ADPCM audio encoder/decoder
340 - R10k video decoder
341 - ocv_smooth filter
342 - frei0r wrapper filter
343 - change crop filter syntax to width:height:x:y
344 - make the crop filter accept parametric expressions
345 - make ffprobe accept AVFormatContext options
346 - yadif filter
347 - blackframe filter
348 - Demuxer for Leitch/Harris' VR native stream format (LXF)
349 - RTP depacketization of the X-QT QuickTime format
350 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
351 - cropdetect filter
352 - ffmpeg -crop* options removed
353 - transpose filter added
354 - ffmpeg -force_key_frames option added
355 - demuxer for receiving raw rtp:// URLs without an SDP description
356 - single stream LATM/LOAS decoder
357 - setpts filter added
358 - Win64 support for optimized x86 assembly functions
359 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
360 - ASS subtitle encoder and decoder
361 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
362 - overlay filter added
363 - rename aspect filter to setdar, and pixelaspect to setsar
364 - IEC 61937 demuxer
365 - Mobotix .mxg demuxer
366 - frei0r source added
367 - hqdn3d filter added
368 - RTP depacketization of QCELP
369 - FLAC parser added
370 - gradfun filter added
371 - AMR-WB decoder
372 - replace the ocv_smooth filter with a more generic ocv filter
373 - Windows Televison (WTV) demuxer
374 - FFmpeg metadata format muxer and demuxer
375 - SubRip (srt) subtitle decoder
376 - floating-point AC-3 encoder added
377 - Lagarith decoder
378 - ffmpeg -copytb option added
379 - IVF muxer added
380 - Wing Commander IV movies decoder added
381 - movie source added
382 - Bink version 'b' audio and video decoder
383 - Bitmap Brothers JV playback system
384 - Apple HTTP Live Streaming protocol handler
385 - sndio support for playback and record
386 - Linux framebuffer input device added
387 - Chronomaster DFA decoder
388 - Mobotix MxPEG decoder
389 - AAC encoding via libvo-aacenc
390 - AMR-WB encoding via libvo-amrwbenc
391 - xWMA demuxer
392 - fieldorder video filter added
393
394
395 version 0.6:
396
397 - PB-frame decoding for H.263
398 - deprecated vhook subsystem removed
399 - deprecated old scaler removed
400 - VQF demuxer
401 - Alpha channel scaler
402 - PCX encoder
403 - RTP packetization of H.263
404 - RTP packetization of AMR
405 - RTP depacketization of Vorbis
406 - CorePNG decoding support
407 - Cook multichannel decoding support
408 - introduced avlanguage helpers in libavformat
409 - 8088flex TMV demuxer and decoder
410 - per-stream language-tags extraction in asfdec
411 - V210 decoder and encoder
412 - remaining GPL parts in AC-3 decoder converted to LGPL
413 - QCP demuxer
414 - SoX native format muxer and demuxer
415 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
416 - DPX image decoder
417 - Electronic Arts Madcow decoder
418 - DivX (XSUB) subtitle encoder
419 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
420 - experimental AAC encoder
421 - RTP depacketization of ASF and RTSP from WMS servers
422 - RTMP support in libavformat
423 - noX handling for OPT_BOOL X options
424 - Wave64 demuxer
425 - IEC-61937 compatible Muxer
426 - TwinVQ decoder
427 - Bluray (PGS) subtitle decoder
428 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
429 - WMA Pro decoder
430 - Core Audio Format demuxer
431 - Atrac1 decoder
432 - MD STUDIO audio demuxer
433 - RF64 support in WAV demuxer
434 - MPEG-4 Audio Lossless Coding (ALS) decoder
435 - -formats option split into -formats, -codecs, -bsfs, and -protocols
436 - IV8 demuxer
437 - CDG demuxer and decoder
438 - R210 decoder
439 - Auravision Aura 1 and 2 decoders
440 - Deluxe Paint Animation playback system
441 - SIPR decoder
442 - Adobe Filmstrip muxer and demuxer
443 - RTP depacketization of H.263
444 - Bink demuxer and audio/video decoders
445 - enable symbol versioning by default for linkers that support it
446 - IFF PBM/ILBM bitmap decoder
447 - concat protocol
448 - Indeo 5 decoder
449 - RTP depacketization of AMR
450 - WMA Voice decoder
451 - ffprobe tool
452 - AMR-NB decoder
453 - RTSP muxer
454 - HE-AAC v1 decoder
455 - Kega Game Video (KGV1) decoder
456 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
457 - RTP depacketization of Theora
458 - HTTP Digest authentication
459 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
460 - Psygnosis YOP demuxer and video decoder
461 - spectral extension support in the E-AC-3 decoder
462 - unsharp video filter
463 - RTP hinting in the mov/3gp/mp4 muxer
464 - Dirac in Ogg demuxing
465 - seek to keyframes in Ogg
466 - 4:2:2 and 4:4:4 Theora decoding
467 - 35% faster VP3/Theora decoding
468 - faster AAC decoding
469 - faster H.264 decoding
470 - RealAudio 1.0 (14.4K) encoder
471
472
473 version 0.5:
474
475 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
476 - TechSmith Camtasia (TSCC) video decoder
477 - IBM Ultimotion (ULTI) video decoder
478 - Sierra Online audio file demuxer and decoder
479 - Apple QuickDraw (qdrw) video decoder
480 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
481 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
482 - Miro VideoXL (VIXL) video decoder
483 - H.261 video encoder
484 - QPEG video decoder
485 - Nullsoft Video (NSV) file demuxer
486 - Shorten audio decoder
487 - LOCO video decoder
488 - Apple Lossless Audio Codec (ALAC) decoder
489 - Winnov WNV1 video decoder
490 - Autodesk Animator Studio Codec (AASC) decoder
491 - Indeo 2 video decoder
492 - Fraps FPS1 video decoder
493 - Snow video encoder/decoder
494 - Sonic audio encoder/decoder
495 - Vorbis audio decoder
496 - Macromedia ADPCM decoder
497 - Duck TrueMotion 2 video decoder
498 - support for decoding FLX and DTA extensions in FLIC files
499 - H.264 custom quantization matrices support
500 - ffserver fixed, it should now be usable again
501 - QDM2 audio decoder
502 - Real Cooker audio decoder
503 - TrueSpeech audio decoder
504 - WMA2 audio decoder fixed, now all files should play correctly
505 - RealAudio 14.4 and 28.8 decoders fixed
506 - JPEG-LS decoder
507 - build system improvements
508 - tabs and trailing whitespace removed from the codebase
509 - CamStudio video decoder
510 - AIFF/AIFF-C audio format, encoding and decoding
511 - ADTS AAC file reading and writing
512 - Creative VOC file reading and writing
513 - American Laser Games multimedia (*.mm) playback system
514 - Zip Motion Blocks Video decoder
515 - improved Theora/VP3 decoder
516 - True Audio (TTA) decoder
517 - AVS demuxer and video decoder
518 - JPEG-LS encoder
519 - Smacker demuxer and decoder
520 - NuppelVideo/MythTV demuxer and RTjpeg decoder
521 - KMVC decoder
522 - MPEG-2 intra VLC support
523 - MPEG-2 4:2:2 encoder
524 - Flash Screen Video decoder
525 - GXF demuxer
526 - Chinese AVS decoder
527 - GXF muxer
528 - MXF demuxer
529 - VC-1/WMV3/WMV9 video decoder
530 - MacIntel support
531 - AVISynth support
532 - VMware video decoder
533 - VP5 video decoder
534 - VP6 video decoder
535 - WavPack lossless audio decoder
536 - Targa (.TGA) picture decoder
537 - Vorbis audio encoder
538 - Delphine Software .cin demuxer/audio and video decoder
539 - Tiertex .seq demuxer/video decoder
540 - MTV demuxer
541 - TIFF picture encoder and decoder
542 - GIF picture decoder
543 - Intel Music Coder decoder
544 - Zip Motion Blocks Video encoder
545 - Musepack decoder
546 - Flash Screen Video encoder
547 - Theora encoding via libtheora
548 - BMP encoder
549 - WMA encoder
550 - GSM-MS encoder and decoder
551 - DCA decoder
552 - DXA demuxer and decoder
553 - DNxHD decoder
554 - Gamecube movie (.THP) playback system
555 - Blackfin optimizations
556 - Interplay C93 demuxer and video decoder
557 - Bethsoft VID demuxer and video decoder
558 - CRYO APC demuxer
559 - Atrac3 decoder
560 - V.Flash PTX decoder
561 - RoQ muxer, RoQ audio encoder
562 - Renderware TXD demuxer and decoder
563 - extern C declarations for C++ removed from headers
564 - sws_flags command line option
565 - codebook generator
566 - RoQ video encoder
567 - QTRLE encoder
568 - OS/2 support removed and restored again
569 - AC-3 decoder
570 - NUT muxer
571 - additional SPARC (VIS) optimizations
572 - Matroska muxer
573 - slice-based parallel H.264 decoding
574 - Monkey's Audio demuxer and decoder
575 - AMV audio and video decoder
576 - DNxHD encoder
577 - H.264 PAFF decoding
578 - Nellymoser ASAO decoder
579 - Beam Software SIFF demuxer and decoder
580 - libvorbis Vorbis decoding removed in favor of native decoder
581 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
582 - Ogg (Theora, Vorbis and FLAC) muxer
583 - The "device" muxers and demuxers are now in a new libavdevice library
584 - PC Paintbrush PCX decoder
585 - Sun Rasterfile decoder
586 - TechnoTrend PVA demuxer
587 - Linux Media Labs MPEG-4 (LMLM4) demuxer
588 - AVM2 (Flash 9) SWF muxer
589 - QT variant of IMA ADPCM encoder
590 - VFW grabber
591 - iPod/iPhone compatible mp4 muxer
592 - Mimic decoder
593 - MSN TCP Webcam stream demuxer
594 - RL2 demuxer / decoder
595 - IFF demuxer
596 - 8SVX audio decoder
597 - non-recursive Makefiles
598 - BFI demuxer
599 - MAXIS EA XA (.xa) demuxer / decoder
600 - BFI video decoder
601 - OMA demuxer
602 - MLP/TrueHD decoder
603 - Electronic Arts CMV decoder
604 - Motion Pixels Video decoder
605 - Motion Pixels MVI demuxer
606 - removed animated GIF decoder/demuxer
607 - D-Cinema audio muxer
608 - Electronic Arts TGV decoder
609 - Apple Lossless Audio Codec (ALAC) encoder
610 - AAC decoder
611 - floating point PCM encoder/decoder
612 - MXF muxer
613 - DV100 AKA DVCPRO HD decoder and demuxer
614 - E-AC-3 support added to AC-3 decoder
615 - Nellymoser ASAO encoder
616 - ASS and SSA demuxer and muxer
617 - liba52 wrapper removed
618 - SVQ3 watermark decoding support
619 - Speex decoding via libspeex
620 - Electronic Arts TGQ decoder
621 - RV40 decoder
622 - QCELP / PureVoice decoder
623 - RV30 decoder
624 - hybrid WavPack support
625 - R3D REDCODE demuxer
626 - ALSA support for playback and record
627 - Electronic Arts TQI decoder
628 - OpenJPEG based JPEG 2000 decoder
629 - NC (NC4600) camera file demuxer
630 - Gopher client support
631 - MXF D-10 muxer
632 - generic metadata API
633
634
635 version 0.4.9-pre1:
636
637 - DV encoder, DV muxer
638 - Microsoft RLE video decoder
639 - Microsoft Video-1 decoder
640 - Apple Animation (RLE) decoder
641 - Apple Graphics (SMC) decoder
642 - Apple Video (RPZA) decoder
643 - Cinepak decoder
644 - Sega FILM (CPK) file demuxer
645 - Westwood multimedia support (VQA & AUD files)
646 - Id Quake II CIN playback support
647 - 8BPS video decoder
648 - FLIC playback support
649 - RealVideo 2.0 (RV20) decoder
650 - Duck TrueMotion v1 (DUCK) video decoder
651 - Sierra VMD demuxer and video decoder
652 - MSZH and ZLIB decoder support
653 - SVQ1 video encoder
654 - AMR-WB support
655 - PPC optimizations
656 - rate distortion optimal cbp support
657 - rate distorted optimal ac prediction for MPEG-4
658 - rate distorted optimal lambda->qp support
659 - AAC encoding with libfaac
660 - Sunplus JPEG codec (SP5X) support
661 - use Lagrange multipler instead of QP for ratecontrol
662 - Theora/VP3 decoding support
663 - XA and ADX ADPCM codecs
664 - export MPEG-2 active display area / pan scan
665 - Add support for configuring with IBM XLC
666 - floating point AAN DCT
667 - initial support for zygo video (not complete)
668 - RGB ffv1 support
669 - new audio/video parser API
670 - av_log() system
671 - av_read_frame() and av_seek_frame() support
672 - missing last frame fixes
673 - seek by mouse in ffplay
674 - noise reduction of DCT coefficients
675 - H.263 OBMC & 4MV support
676 - H.263 alternative inter vlc support
677 - H.263 loop filter
678 - H.263 slice structured mode
679 - interlaced DCT support for MPEG-2 encoding
680 - stuffing to stay above min_bitrate
681 - MB type & QP visualization
682 - frame stepping for ffplay
683 - interlaced motion estimation
684 - alternate scantable support
685 - SVCD scan offset support
686 - closed GOP support
687 - SSE2 FDCT
688 - quantizer noise shaping
689 - G.726 ADPCM audio codec
690 - MS ADPCM encoding
691 - multithreaded/SMP motion estimation
692 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
693 - multithreaded/SMP decoding for MPEG-2
694 - FLAC decoder
695 - Metrowerks CodeWarrior suppport
696 - H.263+ custom pcf support
697 - nicer output for 'ffmpeg -formats'
698 - Matroska demuxer
699 - SGI image format, encoding and decoding
700 - H.264 loop filter support
701 - H.264 CABAC support
702 - nicer looking arrows for the motion vector visualization
703 - improved VCD support
704 - audio timestamp drift compensation
705 - MPEG-2 YUV 422/444 support
706 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
707 - better image scaling
708 - H.261 support
709 - correctly interleave packets during encoding
710 - VIS optimized motion compensation
711 - intra_dc_precision>0 encoding support
712 - support reuse of motion vectors/MB types/field select values of the source video
713 - more accurate deblock filter
714 - padding support
715 - many optimizations and bugfixes
716 - FunCom ISS audio file demuxer and according ADPCM decoding
717
718
719 version 0.4.8:
720
721 - MPEG-2 video encoding (Michael)
722 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
723 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
724   and Mario Brito)
725 - Xan DPCM audio decoder (Mario Brito)
726 - Interplay MVE playback subsystem (Mike Melanson)
727 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
728
729
730 version 0.4.7:
731
732 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
733   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
734 - current version now also compiles with older GCC (Fabrice)
735 - 4X multimedia playback system including 4xm file demuxer (Mike
736   Melanson), and 4X video and audio codecs (Michael)
737 - Creative YUV (CYUV) decoder (Mike Melanson)
738 - FFV1 codec (our very simple lossless intra only codec, compresses much better
739   than HuffYUV) (Michael)
740 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
741 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
742   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
743 - ffplay has been replaced with a newer version which uses SDL (optionally)
744   for multiplatform support (Fabrice)
745 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
746   by anonymous
747 - AMR format has been added (Johannes Carlsson)
748 - 3GP support has been added (Johannes Carlsson)
749 - VP3 codec has been added (Mike Melanson)
750 - more MPEG-1/2 fixes
751 - better multiplatform support, MS Visual Studio fixes (various)
752 - AltiVec optimizations (Magnus Damn and others)
753 - SH4 processor support has been added (BERO)
754 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
755 - VOB streaming support (Brian Foley)
756 - better MP3 autodetection (Andriy Rysin)
757 - qpel encoding (Michael)
758 - 4mv+b frames encoding finally fixed (Michael)
759 - chroma ME (Michael)
760 - 5 comparison functions for ME (Michael)
761 - B-frame encoding speedup (Michael)
762 - WMV2 codec (unfinished - Michael)
763 - user specified diamond size for EPZS (Michael)
764 - Playstation STR playback subsystem, still experimental (Mike and Michael)
765 - ASV2 codec (Michael)
766 - CLJR decoder (Alex)
767
768 .. And lots more new enhancements and fixes.
769
770
771 version 0.4.6:
772
773 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
774   from scratch
775 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
776 - fix quantization bug in AC3 encoder
777 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
778 - added prototype ffplay program
779 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
780 - bug fix on MCBPC tables of H.263 (Juanjo)
781 - bug fix on DC coefficients of H.263 (Juanjo)
782 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
783 - now we can decode H.263 streams found in QuickTime files (Juanjo)
784 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
785 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
786 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
787 - now H.263 picture size is returned on the first decoded frame (Juanjo)
788 - added first regression tests
789 - added MPEG-2 TS demuxer
790 - new demux API for libav
791 - more accurate and faster IDCT (Michael)
792 - faster and entropy-controlled motion search (Michael)
793 - two pass video encoding (Michael)
794 - new video rate control (Michael)
795 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
796 - great performance improvement of video encoders and decoders (Michael)
797 - new and faster bit readers and vlc parsers (Michael)
798 - high quality encoding mode: tries all macroblock/VLC types (Michael)
799 - added DV video decoder
800 - preliminary RTP/RTSP support in ffserver and libavformat
801 - H.263+ AIC decoding/encoding support (Juanjo)
802 - VCD MPEG-PS mode (Juanjo)
803 - PSNR stuff (Juanjo)
804 - simple stats output (Juanjo)
805 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
806
807
808 version 0.4.5:
809
810 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
811 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
812 - added configure system (actually a small shell script)
813 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
814   Michael Hipp (temporary solution - waiting for integer only
815   decoder)
816 - fixed VIDIOCSYNC interrupt
817 - added Intel H.263 decoding support ('I263' AVI fourCC)
818 - added Real Video 1.0 decoding (needs further testing)
819 - simplified image formats again. Added PGM format (=grey
820   pgm). Renamed old PGM to PGMYUV.
821 - fixed msmpeg4 slice issues (tell me if you still find problems)
822 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
823 - added support for MPlayer interface
824 - added macroblock skip optimization
825 - added MJPEG decoder
826 - added mmx/mmxext IDCT from libmpeg2
827 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
828   <celer at shell.scrypt.net>)
829 - added pixel format conversion layer (e.g. for MJPEG or PPM)
830 - added deinterlacing option
831 - MPEG-1/2 fixes
832 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
833 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
834 - Windows porting of file converter
835 - added MJPEG raw format (input/ouput)
836 - added JPEG image format support (input/output)
837
838
839 version 0.4.4:
840
841 - fixed some std header definitions (Bjorn Lindgren
842   <bjorn.e.lindgren at telia.com>).
843 - added MPEG demuxer (MPEG-1 and 2 compatible).
844 - added ASF demuxer
845 - added prototype RM demuxer
846 - added AC3 decoding (done with libac3 by Aaron Holtzman)
847 - added decoding codec parameter guessing (.e.g. for MPEG, because the
848   header does not include them)
849 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
850   play them (only tested video)
851 - fixed H.263 white bug
852 - fixed phase rounding in img resample filter
853 - add MMX code for polyphase img resample filter
854 - added CPU autodetection
855 - added generic title/author/copyright/comment string handling (ASF and RM
856   use them)
857 - added SWF demux to extract MP3 track (not usable yet because no MP3
858   decoder)
859 - added fractional frame rate support
860 - codecs are no longer searched by read_header() (should fix ffserver
861   segfault)
862
863
864 version 0.4.3:
865
866 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
867 - fixed raw yuv output
868 - added motion rounding support in MPEG-4
869 - fixed motion bug rounding in MSMPEG4
870 - added B-frame handling in video core
871 - added full MPEG-1 decoding support
872 - added partial (frame only) MPEG-2 support
873 - changed the FOURCC code for H.263 to "U263" to be able to see the
874   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
875   this +codec ;) (JuanJo).
876 - Halfpel motion estimation after MB type selection (JuanJo)
877 - added pgm and .Y.U.V output format
878 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
879   output.
880 - added pgmpipe I/O format (original patch from Martin Aumueller
881   <lists at reserv.at>, but changed completely since we use a format
882   instead of a protocol)
883
884
885 version 0.4.2:
886
887 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
888   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
889   missing. MSMPEG4 support is complete.
890 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
891   can decode ffmpeg MPEGs :-)).
892 - added libavcodec API documentation (see apiexample.c).
893 - fixed image polyphase bug (the bottom of some images could be
894   greenish)
895 - added support for non clipped motion vectors (decoding only)
896   and image sizes non-multiple of 16
897 - added support for AC prediction (decoding only)
898 - added file overwrite confirmation (can be disabled with -y)
899 - added custom size picture to H.263 using H.263+ (Juanjo)
900
901
902 version 0.4.1:
903
904 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
905   of AVI and ASF to DIV3.
906 - added -me option to set motion estimation method
907   (default=log). suppressed redundant -hq option.
908 - added options -acodec and -vcodec to force a given codec (useful for
909   AVI for example)
910 - fixed -an option
911 - improved dct_quantize speed
912 - factorized some motion estimation code
913
914
915 version 0.4.0:
916
917 - removing grab code from ffserver and moved it to ffmpeg. Added
918   multistream support to ffmpeg.
919 - added timeshifting support for live feeds (option ?date=xxx in the
920   URL)
921 - added high quality image resize code with polyphase filter (need
922   mmx/see optimization). Enable multiple image size support in ffserver.
923 - added multi live feed support in ffserver
924 - suppressed master feature from ffserver (it should be done with an
925   external program which opens the .ffm url and writes it to another
926   ffserver)
927 - added preliminary support for video stream parsing (WAV and AVI half
928   done). Added proper support for audio/video file conversion in
929   ffmpeg.
930 - added preliminary support for video file sending from ffserver
931 - redesigning I/O subsystem: now using URL based input and output
932   (see avio.h)
933 - added WAV format support
934 - added "tty user interface" to ffmpeg to stop grabbing gracefully
935 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
936   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
937 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
938 - added new motion estimation algorithms, log and phods (Juanjo)
939 - changed directories: libav for format handling, libavcodec for
940   codecs
941
942
943 version 0.3.4:
944
945 - added stereo in MPEG audio encoder
946
947
948 version 0.3.3:
949
950 - added 'high quality' mode which use motion vectors. It can be used in
951   real time at low resolution.
952 - fixed rounding problems which caused quality problems at high
953   bitrates and large GOP size
954
955
956 version 0.3.2: small fixes
957
958 - ASF fixes
959 - put_seek bug fix
960
961
962 version 0.3.1: added avi/divx support
963
964 - added AVI support
965 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
966 - added sound for flash format (not tested)
967
968
969 version 0.3: initial public release