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