update Changelog
[libav.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 9.6:
5 - aac: check the maximum number of channels to avoid invalid writes
6 - indeo3: fix off by one in MV validity check
7 - id3v2: check for end of file while unescaping tags to avoid invalid
8   writes, reported by Google Security Team
9 - afifo: fix request_samples on the last frame in certain cases
10 - hls, segment: fix splitting for audio-only streams
11 - wav: Always seek to an even offset, Bug #500, LP: #1174737
12 - swscale: Use alpha from the right row in yuva2rgba_c, Bug #504
13 - indeo3: use unaligned reads on reference blocks, Bug #503
14 - oma: properly forward errors in oma_read_packet
15 - af_asyncts: fix offset calculation
16 - proresdec: support mixed interlaced/non-interlaced content
17
18 version 9.5:
19
20 Most of the following fixes resulted from test samples that the Google
21 Security Team has kindly made available to us:
22
23 - af_channelmap: sanity check input channel indices in all cases
24 - avfiltergraph: check for sws opts being non-NULL before using them
25 - bmv: check for len being valid in bmv_decode_frame()
26 - configure: Enable hwaccels without external dependencies by default
27 - dfa: check for invalid access in decode_wdlt()
28 - id3v2: pad the APIC packets as required by lavc
29 - indeo3: check motion vectors
30 - indeo3: fix data size check
31 - indeo3: switch parsing the header to bytestream2
32 - lavf: make sure stream probe data gets freed
33 - matroska: Update the available size after lace parsing
34 - matroska: fix a corner case in ebml-lace parsing
35 - matroska: pass the lace size to the matroska_parse_rm_audio
36 - mp3dec: fallback to generic seeking when a TOC is not present
37 - oggdec: fix faulty cleanup prototype
38 - oma: Validate sample rates
39 - qdm2: check that the FFT size is a power of 2
40 - riff: check for eof if chunk size and code are 0 to prevent an infinite loop
41 - rv10: check that extradata is large enough
42 - svq1dec: check that the reference frame has the same dimensions as the current one
43 - svq1dec: clip motion vectors to the frame size
44 - xmv: check audio track parameters validity
45 - xmv: do not leak memory in the error paths in xmv_read_header()
46
47
48 version 9.4:
49 - atrac3: avoid oversized shifting in decode_bytes()
50 - eamad: allocate a dummy reference frame when the real one is missing
51 - ffv1: fix calculating slice dimensions for version 2
52 - flacdec: simplify bounds checking in flac_probe()
53 - h264: check for luma and chroma bit dept being equal (CVE-2013-2277)
54 - hqdn3d: Fix out of array read in LOWPASS
55 - iff: validate CMAP palette size (CVE-2013-2495)
56 - ivi_common: do not call MC for intra frames when dc_transform is unset
57 - libmp3lame: use the correct remaining buffer size when flushing
58 - lzo: fix overflow checking in copy_backptr()
59 - mp3dec: Fix VBR bit rate parsing
60 - png: use av_mallocz_array() for the zlib zalloc function
61 - roqvideodec: fix a potential infinite loop in roqvideo_decode_frame()
62 - shorten: fix various programming mistakes
63 - vf_gradfun: fix uninitialized variable use
64 - vf_hqdn3d: fix uninitialized variable use
65 - vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
66 - wmadec: require block_align to be set
67 - wmaprodec: require block_align to be set
68 - wmaprodec: return an error, not 0, when the input is too small
69 - xxan: fix invalid memory access in xan_decode_frame_type0()
70
71 version 9.3:
72 - h264: fix deadlocks with broken/fuzzed files
73 - flvdec: make decoder more robust
74 - vorbisdec: fix buffer overflow (CVE-2013-0894)
75 - ac3dec: validate channel output mode against channel count
76 - doc: minor improvements
77
78 version 9.2:
79 - loco: check that there is data left after decoding a plane.
80 - mov: use the format context for logging.
81 - lagarith: avoid infinite loop in lag_rac_refill() with corrupted files
82 - flicvideo: avoid an infinite loop in byte run compression
83 - av_memcpy_backptr: avoid an infinite loop for back = 0
84 - mlpdec: do not try to allocate a zero-sized output buffer.
85 - qtrle: add more checks against pixel_ptr being negative.
86 - 4xm: check the return value of read_huffman_tables().
87 - cavs: initialize various context tables, avoids crashes with corrupted files
88 - x86/H.264: Don't use redzone in AVX h264_deblock on Win64
89 - VQA video: check chunk sizes before reading chunks
90 - RoQ video decoder: check dimensions validity
91 - QDM2: check array index before use, fix out of array accesses
92 - mpegvideo: Do REBASE_PICTURE with byte pointers
93 - SVQ3: unbreak decoding
94 - libopencore-amrwb: Make AMR-WB ifdeffery more precise
95 - libopencore-amr: Conditionally compile decoder and encoder bits
96 - arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
97 - xxan: properly handle odd heights
98 - msrledec: check bounds before constructing a possibly invalid pointer (CVE-2496)
99 - qtrle: fix the topmost line for 1bit
100 - aasc: fix output for msrle compression
101 - yop: check for input overreads
102 - yop: check that extradata is large enough
103 - fraps: fix off-by one bug for version 1
104 - vf_delogo: fix copying the input frame
105 - vf_delogo: fix an uninitialized read
106 - dnxhdenc: fix invalid reads in dnxhd_mb_var_thread()
107 - ATRAC3: use correct loop variable in add_tonal_components()
108 - MLP: store the channel layout for each substream
109 - MLP decoder: TrueHD: use Libav channel order
110 - x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
111 - arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
112 - lavr: call mix_function_init() in ff_audio_mix_set_matrix()
113 - rtpenc_chain: Use the original AVFormatContext for getting payload type
114 - rtp: Make sure the output format pointer is set
115 - rtp: Make sure priv_data is set before reading it
116 - videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
117 - get_bits: change the failure condition in init_get_bits
118 - mpegvideo: fix loop condition in draw_line()
119 - fate: update ref after rv30_loop_filter fix
120 - RV30: fix masking in rv30_loop_filter()
121 - libcdio: support recent cdio-paranoia
122 - Theora: Skip zero-sized headers
123 - H.264: add 3 pixels below for subpixel filter wait position
124 - H.264: fix ff_generate_sliding_window_mmcos() prototype
125 - H.264: don't clobber mmco opcode tables for non-first slice headers
126 - libx264: use the library specific default rc_initial_buffer_occupancy
127 - lavc: set the default rc_initial_buffer_occupancy
128 - lavc: introduce the convenience function init_get_bits8
129 - lavc: check for overflow in init_get_bits
130 - configure: enable pic for shared libs on AArch64
131 - zmbv: Reset the decoder on keyframe errors
132 - VC1 decoder: prevent a crash due missing pred_flag parameter
133 - matroska: Fix use after free
134 - VP3: Fix double free in vp3_decode_end()
135
136
137 version 9.1:
138 - Fix a crash on windows platforms related to automatic stack alignment
139   in libavresample
140 - Fix memleaks in the Ogg demuxer. Related to CVE-2012-2882
141
142
143 version 9:
144 - av_basename and av_dirname
145 - adobe and limelight publisher authentication in RTMP
146
147
148 version 9_beta3:
149 - ashowinfo audio filter
150 - 24-bit FLAC encoding
151 - audio volume filter
152 - deprecated the avconv -vol option. the volume filter is to be used instead.
153 - multi-channel ALAC encoding up to 7.1
154 - TAK demuxer, parser, and decoder
155 - adaptive frame-level multithreading for H.264
156
157
158 version 9_beta2:
159 - metadata (INFO tag) support in WAV muxer
160 - support for building DLLs using MSVC
161 - remove avserver daemon mode
162 - support building on the Plan 9 operating system
163 - ffv1: support version 1.3
164
165
166 version 9_beta1:
167
168 - XWD encoder and decoder
169 - Support for fragmentation in the mov/mp4 muxer
170 - ISMV (Smooth Streaming) muxer
171 - CDXL demuxer and decoder
172 - Apple ProRes encoder
173 - Sun Rasterfile Encoder
174 - remove libpostproc
175 - ID3v2 attached pictures reading and writing
176 - WMA Lossless decoder
177 - XBM encoder
178 - RealAudio Lossless decoder
179 - ZeroCodec decoder
180 - drop support for avconv without libavfilter
181 - add libavresample audio conversion library
182 - audio filters support in libavfilter and avconv
183 - add fps filter
184 - audio split filter
185 - audio mix filter
186 - avprobe output is now standard INI or JSON. The old format can still
187   be used with -of old.
188 - Indeo Audio decoder
189 - channelsplit audio filter
190 - RTMPT protocol support
191 - iLBC encoding/decoding via libilbc
192 - Microsoft Screen 1 decoder
193 - join audio filter
194 - audio channel mapping filter
195 - Microsoft ATC Screen decoder
196 - RTSP listen mode
197 - TechSmith Screen Codec 2 decoder
198 - AAC encoding via libfdk-aac
199 - Microsoft Expression Encoder Screen decoder
200 - RTMPS protocol support
201 - RTMPTS protocol support
202 - JPEG 2000 encoding support through OpenJPEG
203 - G.723.1 demuxer and decoder
204 - RTMPE protocol support
205 - RTMPTE protocol support
206 - Canopus Lossless Codec decoder
207 - avconv -shortest option is now per-output file,
208   -pass and -passlogfile are now per-output stream
209 - Ut Video encoder
210 - Microsoft Screen 2 decoder
211 - RTP depacketization of JPEG
212 - Smooth Streaming live segmenter muxer
213 - RTP packetization of JPEG
214 - Opus decoder and encoder using libopus
215 - remove -same_quant, it hasn't worked for years
216 - support for building with MSVC
217
218
219 version 0.8:
220
221 - GSM audio parser
222 - SMJPEG muxer
223
224
225 version 0.8_beta2:
226
227 - Automatic thread count based on detection number of (available) CPU cores
228 - Deprecate libpostproc. If desired, the switch --enable-postproc will
229   enable it but it may be removed in a later Libav release.
230 - rv34: frame-level multi-threading
231 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
232
233
234 version 0.8_beta1:
235
236 - BWF muxer
237 - Flash Screen Video 2 decoder
238 - ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
239 - ffmpeg deprecated, added avconv, which is almost the same for now, except
240 for a few incompatible changes in the options, which will hopefully make them
241 easier to use. The changes are:
242     * The options placement is now strictly enforced! While in theory the
243       options for ffmpeg should be given in [input options] -i INPUT [output
244       options] OUTPUT order, in practice it was possible to give output options
245       before the -i and it mostly worked. Except when it didn't - the behavior was
246       a bit inconsistent. In avconv, it is not possible to mix input and output
247       options. All non-global options are reset after an input or output filename.
248     * All per-file options are now truly per-file - they apply only to the next
249       input or output file and specifying different values for different files
250       will now work properly (notably -ss and -t options).
251     * All per-stream options are now truly per-stream - it is possible to
252       specify which stream(s) should a given option apply to. See the Stream
253       specifiers section in the avconv manual for details.
254     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
255       sense that they're specified after the output filename instead of before,
256       like all other options. In avconv this irregularity is removed, all options
257       apply to the next input or output file.
258     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
259       irregular and highly confusing, they were also redundant. In avconv the -map
260       option will create new streams in the output file and map input streams to
261       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
262       each stream in the first input file.
263     * The -map option now has slightly different and more powerful syntax:
264         + Colons (':') are used to separate file index/stream type/stream index
265           instead of dots. Comma (',') is used to separate the sync stream instead
266           of colon.. This is done for consistency with other options.
267         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
268           output stream from the third input audio stream.
269         + Omitting the stream index now maps all the streams of the given type,
270           not just the first. E.g. -map 0:s creates output streams for all the
271           subtitle streams in the first input file.
272         + Since -map can now match multiple streams, negative mappings were
273           introduced. Negative mappings disable some streams from an already
274           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
275           all the stream in the first input file, except for the second audio
276           stream'.
277     * There is a new option -c (or -codec) for choosing the decoder/encoder to
278       use, which allows to precisely specify target stream(s) consistently with
279       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
280       libvorbis sets the codec for the first audio stream and -c copy copies all
281       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
282       aliases to -c:v/a/s
283     * It is now possible to precisely specify which stream should an AVOption
284       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
285       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
286       syntax is deprecated and will stop working soon.
287     * -map_chapters now takes only an input file index and applies to the next
288       output file. This is consistent with how all the other options work.
289     * -map_metadata now takes only an input metadata specifier and applies to
290       the next output file. Output metadata specifier is now part of the option
291       name, similarly to the AVOptions/map/codec feature above.
292     * -metadata can now be used to set metadata on streams and chapters, e.g.
293       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
294       This made -vlang/-alang/-slang options redundant, so they were removed.
295     * -qscale option now uses stream specifiers and applies to all streams, not
296       just video. I.e. plain -qscale number would now apply to all streams. To get
297       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
298       and -aq is now an alias for -q:a.
299     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
300       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
301     * -itsscale option now uses stream specifiers, so its argument is only the
302       scale parameter.
303     * -intra option was removed, use -g 0 for the same effect.
304     * -psnr option was removed, use -flags +psnr for the same effect.
305     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
306     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
307     * -vtag/-atag/-stag options are now aliases to the new -tag option.
308 - XMV demuxer
309 - Windows Media Image decoder
310 - LATM muxer/demuxer
311 - showinfo filter
312 - split filter
313 - libcdio-paranoia input device for audio CD grabbing
314 - select filter
315 - Apple ProRes decoder
316 - CELT in Ogg demuxing
317 - VC-1 interlaced decoding
318 - lut, lutrgb, and lutyuv filters
319 - boxblur filter
320 - Ut Video decoder
321 - Speex encoding via libspeex
322 - 4:2:2 H.264 decoding support
323 - 4:2:2 and 4:4:4 H.264 encoding with libx264
324 - Pulseaudio input device
325 - replacement Indeo 3 decoder
326 - TLS/SSL and HTTPS protocol support
327 - AVOptions API rewritten and documented
328 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
329   AVCodecContext deprecated. Codec private options should be used instead.
330 - Properly working defaults in libx264 wrapper, support for native presets.
331 - Encrypted OMA files support
332 - Discworld II BMV decoding support
333 - VBLE Decoder
334 - OS X Video Decoder Acceleration (VDA) support
335 - CRI ADX audio format muxer and demuxer
336 - Playstation Portable PMP format demuxer
337 - PCM format support in OMA demuxer
338 - CLJR encoder
339 - Dxtory capture format decoder
340 - v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
341 - OpenMG Audio muxer
342 - Simple segmenting muxer
343 - Indeo 4 decoder
344 - SMJPEG demuxer
345
346
347 version 0.7:
348
349 - E-AC-3 audio encoder
350 - ac3enc: add channel coupling support
351 - floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
352 - H.264/MPEG frame-level multithreading
353 - av_metadata_* functions renamed to av_dict_* and moved to libavutil
354 - 4:4:4 H.264 decoding support
355 - 10-bit H.264 optimizations for x86
356 - bump libswscale for recently reported ABI break
357
358
359 version 0.7_beta2:
360
361 - VP8 frame-level multithreading
362 - NEON optimizations for VP8
363 - removed a lot of deprecated API cruft
364 - FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
365 - DPX image encoder
366 - SMPTE 302M AES3 audio decoder
367 - ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
368 - 9bit and 10bit per sample support in the H.264 decoder
369
370
371 version 0.7_beta1:
372
373 - WebM support in Matroska de/muxer
374 - low overhead Ogg muxing
375 - MMS-TCP support
376 - VP8 de/encoding via libvpx
377 - Demuxer for On2's IVF format
378 - Pictor/PC Paint decoder
379 - HE-AAC v2 decoder
380 - libfaad2 wrapper removed
381 - DTS-ES extension (XCh) decoding support
382 - native VP8 decoder
383 - RTSP tunneling over HTTP
384 - RTP depacketization of SVQ3
385 - -strict inofficial replaced by -strict unofficial
386 - ffplay -exitonkeydown and -exitonmousedown options added
387 - native GSM / GSM MS decoder
388 - RTP depacketization of QDM2
389 - ANSI/ASCII art playback system
390 - Lego Mindstorms RSO de/muxer
391 - SubRip subtitle file muxer and demuxer
392 - Chinese AVS encoding via libxavs
393 - ffprobe -show_packets option added
394 - RTP packetization of Theora and Vorbis
395 - RTP depacketization of MP4A-LATM
396 - RTP packetization and depacketization of VP8
397 - hflip filter
398 - Apple HTTP Live Streaming demuxer
399 - a64 codec
400 - MMS-HTTP support
401 - G.722 ADPCM audio encoder/decoder
402 - R10k video decoder
403 - ocv_smooth filter
404 - frei0r wrapper filter
405 - change crop filter syntax to width:height:x:y
406 - make the crop filter accept parametric expressions
407 - make ffprobe accept AVFormatContext options
408 - yadif filter
409 - blackframe filter
410 - Demuxer for Leitch/Harris' VR native stream format (LXF)
411 - RTP depacketization of the X-QT QuickTime format
412 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
413 - cropdetect filter
414 - ffmpeg -crop* options removed
415 - transpose filter added
416 - ffmpeg -force_key_frames option added
417 - demuxer for receiving raw rtp:// URLs without an SDP description
418 - single stream LATM/LOAS decoder
419 - setpts filter added
420 - Win64 support for optimized x86 assembly functions
421 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
422 - ASS subtitle encoder and decoder
423 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
424 - overlay filter added
425 - rename aspect filter to setdar, and pixelaspect to setsar
426 - IEC 61937 demuxer
427 - Mobotix .mxg demuxer
428 - frei0r source added
429 - hqdn3d filter added
430 - RTP depacketization of QCELP
431 - FLAC parser added
432 - gradfun filter added
433 - AMR-WB decoder
434 - replace the ocv_smooth filter with a more generic ocv filter
435 - Windows Televison (WTV) demuxer
436 - FFmpeg metadata format muxer and demuxer
437 - SubRip (srt) subtitle decoder
438 - floating-point AC-3 encoder added
439 - Lagarith decoder
440 - ffmpeg -copytb option added
441 - IVF muxer added
442 - Wing Commander IV movies decoder added
443 - movie source added
444 - Bink version 'b' audio and video decoder
445 - Bitmap Brothers JV playback system
446 - Apple HTTP Live Streaming protocol handler
447 - sndio support for playback and record
448 - Linux framebuffer input device added
449 - Chronomaster DFA decoder
450 - Mobotix MxPEG decoder
451 - AAC encoding via libvo-aacenc
452 - AMR-WB encoding via libvo-amrwbenc
453 - xWMA demuxer
454 - fieldorder video filter added
455
456
457 version 0.6:
458
459 - PB-frame decoding for H.263
460 - deprecated vhook subsystem removed
461 - deprecated old scaler removed
462 - VQF demuxer
463 - Alpha channel scaler
464 - PCX encoder
465 - RTP packetization of H.263
466 - RTP packetization of AMR
467 - RTP depacketization of Vorbis
468 - CorePNG decoding support
469 - Cook multichannel decoding support
470 - introduced avlanguage helpers in libavformat
471 - 8088flex TMV demuxer and decoder
472 - per-stream language-tags extraction in asfdec
473 - V210 decoder and encoder
474 - remaining GPL parts in AC-3 decoder converted to LGPL
475 - QCP demuxer
476 - SoX native format muxer and demuxer
477 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
478 - DPX image decoder
479 - Electronic Arts Madcow decoder
480 - DivX (XSUB) subtitle encoder
481 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
482 - experimental AAC encoder
483 - RTP depacketization of ASF and RTSP from WMS servers
484 - RTMP support in libavformat
485 - noX handling for OPT_BOOL X options
486 - Wave64 demuxer
487 - IEC-61937 compatible Muxer
488 - TwinVQ decoder
489 - Bluray (PGS) subtitle decoder
490 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
491 - WMA Pro decoder
492 - Core Audio Format demuxer
493 - Atrac1 decoder
494 - MD STUDIO audio demuxer
495 - RF64 support in WAV demuxer
496 - MPEG-4 Audio Lossless Coding (ALS) decoder
497 - -formats option split into -formats, -codecs, -bsfs, and -protocols
498 - IV8 demuxer
499 - CDG demuxer and decoder
500 - R210 decoder
501 - Auravision Aura 1 and 2 decoders
502 - Deluxe Paint Animation playback system
503 - SIPR decoder
504 - Adobe Filmstrip muxer and demuxer
505 - RTP depacketization of H.263
506 - Bink demuxer and audio/video decoders
507 - enable symbol versioning by default for linkers that support it
508 - IFF PBM/ILBM bitmap decoder
509 - concat protocol
510 - Indeo 5 decoder
511 - RTP depacketization of AMR
512 - WMA Voice decoder
513 - ffprobe tool
514 - AMR-NB decoder
515 - RTSP muxer
516 - HE-AAC v1 decoder
517 - Kega Game Video (KGV1) decoder
518 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
519 - RTP depacketization of Theora
520 - HTTP Digest authentication
521 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
522 - Psygnosis YOP demuxer and video decoder
523 - spectral extension support in the E-AC-3 decoder
524 - unsharp video filter
525 - RTP hinting in the mov/3gp/mp4 muxer
526 - Dirac in Ogg demuxing
527 - seek to keyframes in Ogg
528 - 4:2:2 and 4:4:4 Theora decoding
529 - 35% faster VP3/Theora decoding
530 - faster AAC decoding
531 - faster H.264 decoding
532 - RealAudio 1.0 (14.4K) encoder
533
534
535 version 0.5:
536
537 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
538 - TechSmith Camtasia (TSCC) video decoder
539 - IBM Ultimotion (ULTI) video decoder
540 - Sierra Online audio file demuxer and decoder
541 - Apple QuickDraw (qdrw) video decoder
542 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
543 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
544 - Miro VideoXL (VIXL) video decoder
545 - H.261 video encoder
546 - QPEG video decoder
547 - Nullsoft Video (NSV) file demuxer
548 - Shorten audio decoder
549 - LOCO video decoder
550 - Apple Lossless Audio Codec (ALAC) decoder
551 - Winnov WNV1 video decoder
552 - Autodesk Animator Studio Codec (AASC) decoder
553 - Indeo 2 video decoder
554 - Fraps FPS1 video decoder
555 - Snow video encoder/decoder
556 - Sonic audio encoder/decoder
557 - Vorbis audio decoder
558 - Macromedia ADPCM decoder
559 - Duck TrueMotion 2 video decoder
560 - support for decoding FLX and DTA extensions in FLIC files
561 - H.264 custom quantization matrices support
562 - ffserver fixed, it should now be usable again
563 - QDM2 audio decoder
564 - Real Cooker audio decoder
565 - TrueSpeech audio decoder
566 - WMA2 audio decoder fixed, now all files should play correctly
567 - RealAudio 14.4 and 28.8 decoders fixed
568 - JPEG-LS decoder
569 - build system improvements
570 - tabs and trailing whitespace removed from the codebase
571 - CamStudio video decoder
572 - AIFF/AIFF-C audio format, encoding and decoding
573 - ADTS AAC file reading and writing
574 - Creative VOC file reading and writing
575 - American Laser Games multimedia (*.mm) playback system
576 - Zip Motion Blocks Video decoder
577 - improved Theora/VP3 decoder
578 - True Audio (TTA) decoder
579 - AVS demuxer and video decoder
580 - JPEG-LS encoder
581 - Smacker demuxer and decoder
582 - NuppelVideo/MythTV demuxer and RTjpeg decoder
583 - KMVC decoder
584 - MPEG-2 intra VLC support
585 - MPEG-2 4:2:2 encoder
586 - Flash Screen Video decoder
587 - GXF demuxer
588 - Chinese AVS decoder
589 - GXF muxer
590 - MXF demuxer
591 - VC-1/WMV3/WMV9 video decoder
592 - MacIntel support
593 - AVISynth support
594 - VMware video decoder
595 - VP5 video decoder
596 - VP6 video decoder
597 - WavPack lossless audio decoder
598 - Targa (.TGA) picture decoder
599 - Vorbis audio encoder
600 - Delphine Software .cin demuxer/audio and video decoder
601 - Tiertex .seq demuxer/video decoder
602 - MTV demuxer
603 - TIFF picture encoder and decoder
604 - GIF picture decoder
605 - Intel Music Coder decoder
606 - Zip Motion Blocks Video encoder
607 - Musepack decoder
608 - Flash Screen Video encoder
609 - Theora encoding via libtheora
610 - BMP encoder
611 - WMA encoder
612 - GSM-MS encoder and decoder
613 - DCA decoder
614 - DXA demuxer and decoder
615 - DNxHD decoder
616 - Gamecube movie (.THP) playback system
617 - Blackfin optimizations
618 - Interplay C93 demuxer and video decoder
619 - Bethsoft VID demuxer and video decoder
620 - CRYO APC demuxer
621 - Atrac3 decoder
622 - V.Flash PTX decoder
623 - RoQ muxer, RoQ audio encoder
624 - Renderware TXD demuxer and decoder
625 - extern C declarations for C++ removed from headers
626 - sws_flags command line option
627 - codebook generator
628 - RoQ video encoder
629 - QTRLE encoder
630 - OS/2 support removed and restored again
631 - AC-3 decoder
632 - NUT muxer
633 - additional SPARC (VIS) optimizations
634 - Matroska muxer
635 - slice-based parallel H.264 decoding
636 - Monkey's Audio demuxer and decoder
637 - AMV audio and video decoder
638 - DNxHD encoder
639 - H.264 PAFF decoding
640 - Nellymoser ASAO decoder
641 - Beam Software SIFF demuxer and decoder
642 - libvorbis Vorbis decoding removed in favor of native decoder
643 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
644 - Ogg (Theora, Vorbis and FLAC) muxer
645 - The "device" muxers and demuxers are now in a new libavdevice library
646 - PC Paintbrush PCX decoder
647 - Sun Rasterfile decoder
648 - TechnoTrend PVA demuxer
649 - Linux Media Labs MPEG-4 (LMLM4) demuxer
650 - AVM2 (Flash 9) SWF muxer
651 - QT variant of IMA ADPCM encoder
652 - VFW grabber
653 - iPod/iPhone compatible mp4 muxer
654 - Mimic decoder
655 - MSN TCP Webcam stream demuxer
656 - RL2 demuxer / decoder
657 - IFF demuxer
658 - 8SVX audio decoder
659 - non-recursive Makefiles
660 - BFI demuxer
661 - MAXIS EA XA (.xa) demuxer / decoder
662 - BFI video decoder
663 - OMA demuxer
664 - MLP/TrueHD decoder
665 - Electronic Arts CMV decoder
666 - Motion Pixels Video decoder
667 - Motion Pixels MVI demuxer
668 - removed animated GIF decoder/demuxer
669 - D-Cinema audio muxer
670 - Electronic Arts TGV decoder
671 - Apple Lossless Audio Codec (ALAC) encoder
672 - AAC decoder
673 - floating point PCM encoder/decoder
674 - MXF muxer
675 - DV100 AKA DVCPRO HD decoder and demuxer
676 - E-AC-3 support added to AC-3 decoder
677 - Nellymoser ASAO encoder
678 - ASS and SSA demuxer and muxer
679 - liba52 wrapper removed
680 - SVQ3 watermark decoding support
681 - Speex decoding via libspeex
682 - Electronic Arts TGQ decoder
683 - RV40 decoder
684 - QCELP / PureVoice decoder
685 - RV30 decoder
686 - hybrid WavPack support
687 - R3D REDCODE demuxer
688 - ALSA support for playback and record
689 - Electronic Arts TQI decoder
690 - OpenJPEG based JPEG 2000 decoder
691 - NC (NC4600) camera file demuxer
692 - Gopher client support
693 - MXF D-10 muxer
694 - generic metadata API
695
696
697 version 0.4.9-pre1:
698
699 - DV encoder, DV muxer
700 - Microsoft RLE video decoder
701 - Microsoft Video-1 decoder
702 - Apple Animation (RLE) decoder
703 - Apple Graphics (SMC) decoder
704 - Apple Video (RPZA) decoder
705 - Cinepak decoder
706 - Sega FILM (CPK) file demuxer
707 - Westwood multimedia support (VQA & AUD files)
708 - Id Quake II CIN playback support
709 - 8BPS video decoder
710 - FLIC playback support
711 - RealVideo 2.0 (RV20) decoder
712 - Duck TrueMotion v1 (DUCK) video decoder
713 - Sierra VMD demuxer and video decoder
714 - MSZH and ZLIB decoder support
715 - SVQ1 video encoder
716 - AMR-WB support
717 - PPC optimizations
718 - rate distortion optimal cbp support
719 - rate distorted optimal ac prediction for MPEG-4
720 - rate distorted optimal lambda->qp support
721 - AAC encoding with libfaac
722 - Sunplus JPEG codec (SP5X) support
723 - use Lagrange multipler instead of QP for ratecontrol
724 - Theora/VP3 decoding support
725 - XA and ADX ADPCM codecs
726 - export MPEG-2 active display area / pan scan
727 - Add support for configuring with IBM XLC
728 - floating point AAN DCT
729 - initial support for zygo video (not complete)
730 - RGB ffv1 support
731 - new audio/video parser API
732 - av_log() system
733 - av_read_frame() and av_seek_frame() support
734 - missing last frame fixes
735 - seek by mouse in ffplay
736 - noise reduction of DCT coefficients
737 - H.263 OBMC & 4MV support
738 - H.263 alternative inter vlc support
739 - H.263 loop filter
740 - H.263 slice structured mode
741 - interlaced DCT support for MPEG-2 encoding
742 - stuffing to stay above min_bitrate
743 - MB type & QP visualization
744 - frame stepping for ffplay
745 - interlaced motion estimation
746 - alternate scantable support
747 - SVCD scan offset support
748 - closed GOP support
749 - SSE2 FDCT
750 - quantizer noise shaping
751 - G.726 ADPCM audio codec
752 - MS ADPCM encoding
753 - multithreaded/SMP motion estimation
754 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
755 - multithreaded/SMP decoding for MPEG-2
756 - FLAC decoder
757 - Metrowerks CodeWarrior suppport
758 - H.263+ custom pcf support
759 - nicer output for 'ffmpeg -formats'
760 - Matroska demuxer
761 - SGI image format, encoding and decoding
762 - H.264 loop filter support
763 - H.264 CABAC support
764 - nicer looking arrows for the motion vector visualization
765 - improved VCD support
766 - audio timestamp drift compensation
767 - MPEG-2 YUV 422/444 support
768 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
769 - better image scaling
770 - H.261 support
771 - correctly interleave packets during encoding
772 - VIS optimized motion compensation
773 - intra_dc_precision>0 encoding support
774 - support reuse of motion vectors/MB types/field select values of the source video
775 - more accurate deblock filter
776 - padding support
777 - many optimizations and bugfixes
778 - FunCom ISS audio file demuxer and according ADPCM decoding
779
780
781 version 0.4.8:
782
783 - MPEG-2 video encoding (Michael)
784 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
785 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
786   and Mario Brito)
787 - Xan DPCM audio decoder (Mario Brito)
788 - Interplay MVE playback subsystem (Mike Melanson)
789 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
790
791
792 version 0.4.7:
793
794 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
795   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
796 - current version now also compiles with older GCC (Fabrice)
797 - 4X multimedia playback system including 4xm file demuxer (Mike
798   Melanson), and 4X video and audio codecs (Michael)
799 - Creative YUV (CYUV) decoder (Mike Melanson)
800 - FFV1 codec (our very simple lossless intra only codec, compresses much better
801   than HuffYUV) (Michael)
802 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
803 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
804   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
805 - ffplay has been replaced with a newer version which uses SDL (optionally)
806   for multiplatform support (Fabrice)
807 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
808   by anonymous
809 - AMR format has been added (Johannes Carlsson)
810 - 3GP support has been added (Johannes Carlsson)
811 - VP3 codec has been added (Mike Melanson)
812 - more MPEG-1/2 fixes
813 - better multiplatform support, MS Visual Studio fixes (various)
814 - AltiVec optimizations (Magnus Damn and others)
815 - SH4 processor support has been added (BERO)
816 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
817 - VOB streaming support (Brian Foley)
818 - better MP3 autodetection (Andriy Rysin)
819 - qpel encoding (Michael)
820 - 4mv+b frames encoding finally fixed (Michael)
821 - chroma ME (Michael)
822 - 5 comparison functions for ME (Michael)
823 - B-frame encoding speedup (Michael)
824 - WMV2 codec (unfinished - Michael)
825 - user specified diamond size for EPZS (Michael)
826 - Playstation STR playback subsystem, still experimental (Mike and Michael)
827 - ASV2 codec (Michael)
828 - CLJR decoder (Alex)
829
830 .. And lots more new enhancements and fixes.
831
832
833 version 0.4.6:
834
835 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
836   from scratch
837 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
838 - fix quantization bug in AC3 encoder
839 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
840 - added prototype ffplay program
841 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
842 - bug fix on MCBPC tables of H.263 (Juanjo)
843 - bug fix on DC coefficients of H.263 (Juanjo)
844 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
845 - now we can decode H.263 streams found in QuickTime files (Juanjo)
846 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
847 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
848 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
849 - now H.263 picture size is returned on the first decoded frame (Juanjo)
850 - added first regression tests
851 - added MPEG-2 TS demuxer
852 - new demux API for libav
853 - more accurate and faster IDCT (Michael)
854 - faster and entropy-controlled motion search (Michael)
855 - two pass video encoding (Michael)
856 - new video rate control (Michael)
857 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
858 - great performance improvement of video encoders and decoders (Michael)
859 - new and faster bit readers and vlc parsers (Michael)
860 - high quality encoding mode: tries all macroblock/VLC types (Michael)
861 - added DV video decoder
862 - preliminary RTP/RTSP support in ffserver and libavformat
863 - H.263+ AIC decoding/encoding support (Juanjo)
864 - VCD MPEG-PS mode (Juanjo)
865 - PSNR stuff (Juanjo)
866 - simple stats output (Juanjo)
867 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
868
869
870 version 0.4.5:
871
872 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
873 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
874 - added configure system (actually a small shell script)
875 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
876   Michael Hipp (temporary solution - waiting for integer only
877   decoder)
878 - fixed VIDIOCSYNC interrupt
879 - added Intel H.263 decoding support ('I263' AVI fourCC)
880 - added Real Video 1.0 decoding (needs further testing)
881 - simplified image formats again. Added PGM format (=grey
882   pgm). Renamed old PGM to PGMYUV.
883 - fixed msmpeg4 slice issues (tell me if you still find problems)
884 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
885 - added support for MPlayer interface
886 - added macroblock skip optimization
887 - added MJPEG decoder
888 - added mmx/mmxext IDCT from libmpeg2
889 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
890   <celer at shell.scrypt.net>)
891 - added pixel format conversion layer (e.g. for MJPEG or PPM)
892 - added deinterlacing option
893 - MPEG-1/2 fixes
894 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
895 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
896 - Windows porting of file converter
897 - added MJPEG raw format (input/ouput)
898 - added JPEG image format support (input/output)
899
900
901 version 0.4.4:
902
903 - fixed some std header definitions (Bjorn Lindgren
904   <bjorn.e.lindgren at telia.com>).
905 - added MPEG demuxer (MPEG-1 and 2 compatible).
906 - added ASF demuxer
907 - added prototype RM demuxer
908 - added AC3 decoding (done with libac3 by Aaron Holtzman)
909 - added decoding codec parameter guessing (.e.g. for MPEG, because the
910   header does not include them)
911 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
912   play them (only tested video)
913 - fixed H.263 white bug
914 - fixed phase rounding in img resample filter
915 - add MMX code for polyphase img resample filter
916 - added CPU autodetection
917 - added generic title/author/copyright/comment string handling (ASF and RM
918   use them)
919 - added SWF demux to extract MP3 track (not usable yet because no MP3
920   decoder)
921 - added fractional frame rate support
922 - codecs are no longer searched by read_header() (should fix ffserver
923   segfault)
924
925
926 version 0.4.3:
927
928 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
929 - fixed raw yuv output
930 - added motion rounding support in MPEG-4
931 - fixed motion bug rounding in MSMPEG4
932 - added B-frame handling in video core
933 - added full MPEG-1 decoding support
934 - added partial (frame only) MPEG-2 support
935 - changed the FOURCC code for H.263 to "U263" to be able to see the
936   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
937   this +codec ;) (JuanJo).
938 - Halfpel motion estimation after MB type selection (JuanJo)
939 - added pgm and .Y.U.V output format
940 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
941   output.
942 - added pgmpipe I/O format (original patch from Martin Aumueller
943   <lists at reserv.at>, but changed completely since we use a format
944   instead of a protocol)
945
946
947 version 0.4.2:
948
949 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
950   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
951   missing. MSMPEG4 support is complete.
952 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
953   can decode ffmpeg MPEGs :-)).
954 - added libavcodec API documentation (see apiexample.c).
955 - fixed image polyphase bug (the bottom of some images could be
956   greenish)
957 - added support for non clipped motion vectors (decoding only)
958   and image sizes non-multiple of 16
959 - added support for AC prediction (decoding only)
960 - added file overwrite confirmation (can be disabled with -y)
961 - added custom size picture to H.263 using H.263+ (Juanjo)
962
963
964 version 0.4.1:
965
966 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
967   of AVI and ASF to DIV3.
968 - added -me option to set motion estimation method
969   (default=log). suppressed redundant -hq option.
970 - added options -acodec and -vcodec to force a given codec (useful for
971   AVI for example)
972 - fixed -an option
973 - improved dct_quantize speed
974 - factorized some motion estimation code
975
976
977 version 0.4.0:
978
979 - removing grab code from ffserver and moved it to ffmpeg. Added
980   multistream support to ffmpeg.
981 - added timeshifting support for live feeds (option ?date=xxx in the
982   URL)
983 - added high quality image resize code with polyphase filter (need
984   mmx/see optimization). Enable multiple image size support in ffserver.
985 - added multi live feed support in ffserver
986 - suppressed master feature from ffserver (it should be done with an
987   external program which opens the .ffm url and writes it to another
988   ffserver)
989 - added preliminary support for video stream parsing (WAV and AVI half
990   done). Added proper support for audio/video file conversion in
991   ffmpeg.
992 - added preliminary support for video file sending from ffserver
993 - redesigning I/O subsystem: now using URL based input and output
994   (see avio.h)
995 - added WAV format support
996 - added "tty user interface" to ffmpeg to stop grabbing gracefully
997 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
998   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
999 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1000 - added new motion estimation algorithms, log and phods (Juanjo)
1001 - changed directories: libav for format handling, libavcodec for
1002   codecs
1003
1004
1005 version 0.3.4:
1006
1007 - added stereo in MPEG audio encoder
1008
1009
1010 version 0.3.3:
1011
1012 - added 'high quality' mode which use motion vectors. It can be used in
1013   real time at low resolution.
1014 - fixed rounding problems which caused quality problems at high
1015   bitrates and large GOP size
1016
1017
1018 version 0.3.2: small fixes
1019
1020 - ASF fixes
1021 - put_seek bug fix
1022
1023
1024 version 0.3.1: added avi/divx support
1025
1026 - added AVI support
1027 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1028 - added sound for flash format (not tested)
1029
1030
1031 version 0.3: initial public release