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