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