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