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