Changelog: notify GIF improvements.
[ffmpeg.git] / Changelog
1 Entries are sorted chronologically from oldest to youngest within each release,
2 releases are sorted from youngest to oldest.
3
4 version <next>:
5 - curves filter
6 - reference-counting for AVFrame and AVPacket data
7 - ffmpeg now fails when input options are used for output file
8   or vice versa
9 - support for Monkey's Audio versions from 3.93
10 - perms and aperms filters
11 - audio filtering support in ffplay
12 - 10% faster aac encoding on x86 and MIPS
13 - sine audio filter source
14 - WebP demuxing and decoding support
15 - new ffmpeg options -filter_script and -filter_complex_script, which allow a
16   filtergraph description to be read from a file
17 - OpenCL support
18 - audio phaser filter
19 - separatefields filter
20 - libquvi demuxer
21 - uniform options syntax across all filters
22 - telecine filter
23 - new interlace filter
24 - smptehdbars source
25 - inverse telecine filters (fieldmatch and decimate)
26 - colorbalance filter
27 - colorchannelmixer filter
28 - The matroska demuxer can now output proper verbatim ASS packets. It will
29   become the default at the next libavformat major bump.
30 - decent native animated GIF encoding
31
32
33 version 1.2:
34
35 - VDPAU hardware acceleration through normal hwaccel
36 - SRTP support
37 - Error diffusion dither in Swscale
38 - Chained Ogg support
39 - Theora Midstream reconfiguration support
40 - EVRC decoder
41 - audio fade filter
42 - filtering audio with unknown channel layout
43 - allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
44   and treble audio filter
45 - improved showspectrum filter, with multichannel support and sox-like colors
46 - histogram filter
47 - tee muxer
48 - il filter ported from libmpcodecs
49 - support ID3v2 tags in ASF files
50 - encrypted TTA stream decoding support
51 - RF64 support in WAV muxer
52 - noise filter ported from libmpcodecs
53 - Subtitles character encoding conversion
54 - blend filter
55 - stereo3d filter ported from libmpcodecs
56
57
58 version 1.1:
59
60 - stream disposition information printing in ffprobe
61 - filter for loudness analysis following EBU R128
62 - Opus encoder using libopus
63 - ffprobe -select_streams option
64 - Pinnacle TARGA CineWave YUV16 decoder
65 - TAK demuxer, decoder and parser
66 - DTS-HD demuxer
67 - remove -same_quant, it hasn't worked for years
68 - FFM2 support
69 - X-Face image encoder and decoder
70 - 24-bit FLAC encoding
71 - multi-channel ALAC encoding up to 7.1
72 - metadata (INFO tag) support in WAV muxer
73 - subtitles raw text decoder
74 - support for building DLLs using MSVC
75 - LVF demuxer
76 - ffescape tool
77 - metadata (info chunk) support in CAF muxer
78 - field filter ported from libmpcodecs
79 - AVR demuxer
80 - geq filter ported from libmpcodecs
81 - remove ffserver daemon mode
82 - AST muxer/demuxer
83 - new expansion syntax for drawtext
84 - BRender PIX image decoder
85 - ffprobe -show_entries option
86 - ffprobe -sections option
87 - ADPCM IMA Dialogic decoder
88 - BRSTM demuxer
89 - animated GIF decoder and demuxer
90 - PVF demuxer
91 - subtitles filter
92 - IRCAM muxer/demuxer
93 - Paris Audio File demuxer
94 - Virtual concatenation demuxer
95 - VobSub demuxer
96 - JSON captions for TED talks decoding support
97 - SOX Resampler support in libswresample
98 - aselect filter
99 - SGI RLE 8-bit decoder
100 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
101 - Silicon Graphics Movie demuxer
102 - apad filter
103 - Resolution & pixel format change support with multithreading for H.264
104 - documentation split into per-component manuals
105 - pp (postproc) filter ported from MPlayer
106 - NIST Sphere demuxer
107 - MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
108 - Sony Wave64 muxer
109 - adobe and limelight publisher authentication in RTMP
110 - data: URI scheme
111 - support building on the Plan 9 operating system
112 - kerndeint filter ported from MPlayer
113 - histeq filter ported from VirtualDub
114 - Megalux Frame demuxer
115 - 012v decoder
116 - Improved AVC Intra decoding support
117
118
119 version 1.0:
120
121 - INI and flat output in ffprobe
122 - Scene detection in libavfilter
123 - Indeo Audio decoder
124 - channelsplit audio filter
125 - setnsamples audio filter
126 - atempo filter
127 - ffprobe -show_data option
128 - RTMPT protocol support
129 - iLBC encoding/decoding via libilbc
130 - Microsoft Screen 1 decoder
131 - join audio filter
132 - audio channel mapping filter
133 - Microsoft ATC Screen decoder
134 - RTSP listen mode
135 - TechSmith Screen Codec 2 decoder
136 - AAC encoding via libfdk-aac
137 - Microsoft Expression Encoder Screen decoder
138 - RTMPS protocol support
139 - RTMPTS protocol support
140 - RTMPE protocol support
141 - RTMPTE protocol support
142 - showwaves and showspectrum filter
143 - LucasArts SMUSH playback support
144 - SAMI, RealText and SubViewer demuxers and decoders
145 - Heart Of Darkness PAF playback support
146 - iec61883 device
147 - asettb filter
148 - new option: -progress
149 - 3GPP Timed Text encoder/decoder
150 - GeoTIFF decoder support
151 - ffmpeg -(no)stdin option
152 - Opus decoder using libopus
153 - caca output device using libcaca
154 - alphaextract and alphamerge filters
155 - concat filter
156 - flite filter
157 - Canopus Lossless Codec decoder
158 - bitmap subtitles in filters (experimental and temporary)
159 - MP2 encoding via TwoLAME
160 - bmp parser
161 - smptebars source
162 - asetpts filter
163 - hue filter
164 - ICO muxer
165 - SubRip encoder and decoder without embedded timing
166 - edge detection filter
167 - framestep filter
168 - ffmpeg -shortest option is now per-output file
169   -pass and -passlogfile are now per-output stream
170 - volume measurement filter
171 - Ut Video encoder
172 - Microsoft Screen 2 decoder
173 - smartblur filter ported from MPlayer
174 - CPiA decoder
175 - decimate filter ported from MPlayer
176 - RTP depacketization of JPEG
177 - Smooth Streaming live segmenter muxer
178 - F4V muxer
179 - sendcmd and asendcmd filters
180 - WebVTT demuxer and decoder (simple tags supported)
181 - RTP packetization of JPEG
182 - faststart option in the MOV/MP4 muxer
183 - support for building with MSVC
184
185
186 version 0.11:
187
188 - Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
189          CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
190          CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
191          CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
192          CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
193          CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
194 - v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
195 - setfield filter
196 - CDXL demuxer and decoder
197 - Apple ProRes encoder
198 - ffprobe -count_packets and -count_frames options
199 - Sun Rasterfile Encoder
200 - ID3v2 attached pictures reading and writing
201 - WMA Lossless decoder
202 - bluray protocol
203 - blackdetect filter
204 - libutvideo encoder wrapper (--enable-libutvideo)
205 - swapuv filter
206 - bbox filter
207 - XBM encoder and decoder
208 - RealAudio Lossless decoder
209 - ZeroCodec decoder
210 - tile video filter
211 - Metal Gear Solid: The Twin Snakes demuxer
212 - OpenEXR image decoder
213 - removelogo filter
214 - drop support for ffmpeg without libavfilter
215 - drawtext video filter: fontconfig support
216 - ffmpeg -benchmark_all option
217 - super2xsai filter ported from libmpcodecs
218 - add libavresample audio conversion library for compatibility
219 - MicroDVD decoder
220 - Avid Meridien (AVUI) encoder and decoder
221 - accept + prefix to -pix_fmt option to disable automatic conversions.
222 - complete audio filtering in libavfilter and ffmpeg
223 - add fps filter
224 - vorbis parser
225 - png parser
226 - audio mix filter
227 - ffv1: support (draft) version 1.3
228
229
230 version 0.10:
231
232 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
233          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
234          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
235          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
236 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
237 - SBaGen (SBG) binaural beats script demuxer
238 - OpenMG Audio muxer
239 - Timecode extraction in DV and MOV
240 - thumbnail video filter
241 - XML output in ffprobe
242 - asplit audio filter
243 - tinterlace video filter
244 - astreamsync audio filter
245 - amerge audio filter
246 - ISMV (Smooth Streaming) muxer
247 - GSM audio parser
248 - SMJPEG muxer
249 - XWD encoder and decoder
250 - Automatic thread count based on detection number of (available) CPU cores
251 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
252 - ffprobe -show_error option
253 - Avid 1:1 10-bit RGB Packer codec
254 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
255 - yuv4 libquicktime packed 4:2:0 encoder and decoder
256 - ffprobe -show_frames option
257 - silencedetect audio filter
258 - ffprobe -show_program_version, -show_library_versions, -show_versions options
259 - rv34: frame-level multi-threading
260 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
261 - Improved PGS subtitle decoder
262 - dumpgraph option to lavfi device
263 - r210 and r10k encoders
264 - ffwavesynth decoder
265 - aviocat tool
266 - ffeval tool
267
268
269 version 0.9:
270
271 - openal input device added
272 - boxblur filter added
273 - BWF muxer
274 - Flash Screen Video 2 decoder
275 - lavfi input device added
276 - added avconv, which is almost the same for now, except
277 for a few incompatible changes in the options, which will hopefully make them
278 easier to use. The changes are:
279     * The options placement is now strictly enforced! While in theory the
280       options for ffmpeg should be given in [input options] -i INPUT [output
281       options] OUTPUT order, in practice it was possible to give output options
282       before the -i and it mostly worked. Except when it didn't - the behavior was
283       a bit inconsistent. In avconv, it is not possible to mix input and output
284       options. All non-global options are reset after an input or output filename.
285     * All per-file options are now truly per-file - they apply only to the next
286       input or output file and specifying different values for different files
287       will now work properly (notably -ss and -t options).
288     * All per-stream options are now truly per-stream - it is possible to
289       specify which stream(s) should a given option apply to. See the Stream
290       specifiers section in the avconv manual for details.
291     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
292       sense that they're specified after the output filename instead of before,
293       like all other options. In avconv this irregularity is removed, all options
294       apply to the next input or output file.
295     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
296       irregular and highly confusing, they were also redundant. In avconv the -map
297       option will create new streams in the output file and map input streams to
298       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
299       each stream in the first input file.
300     * The -map option now has slightly different and more powerful syntax:
301         + Colons (':') are used to separate file index/stream type/stream index
302           instead of dots. Comma (',') is used to separate the sync stream instead
303           of colon.. This is done for consistency with other options.
304         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
305           output stream from the third input audio stream.
306         + Omitting the stream index now maps all the streams of the given type,
307           not just the first. E.g. -map 0:s creates output streams for all the
308           subtitle streams in the first input file.
309         + Since -map can now match multiple streams, negative mappings were
310           introduced. Negative mappings disable some streams from an already
311           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
312           all the stream in the first input file, except for the second audio
313           stream'.
314     * There is a new option -c (or -codec) for choosing the decoder/encoder to
315       use, which allows to precisely specify target stream(s) consistently with
316       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
317       libvorbis sets the codec for the first audio stream and -c copy copies all
318       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
319       aliases to -c:v/a/s
320     * It is now possible to precisely specify which stream should an AVOption
321       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
322       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
323       syntax is deprecated and will stop working soon.
324     * -map_chapters now takes only an input file index and applies to the next
325       output file. This is consistent with how all the other options work.
326     * -map_metadata now takes only an input metadata specifier and applies to
327       the next output file. Output metadata specifier is now part of the option
328       name, similarly to the AVOptions/map/codec feature above.
329     * -metadata can now be used to set metadata on streams and chapters, e.g.
330       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
331       This made -vlang/-alang/-slang options redundant, so they were removed.
332     * -qscale option now uses stream specifiers and applies to all streams, not
333       just video. I.e. plain -qscale number would now apply to all streams. To get
334       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
335       and -aq is now an alias for -q:a.
336     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
337       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
338     * -itsscale option now uses stream specifiers, so its argument is only the
339       scale parameter.
340     * -intra option was removed, use -g 0 for the same effect.
341     * -psnr option was removed, use -flags +psnr for the same effect.
342     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
343     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
344     * -vtag/-atag/-stag options are now aliases to the new -tag option.
345 - XMV demuxer
346 - LOAS demuxer
347 - ashowinfo filter added
348 - Windows Media Image decoder
349 - amovie source added
350 - LATM muxer/demuxer
351 - Speex encoder via libspeex
352 - JSON output in ffprobe
353 - WTV muxer
354 - Optional C++ Support (needed for libstagefright)
355 - H.264 Decoding on Android via Stagefright
356 - Prores decoder
357 - BIN/XBIN/ADF/IDF text file decoder
358 - aconvert audio filter added
359 - audio support to lavfi input device added
360 - libcdio-paranoia input device for audio CD grabbing
361 - Apple ProRes decoder
362 - CELT in Ogg demuxing
363 - G.723.1 demuxer and decoder
364 - libmodplug support (--enable-libmodplug)
365 - VC-1 interlaced decoding
366 - libutvideo wrapper (--enable-libutvideo)
367 - aevalsrc audio source added
368 - Ut Video decoder
369 - Speex encoding via libspeex
370 - 4:2:2 H.264 decoding support
371 - 4:2:2 and 4:4:4 H.264 encoding with libx264
372 - Pulseaudio input device
373 - Prores encoder
374 - Video Decoder Acceleration (VDA) HWAccel module.
375 - replacement Indeo 3 decoder
376 - new ffmpeg option: -map_channel
377 - volume audio filter added
378 - earwax audio filter added
379 - libv4l2 support (--enable-libv4l2)
380 - TLS/SSL and HTTPS protocol support
381 - AVOptions API rewritten and documented
382 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
383   AVCodecContext deprecated. Codec private options should be used instead.
384 - Properly working defaults in libx264 wrapper, support for native presets.
385 - Encrypted OMA files support
386 - Discworld II BMV decoding support
387 - VBLE Decoder
388 - OS X Video Decoder Acceleration (VDA) support
389 - compact and csv output in ffprobe
390 - pan audio filter
391 - IFF Amiga Continuous Bitmap (ACBM) decoder
392 - ass filter
393 - CRI ADX audio format muxer and demuxer
394 - Playstation Portable PMP format demuxer
395 - Microsoft Windows ICO demuxer
396 - life source
397 - PCM format support in OMA demuxer
398 - CLJR encoder
399 - new option: -report
400 - Dxtory capture format decoder
401 - cellauto source
402 - Simple segmenting muxer
403 - Indeo 4 decoder
404 - SMJPEG demuxer
405
406
407 version 0.8:
408
409 - many many things we forgot because we rather write code than changelogs
410 - WebM support in Matroska de/muxer
411 - low overhead Ogg muxing
412 - MMS-TCP support
413 - VP8 de/encoding via libvpx
414 - Demuxer for On2's IVF format
415 - Pictor/PC Paint decoder
416 - HE-AAC v2 decoder
417 - HE-AAC v2 encoding with libaacplus
418 - libfaad2 wrapper removed
419 - DTS-ES extension (XCh) decoding support
420 - native VP8 decoder
421 - RTSP tunneling over HTTP
422 - RTP depacketization of SVQ3
423 - -strict inofficial replaced by -strict unofficial
424 - ffplay -exitonkeydown and -exitonmousedown options added
425 - native GSM / GSM MS decoder
426 - RTP depacketization of QDM2
427 - ANSI/ASCII art playback system
428 - Lego Mindstorms RSO de/muxer
429 - libavcore added (and subsequently removed)
430 - SubRip subtitle file muxer and demuxer
431 - Chinese AVS encoding via libxavs
432 - ffprobe -show_packets option added
433 - RTP packetization of Theora and Vorbis
434 - RTP depacketization of MP4A-LATM
435 - RTP packetization and depacketization of VP8
436 - hflip filter
437 - Apple HTTP Live Streaming demuxer
438 - a64 codec
439 - MMS-HTTP support
440 - G.722 ADPCM audio encoder/decoder
441 - R10k video decoder
442 - ocv_smooth filter
443 - frei0r wrapper filter
444 - change crop filter syntax to width:height:x:y
445 - make the crop filter accept parametric expressions
446 - make ffprobe accept AVFormatContext options
447 - yadif filter
448 - blackframe filter
449 - Demuxer for Leitch/Harris' VR native stream format (LXF)
450 - RTP depacketization of the X-QT QuickTime format
451 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
452 - cropdetect filter
453 - ffmpeg -crop* options removed
454 - transpose filter added
455 - ffmpeg -force_key_frames option added
456 - demuxer for receiving raw rtp:// URLs without an SDP description
457 - single stream LATM/LOAS decoder
458 - setpts filter added
459 - Win64 support for optimized x86 assembly functions
460 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
461 - ASS subtitle encoder and decoder
462 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
463 - overlay filter added
464 - rename aspect filter to setdar, and pixelaspect to setsar
465 - IEC 61937 demuxer
466 - Mobotix .mxg demuxer
467 - frei0r source added
468 - hqdn3d filter added
469 - RTP depacketization of QCELP
470 - FLAC parser added
471 - gradfun filter added
472 - AMR-WB decoder
473 - replace the ocv_smooth filter with a more generic ocv filter
474 - Windows Televison (WTV) demuxer
475 - FFmpeg metadata format muxer and demuxer
476 - SubRip (srt) subtitle encoder and decoder
477 - floating-point AC-3 encoder added
478 - Lagarith decoder
479 - ffmpeg -copytb option added
480 - IVF muxer added
481 - Wing Commander IV movies decoder added
482 - movie source added
483 - Bink version 'b' audio and video decoder
484 - Bitmap Brothers JV playback system
485 - Apple HTTP Live Streaming protocol handler
486 - sndio support for playback and record
487 - Linux framebuffer input device added
488 - Chronomaster DFA decoder
489 - DPX image encoder
490 - MicroDVD subtitle file muxer and demuxer
491 - Playstation Portable PMP format demuxer
492 - fieldorder video filter added
493 - AAC encoding via libvo-aacenc
494 - AMR-WB encoding via libvo-amrwbenc
495 - xWMA demuxer
496 - Mobotix MxPEG decoder
497 - VP8 frame-multithreading
498 - NEON optimizations for VP8
499 - Lots of deprecated API cruft removed
500 - fft and imdct optimizations for AVX (Sandy Bridge) processors
501 - showinfo filter added
502 - SMPTE 302M AES3 audio decoder
503 - Apple Core Audio Format muxer
504 - 9bit and 10bit per sample support in the H.264 decoder
505 - 9bit and 10bit FFV1 encoding / decoding
506 - split filter added
507 - select filter added
508 - sdl output device added
509 - libmpcodecs video filter support (3 times as many filters than before)
510 - mpeg2 aspect ratio dection fixed
511 - libxvid aspect pickiness fixed
512 - Frame multithreaded decoding
513 - E-AC-3 audio encoder
514 - ac3enc: add channel coupling support
515 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
516 - H264/MPEG frame-level multi-threading
517 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
518 - 4:4:4 H.264 decoding support
519 - 10-bit H.264 optimizations for x86
520 - lut, lutrgb, and lutyuv filters added
521 - buffersink libavfilter sink added
522 - Bump libswscale for recently reported ABI break
523 - New J2K encoder (via OpenJPEG)
524
525
526 version 0.7:
527
528 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
529
530
531 version 0.6:
532
533 - PB-frame decoding for H.263
534 - deprecated vhook subsystem removed
535 - deprecated old scaler removed
536 - VQF demuxer
537 - Alpha channel scaler
538 - PCX encoder
539 - RTP packetization of H.263
540 - RTP packetization of AMR
541 - RTP depacketization of Vorbis
542 - CorePNG decoding support
543 - Cook multichannel decoding support
544 - introduced avlanguage helpers in libavformat
545 - 8088flex TMV demuxer and decoder
546 - per-stream language-tags extraction in asfdec
547 - V210 decoder and encoder
548 - remaining GPL parts in AC-3 decoder converted to LGPL
549 - QCP demuxer
550 - SoX native format muxer and demuxer
551 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
552 - DPX image decoder
553 - Electronic Arts Madcow decoder
554 - DivX (XSUB) subtitle encoder
555 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
556 - experimental AAC encoder
557 - RTP depacketization of ASF and RTSP from WMS servers
558 - RTMP support in libavformat
559 - noX handling for OPT_BOOL X options
560 - Wave64 demuxer
561 - IEC-61937 compatible Muxer
562 - TwinVQ decoder
563 - Bluray (PGS) subtitle decoder
564 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
565 - WMA Pro decoder
566 - Core Audio Format demuxer
567 - Atrac1 decoder
568 - MD STUDIO audio demuxer
569 - RF64 support in WAV demuxer
570 - MPEG-4 Audio Lossless Coding (ALS) decoder
571 - -formats option split into -formats, -codecs, -bsfs, and -protocols
572 - IV8 demuxer
573 - CDG demuxer and decoder
574 - R210 decoder
575 - Auravision Aura 1 and 2 decoders
576 - Deluxe Paint Animation playback system
577 - SIPR decoder
578 - Adobe Filmstrip muxer and demuxer
579 - RTP depacketization of H.263
580 - Bink demuxer and audio/video decoders
581 - enable symbol versioning by default for linkers that support it
582 - IFF PBM/ILBM bitmap decoder
583 - concat protocol
584 - Indeo 5 decoder
585 - RTP depacketization of AMR
586 - WMA Voice decoder
587 - ffprobe tool
588 - AMR-NB decoder
589 - RTSP muxer
590 - HE-AAC v1 decoder
591 - Kega Game Video (KGV1) decoder
592 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
593 - RTP depacketization of Theora
594 - HTTP Digest authentication
595 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
596 - Psygnosis YOP demuxer and video decoder
597 - spectral extension support in the E-AC-3 decoder
598 - unsharp video filter
599 - RTP hinting in the mov/3gp/mp4 muxer
600 - Dirac in Ogg demuxing
601 - seek to keyframes in Ogg
602 - 4:2:2 and 4:4:4 Theora decoding
603 - 35% faster VP3/Theora decoding
604 - faster AAC decoding
605 - faster H.264 decoding
606 - RealAudio 1.0 (14.4K) encoder
607
608
609 version 0.5:
610
611 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
612 - TechSmith Camtasia (TSCC) video decoder
613 - IBM Ultimotion (ULTI) video decoder
614 - Sierra Online audio file demuxer and decoder
615 - Apple QuickDraw (qdrw) video decoder
616 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
617 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
618 - Miro VideoXL (VIXL) video decoder
619 - H.261 video encoder
620 - QPEG video decoder
621 - Nullsoft Video (NSV) file demuxer
622 - Shorten audio decoder
623 - LOCO video decoder
624 - Apple Lossless Audio Codec (ALAC) decoder
625 - Winnov WNV1 video decoder
626 - Autodesk Animator Studio Codec (AASC) decoder
627 - Indeo 2 video decoder
628 - Fraps FPS1 video decoder
629 - Snow video encoder/decoder
630 - Sonic audio encoder/decoder
631 - Vorbis audio decoder
632 - Macromedia ADPCM decoder
633 - Duck TrueMotion 2 video decoder
634 - support for decoding FLX and DTA extensions in FLIC files
635 - H.264 custom quantization matrices support
636 - ffserver fixed, it should now be usable again
637 - QDM2 audio decoder
638 - Real Cooker audio decoder
639 - TrueSpeech audio decoder
640 - WMA2 audio decoder fixed, now all files should play correctly
641 - RealAudio 14.4 and 28.8 decoders fixed
642 - JPEG-LS decoder
643 - build system improvements
644 - tabs and trailing whitespace removed from the codebase
645 - CamStudio video decoder
646 - AIFF/AIFF-C audio format, encoding and decoding
647 - ADTS AAC file reading and writing
648 - Creative VOC file reading and writing
649 - American Laser Games multimedia (*.mm) playback system
650 - Zip Motion Blocks Video decoder
651 - improved Theora/VP3 decoder
652 - True Audio (TTA) decoder
653 - AVS demuxer and video decoder
654 - JPEG-LS encoder
655 - Smacker demuxer and decoder
656 - NuppelVideo/MythTV demuxer and RTjpeg decoder
657 - KMVC decoder
658 - MPEG-2 intra VLC support
659 - MPEG-2 4:2:2 encoder
660 - Flash Screen Video decoder
661 - GXF demuxer
662 - Chinese AVS decoder
663 - GXF muxer
664 - MXF demuxer
665 - VC-1/WMV3/WMV9 video decoder
666 - MacIntel support
667 - AVISynth support
668 - VMware video decoder
669 - VP5 video decoder
670 - VP6 video decoder
671 - WavPack lossless audio decoder
672 - Targa (.TGA) picture decoder
673 - Vorbis audio encoder
674 - Delphine Software .cin demuxer/audio and video decoder
675 - Tiertex .seq demuxer/video decoder
676 - MTV demuxer
677 - TIFF picture encoder and decoder
678 - GIF picture decoder
679 - Intel Music Coder decoder
680 - Zip Motion Blocks Video encoder
681 - Musepack decoder
682 - Flash Screen Video encoder
683 - Theora encoding via libtheora
684 - BMP encoder
685 - WMA encoder
686 - GSM-MS encoder and decoder
687 - DCA decoder
688 - DXA demuxer and decoder
689 - DNxHD decoder
690 - Gamecube movie (.THP) playback system
691 - Blackfin optimizations
692 - Interplay C93 demuxer and video decoder
693 - Bethsoft VID demuxer and video decoder
694 - CRYO APC demuxer
695 - Atrac3 decoder
696 - V.Flash PTX decoder
697 - RoQ muxer, RoQ audio encoder
698 - Renderware TXD demuxer and decoder
699 - extern C declarations for C++ removed from headers
700 - sws_flags command line option
701 - codebook generator
702 - RoQ video encoder
703 - QTRLE encoder
704 - OS/2 support removed and restored again
705 - AC-3 decoder
706 - NUT muxer
707 - additional SPARC (VIS) optimizations
708 - Matroska muxer
709 - slice-based parallel H.264 decoding
710 - Monkey's Audio demuxer and decoder
711 - AMV audio and video decoder
712 - DNxHD encoder
713 - H.264 PAFF decoding
714 - Nellymoser ASAO decoder
715 - Beam Software SIFF demuxer and decoder
716 - libvorbis Vorbis decoding removed in favor of native decoder
717 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
718 - Ogg (Theora, Vorbis and FLAC) muxer
719 - The "device" muxers and demuxers are now in a new libavdevice library
720 - PC Paintbrush PCX decoder
721 - Sun Rasterfile decoder
722 - TechnoTrend PVA demuxer
723 - Linux Media Labs MPEG-4 (LMLM4) demuxer
724 - AVM2 (Flash 9) SWF muxer
725 - QT variant of IMA ADPCM encoder
726 - VFW grabber
727 - iPod/iPhone compatible mp4 muxer
728 - Mimic decoder
729 - MSN TCP Webcam stream demuxer
730 - RL2 demuxer / decoder
731 - IFF demuxer
732 - 8SVX audio decoder
733 - non-recursive Makefiles
734 - BFI demuxer
735 - MAXIS EA XA (.xa) demuxer / decoder
736 - BFI video decoder
737 - OMA demuxer
738 - MLP/TrueHD decoder
739 - Electronic Arts CMV decoder
740 - Motion Pixels Video decoder
741 - Motion Pixels MVI demuxer
742 - removed animated GIF decoder/demuxer
743 - D-Cinema audio muxer
744 - Electronic Arts TGV decoder
745 - Apple Lossless Audio Codec (ALAC) encoder
746 - AAC decoder
747 - floating point PCM encoder/decoder
748 - MXF muxer
749 - DV100 AKA DVCPRO HD decoder and demuxer
750 - E-AC-3 support added to AC-3 decoder
751 - Nellymoser ASAO encoder
752 - ASS and SSA demuxer and muxer
753 - liba52 wrapper removed
754 - SVQ3 watermark decoding support
755 - Speex decoding via libspeex
756 - Electronic Arts TGQ decoder
757 - RV40 decoder
758 - QCELP / PureVoice decoder
759 - RV30 decoder
760 - hybrid WavPack support
761 - R3D REDCODE demuxer
762 - ALSA support for playback and record
763 - Electronic Arts TQI decoder
764 - OpenJPEG based JPEG 2000 decoder
765 - NC (NC4600) camera file demuxer
766 - Gopher client support
767 - MXF D-10 muxer
768 - generic metadata API
769 - flash ScreenVideo2 encoder
770
771
772 version 0.4.9-pre1:
773
774 - DV encoder, DV muxer
775 - Microsoft RLE video decoder
776 - Microsoft Video-1 decoder
777 - Apple Animation (RLE) decoder
778 - Apple Graphics (SMC) decoder
779 - Apple Video (RPZA) decoder
780 - Cinepak decoder
781 - Sega FILM (CPK) file demuxer
782 - Westwood multimedia support (VQA & AUD files)
783 - Id Quake II CIN playback support
784 - 8BPS video decoder
785 - FLIC playback support
786 - RealVideo 2.0 (RV20) decoder
787 - Duck TrueMotion v1 (DUCK) video decoder
788 - Sierra VMD demuxer and video decoder
789 - MSZH and ZLIB decoder support
790 - SVQ1 video encoder
791 - AMR-WB support
792 - PPC optimizations
793 - rate distortion optimal cbp support
794 - rate distorted optimal ac prediction for MPEG-4
795 - rate distorted optimal lambda->qp support
796 - AAC encoding with libfaac
797 - Sunplus JPEG codec (SP5X) support
798 - use Lagrange multipler instead of QP for ratecontrol
799 - Theora/VP3 decoding support
800 - XA and ADX ADPCM codecs
801 - export MPEG-2 active display area / pan scan
802 - Add support for configuring with IBM XLC
803 - floating point AAN DCT
804 - initial support for zygo video (not complete)
805 - RGB ffv1 support
806 - new audio/video parser API
807 - av_log() system
808 - av_read_frame() and av_seek_frame() support
809 - missing last frame fixes
810 - seek by mouse in ffplay
811 - noise reduction of DCT coefficients
812 - H.263 OBMC & 4MV support
813 - H.263 alternative inter vlc support
814 - H.263 loop filter
815 - H.263 slice structured mode
816 - interlaced DCT support for MPEG-2 encoding
817 - stuffing to stay above min_bitrate
818 - MB type & QP visualization
819 - frame stepping for ffplay
820 - interlaced motion estimation
821 - alternate scantable support
822 - SVCD scan offset support
823 - closed GOP support
824 - SSE2 FDCT
825 - quantizer noise shaping
826 - G.726 ADPCM audio codec
827 - MS ADPCM encoding
828 - multithreaded/SMP motion estimation
829 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
830 - multithreaded/SMP decoding for MPEG-2
831 - FLAC decoder
832 - Metrowerks CodeWarrior suppport
833 - H.263+ custom pcf support
834 - nicer output for 'ffmpeg -formats'
835 - Matroska demuxer
836 - SGI image format, encoding and decoding
837 - H.264 loop filter support
838 - H.264 CABAC support
839 - nicer looking arrows for the motion vector visualization
840 - improved VCD support
841 - audio timestamp drift compensation
842 - MPEG-2 YUV 422/444 support
843 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
844 - better image scaling
845 - H.261 support
846 - correctly interleave packets during encoding
847 - VIS optimized motion compensation
848 - intra_dc_precision>0 encoding support
849 - support reuse of motion vectors/MB types/field select values of the source video
850 - more accurate deblock filter
851 - padding support
852 - many optimizations and bugfixes
853 - FunCom ISS audio file demuxer and according ADPCM decoding
854
855
856 version 0.4.8:
857
858 - MPEG-2 video encoding (Michael)
859 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
860 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
861   and Mario Brito)
862 - Xan DPCM audio decoder (Mario Brito)
863 - Interplay MVE playback subsystem (Mike Melanson)
864 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
865
866
867 version 0.4.7:
868
869 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
870   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
871 - current version now also compiles with older GCC (Fabrice)
872 - 4X multimedia playback system including 4xm file demuxer (Mike
873   Melanson), and 4X video and audio codecs (Michael)
874 - Creative YUV (CYUV) decoder (Mike Melanson)
875 - FFV1 codec (our very simple lossless intra only codec, compresses much better
876   than HuffYUV) (Michael)
877 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
878 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
879   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
880 - ffplay has been replaced with a newer version which uses SDL (optionally)
881   for multiplatform support (Fabrice)
882 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
883   by anonymous
884 - AMR format has been added (Johannes Carlsson)
885 - 3GP support has been added (Johannes Carlsson)
886 - VP3 codec has been added (Mike Melanson)
887 - more MPEG-1/2 fixes
888 - better multiplatform support, MS Visual Studio fixes (various)
889 - AltiVec optimizations (Magnus Damn and others)
890 - SH4 processor support has been added (BERO)
891 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
892 - VOB streaming support (Brian Foley)
893 - better MP3 autodetection (Andriy Rysin)
894 - qpel encoding (Michael)
895 - 4mv+b frames encoding finally fixed (Michael)
896 - chroma ME (Michael)
897 - 5 comparison functions for ME (Michael)
898 - B-frame encoding speedup (Michael)
899 - WMV2 codec (unfinished - Michael)
900 - user specified diamond size for EPZS (Michael)
901 - Playstation STR playback subsystem, still experimental (Mike and Michael)
902 - ASV2 codec (Michael)
903 - CLJR decoder (Alex)
904
905 .. And lots more new enhancements and fixes.
906
907
908 version 0.4.6:
909
910 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
911   from scratch
912 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
913 - fix quantization bug in AC3 encoder
914 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
915 - added prototype ffplay program
916 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
917 - bug fix on MCBPC tables of H.263 (Juanjo)
918 - bug fix on DC coefficients of H.263 (Juanjo)
919 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
920 - now we can decode H.263 streams found in QuickTime files (Juanjo)
921 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
922 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
923 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
924 - now H.263 picture size is returned on the first decoded frame (Juanjo)
925 - added first regression tests
926 - added MPEG-2 TS demuxer
927 - new demux API for libav
928 - more accurate and faster IDCT (Michael)
929 - faster and entropy-controlled motion search (Michael)
930 - two pass video encoding (Michael)
931 - new video rate control (Michael)
932 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
933 - great performance improvement of video encoders and decoders (Michael)
934 - new and faster bit readers and vlc parsers (Michael)
935 - high quality encoding mode: tries all macroblock/VLC types (Michael)
936 - added DV video decoder
937 - preliminary RTP/RTSP support in ffserver and libavformat
938 - H.263+ AIC decoding/encoding support (Juanjo)
939 - VCD MPEG-PS mode (Juanjo)
940 - PSNR stuff (Juanjo)
941 - simple stats output (Juanjo)
942 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
943
944
945 version 0.4.5:
946
947 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
948 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
949 - added configure system (actually a small shell script)
950 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
951   Michael Hipp (temporary solution - waiting for integer only
952   decoder)
953 - fixed VIDIOCSYNC interrupt
954 - added Intel H.263 decoding support ('I263' AVI fourCC)
955 - added Real Video 1.0 decoding (needs further testing)
956 - simplified image formats again. Added PGM format (=grey
957   pgm). Renamed old PGM to PGMYUV.
958 - fixed msmpeg4 slice issues (tell me if you still find problems)
959 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
960 - added support for MPlayer interface
961 - added macroblock skip optimization
962 - added MJPEG decoder
963 - added mmx/mmxext IDCT from libmpeg2
964 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
965   <celer at shell.scrypt.net>)
966 - added pixel format conversion layer (e.g. for MJPEG or PPM)
967 - added deinterlacing option
968 - MPEG-1/2 fixes
969 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
970 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
971 - Windows porting of file converter
972 - added MJPEG raw format (input/output)
973 - added JPEG image format support (input/output)
974
975
976 version 0.4.4:
977
978 - fixed some std header definitions (Bjorn Lindgren
979   <bjorn.e.lindgren at telia.com>).
980 - added MPEG demuxer (MPEG-1 and 2 compatible).
981 - added ASF demuxer
982 - added prototype RM demuxer
983 - added AC3 decoding (done with libac3 by Aaron Holtzman)
984 - added decoding codec parameter guessing (.e.g. for MPEG, because the
985   header does not include them)
986 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
987   play them (only tested video)
988 - fixed H.263 white bug
989 - fixed phase rounding in img resample filter
990 - add MMX code for polyphase img resample filter
991 - added CPU autodetection
992 - added generic title/author/copyright/comment string handling (ASF and RM
993   use them)
994 - added SWF demux to extract MP3 track (not usable yet because no MP3
995   decoder)
996 - added fractional frame rate support
997 - codecs are no longer searched by read_header() (should fix ffserver
998   segfault)
999
1000
1001 version 0.4.3:
1002
1003 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1004 - fixed raw yuv output
1005 - added motion rounding support in MPEG-4
1006 - fixed motion bug rounding in MSMPEG4
1007 - added B-frame handling in video core
1008 - added full MPEG-1 decoding support
1009 - added partial (frame only) MPEG-2 support
1010 - changed the FOURCC code for H.263 to "U263" to be able to see the
1011   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1012   this +codec ;) (JuanJo).
1013 - Halfpel motion estimation after MB type selection (JuanJo)
1014 - added pgm and .Y.U.V output format
1015 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1016   output.
1017 - added pgmpipe I/O format (original patch from Martin Aumueller
1018   <lists at reserv.at>, but changed completely since we use a format
1019   instead of a protocol)
1020
1021
1022 version 0.4.2:
1023
1024 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1025   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1026   missing. MSMPEG4 support is complete.
1027 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1028   can decode ffmpeg MPEGs :-)).
1029 - added libavcodec API documentation (see apiexample.c).
1030 - fixed image polyphase bug (the bottom of some images could be
1031   greenish)
1032 - added support for non clipped motion vectors (decoding only)
1033   and image sizes non-multiple of 16
1034 - added support for AC prediction (decoding only)
1035 - added file overwrite confirmation (can be disabled with -y)
1036 - added custom size picture to H.263 using H.263+ (Juanjo)
1037
1038
1039 version 0.4.1:
1040
1041 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1042   of AVI and ASF to DIV3.
1043 - added -me option to set motion estimation method
1044   (default=log). suppressed redundant -hq option.
1045 - added options -acodec and -vcodec to force a given codec (useful for
1046   AVI for example)
1047 - fixed -an option
1048 - improved dct_quantize speed
1049 - factorized some motion estimation code
1050
1051
1052 version 0.4.0:
1053
1054 - removing grab code from ffserver and moved it to ffmpeg. Added
1055   multistream support to ffmpeg.
1056 - added timeshifting support for live feeds (option ?date=xxx in the
1057   URL)
1058 - added high quality image resize code with polyphase filter (need
1059   mmx/see optimization). Enable multiple image size support in ffserver.
1060 - added multi live feed support in ffserver
1061 - suppressed master feature from ffserver (it should be done with an
1062   external program which opens the .ffm url and writes it to another
1063   ffserver)
1064 - added preliminary support for video stream parsing (WAV and AVI half
1065   done). Added proper support for audio/video file conversion in
1066   ffmpeg.
1067 - added preliminary support for video file sending from ffserver
1068 - redesigning I/O subsystem: now using URL based input and output
1069   (see avio.h)
1070 - added WAV format support
1071 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1072 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1073   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1074 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1075 - added new motion estimation algorithms, log and phods (Juanjo)
1076 - changed directories: libav for format handling, libavcodec for
1077   codecs
1078
1079
1080 version 0.3.4:
1081
1082 - added stereo in MPEG audio encoder
1083
1084
1085 version 0.3.3:
1086
1087 - added 'high quality' mode which use motion vectors. It can be used in
1088   real time at low resolution.
1089 - fixed rounding problems which caused quality problems at high
1090   bitrates and large GOP size
1091
1092
1093 version 0.3.2: small fixes
1094
1095 - ASF fixes
1096 - put_seek bug fix
1097
1098
1099 version 0.3.1: added avi/divx support
1100
1101 - added AVI support
1102 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1103 - added sound for flash format (not tested)
1104
1105
1106 version 0.3: initial public release