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