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