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