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