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