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