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