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