avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
[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
6
7 version 0.10.11
8
9 - pthread: Avoid spurious wakeups
10 - pthread: Fix deadlock during thread initialization
11 - mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0
12 - vc1dec: Don't decode slices when the latest slice header failed to decode
13 - vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks
14 - r3d: Add more input value validation
15 - fraps: Make the input buffer size checks more strict
16 - svq3: Avoid a division by zero
17 - rmdec: Validate the fps value
18 - twinvqdec: Check the ibps parameter separately
19 - asfdec: Check the return value of asf_read_stream_properties
20 - mxfdec: set audio timebase to 1/samplerate
21 - pcx: Check the packet size before assuming it fits a palette
22 - rpza: Fix a buffer size check
23 - xxan: Disallow odd width
24 - xan: Only read within the data that actually was initialized
25 - xan: Use bytestream2 to limit reading to within the buffer
26 - pcx: Consume the whole packet if giving up due to missing palette
27 - pngdec: Stop trying to decode once inflate returns Z_STREAM_END
28 - mov: Make sure the read sample count is nonnegative
29 - bfi: Add some very basic sanity checks for input packet sizes
30 - bfi: Avoid divisions by zero
31 - electronicarts: Add more sanity checking for the number of channels
32 - riffdec: Add sanity checks for the sample rate
33 - mvi: Add sanity checking for the audio frame size
34 - xwma: Avoid division by zero
35 - avidec: Make sure a packet is large enough before reading its data
36 - vqf: Make sure the bitrate is in the valid range
37 - vqf: Make sure sample_rate is set to a valid value
38 - vc1dec: Undo mpegvideo initialization if unable to allocate tables
39 - vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors
40 - wnv1: Make sure the input packet is large enough
41 - dca: Validate the lfe parameter
42 - rl2: Avoid a division by zero
43 - wtv: Add more sanity checks for a length read from the file
44 - segafilm: Validate the number of audio channels
45 - qpeg: Add checks for running out of rows in qpeg_decode_inter
46 - mpegaudiodec: Validate that the number of channels fits at the given offset
47 - asv1: Verify the amount of extradata
48 - idroqdec: Make sure a video stream has been allocated before returning packets
49 - rv10: Validate the dimensions set from the container
50 - xmv: Add more sanity checks for parameters read from the bitstream
51 - ffv1: Make sure at least one slice context is initialized
52 - truemotion2: Use av_freep properly in an error path
53 - eacmv: Make sure a reference frame exists before referencing it
54 - mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
55 - ivi_common: Make sure color planes have been initialized
56 - oggparseogm: Convert to use bytestream2
57 - rv34: Check the return value from ff_rv34_decode_init
58 - matroskadec: Verify realaudio codec parameters
59 - mace: Make sure that the channel count is set to a valid value
60 - svq3: Check for any negative return value from ff_h264_check_intra_pred_mode
61 - vp3: Check the framerate for validity
62 - cavsdec: Make sure a sequence header has been decoded before decoding pictures
63 - sierravmd: Do sanity checking of frame sizes
64 - omadec: Properly check lengths before incrementing the position
65 - mpc8: Make sure the first stream exists before parsing the seek table
66 - mpc8: Check the seek table size parsed from the bitstream
67 - zmbvdec: Check the buffer size for uncompressed data
68 - ape: Don't allow the seektable to be omitted
69 - shorten: Break out of loop looking for fmt chunk if none is found
70 - shorten: Use a checked bytestream reader for the wave header
71 - smacker: Make sure we don't fill in huffman codes out of range
72 - smacker: Avoid integer overflow when allocating packets
73 - smacker: Don't return packets in unallocated streams
74 - dsicin: Add some basic sanity checks for fields read from the file
75 - roqvideodec: check dimensions validity
76 - qdm2: check array index before use, fix out of array accesses
77 - alsdec: check block length
78
79
80 version 0.10.10
81
82 - x86: fft: Remove 3DNow! optimizations, they break FATE
83 - x86: ac3dsp: Drop mmx variant of ac3_max_msb_abs_int16
84 - aac: Check init_get_bits return value
85 - aac: return meaningful errors
86 - dsicinav: K&R formatting cosmetics
87 - mov: Seek back if overreading an individual atom
88 - vcr1: add sanity checks
89 - pictordec: pass correct context to avpriv_request_sample
90 - dsicinav: Clip the source size to the expected maximum
91 - alsdec: Clean up error paths
92 - ogg: Fix potential infinite discard loop
93 - nuv: check rtjpeg_decode_frame_yuv420 return value
94 - nuv: Reset the frame on resize
95 - nuv: Use av_fast_realloc
96 - nuv: return meaningful error codes.
97 - nuv: Pad the lzo outbuf
98 - nuv: Do not ignore lzo decompression failures
99 - oma: correctly mark and decrypt partial packets
100 - oma: check geob tag boundary
101 - oma: refactor seek function
102 - 8bps: Bound-check the input buffer
103 - rtmp: Do not misuse memcmp
104 - rtmp: rename data_size to size
105 - lavc: set the default rc_initial_buffer_occupancy
106 - 4xm: Reject not a multiple of 16 dimension
107 - 4xm: do not overread the prestream buffer
108 - 4xm: validate the buffer size before parsing it
109 - indeo: Do not reference mismatched tiles
110 - indeo: Sanitize ff_ivi_init_planes fail paths
111 - indeo: Bound-check before applying motion compensation
112 - indeo: Bound-check before applying transform
113 - indeo: reject negative array indexes
114 - indeo: Cosmetic formatting
115 - indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks
116 - indeo: Refactor ff_ivi_dec_huff_desc
117 - lavf: fix the comparison in an overflow check
118 - dv: Add a guard to not overread the ppcm array
119 - mpegvideo: Avoid 32-bit wrapping of linesize multiplications
120 - mjpegb: Detect changing number of planes in interlaced video
121 - matroskadec: Check that .lang was allocated and set before reading it
122 - ape demuxer: check for EOF in potentially long loops
123 - lavf: avoid integer overflow when estimating bitrate
124 - pictordec: break out of both decoding loops when y drops below 0
125 - ac3: Return proper error codes
126 - ac3: Clean up the error paths
127 - ac3: Do not clash with normal AVERROR
128 - dxa: Make sure the reference frame exists
129 - h261: check the mtype index
130 - segafilm: Error out on impossible packet size
131 - ogg: Always alloc the private context in vorbis_header
132 - vc1: check mb_height validity.
133 - vc1: check the source buffer in vc1_mc functions
134 - bink: Bound check the quantization matrix.
135 - xl: Make sure the width is valid
136 - alsdec: Fix the clipping range
137 - dsicinav: Bound-check the source buffer when needed
138 - mov: Do not allow updating the time scale after it has been set
139 - ac3dec: Don't consume more data than the actual input packet size
140 - indeo: Reject impossible FRAMETYPE_NULL
141 - indeo5: return proper error codes
142 - indeo4: Validate scantable dimension
143 - indeo4: Check the quantization matrix index
144 - indeo4: Do not access missing reference MV
145 - adpcm: Unbreak ima-dk4
146 - ac3dec: validate channel output mode against channel count
147 - dca: Respect the current limits in the downmixing capabilities
148 - dca: Error out on missing DSYNC
149 - pcm: always use codec->id instead of codec_id
150 - mlpdec: Do not set invalid context in read_restart_header
151 - pcx: Do not overread source buffer in pcx_rle_decode
152 - wmavoice: conceal clearly corrupted blocks
153 - iff: Do not read over the source buffer
154 - qdm2: Conceal broken samples
155 - qdm2: refactor joined stereo support
156 - adpcm: Write the correct number of samples for ima-dk4
157 - imc: Catch a division by zero
158 - atrac3: Error on impossible encoding/channel combinations
159 - atrac3: set the getbits context the right buffer_end
160 - atrac3: fix error handling
161 - qdm2: check and reset dithering index per channel
162 - westwood_vqa: do not free extradata on error in read_header
163 - vqavideo: check the version
164 - rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
165 - avio: Handle AVERROR_EOF in the same way as the return value 0
166 - wtv: Mark attachment with a negative stream id
167 - avidec: Let the inner dv demuxer take care of discarding
168 - swfdec: do better validation of tag length
169
170
171 version 0.10.8
172 - kmvc: Clip pixel position to valid range
173 - kmvc: use fixed sized arrays in the context
174 - indeo: use a typedef for the mc function pointer
175 - lavc: check for overflow in init_get_bits
176 - mjpegdec: properly report unsupported disabled features
177 - jpegls: return meaningful errors
178 - jpegls: factorize return paths
179 - jpegls: check the scan offset
180 - wavpack: validate samples size parsed in wavpack_decode_block
181 - ljpeg: use the correct number of components in yuv
182 - mjpeg: Validate sampling factors
183 - mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
184 - wavpack: check packet size early
185 - wavpack: return meaningful errors
186 - apetag: use int64_t for filesize
187 - tiff: do not overread the source buffer
188 - Prepare for 0.8.8 Release
189 - smacker: fix an off by one in huff.length computation
190 - smacker: check the return value of smacker_decode_tree
191 - smacker: pad the extradata allocation
192 - smacker: check frame size validity
193 - vmdav: convert to bytestream2
194 - 4xm: don't rely on get_buffer() initializing the frame.
195 - 4xm: check the return value of read_huffman_tables().
196 - 4xm: use the correct logging context
197 - 4xm: reject frames not compatible with the declared version
198 - 4xm: check bitstream_size boundary before using it
199 - 4xm: do not overread the source buffer in decode_p_block
200 - avfiltergraph: check for sws opts being non-NULL before using them
201 - bmv: check for len being valid in bmv_decode_frame()
202 - dfa: check for invalid access in decode_wdlt()
203 - indeo3: check motion vectors
204 - indeo3: fix data size check
205 - indeo3: switch parsing the header to bytestream2
206 - lavf: make sure stream probe data gets freed.
207 - oggdec: fix faulty cleanup prototype
208 - oma: Validate sample rates
209 - qdm2: check that the FFT size is a power of 2
210 - rv10: check that extradata is large enough
211 - xmv: check audio track parameters validity
212 - xmv: do not leak memory in the error paths in xmv_read_header()
213 - aac: check the maximum number of channels
214 - indeo3: fix off by one in MV validity check, Bug #503
215 - id3v2: check for end of file while unescaping tags
216 - wav: Always seek to an even offset, Bug #500, LP: #1174737
217 - proresdec: support mixed interlaced/non-interlaced content
218
219
220 version 0.10.6:
221
222 - many bug fixes that where found with Coverity
223
224 - The following CVE fixes where backported:
225   CVE-2012-2796, CVE-2012-2775, CVE-2012-2772, CVE-2012-2776,
226   CVE-2012-2779, CVE-2012-2787, CVE-2012-2794, CVE-2012-2800,
227   CVE-2012-2802, CVE-2012-2801, CVE-2012-2786, CVE-2012-2798,
228   CVE-2012-2793, CVE-2012-2789, CVE-2012-2788, CVE-2012-2790,
229   CVE-2012-2777, CVE-2012-2784
230
231 - hundreads of other bug fixes, some possibly security relevant,
232   see the git log for details.
233
234
235 version 0.10.5:
236
237 - Several bugs and crashes have been fixed as well as build problems
238   with recent mingw64
239
240
241 version 0.10.4:
242
243 - Several bugs and crashes have been fixed
244   Note, CVE-2012-0851 and CVE-2011-3937 have been fixed in previous releases
245
246 version 0.10.3:
247
248 - Security fixes in the 4xm demuxer, avi demuxer, cook decoder,
249   mm demuxer, mpegvideo decoder, vqavideo decoder (CVE-2012-0947) and
250   xmv demuxer.
251
252 - Several bugs and crashes have been fixed in the following codecs: AAC,
253   APE, H.263, H.264, Indeo 4, Mimic, MJPEG, Motion Pixels Video, RAW,
254   TTA, VC1, VQA, WMA Voice, vqavideo.
255
256 - Several bugs and crashes have been fixed in the following formats:
257   ASF, ID3v2, MOV, xWMA
258
259 - This release additionally updates the following codecs to the
260   bytestream2 API, and therefore benefit from additional overflow
261   checks: truemotion2, utvideo, vqavideo
262
263
264 version 0.10.1
265 - Several security fixes, many bugfixes affecting many formats and
266   codecs, the list below is not complete.
267
268 - swapuv filter
269
270 - Several bugs and crashes have been fixed in the following codecs: AAC,
271   AC-3, ADPCM, AMR (both NB and WB), ATRAC3, CAVC, Cook, camstudio, DCA,
272   DPCM, DSI CIN, DV, EA TGQ, FLAC, fraps, G.722 (both encoder and
273   decoder), H.264, huvffyuv, BB JV decoder, Indeo 3, KGV1, LCL, the
274   libx264 wrapper, MJPEG, mp3on4, Musepack, MPEG1/2, PNG, QDM2, Qt RLE,
275   ROQ, RV10, RV30/RV34/RV40, shorten, smacker, subrip, SVQ3, TIFF,
276   Truemotion2, TTA, VC1, VMware Screen codec, Vorbis, VP5, VP6, WMA,
277   Westwood SNDx, XXAN.
278
279 - This release additionally updates the following codecs to the
280   bytestream2 API, and therefore benefit from additional overflow
281   checks: XXAN, ALG MM, TQG, SMC, Qt SMC, ROQ, PNG
282
283 - Several bugs and crashes have been fixed in the following formats:
284   AIFF, ASF, DV, Matroska, NSV, MOV, MPEG-TS, Smacker, Sony OpenMG, RM,
285   SWF.
286
287 - Libswscale has an potential overflow for large image size fixed.
288
289 - The following APIs have been added:
290
291   avcodec_is_open()
292   avformat_get_riff_video_tags()
293   avformat_get_riff_audio_tags()
294
295   Please see the file doc/APIchanges and the Doxygen documentation for
296   further information.
297
298
299 version 0.10:
300 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
301          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
302          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
303          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
304 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
305 - SBaGen (SBG) binaural beats script demuxer
306 - OpenMG Audio muxer
307 - Timecode extraction in DV and MOV
308 - thumbnail video filter
309 - XML output in ffprobe
310 - asplit audio filter
311 - tinterlace video filter
312 - astreamsync audio filter
313 - amerge audio filter
314 - ISMV (Smooth Streaming) muxer
315 - GSM audio parser
316 - SMJPEG muxer
317 - XWD encoder and decoder
318 - Automatic thread count based on detection number of (available) CPU cores
319 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
320 - ffprobe -show_error option
321 - Avid 1:1 10-bit RGB Packer codec
322 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
323 - yuv4 libquicktime packed 4:2:0 encoder and decoder
324 - ffprobe -show_frames option
325 - silencedetect audio filter
326 - ffprobe -show_program_version, -show_library_versions, -show_versions options
327 - rv34: frame-level multi-threading
328 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
329 - Improved PGS subtitle decoder
330 - dumpgraph option to lavfi device
331 - r210 and r10k encoders
332 - ffwavesynth decoder
333 - aviocat tool
334 - ffeval tool
335
336
337 version 0.9:
338
339 - openal input device added
340 - boxblur filter added
341 - BWF muxer
342 - Flash Screen Video 2 decoder
343 - lavfi input device added
344 - added avconv, which is almost the same for now, except
345 for a few incompatible changes in the options, which will hopefully make them
346 easier to use. The changes are:
347     * The options placement is now strictly enforced! While in theory the
348       options for ffmpeg should be given in [input options] -i INPUT [output
349       options] OUTPUT order, in practice it was possible to give output options
350       before the -i and it mostly worked. Except when it didn't - the behavior was
351       a bit inconsistent. In avconv, it is not possible to mix input and output
352       options. All non-global options are reset after an input or output filename.
353     * All per-file options are now truly per-file - they apply only to the next
354       input or output file and specifying different values for different files
355       will now work properly (notably -ss and -t options).
356     * All per-stream options are now truly per-stream - it is possible to
357       specify which stream(s) should a given option apply to. See the Stream
358       specifiers section in the avconv manual for details.
359     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
360       sense that they're specified after the output filename instead of before,
361       like all other options. In avconv this irregularity is removed, all options
362       apply to the next input or output file.
363     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
364       irregular and highly confusing, they were also redundant. In avconv the -map
365       option will create new streams in the output file and map input streams to
366       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
367       each stream in the first input file.
368     * The -map option now has slightly different and more powerful syntax:
369         + Colons (':') are used to separate file index/stream type/stream index
370           instead of dots. Comma (',') is used to separate the sync stream instead
371           of colon.. This is done for consistency with other options.
372         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
373           output stream from the third input audio stream.
374         + Omitting the stream index now maps all the streams of the given type,
375           not just the first. E.g. -map 0:s creates output streams for all the
376           subtitle streams in the first input file.
377         + Since -map can now match multiple streams, negative mappings were
378           introduced. Negative mappings disable some streams from an already
379           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
380           all the stream in the first input file, except for the second audio
381           stream'.
382     * There is a new option -c (or -codec) for choosing the decoder/encoder to
383       use, which allows to precisely specify target stream(s) consistently with
384       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
385       libvorbis sets the codec for the first audio stream and -c copy copies all
386       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
387       aliases to -c:v/a/s
388     * It is now possible to precisely specify which stream should an AVOption
389       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
390       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
391       syntax is deprecated and will stop working soon.
392     * -map_chapters now takes only an input file index and applies to the next
393       output file. This is consistent with how all the other options work.
394     * -map_metadata now takes only an input metadata specifier and applies to
395       the next output file. Output metadata specifier is now part of the option
396       name, similarly to the AVOptions/map/codec feature above.
397     * -metadata can now be used to set metadata on streams and chapters, e.g.
398       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
399       This made -vlang/-alang/-slang options redundant, so they were removed.
400     * -qscale option now uses stream specifiers and applies to all streams, not
401       just video. I.e. plain -qscale number would now apply to all streams. To get
402       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
403       and -aq is now an alias for -q:a.
404     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
405       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
406     * -itsscale option now uses stream specifiers, so its argument is only the
407       scale parameter.
408     * -intra option was removed, use -g 0 for the same effect.
409     * -psnr option was removed, use -flags +psnr for the same effect.
410     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
411     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
412     * -vtag/-atag/-stag options are now aliases to the new -tag option.
413 - XMV demuxer
414 - LOAS demuxer
415 - ashowinfo filter added
416 - Windows Media Image decoder
417 - amovie source added
418 - LATM muxer/demuxer
419 - Speex encoder via libspeex
420 - JSON output in ffprobe
421 - WTV muxer
422 - Optional C++ Support (needed for libstagefright)
423 - H.264 Decoding on Android via Stagefright
424 - Prores decoder
425 - BIN/XBIN/ADF/IDF text file decoder
426 - aconvert audio filter added
427 - audio support to lavfi input device added
428 - libcdio-paranoia input device for audio CD grabbing
429 - Apple ProRes decoder
430 - CELT in Ogg demuxing
431 - G.723.1 demuxer and decoder
432 - libmodplug support (--enable-libmodplug)
433 - VC-1 interlaced decoding
434 - libutvideo wrapper (--enable-libutvideo)
435 - aevalsrc audio source added
436 - Ut Video decoder
437 - Speex encoding via libspeex
438 - 4:2:2 H.264 decoding support
439 - 4:2:2 and 4:4:4 H.264 encoding with libx264
440 - Pulseaudio input device
441 - Prores encoder
442 - Video Decoder Acceleration (VDA) HWAccel module.
443 - replacement Indeo 3 decoder
444 - new ffmpeg option: -map_channel
445 - volume audio filter added
446 - earwax audio filter added
447 - libv4l2 support (--enable-libv4l2)
448 - TLS/SSL and HTTPS protocol support
449 - AVOptions API rewritten and documented
450 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
451   AVCodecContext deprecated. Codec private options should be used instead.
452 - Properly working defaults in libx264 wrapper, support for native presets.
453 - Encrypted OMA files support
454 - Discworld II BMV decoding support
455 - VBLE Decoder
456 - OS X Video Decoder Acceleration (VDA) support
457 - compact and csv output in ffprobe
458 - pan audio filter
459 - IFF Amiga Continuous Bitmap (ACBM) decoder
460 - ass filter
461 - CRI ADX audio format muxer and demuxer
462 - Playstation Portable PMP format demuxer
463 - Microsoft Windows ICO demuxer
464 - life source
465 - PCM format support in OMA demuxer
466 - CLJR encoder
467 - new option: -report
468 - Dxtory capture format decoder
469 - cellauto source
470 - Simple segmenting muxer
471 - Indeo 4 decoder
472 - SMJPEG demuxer
473
474
475 version 0.8:
476
477 - many many things we forgot because we rather write code than changelogs
478 - WebM support in Matroska de/muxer
479 - low overhead Ogg muxing
480 - MMS-TCP support
481 - VP8 de/encoding via libvpx
482 - Demuxer for On2's IVF format
483 - Pictor/PC Paint decoder
484 - HE-AAC v2 decoder
485 - HE-AAC v2 encoding with libaacplus
486 - libfaad2 wrapper removed
487 - DTS-ES extension (XCh) decoding support
488 - native VP8 decoder
489 - RTSP tunneling over HTTP
490 - RTP depacketization of SVQ3
491 - -strict inofficial replaced by -strict unofficial
492 - ffplay -exitonkeydown and -exitonmousedown options added
493 - native GSM / GSM MS decoder
494 - RTP depacketization of QDM2
495 - ANSI/ASCII art playback system
496 - Lego Mindstorms RSO de/muxer
497 - libavcore added (and subsequently removed)
498 - SubRip subtitle file muxer and demuxer
499 - Chinese AVS encoding via libxavs
500 - ffprobe -show_packets option added
501 - RTP packetization of Theora and Vorbis
502 - RTP depacketization of MP4A-LATM
503 - RTP packetization and depacketization of VP8
504 - hflip filter
505 - Apple HTTP Live Streaming demuxer
506 - a64 codec
507 - MMS-HTTP support
508 - G.722 ADPCM audio encoder/decoder
509 - R10k video decoder
510 - ocv_smooth filter
511 - frei0r wrapper filter
512 - change crop filter syntax to width:height:x:y
513 - make the crop filter accept parametric expressions
514 - make ffprobe accept AVFormatContext options
515 - yadif filter
516 - blackframe filter
517 - Demuxer for Leitch/Harris' VR native stream format (LXF)
518 - RTP depacketization of the X-QT QuickTime format
519 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
520 - cropdetect filter
521 - ffmpeg -crop* options removed
522 - transpose filter added
523 - ffmpeg -force_key_frames option added
524 - demuxer for receiving raw rtp:// URLs without an SDP description
525 - single stream LATM/LOAS decoder
526 - setpts filter added
527 - Win64 support for optimized x86 assembly functions
528 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
529 - ASS subtitle encoder and decoder
530 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
531 - overlay filter added
532 - rename aspect filter to setdar, and pixelaspect to setsar
533 - IEC 61937 demuxer
534 - Mobotix .mxg demuxer
535 - frei0r source added
536 - hqdn3d filter added
537 - RTP depacketization of QCELP
538 - FLAC parser added
539 - gradfun filter added
540 - AMR-WB decoder
541 - replace the ocv_smooth filter with a more generic ocv filter
542 - Windows Televison (WTV) demuxer
543 - FFmpeg metadata format muxer and demuxer
544 - SubRip (srt) subtitle encoder and decoder
545 - floating-point AC-3 encoder added
546 - Lagarith decoder
547 - ffmpeg -copytb option added
548 - IVF muxer added
549 - Wing Commander IV movies decoder added
550 - movie source added
551 - Bink version 'b' audio and video decoder
552 - Bitmap Brothers JV playback system
553 - Apple HTTP Live Streaming protocol handler
554 - sndio support for playback and record
555 - Linux framebuffer input device added
556 - Chronomaster DFA decoder
557 - DPX image encoder
558 - MicroDVD subtitle file muxer and demuxer
559 - Playstation Portable PMP format demuxer
560 - fieldorder video filter added
561 - AAC encoding via libvo-aacenc
562 - AMR-WB encoding via libvo-amrwbenc
563 - xWMA demuxer
564 - Mobotix MxPEG decoder
565 - VP8 frame-multithreading
566 - NEON optimizations for VP8
567 - Lots of deprecated API cruft removed
568 - fft and imdct optimizations for AVX (Sandy Bridge) processors
569 - showinfo filter added
570 - SMPTE 302M AES3 audio decoder
571 - Apple Core Audio Format muxer
572 - 9bit and 10bit per sample support in the H.264 decoder
573 - 9bit and 10bit FFV1 encoding / decoding
574 - split filter added
575 - select filter added
576 - sdl output device added
577 - libmpcodecs video filter support (3 times as many filters than before)
578 - mpeg2 aspect ratio dection fixed
579 - libxvid aspect pickiness fixed
580 - Frame multithreaded decoding
581 - E-AC-3 audio encoder
582 - ac3enc: add channel coupling support
583 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
584 - H264/MPEG frame-level multi-threading
585 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
586 - 4:4:4 H.264 decoding support
587 - 10-bit H.264 optimizations for x86
588 - lut, lutrgb, and lutyuv filters added
589 - buffersink libavfilter sink added
590 - Bump libswscale for recently reported ABI break
591 - New J2K encoder (via OpenJPEG)
592
593
594 version 0.7:
595
596 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
597
598
599 version 0.6:
600
601 - PB-frame decoding for H.263
602 - deprecated vhook subsystem removed
603 - deprecated old scaler removed
604 - VQF demuxer
605 - Alpha channel scaler
606 - PCX encoder
607 - RTP packetization of H.263
608 - RTP packetization of AMR
609 - RTP depacketization of Vorbis
610 - CorePNG decoding support
611 - Cook multichannel decoding support
612 - introduced avlanguage helpers in libavformat
613 - 8088flex TMV demuxer and decoder
614 - per-stream language-tags extraction in asfdec
615 - V210 decoder and encoder
616 - remaining GPL parts in AC-3 decoder converted to LGPL
617 - QCP demuxer
618 - SoX native format muxer and demuxer
619 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
620 - DPX image decoder
621 - Electronic Arts Madcow decoder
622 - DivX (XSUB) subtitle encoder
623 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
624 - experimental AAC encoder
625 - RTP depacketization of ASF and RTSP from WMS servers
626 - RTMP support in libavformat
627 - noX handling for OPT_BOOL X options
628 - Wave64 demuxer
629 - IEC-61937 compatible Muxer
630 - TwinVQ decoder
631 - Bluray (PGS) subtitle decoder
632 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
633 - WMA Pro decoder
634 - Core Audio Format demuxer
635 - Atrac1 decoder
636 - MD STUDIO audio demuxer
637 - RF64 support in WAV demuxer
638 - MPEG-4 Audio Lossless Coding (ALS) decoder
639 - -formats option split into -formats, -codecs, -bsfs, and -protocols
640 - IV8 demuxer
641 - CDG demuxer and decoder
642 - R210 decoder
643 - Auravision Aura 1 and 2 decoders
644 - Deluxe Paint Animation playback system
645 - SIPR decoder
646 - Adobe Filmstrip muxer and demuxer
647 - RTP depacketization of H.263
648 - Bink demuxer and audio/video decoders
649 - enable symbol versioning by default for linkers that support it
650 - IFF PBM/ILBM bitmap decoder
651 - concat protocol
652 - Indeo 5 decoder
653 - RTP depacketization of AMR
654 - WMA Voice decoder
655 - ffprobe tool
656 - AMR-NB decoder
657 - RTSP muxer
658 - HE-AAC v1 decoder
659 - Kega Game Video (KGV1) decoder
660 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
661 - RTP depacketization of Theora
662 - HTTP Digest authentication
663 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
664 - Psygnosis YOP demuxer and video decoder
665 - spectral extension support in the E-AC-3 decoder
666 - unsharp video filter
667 - RTP hinting in the mov/3gp/mp4 muxer
668 - Dirac in Ogg demuxing
669 - seek to keyframes in Ogg
670 - 4:2:2 and 4:4:4 Theora decoding
671 - 35% faster VP3/Theora decoding
672 - faster AAC decoding
673 - faster H.264 decoding
674 - RealAudio 1.0 (14.4K) encoder
675
676
677 version 0.5:
678
679 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
680 - TechSmith Camtasia (TSCC) video decoder
681 - IBM Ultimotion (ULTI) video decoder
682 - Sierra Online audio file demuxer and decoder
683 - Apple QuickDraw (qdrw) video decoder
684 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
685 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
686 - Miro VideoXL (VIXL) video decoder
687 - H.261 video encoder
688 - QPEG video decoder
689 - Nullsoft Video (NSV) file demuxer
690 - Shorten audio decoder
691 - LOCO video decoder
692 - Apple Lossless Audio Codec (ALAC) decoder
693 - Winnov WNV1 video decoder
694 - Autodesk Animator Studio Codec (AASC) decoder
695 - Indeo 2 video decoder
696 - Fraps FPS1 video decoder
697 - Snow video encoder/decoder
698 - Sonic audio encoder/decoder
699 - Vorbis audio decoder
700 - Macromedia ADPCM decoder
701 - Duck TrueMotion 2 video decoder
702 - support for decoding FLX and DTA extensions in FLIC files
703 - H.264 custom quantization matrices support
704 - ffserver fixed, it should now be usable again
705 - QDM2 audio decoder
706 - Real Cooker audio decoder
707 - TrueSpeech audio decoder
708 - WMA2 audio decoder fixed, now all files should play correctly
709 - RealAudio 14.4 and 28.8 decoders fixed
710 - JPEG-LS decoder
711 - build system improvements
712 - tabs and trailing whitespace removed from the codebase
713 - CamStudio video decoder
714 - AIFF/AIFF-C audio format, encoding and decoding
715 - ADTS AAC file reading and writing
716 - Creative VOC file reading and writing
717 - American Laser Games multimedia (*.mm) playback system
718 - Zip Motion Blocks Video decoder
719 - improved Theora/VP3 decoder
720 - True Audio (TTA) decoder
721 - AVS demuxer and video decoder
722 - JPEG-LS encoder
723 - Smacker demuxer and decoder
724 - NuppelVideo/MythTV demuxer and RTjpeg decoder
725 - KMVC decoder
726 - MPEG-2 intra VLC support
727 - MPEG-2 4:2:2 encoder
728 - Flash Screen Video decoder
729 - GXF demuxer
730 - Chinese AVS decoder
731 - GXF muxer
732 - MXF demuxer
733 - VC-1/WMV3/WMV9 video decoder
734 - MacIntel support
735 - AVISynth support
736 - VMware video decoder
737 - VP5 video decoder
738 - VP6 video decoder
739 - WavPack lossless audio decoder
740 - Targa (.TGA) picture decoder
741 - Vorbis audio encoder
742 - Delphine Software .cin demuxer/audio and video decoder
743 - Tiertex .seq demuxer/video decoder
744 - MTV demuxer
745 - TIFF picture encoder and decoder
746 - GIF picture decoder
747 - Intel Music Coder decoder
748 - Zip Motion Blocks Video encoder
749 - Musepack decoder
750 - Flash Screen Video encoder
751 - Theora encoding via libtheora
752 - BMP encoder
753 - WMA encoder
754 - GSM-MS encoder and decoder
755 - DCA decoder
756 - DXA demuxer and decoder
757 - DNxHD decoder
758 - Gamecube movie (.THP) playback system
759 - Blackfin optimizations
760 - Interplay C93 demuxer and video decoder
761 - Bethsoft VID demuxer and video decoder
762 - CRYO APC demuxer
763 - Atrac3 decoder
764 - V.Flash PTX decoder
765 - RoQ muxer, RoQ audio encoder
766 - Renderware TXD demuxer and decoder
767 - extern C declarations for C++ removed from headers
768 - sws_flags command line option
769 - codebook generator
770 - RoQ video encoder
771 - QTRLE encoder
772 - OS/2 support removed and restored again
773 - AC-3 decoder
774 - NUT muxer
775 - additional SPARC (VIS) optimizations
776 - Matroska muxer
777 - slice-based parallel H.264 decoding
778 - Monkey's Audio demuxer and decoder
779 - AMV audio and video decoder
780 - DNxHD encoder
781 - H.264 PAFF decoding
782 - Nellymoser ASAO decoder
783 - Beam Software SIFF demuxer and decoder
784 - libvorbis Vorbis decoding removed in favor of native decoder
785 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
786 - Ogg (Theora, Vorbis and FLAC) muxer
787 - The "device" muxers and demuxers are now in a new libavdevice library
788 - PC Paintbrush PCX decoder
789 - Sun Rasterfile decoder
790 - TechnoTrend PVA demuxer
791 - Linux Media Labs MPEG-4 (LMLM4) demuxer
792 - AVM2 (Flash 9) SWF muxer
793 - QT variant of IMA ADPCM encoder
794 - VFW grabber
795 - iPod/iPhone compatible mp4 muxer
796 - Mimic decoder
797 - MSN TCP Webcam stream demuxer
798 - RL2 demuxer / decoder
799 - IFF demuxer
800 - 8SVX audio decoder
801 - non-recursive Makefiles
802 - BFI demuxer
803 - MAXIS EA XA (.xa) demuxer / decoder
804 - BFI video decoder
805 - OMA demuxer
806 - MLP/TrueHD decoder
807 - Electronic Arts CMV decoder
808 - Motion Pixels Video decoder
809 - Motion Pixels MVI demuxer
810 - removed animated GIF decoder/demuxer
811 - D-Cinema audio muxer
812 - Electronic Arts TGV decoder
813 - Apple Lossless Audio Codec (ALAC) encoder
814 - AAC decoder
815 - floating point PCM encoder/decoder
816 - MXF muxer
817 - DV100 AKA DVCPRO HD decoder and demuxer
818 - E-AC-3 support added to AC-3 decoder
819 - Nellymoser ASAO encoder
820 - ASS and SSA demuxer and muxer
821 - liba52 wrapper removed
822 - SVQ3 watermark decoding support
823 - Speex decoding via libspeex
824 - Electronic Arts TGQ decoder
825 - RV40 decoder
826 - QCELP / PureVoice decoder
827 - RV30 decoder
828 - hybrid WavPack support
829 - R3D REDCODE demuxer
830 - ALSA support for playback and record
831 - Electronic Arts TQI decoder
832 - OpenJPEG based JPEG 2000 decoder
833 - NC (NC4600) camera file demuxer
834 - Gopher client support
835 - MXF D-10 muxer
836 - generic metadata API
837 - flash ScreenVideo2 encoder
838
839
840 version 0.4.9-pre1:
841
842 - DV encoder, DV muxer
843 - Microsoft RLE video decoder
844 - Microsoft Video-1 decoder
845 - Apple Animation (RLE) decoder
846 - Apple Graphics (SMC) decoder
847 - Apple Video (RPZA) decoder
848 - Cinepak decoder
849 - Sega FILM (CPK) file demuxer
850 - Westwood multimedia support (VQA & AUD files)
851 - Id Quake II CIN playback support
852 - 8BPS video decoder
853 - FLIC playback support
854 - RealVideo 2.0 (RV20) decoder
855 - Duck TrueMotion v1 (DUCK) video decoder
856 - Sierra VMD demuxer and video decoder
857 - MSZH and ZLIB decoder support
858 - SVQ1 video encoder
859 - AMR-WB support
860 - PPC optimizations
861 - rate distortion optimal cbp support
862 - rate distorted optimal ac prediction for MPEG-4
863 - rate distorted optimal lambda->qp support
864 - AAC encoding with libfaac
865 - Sunplus JPEG codec (SP5X) support
866 - use Lagrange multipler instead of QP for ratecontrol
867 - Theora/VP3 decoding support
868 - XA and ADX ADPCM codecs
869 - export MPEG-2 active display area / pan scan
870 - Add support for configuring with IBM XLC
871 - floating point AAN DCT
872 - initial support for zygo video (not complete)
873 - RGB ffv1 support
874 - new audio/video parser API
875 - av_log() system
876 - av_read_frame() and av_seek_frame() support
877 - missing last frame fixes
878 - seek by mouse in ffplay
879 - noise reduction of DCT coefficients
880 - H.263 OBMC & 4MV support
881 - H.263 alternative inter vlc support
882 - H.263 loop filter
883 - H.263 slice structured mode
884 - interlaced DCT support for MPEG-2 encoding
885 - stuffing to stay above min_bitrate
886 - MB type & QP visualization
887 - frame stepping for ffplay
888 - interlaced motion estimation
889 - alternate scantable support
890 - SVCD scan offset support
891 - closed GOP support
892 - SSE2 FDCT
893 - quantizer noise shaping
894 - G.726 ADPCM audio codec
895 - MS ADPCM encoding
896 - multithreaded/SMP motion estimation
897 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
898 - multithreaded/SMP decoding for MPEG-2
899 - FLAC decoder
900 - Metrowerks CodeWarrior suppport
901 - H.263+ custom pcf support
902 - nicer output for 'ffmpeg -formats'
903 - Matroska demuxer
904 - SGI image format, encoding and decoding
905 - H.264 loop filter support
906 - H.264 CABAC support
907 - nicer looking arrows for the motion vector visualization
908 - improved VCD support
909 - audio timestamp drift compensation
910 - MPEG-2 YUV 422/444 support
911 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
912 - better image scaling
913 - H.261 support
914 - correctly interleave packets during encoding
915 - VIS optimized motion compensation
916 - intra_dc_precision>0 encoding support
917 - support reuse of motion vectors/MB types/field select values of the source video
918 - more accurate deblock filter
919 - padding support
920 - many optimizations and bugfixes
921 - FunCom ISS audio file demuxer and according ADPCM decoding
922
923
924 version 0.4.8:
925
926 - MPEG-2 video encoding (Michael)
927 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
928 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
929   and Mario Brito)
930 - Xan DPCM audio decoder (Mario Brito)
931 - Interplay MVE playback subsystem (Mike Melanson)
932 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
933
934
935 version 0.4.7:
936
937 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
938   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
939 - current version now also compiles with older GCC (Fabrice)
940 - 4X multimedia playback system including 4xm file demuxer (Mike
941   Melanson), and 4X video and audio codecs (Michael)
942 - Creative YUV (CYUV) decoder (Mike Melanson)
943 - FFV1 codec (our very simple lossless intra only codec, compresses much better
944   than HuffYUV) (Michael)
945 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
946 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
947   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
948 - ffplay has been replaced with a newer version which uses SDL (optionally)
949   for multiplatform support (Fabrice)
950 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
951   by anonymous
952 - AMR format has been added (Johannes Carlsson)
953 - 3GP support has been added (Johannes Carlsson)
954 - VP3 codec has been added (Mike Melanson)
955 - more MPEG-1/2 fixes
956 - better multiplatform support, MS Visual Studio fixes (various)
957 - AltiVec optimizations (Magnus Damn and others)
958 - SH4 processor support has been added (BERO)
959 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
960 - VOB streaming support (Brian Foley)
961 - better MP3 autodetection (Andriy Rysin)
962 - qpel encoding (Michael)
963 - 4mv+b frames encoding finally fixed (Michael)
964 - chroma ME (Michael)
965 - 5 comparison functions for ME (Michael)
966 - B-frame encoding speedup (Michael)
967 - WMV2 codec (unfinished - Michael)
968 - user specified diamond size for EPZS (Michael)
969 - Playstation STR playback subsystem, still experimental (Mike and Michael)
970 - ASV2 codec (Michael)
971 - CLJR decoder (Alex)
972
973 .. And lots more new enhancements and fixes.
974
975
976 version 0.4.6:
977
978 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
979   from scratch
980 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
981 - fix quantization bug in AC3 encoder
982 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
983 - added prototype ffplay program
984 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
985 - bug fix on MCBPC tables of H.263 (Juanjo)
986 - bug fix on DC coefficients of H.263 (Juanjo)
987 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
988 - now we can decode H.263 streams found in QuickTime files (Juanjo)
989 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
990 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
991 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
992 - now H.263 picture size is returned on the first decoded frame (Juanjo)
993 - added first regression tests
994 - added MPEG-2 TS demuxer
995 - new demux API for libav
996 - more accurate and faster IDCT (Michael)
997 - faster and entropy-controlled motion search (Michael)
998 - two pass video encoding (Michael)
999 - new video rate control (Michael)
1000 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1001 - great performance improvement of video encoders and decoders (Michael)
1002 - new and faster bit readers and vlc parsers (Michael)
1003 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1004 - added DV video decoder
1005 - preliminary RTP/RTSP support in ffserver and libavformat
1006 - H.263+ AIC decoding/encoding support (Juanjo)
1007 - VCD MPEG-PS mode (Juanjo)
1008 - PSNR stuff (Juanjo)
1009 - simple stats output (Juanjo)
1010 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1011
1012
1013 version 0.4.5:
1014
1015 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1016 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1017 - added configure system (actually a small shell script)
1018 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1019   Michael Hipp (temporary solution - waiting for integer only
1020   decoder)
1021 - fixed VIDIOCSYNC interrupt
1022 - added Intel H.263 decoding support ('I263' AVI fourCC)
1023 - added Real Video 1.0 decoding (needs further testing)
1024 - simplified image formats again. Added PGM format (=grey
1025   pgm). Renamed old PGM to PGMYUV.
1026 - fixed msmpeg4 slice issues (tell me if you still find problems)
1027 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1028 - added support for MPlayer interface
1029 - added macroblock skip optimization
1030 - added MJPEG decoder
1031 - added mmx/mmxext IDCT from libmpeg2
1032 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1033   <celer at shell.scrypt.net>)
1034 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1035 - added deinterlacing option
1036 - MPEG-1/2 fixes
1037 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1038 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1039 - Windows porting of file converter
1040 - added MJPEG raw format (input/ouput)
1041 - added JPEG image format support (input/output)
1042
1043
1044 version 0.4.4:
1045
1046 - fixed some std header definitions (Bjorn Lindgren
1047   <bjorn.e.lindgren at telia.com>).
1048 - added MPEG demuxer (MPEG-1 and 2 compatible).
1049 - added ASF demuxer
1050 - added prototype RM demuxer
1051 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1052 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1053   header does not include them)
1054 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1055   play them (only tested video)
1056 - fixed H.263 white bug
1057 - fixed phase rounding in img resample filter
1058 - add MMX code for polyphase img resample filter
1059 - added CPU autodetection
1060 - added generic title/author/copyright/comment string handling (ASF and RM
1061   use them)
1062 - added SWF demux to extract MP3 track (not usable yet because no MP3
1063   decoder)
1064 - added fractional frame rate support
1065 - codecs are no longer searched by read_header() (should fix ffserver
1066   segfault)
1067
1068
1069 version 0.4.3:
1070
1071 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1072 - fixed raw yuv output
1073 - added motion rounding support in MPEG-4
1074 - fixed motion bug rounding in MSMPEG4
1075 - added B-frame handling in video core
1076 - added full MPEG-1 decoding support
1077 - added partial (frame only) MPEG-2 support
1078 - changed the FOURCC code for H.263 to "U263" to be able to see the
1079   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1080   this +codec ;) (JuanJo).
1081 - Halfpel motion estimation after MB type selection (JuanJo)
1082 - added pgm and .Y.U.V output format
1083 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1084   output.
1085 - added pgmpipe I/O format (original patch from Martin Aumueller
1086   <lists at reserv.at>, but changed completely since we use a format
1087   instead of a protocol)
1088
1089
1090 version 0.4.2:
1091
1092 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1093   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1094   missing. MSMPEG4 support is complete.
1095 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1096   can decode ffmpeg MPEGs :-)).
1097 - added libavcodec API documentation (see apiexample.c).
1098 - fixed image polyphase bug (the bottom of some images could be
1099   greenish)
1100 - added support for non clipped motion vectors (decoding only)
1101   and image sizes non-multiple of 16
1102 - added support for AC prediction (decoding only)
1103 - added file overwrite confirmation (can be disabled with -y)
1104 - added custom size picture to H.263 using H.263+ (Juanjo)
1105
1106
1107 version 0.4.1:
1108
1109 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1110   of AVI and ASF to DIV3.
1111 - added -me option to set motion estimation method
1112   (default=log). suppressed redundant -hq option.
1113 - added options -acodec and -vcodec to force a given codec (useful for
1114   AVI for example)
1115 - fixed -an option
1116 - improved dct_quantize speed
1117 - factorized some motion estimation code
1118
1119
1120 version 0.4.0:
1121
1122 - removing grab code from ffserver and moved it to ffmpeg. Added
1123   multistream support to ffmpeg.
1124 - added timeshifting support for live feeds (option ?date=xxx in the
1125   URL)
1126 - added high quality image resize code with polyphase filter (need
1127   mmx/see optimization). Enable multiple image size support in ffserver.
1128 - added multi live feed support in ffserver
1129 - suppressed master feature from ffserver (it should be done with an
1130   external program which opens the .ffm url and writes it to another
1131   ffserver)
1132 - added preliminary support for video stream parsing (WAV and AVI half
1133   done). Added proper support for audio/video file conversion in
1134   ffmpeg.
1135 - added preliminary support for video file sending from ffserver
1136 - redesigning I/O subsystem: now using URL based input and output
1137   (see avio.h)
1138 - added WAV format support
1139 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1140 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1141   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1142 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1143 - added new motion estimation algorithms, log and phods (Juanjo)
1144 - changed directories: libav for format handling, libavcodec for
1145   codecs
1146
1147
1148 version 0.3.4:
1149
1150 - added stereo in MPEG audio encoder
1151
1152
1153 version 0.3.3:
1154
1155 - added 'high quality' mode which use motion vectors. It can be used in
1156   real time at low resolution.
1157 - fixed rounding problems which caused quality problems at high
1158   bitrates and large GOP size
1159
1160
1161 version 0.3.2: small fixes
1162
1163 - ASF fixes
1164 - put_seek bug fix
1165
1166
1167 version 0.3.1: added avi/divx support
1168
1169 - added AVI support
1170 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1171 - added sound for flash format (not tested)
1172
1173
1174 version 0.3: initial public release