Support varying frame sizes in a single file.
[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
5 version <next>:
6
7 - PB-frame decoding for H.263
8 - deprecated vhook subsystem removed
9 - deprecated old scaler removed
10 - VQF demuxer
11 - Alpha channel scaler
12 - PCX encoder
13 - RTP packetization of H.263
14 - RTP packetization of AMR
15 - RTP depacketization of Vorbis
16 - CorePNG decoding support
17 - Cook multichannel decoding support
18 - introduced avlanguage helpers in libavformat
19 - 8088flex TMV demuxer and decoder
20 - per-stream language-tags extraction in asfdec
21 - V210 decoder and encoder
22 - remaining GPL parts in AC-3 decoder converted to LGPL
23 - QCP demuxer
24 - SoX native format muxer and demuxer
25 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
26 - DPX image decoder
27 - Electronic Arts Madcow decoder
28 - DivX (XSUB) subtitle encoder
29
30
31
32 version 0.5:
33
34 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
35 - TechSmith Camtasia (TSCC) video decoder
36 - IBM Ultimotion (ULTI) video decoder
37 - Sierra Online audio file demuxer and decoder
38 - Apple QuickDraw (qdrw) video decoder
39 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
40 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
41 - Miro VideoXL (VIXL) video decoder
42 - H.261 video encoder
43 - QPEG video decoder
44 - Nullsoft Video (NSV) file demuxer
45 - Shorten audio decoder
46 - LOCO video decoder
47 - Apple Lossless Audio Codec (ALAC) decoder
48 - Winnov WNV1 video decoder
49 - Autodesk Animator Studio Codec (AASC) decoder
50 - Indeo 2 video decoder
51 - Fraps FPS1 video decoder
52 - Snow video encoder/decoder
53 - Sonic audio encoder/decoder
54 - Vorbis audio decoder
55 - Macromedia ADPCM decoder
56 - Duck TrueMotion 2 video decoder
57 - support for decoding FLX and DTA extensions in FLIC files
58 - H.264 custom quantization matrices support
59 - ffserver fixed, it should now be usable again
60 - QDM2 audio decoder
61 - Real Cooker audio decoder
62 - TrueSpeech audio decoder
63 - WMA2 audio decoder fixed, now all files should play correctly
64 - RealAudio 14.4 and 28.8 decoders fixed
65 - JPEG-LS decoder
66 - build system improvements
67 - tabs and trailing whitespace removed from the codebase
68 - CamStudio video decoder
69 - AIFF/AIFF-C audio format, encoding and decoding
70 - ADTS AAC file reading and writing
71 - Creative VOC file reading and writing
72 - American Laser Games multimedia (*.mm) playback system
73 - Zip Motion Blocks Video decoder
74 - improved Theora/VP3 decoder
75 - True Audio (TTA) decoder
76 - AVS demuxer and video decoder
77 - JPEG-LS encoder
78 - Smacker demuxer and decoder
79 - NuppelVideo/MythTV demuxer and RTjpeg decoder
80 - KMVC decoder
81 - MPEG-2 intra VLC support
82 - MPEG-2 4:2:2 encoder
83 - Flash Screen Video decoder
84 - GXF demuxer
85 - Chinese AVS decoder
86 - GXF muxer
87 - MXF demuxer
88 - VC-1/WMV3/WMV9 video decoder
89 - MacIntel support
90 - AVISynth support
91 - VMware video decoder
92 - VP5 video decoder
93 - VP6 video decoder
94 - WavPack lossless audio decoder
95 - Targa (.TGA) picture decoder
96 - Vorbis audio encoder
97 - Delphine Software .cin demuxer/audio and video decoder
98 - Tiertex .seq demuxer/video decoder
99 - MTV demuxer
100 - TIFF picture encoder and decoder
101 - GIF picture decoder
102 - Intel Music Coder decoder
103 - Zip Motion Blocks Video encoder
104 - Musepack decoder
105 - Flash Screen Video encoder
106 - Theora encoding via libtheora
107 - BMP encoder
108 - WMA encoder
109 - GSM-MS encoder and decoder
110 - DCA decoder
111 - DXA demuxer and decoder
112 - DNxHD decoder
113 - Gamecube movie (.THP) playback system
114 - Blackfin optimizations
115 - Interplay C93 demuxer and video decoder
116 - Bethsoft VID demuxer and video decoder
117 - CRYO APC demuxer
118 - Atrac3 decoder
119 - V.Flash PTX decoder
120 - RoQ muxer, RoQ audio encoder
121 - Renderware TXD demuxer and decoder
122 - extern C declarations for C++ removed from headers
123 - sws_flags command line option
124 - codebook generator
125 - RoQ video encoder
126 - QTRLE encoder
127 - OS/2 support removed and restored again
128 - AC-3 decoder
129 - NUT muxer
130 - additional SPARC (VIS) optimizations
131 - Matroska muxer
132 - slice-based parallel H.264 decoding
133 - Monkey's Audio demuxer and decoder
134 - AMV audio and video decoder
135 - DNxHD encoder
136 - H.264 PAFF decoding
137 - Nellymoser ASAO decoder
138 - Beam Software SIFF demuxer and decoder
139 - libvorbis Vorbis decoding removed in favor of native decoder
140 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
141 - Ogg (Theora, Vorbis and FLAC) muxer
142 - The "device" muxers and demuxers are now in a new libavdevice library
143 - PC Paintbrush PCX decoder
144 - Sun Rasterfile decoder
145 - TechnoTrend PVA demuxer
146 - Linux Media Labs MPEG-4 (LMLM4) demuxer
147 - AVM2 (Flash 9) SWF muxer
148 - QT variant of IMA ADPCM encoder
149 - VFW grabber
150 - iPod/iPhone compatible mp4 muxer
151 - Mimic decoder
152 - MSN TCP Webcam stream demuxer
153 - RL2 demuxer / decoder
154 - IFF demuxer
155 - 8SVX audio decoder
156 - non-recursive Makefiles
157 - BFI demuxer
158 - MAXIS EA XA (.xa) demuxer / decoder
159 - BFI video decoder
160 - OMA demuxer
161 - MLP/TrueHD decoder
162 - Electronic Arts CMV decoder
163 - Motion Pixels Video decoder
164 - Motion Pixels MVI demuxer
165 - removed animated GIF decoder/demuxer
166 - D-Cinema audio muxer
167 - Electronic Arts TGV decoder
168 - Apple Lossless Audio Codec (ALAC) encoder
169 - AAC decoder
170 - floating point PCM encoder/decoder
171 - MXF muxer
172 - DV100 AKA DVCPRO HD decoder and demuxer
173 - E-AC-3 support added to AC-3 decoder
174 - Nellymoser ASAO encoder
175 - ASS and SSA demuxer and muxer
176 - liba52 wrapper removed
177 - SVQ3 watermark decoding support
178 - Speex decoding via libspeex
179 - Electronic Arts TGQ decoder
180 - RV40 decoder
181 - QCELP / PureVoice decoder
182 - RV30 decoder
183 - hybrid WavPack support
184 - R3D REDCODE demuxer
185 - ALSA support for playback and record
186 - Electronic Arts TQI decoder
187 - OpenJPEG based JPEG 2000 decoder
188 - NC (NC4600) camera file demuxer
189 - Gopher client support
190 - MXF D-10 muxer
191 - generic metadata API
192
193
194
195 version 0.4.9-pre1:
196
197 - DV encoder, DV muxer
198 - Microsoft RLE video decoder
199 - Microsoft Video-1 decoder
200 - Apple Animation (RLE) decoder
201 - Apple Graphics (SMC) decoder
202 - Apple Video (RPZA) decoder
203 - Cinepak decoder
204 - Sega FILM (CPK) file demuxer
205 - Westwood multimedia support (VQA & AUD files)
206 - Id Quake II CIN playback support
207 - 8BPS video decoder
208 - FLIC playback support
209 - RealVideo 2.0 (RV20) decoder
210 - Duck TrueMotion v1 (DUCK) video decoder
211 - Sierra VMD demuxer and video decoder
212 - MSZH and ZLIB decoder support
213 - SVQ1 video encoder
214 - AMR-WB support
215 - PPC optimizations
216 - rate distortion optimal cbp support
217 - rate distorted optimal ac prediction for MPEG-4
218 - rate distorted optimal lambda->qp support
219 - AAC encoding with libfaac
220 - Sunplus JPEG codec (SP5X) support
221 - use Lagrange multipler instead of QP for ratecontrol
222 - Theora/VP3 decoding support
223 - XA and ADX ADPCM codecs
224 - export MPEG-2 active display area / pan scan
225 - Add support for configuring with IBM XLC
226 - floating point AAN DCT
227 - initial support for zygo video (not complete)
228 - RGB ffv1 support
229 - new audio/video parser API
230 - av_log() system
231 - av_read_frame() and av_seek_frame() support
232 - missing last frame fixes
233 - seek by mouse in ffplay
234 - noise reduction of DCT coefficients
235 - H.263 OBMC & 4MV support
236 - H.263 alternative inter vlc support
237 - H.263 loop filter
238 - H.263 slice structured mode
239 - interlaced DCT support for MPEG-2 encoding
240 - stuffing to stay above min_bitrate
241 - MB type & QP visualization
242 - frame stepping for ffplay
243 - interlaced motion estimation
244 - alternate scantable support
245 - SVCD scan offset support
246 - closed GOP support
247 - SSE2 FDCT
248 - quantizer noise shaping
249 - G.726 ADPCM audio codec
250 - MS ADPCM encoding
251 - multithreaded/SMP motion estimation
252 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
253 - multithreaded/SMP decoding for MPEG-2
254 - FLAC decoder
255 - Metrowerks CodeWarrior suppport
256 - H.263+ custom pcf support
257 - nicer output for 'ffmpeg -formats'
258 - Matroska demuxer
259 - SGI image format, encoding and decoding
260 - H.264 loop filter support
261 - H.264 CABAC support
262 - nicer looking arrows for the motion vector visualization
263 - improved VCD support
264 - audio timestamp drift compensation
265 - MPEG-2 YUV 422/444 support
266 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
267 - better image scaling
268 - H.261 support
269 - correctly interleave packets during encoding
270 - VIS optimized motion compensation
271 - intra_dc_precision>0 encoding support
272 - support reuse of motion vectors/MB types/field select values of the source video
273 - more accurate deblock filter
274 - padding support
275 - many optimizations and bugfixes
276 - FunCom ISS audio file demuxer and according ADPCM decoding
277
278
279
280 version 0.4.8:
281
282 - MPEG-2 video encoding (Michael)
283 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
284 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
285   and Mario Brito)
286 - Xan DPCM audio decoder (Mario Brito)
287 - Interplay MVE playback subsystem (Mike Melanson)
288 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
289
290
291
292 version 0.4.7:
293
294 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
295   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
296 - current version now also compiles with older GCC (Fabrice)
297 - 4X multimedia playback system including 4xm file demuxer (Mike
298   Melanson), and 4X video and audio codecs (Michael)
299 - Creative YUV (CYUV) decoder (Mike Melanson)
300 - FFV1 codec (our very simple lossless intra only codec, compresses much better
301   than HuffYUV) (Michael)
302 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
303 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
304   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
305 - ffplay has been replaced with a newer version which uses SDL (optionally)
306   for multiplatform support (Fabrice)
307 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
308   by anonymous
309 - AMR format has been added (Johannes Carlsson)
310 - 3GP support has been added (Johannes Carlsson)
311 - VP3 codec has been added (Mike Melanson)
312 - more MPEG-1/2 fixes
313 - better multiplatform support, MS Visual Studio fixes (various)
314 - AltiVec optimizations (Magnus Damn and others)
315 - SH4 processor support has been added (BERO)
316 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
317 - VOB streaming support (Brian Foley)
318 - better MP3 autodetection (Andriy Rysin)
319 - qpel encoding (Michael)
320 - 4mv+b frames encoding finally fixed (Michael)
321 - chroma ME (Michael)
322 - 5 comparison functions for ME (Michael)
323 - B-frame encoding speedup (Michael)
324 - WMV2 codec (unfinished - Michael)
325 - user specified diamond size for EPZS (Michael)
326 - Playstation STR playback subsystem, still experimental (Mike and Michael)
327 - ASV2 codec (Michael)
328 - CLJR decoder (Alex)
329
330 .. And lots more new enhancements and fixes.
331
332
333
334 version 0.4.6:
335
336 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
337   from scratch
338 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
339 - fix quantization bug in AC3 encoder
340 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
341 - added prototype ffplay program
342 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
343 - bug fix on MCBPC tables of H.263 (Juanjo)
344 - bug fix on DC coefficients of H.263 (Juanjo)
345 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
346 - now we can decode H.263 streams found in QuickTime files (Juanjo)
347 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
348 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
349 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
350 - now H.263 picture size is returned on the first decoded frame (Juanjo)
351 - added first regression tests
352 - added MPEG-2 TS demuxer
353 - new demux API for libav
354 - more accurate and faster IDCT (Michael)
355 - faster and entropy-controlled motion search (Michael)
356 - two pass video encoding (Michael)
357 - new video rate control (Michael)
358 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
359 - great performance improvement of video encoders and decoders (Michael)
360 - new and faster bit readers and vlc parsers (Michael)
361 - high quality encoding mode: tries all macroblock/VLC types (Michael)
362 - added DV video decoder
363 - preliminary RTP/RTSP support in ffserver and libavformat
364 - H.263+ AIC decoding/encoding support (Juanjo)
365 - VCD MPEG-PS mode (Juanjo)
366 - PSNR stuff (Juanjo)
367 - simple stats output (Juanjo)
368 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
369
370
371
372 version 0.4.5:
373
374 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
375 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
376 - added configure system (actually a small shell script)
377 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
378   Michael Hipp (temporary solution - waiting for integer only
379   decoder)
380 - fixed VIDIOCSYNC interrupt
381 - added Intel H.263 decoding support ('I263' AVI fourCC)
382 - added Real Video 1.0 decoding (needs further testing)
383 - simplified image formats again. Added PGM format (=grey
384   pgm). Renamed old PGM to PGMYUV.
385 - fixed msmpeg4 slice issues (tell me if you still find problems)
386 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
387 - added support for MPlayer interface
388 - added macroblock skip optimization
389 - added MJPEG decoder
390 - added mmx/mmxext IDCT from libmpeg2
391 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
392   <celer at shell.scrypt.net>)
393 - added pixel format conversion layer (e.g. for MJPEG or PPM)
394 - added deinterlacing option
395 - MPEG-1/2 fixes
396 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
397 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
398 - Windows porting of file converter
399 - added MJPEG raw format (input/ouput)
400 - added JPEG image format support (input/output)
401
402
403
404 version 0.4.4:
405
406 - fixed some std header definitions (Bjorn Lindgren
407   <bjorn.e.lindgren at telia.com>).
408 - added MPEG demuxer (MPEG-1 and 2 compatible).
409 - added ASF demuxer
410 - added prototype RM demuxer
411 - added AC3 decoding (done with libac3 by Aaron Holtzman)
412 - added decoding codec parameter guessing (.e.g. for MPEG, because the
413   header does not include them)
414 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
415   play them (only tested video)
416 - fixed H.263 white bug
417 - fixed phase rounding in img resample filter
418 - add MMX code for polyphase img resample filter
419 - added CPU autodetection
420 - added generic title/author/copyright/comment string handling (ASF and RM
421   use them)
422 - added SWF demux to extract MP3 track (not usable yet because no MP3
423   decoder)
424 - added fractional frame rate support
425 - codecs are no longer searched by read_header() (should fix ffserver
426   segfault)
427
428
429
430 version 0.4.3:
431
432 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
433 - fixed raw yuv output
434 - added motion rounding support in MPEG-4
435 - fixed motion bug rounding in MSMPEG4
436 - added B-frame handling in video core
437 - added full MPEG-1 decoding support
438 - added partial (frame only) MPEG-2 support
439 - changed the FOURCC code for H.263 to "U263" to be able to see the
440   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
441   this +codec ;) (JuanJo).
442 - Halfpel motion estimation after MB type selection (JuanJo)
443 - added pgm and .Y.U.V output format
444 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
445   output.
446 - added pgmpipe I/O format (original patch from Martin Aumueller
447   <lists at reserv.at>, but changed completely since we use a format
448   instead of a protocol)
449
450
451
452 version 0.4.2:
453
454 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
455   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
456   missing. MSMPEG4 support is complete.
457 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
458   can decode ffmpeg MPEGs :-)).
459 - added libavcodec API documentation (see apiexample.c).
460 - fixed image polyphase bug (the bottom of some images could be
461   greenish)
462 - added support for non clipped motion vectors (decoding only)
463   and image sizes non-multiple of 16
464 - added support for AC prediction (decoding only)
465 - added file overwrite confirmation (can be disabled with -y)
466 - added custom size picture to H.263 using H.263+ (Juanjo)
467
468
469 version 0.4.1:
470
471 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
472   of AVI and ASF to DIV3.
473 - added -me option to set motion estimation method
474   (default=log). suppressed redundant -hq option.
475 - added options -acodec and -vcodec to force a given codec (useful for
476   AVI for example)
477 - fixed -an option
478 - improved dct_quantize speed
479 - factorized some motion estimation code
480
481
482
483 version 0.4.0:
484
485 - removing grab code from ffserver and moved it to ffmpeg. Added
486   multistream support to ffmpeg.
487 - added timeshifting support for live feeds (option ?date=xxx in the
488   URL)
489 - added high quality image resize code with polyphase filter (need
490   mmx/see optimization). Enable multiple image size support in ffserver.
491 - added multi live feed support in ffserver
492 - suppressed master feature from ffserver (it should be done with an
493   external program which opens the .ffm url and writes it to another
494   ffserver)
495 - added preliminary support for video stream parsing (WAV and AVI half
496   done). Added proper support for audio/video file conversion in
497   ffmpeg.
498 - added preliminary support for video file sending from ffserver
499 - redesigning I/O subsystem: now using URL based input and output
500   (see avio.h)
501 - added WAV format support
502 - added "tty user interface" to ffmpeg to stop grabbing gracefully
503 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
504   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
505 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
506 - added new motion estimation algorithms, log and phods (Juanjo)
507 - changed directories: libav for format handling, libavcodec for
508   codecs
509
510
511
512 version 0.3.4:
513
514 - added stereo in MPEG audio encoder
515
516
517
518 version 0.3.3:
519
520 - added 'high quality' mode which use motion vectors. It can be used in
521   real time at low resolution.
522 - fixed rounding problems which caused quality problems at high
523   bitrates and large GOP size
524
525
526
527 version 0.3.2: small fixes
528
529 - ASF fixes
530 - put_seek bug fix
531
532
533
534 version 0.3.1: added avi/divx support
535
536 - added AVI support
537 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
538 - added sound for flash format (not tested)
539
540
541
542 version 0.3: initial public release