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