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