Update changelog for v11.11
[libav.git] / Changelog
1 Entries are sorted chronologically from oldest to youngest within each release,
2 releases are sorted from youngest to oldest.
3
4 version 11.11:
5  - dfa: Disallow odd width/height and add proper bounds check for DDS1 chunks (CVE-2017-9992)
6  - pictor: Correctly check frame dimensions (CVE-2017-7862)
7  - h264_cavlc: check the value of run_before (bug/1000)
8  - dvbsubdec: improve error checking (CID/29575)
9  - dvbsubdec: Fixed segfault when decoding subtitles
10  - rmdec: don't ignore the return value of av_get_packet()
11  - caf: add an Opus tag
12  - yadif: Account for the buffer alignment while processing the frame edges (bug/1031)
13  - mov: log and return early on non-positive stsd entry counts
14  - arm: Fix SIGBUS on ARM when compiled with binutils 2.29
15  - smacker: return meaningful error codes on failure
16  - smacker: fix integer overflow with pts_inc (bug/1073)
17
18 version 11.10:
19  - mm: Skip unexpected audio packets (bug/1046)
20  - aacsbr: Turnoff in the event of over read. (bug/1047)
21  - smacker: Check that the data size is a multiple of a sample vector (CVE-2015-8365)
22  - build: Add an option for passing linker flags to the shared library build
23  - flv: Validate the packet size (bug/1041)
24  - mjpeg: Report non-3 component rgb lossless as not supported (bug/1043)
25  - vc1dec: raise an error if sprite picture data is missing (bug/1013)
26  - doc: Drop the legacy symlink to README
27
28 version 11.9:
29
30  - libvpxenc: remove some unused ctrl id mappings
31  - audiodsp/x86: fix ff_vector_clip_int32_sse2
32  - audiodsp/x86: clear the high bits of the order parameter on 64bit
33  - mpegvideo_motion: Handle edge emulation even without unrestricted_mv (bug/959)
34  - file protocol: handle the file: protocol string in file_check
35  - rtmpproto: Check the return from ff_amf_read_string
36  - rtmpproto: Lengthen the filename buffer when receiving streams
37  - rtmpproto: Send chunk size on the network channel
38  - aacsbr: Check that sample_rate is not 0 before division (bug/957)
39  - rtsp: move the CONFIG_ macros to the beginning of the check
40  - rtsp: Fix a crash with the RTSP muxer
41  - avconv: Fix the audio next dts computation
42  - m4vdec: Check for non-startcode 00 00 00 sequences in probe (bug/962)
43  - mpegvideo: Fix undefined negative shifts in ff_init_block_index (bug/980)
44  - mpegvideo: Fix undefined negative shifts in mpeg_motion_internal (bug/980)
45  - h264: er: Copy from the previous reference only if compatible
46  - h264_slice: Wait for refs to be available before we use them in error concealment
47  - mpegvideo_parser: avoid signed overflow in bitrate calculation (bug/981)
48  - mpeg12dec: avoid signed overflow in bitrate calculation (bug/981)
49  - mpeg12dec: move setting first_field to mpeg_field_start() (bug/999)
50  - http: Check for negative chunk sizes
51  - cmdutils: update copyright year to 2017
52  - matroskadec: make sure not to leave EbmlBin in an inconsistent state (bug/1001)
53  - vf_fade: Make sure to not miss the last lines of a frame
54  - mpeg4videodec: raise an error if sprite_trajectory.table is NULL (bug/1012)
55
56 version 11.8:
57
58  - ppc: Support little endian intreadwrite
59  - ppc: avutil: Drop a potentially dangerous workaround
60  - ppc: linux: Check altivec using the auxv
61  - ppc: Restrict some Altivec implementations to Big Endian
62  - fft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs
63  - ac3: Check the array bound before dereferencing
64  - librtmp: Avoid an infiniloop setting connection arguments
65  - h264: only allow starting a new picture in the first slice thread (bug/690)
66  - mimic: do not release the newly obsolete reference at the end of decoding
67  - buffer: fix av_buffer_realloc() when the data is offset wrt buffer start
68  - vp9: make mv bounds 32bit.
69  - riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data. (bug/950)
70  - vmnc: check that subrectangles fit into their containing rectangles
71  - alac: do not return success if nothing was decoded
72  - qpeg: fix an off by 1 error in the MV check
73  - cook: use the bytestream2 API for reading extradata
74  - pcx: properly pad the scanline
75  - pcx: check that the packet is large enough before reading the header
76  - pcx: use the bytestream2 API for reading from input
77  - vc1: check that slices have a positive height
78  - mss12: validate display dimensions
79  - mov: Remove ancient heuristic hack
80  - mov: Remove old b-frame/video delay heuristic
81  - avprobe: do not call avio_close() on a custom context
82  - avprobe: Fix memory leak
83
84 version 11.7:
85
86  - asfenc: fix some possible integer overflows (CVE-2016-2326)
87  - vf_fade: make sure the slice end is always in the frame
88  - tls: Use the right return value for breaking out due to the interrupt callback
89  - avpacket: Check buffer reference (CID/1267889)
90  - avpacket: fix setting AVPacket.data in av_packet_ref()
91  - cmdutils: update copyright year to 2016
92  - colorspace: Add support for BT709
93  - pgssub: Fix subpicture colorspace and range
94  - indeo2: Fix banding artefacts
95  - mov: Check the entries value when parsing dref boxes (CVE-2016-3062)
96  - matroska: Support V_QUICKTIME as written in the specification
97
98 version 11.6:
99
100  - configure: add --enable-rpath
101  - concat: disable by default
102
103 version 11.5:
104
105  - aac_parser: add required padding for GetBitContext buffer
106  - ac3_parser: add required padding for GetBitContext buffer
107  - imc: add required padding for GetBitContext buffer
108  - h263: Always check both dimensions
109  - opusdec: properly handle mismatching configurations in multichannel streams (bug/876)
110  - configure: Set the initial ldflags to match the cflags
111  - configure: mips: Support mips r6, r2 and r1
112  - mips: intreadwrite: Only execute that code for mips r1 or r2
113  - vc1: Use logical instead of bitwise or for twomv
114  - configure: address a copy-paste typo
115  - rtmpcrypt: Do the xtea decryption in little endian mode
116  - mov: Correctly allocate ctts_data
117  - mov: Fix two memleaks
118  - bink: Factorize bink put_pixel
119  - aac: Wait to know the channels before allocating frame
120  - configure: Support MSVC 2015 (bug/864)
121  - rtpdec_asf: Check memory allocation and free memory on error (CID/1257774)
122  - jack: Check memory allocation (CID/1292520)
123  - mov: Check memory allocation (CID/1292518)
124  - audiointerleave: Always initialize new_pkt (CID/609333)
125  - sctp: Always initialize outmsg struct (CID/1302711)
126  - mkv: Correctly report the latest packet had been flushed (bug/865)
127  - h264_weight: Fix SSSE3 biweight code with weights of 128
128  - lavc: Clarify the behaviour of dimension and format context fields
129  - h264: make sure the current picture is not made a long ref multiple times
130  - aic: Fix slice size computation for widths multiples of 32 macroblocks
131  - mov: Preserve the metadata even when bit-exactness is requested (bug/845)
132  - webp: Make sure enough bytes are available
133  - h261: Set 'still image mode off' in picture header (bug/872)
134  - h261: Signal freeze picture release for intra frames (bug/873)
135  - avconv: vda: Unlock the pixel buffer once it is accessed
136  - g726: Do not crash on user mistake
137  - bytestream2: set the reader to the end when reading more than available
138  - arm: use a local label instead of the function symbol in ff_prefetch_arm
139  - af_channelmap: properly set the supported output channel layouts
140  - rtsp: Only interpret $ as interleaved packet indicator at the start of replies
141  - rtsp: Allow $ as interleaved packet indicator before a complete response header
142  - configure: arm: Assume softfp ABI on darwin
143  - vp7: bound checking in vp7_decode_frame_header
144  - imgutils: Fix a typo in avcodec_get_pix_fmt_loss
145  - mux: Make sure that the data is actually written (bug/881)
146  - file: properly forward errors from file_read() and file_write() (bug/881)
147  - mmvideo: Make sure the rle does not write over the frame boundaries (bug/887)
148  - opus: Buffer the samples from the correct offset (bug/909)
149  - nut: Use the correct codec_tag when multiple are available (bug/883)
150  - truemotion2: Fix the buffer check (bug/906)
151  - flashsv: Initialize the block array (bug/908)
152  - mimic: Always return on failure (bug/905)
153  - msnwc_tcp: Correctly report failure
154  - lagarith: Correctly compute hash_shift (bug/907)
155  - rpza: Check the blocks left before processing one (bug/903)
156  - dvdsubdec: Validate the RLE offsets
157  - avi: Validate the stream-id for DV as well (bug/879)
158  - mov: Use the correct type for size (bug/921)
159  - mov: Force the full parsing of mp3 (bug/899)
160  - mkv: Force the full parsing of mp3
161  - matroska: Always consider S_TEXT/UTF8 as SRT when demuxing
162
163 version 11.4:
164
165  - h264: Make sure reinit failures mark the context as not initialized (CVE-2015-3417)
166  - msrle: Use FFABS to determine the frame size in msrle_decode_pal4 (CVE-2015-3395)
167  - cavs: Remove an unneeded scratch buffer
168  - configure: Disable i686 for i586 and lower CPUs (debian/783082)
169  - mjpegenc: Fix JFIF header byte ordering (bug/808)
170  - nut: Make sure to clean up on read_header failure
171  - png: Set the color range as full range
172  - avi: Validate sample_size
173  - nut: Check chapter creation in decode_info_header
174  - alac: Reject rice_limit 0 if compression is used
175  - ape: Support _0000 files with nblock smaller than 64
176  - mux: Do not leave stale side data pointers in ff_interleave_add_packet()
177  - avresample: Reallocate the internal buffer to the correct size (bug/825)
178  - mpegts: Update the PSI/SI table only if the version change
179  - rtsp: Make sure we don't write too many transport entries into a fixed-size array
180  - rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
181  - mov: Fix little endian audio detection
182  - x86: Put COPY3_IF_LT under HAVE_6REGS (gentoo/541930)
183  - roqvideoenc: set enc->avctx in roq_encode_init
184  - mp3: Properly use AVCodecContext API
185  - libvpx: Fix mixed use of av_malloc() and av_reallocp()
186  - Revert "lavfi: always check av_expr_parse_and_eval() return value"
187  - alsdec: only adapt order for positive max_order
188  - alsdec: check sample pointer range in revert_channel_correlation
189  - aacpsy: correct calculation of minath in psy_3gpp_init
190  - alsdec: limit avctx->bits_per_raw_sample to 32
191  - aasc: return correct buffer size from aasc_decode_frame
192  - matroskadec: fix crash when parsing invalid mkv
193  - avconv: do not overwrite the stream codec context for streamcopy
194  - webp: ensure that each transform is only used once
195  - h264_ps: properly check cropping parameters against overflow
196  - hevc: zero the correct variables on invalid crop parameters
197  - hevc: make the crop sizes unsigned
198
199 version 11.3:
200
201 - utvideodec: Handle slice_height being zero (CVE-2014-9604)
202 - adxdec: set avctx->channels in adx_read_header
203 - rmenc: limit packet size
204 - webp: validate the distance prefix code
205 - rv10: check size of s->mb_width * s->mb_height
206 - eamad: check for out of bounds read (CID/1257500)
207 - mdec: check for out of bounds read (CID/1257501)
208 - configure: Properly fail when libcdio/cdparanoia is not found
209 - tiff: Check that there is no aliasing in pixel format selection (CVE-2014-8544)
210 - aic: Fix decoding files with odd dimensions
211 - vorbis: Check the vlc value in setup_classifs
212 - arm: Suppress tags about used cpu arch and extensions
213 - prores: Extend the padding check to 16bit
214 - icecast: Do not use chunked post, allows feeding to icecast properly
215 - img2dec: correctly use the parsed value from -start_number
216 - h264_cabac: Break infinite loops
217 - hevc_deblock: Fix compilation with nasm (libav #795)
218 - h264: initialize H264Context.avctx in init_thread_copy
219 - h264: Do not share rbsp_buffer across threads
220 - h264: only ref cur_pic in update_thread_context if it is initialized
221 - matroskadec: Fix read-after-free in matroska_read_seek() (chromium #427266)
222 - log: Unbreak no-tty support on 256color terminals
223
224 version 11.2:
225
226 - h264: restore a block mistakenly removed in e10fd08a (libav #781)
227 - on2avc: check number of channels (CVE-2014-8549)
228 - smc: fix the bounds check (CVE-2014-8548)
229 - gifdec: refactor interleave end handling (CVE-2014-8547)
230 - mmvideo: check frame dimensions (CVE-2014-8543)
231 - jvdec: check frame dimensions (CVE-2014-8542)
232 - mjpegdec: check for pixel format changes (CVE-2014-8541)
233 - mov: avoid a memleak when multiple stss boxes are present
234 - vc1: Do not assume seek happens after decoding
235 - avconv: Use the mpeg12 private option scan_offset (debian/773055)
236 - xsub: Support DXSA subtitles
237 - mp3dec: fix reading the Xing tag
238 - matroskaenc: write correct Display{Width, Height} in stereo encoding
239 - configure: Fix enabling memalign_hack automatically
240 - mp3enc: fix a triggerable assert
241 - latm: Do not give a score for a single instance
242 - mp3: Tweak the probe scores
243 - matroskaenc: write correct Display{Width, Height} in stereo encoding
244 - configure: Fix enabling memalign_hack automatically
245 - coverity: Fix most of the reported warnings and issues
246
247 version 11.1:
248
249 - Replace lena.pnm (debian#771126)
250 - Treat all '*.pnm' files as non-text file
251 - opusdec: make sure all substreams have the same number of coded samples
252 - lavu: fix memory leaks by using a mutex instead of atomics
253 - lavu: add wrappers for the pthreads mutex API
254 - mp3enc: fix a triggerable assert
255 - resample: Avoid off-by-1 errors in PTS calcs. (libav#753)
256 - imc: fix order of operations in coefficients read
257 - hevc_mvs: make sure to always initialize the temporal MV fully
258 - hevc_mvs: initialize the temporal MV in case of missing ref
259 - h264: reset ret to avoid propagating minor failures (libav#750 / lp#905753)
260 - hevc: Initialize mergecand_list to 0
261 - mpeg12: Always invoke the get_format() callback
262 - h264: Always invoke the get_format() callback
263 - Update default FATE URL for release/11
264 - apetag: Fix APE tag size check
265
266 version 11:
267 - libx265 encoder
268 - shuffleplanes filter
269 - replaygain data export
270 - Alias PIX image encoder and decoder
271 - BRender PIX image decoder
272 - Amazing Studio PAF playback support
273 - XBM decoder
274 - BMP standalone parser
275 - OpenEXR image decoder
276 - support encoding and decoding 4-channel SGI images
277 - support decoding 16-bit RLE SGI images
278 - VP7 video decoder
279 - LucasArts SMUSH SANM video decoder
280 - LucasArts SMUSH VIMA audio decoder (ADPCM)
281 - LucasArts SMUSH demuxer
282 - MP2 encoding via TwoLAME
283 - asettb filter
284 - Silicon Graphics RLE 8-bit video decoder
285 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
286 - Silicon Graphics Movie demuxer
287 - On2 AVC (Audio for Video) decoder
288 - support for decoding through DXVA2 in avconv
289 - libbs2b-based stereo-to-binaural audio filter
290 - native Opus decoder
291 - display matrix export and rotation API
292 - drop avserver, it was unmaintained for years and largely broken
293 - Icecast protocol
294 - request Icecast metadata by default
295 - support for using metadata in stream specifiers in avtools
296 - Matroska 3D support
297
298
299 version 10:
300 - av_strnstr
301 - support ID3v2 tags in ASF files
302 - reference-counting for AVFrame and AVPacket data
303 - avconv now fails when input options are used for output file
304   or vice versa
305 - avconv options -filter_script and -filter_complex_script, which allow a
306   filtergraph description to be read from a file
307 - uniform options syntax across all filters
308 - interlace filter
309 - JPEG 2000 decoder
310 - asetpts filter (same as setpts, but for audio)
311 - trim and atrim filters
312 - avconv -t and -ss (output-only) options are now sample-accurate when
313   transcoding audio
314 - Matroska muxer can now put the index at the beginning of the file.
315 - avconv -deinterlace option removed, the yadif filter should be used instead
316 - Apple Intermediate Codec decoder
317 - Escape 130 video decoder
318 - support for slice multithreading in libavfilter
319 - VC-1 interlaced B-frame support
320 - support for WavPack muxing (raw and in Matroska)
321 - Go2Webinar decoder
322 - WavPack encoding through libwavpack
323 - Added the -n parameter to avconv
324 - RTMP seek support
325 - when transcoding with avconv (i.e. not streamcopying), -ss is now accurate
326   even when used as an input option. Previous behavior can be restored with
327   the -noaccurate_seek option.
328 - avconv -t option can now be used for inputs, to limit the duration of
329   data read from an input file
330 - Voxware MetaSound decoder
331 - WebP decoder
332 - Error Resilient AAC syntax (ER AAC LC) decoding
333 - Low Delay AAC (ER AAC LD) decoding
334 - mux chapters in ASF files
335 - Opus in Ogg demuxing
336 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
337 - F4V muxer
338 - HNM version 4 demuxer and video decoder
339 - HEVC decoder
340 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
341 - remove avplay -vismv option, which has not worked for a long time
342 - Live HDS muxer
343 - setsar/setdar filters now support variables in ratio expressions
344 - dar variable in the scale filter now returns the actual DAR (i.e. a * sar)
345 - VP9 decoder
346 - support for decoding through VDPAU in avconv (the -hwaccel option)
347 - remove mp3_header_(de)compress bitstream filters
348 - stereoscopic 3d metadata handling
349 - png standalone parser
350 - WebP encoding via libwebp
351 - ATRAC3+ decoder
352 - framepack filter
353 - Mirillis FIC video decoder
354 - Support DNx444
355 - compand audio filter
356
357
358 version 9:
359 - av_basename and av_dirname
360 - adobe and limelight publisher authentication in RTMP
361 - VDPAU hardware acceleration through normal hwaccel
362 - SRTP support
363
364
365 version 9_beta3:
366 - ashowinfo audio filter
367 - 24-bit FLAC encoding
368 - audio volume filter
369 - deprecated the avconv -vol option. the volume filter is to be used instead.
370 - multi-channel ALAC encoding up to 7.1
371 - TAK demuxer, parser, and decoder
372 - adaptive frame-level multithreading for H.264
373
374
375 version 9_beta2:
376 - metadata (INFO tag) support in WAV muxer
377 - support for building DLLs using MSVC
378 - remove avserver daemon mode
379 - support building on the Plan 9 operating system
380 - ffv1: support version 1.3
381
382
383 version 9_beta1:
384
385 - XWD encoder and decoder
386 - Support for fragmentation in the mov/mp4 muxer
387 - ISMV (Smooth Streaming) muxer
388 - CDXL demuxer and decoder
389 - Apple ProRes encoder
390 - Sun Rasterfile Encoder
391 - remove libpostproc
392 - ID3v2 attached pictures reading and writing
393 - WMA Lossless decoder
394 - XBM encoder
395 - RealAudio Lossless decoder
396 - ZeroCodec decoder
397 - drop support for avconv without libavfilter
398 - add libavresample audio conversion library
399 - audio filters support in libavfilter and avconv
400 - add fps filter
401 - audio split filter
402 - audio mix filter
403 - avprobe output is now standard INI or JSON. The old format can still
404   be used with -of old.
405 - Indeo Audio decoder
406 - channelsplit audio filter
407 - RTMPT protocol support
408 - iLBC encoding/decoding via libilbc
409 - Microsoft Screen 1 decoder
410 - join audio filter
411 - audio channel mapping filter
412 - Microsoft ATC Screen decoder
413 - RTSP listen mode
414 - TechSmith Screen Codec 2 decoder
415 - AAC encoding via libfdk-aac
416 - Microsoft Expression Encoder Screen decoder
417 - RTMPS protocol support
418 - RTMPTS protocol support
419 - JPEG 2000 encoding support through OpenJPEG
420 - G.723.1 demuxer and decoder
421 - RTMPE protocol support
422 - RTMPTE protocol support
423 - Canopus Lossless Codec decoder
424 - avconv -shortest option is now per-output file,
425   -pass and -passlogfile are now per-output stream
426 - Ut Video encoder
427 - Microsoft Screen 2 decoder
428 - RTP depacketization of JPEG
429 - Smooth Streaming live segmenter muxer
430 - RTP packetization of JPEG
431 - Opus decoder and encoder using libopus
432 - remove -same_quant, it hasn't worked for years
433 - support for building with MSVC
434
435
436 version 0.8:
437
438 - GSM audio parser
439 - SMJPEG muxer
440
441
442 version 0.8_beta2:
443
444 - Automatic thread count based on detection number of (available) CPU cores
445 - Deprecate libpostproc. If desired, the switch --enable-postproc will
446   enable it but it may be removed in a later Libav release.
447 - rv34: frame-level multi-threading
448 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
449
450
451 version 0.8_beta1:
452
453 - BWF muxer
454 - Flash Screen Video 2 decoder
455 - ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
456 - ffmpeg deprecated, added avconv, which is almost the same for now, except
457 for a few incompatible changes in the options, which will hopefully make them
458 easier to use. The changes are:
459     * The options placement is now strictly enforced! While in theory the
460       options for ffmpeg should be given in [input options] -i INPUT [output
461       options] OUTPUT order, in practice it was possible to give output options
462       before the -i and it mostly worked. Except when it didn't - the behavior was
463       a bit inconsistent. In avconv, it is not possible to mix input and output
464       options. All non-global options are reset after an input or output filename.
465     * All per-file options are now truly per-file - they apply only to the next
466       input or output file and specifying different values for different files
467       will now work properly (notably -ss and -t options).
468     * All per-stream options are now truly per-stream - it is possible to
469       specify which stream(s) should a given option apply to. See the Stream
470       specifiers section in the avconv manual for details.
471     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
472       sense that they're specified after the output filename instead of before,
473       like all other options. In avconv this irregularity is removed, all options
474       apply to the next input or output file.
475     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
476       irregular and highly confusing, they were also redundant. In avconv the -map
477       option will create new streams in the output file and map input streams to
478       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
479       each stream in the first input file.
480     * The -map option now has slightly different and more powerful syntax:
481         + Colons (':') are used to separate file index/stream type/stream index
482           instead of dots. Comma (',') is used to separate the sync stream instead
483           of colon.. This is done for consistency with other options.
484         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
485           output stream from the third input audio stream.
486         + Omitting the stream index now maps all the streams of the given type,
487           not just the first. E.g. -map 0:s creates output streams for all the
488           subtitle streams in the first input file.
489         + Since -map can now match multiple streams, negative mappings were
490           introduced. Negative mappings disable some streams from an already
491           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
492           all the stream in the first input file, except for the second audio
493           stream'.
494     * There is a new option -c (or -codec) for choosing the decoder/encoder to
495       use, which allows to precisely specify target stream(s) consistently with
496       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
497       libvorbis sets the codec for the first audio stream and -c copy copies all
498       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
499       aliases to -c:v/a/s
500     * It is now possible to precisely specify which stream should an AVOption
501       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
502       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
503       syntax is deprecated and will stop working soon.
504     * -map_chapters now takes only an input file index and applies to the next
505       output file. This is consistent with how all the other options work.
506     * -map_metadata now takes only an input metadata specifier and applies to
507       the next output file. Output metadata specifier is now part of the option
508       name, similarly to the AVOptions/map/codec feature above.
509     * -metadata can now be used to set metadata on streams and chapters, e.g.
510       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
511       This made -vlang/-alang/-slang options redundant, so they were removed.
512     * -qscale option now uses stream specifiers and applies to all streams, not
513       just video. I.e. plain -qscale number would now apply to all streams. To get
514       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
515       and -aq is now an alias for -q:a.
516     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
517       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
518     * -itsscale option now uses stream specifiers, so its argument is only the
519       scale parameter.
520     * -intra option was removed, use -g 0 for the same effect.
521     * -psnr option was removed, use -flags +psnr for the same effect.
522     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
523     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
524     * -vtag/-atag/-stag options are now aliases to the new -tag option.
525 - XMV demuxer
526 - Windows Media Image decoder
527 - LATM muxer/demuxer
528 - showinfo filter
529 - split filter
530 - libcdio-paranoia input device for audio CD grabbing
531 - select filter
532 - Apple ProRes decoder
533 - CELT in Ogg demuxing
534 - VC-1 interlaced decoding
535 - lut, lutrgb, and lutyuv filters
536 - boxblur filter
537 - Ut Video decoder
538 - Speex encoding via libspeex
539 - 4:2:2 H.264 decoding support
540 - 4:2:2 and 4:4:4 H.264 encoding with libx264
541 - Pulseaudio input device
542 - replacement Indeo 3 decoder
543 - TLS/SSL and HTTPS protocol support
544 - AVOptions API rewritten and documented
545 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
546   AVCodecContext deprecated. Codec private options should be used instead.
547 - Properly working defaults in libx264 wrapper, support for native presets.
548 - Encrypted OMA files support
549 - Discworld II BMV decoding support
550 - VBLE Decoder
551 - OS X Video Decoder Acceleration (VDA) support
552 - CRI ADX audio format muxer and demuxer
553 - Playstation Portable PMP format demuxer
554 - PCM format support in OMA demuxer
555 - CLJR encoder
556 - Dxtory capture format decoder
557 - v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
558 - OpenMG Audio muxer
559 - Simple segmenting muxer
560 - Indeo 4 decoder
561 - SMJPEG demuxer
562
563
564 version 0.7:
565
566 - E-AC-3 audio encoder
567 - ac3enc: add channel coupling support
568 - floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
569 - H.264/MPEG frame-level multithreading
570 - av_metadata_* functions renamed to av_dict_* and moved to libavutil
571 - 4:4:4 H.264 decoding support
572 - 10-bit H.264 optimizations for x86
573 - bump libswscale for recently reported ABI break
574
575
576 version 0.7_beta2:
577
578 - VP8 frame-level multithreading
579 - NEON optimizations for VP8
580 - removed a lot of deprecated API cruft
581 - FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
582 - DPX image encoder
583 - SMPTE 302M AES3 audio decoder
584 - ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
585 - 9bit and 10bit per sample support in the H.264 decoder
586
587
588 version 0.7_beta1:
589
590 - WebM support in Matroska de/muxer
591 - low overhead Ogg muxing
592 - MMS-TCP support
593 - VP8 de/encoding via libvpx
594 - Demuxer for On2's IVF format
595 - Pictor/PC Paint decoder
596 - HE-AAC v2 decoder
597 - libfaad2 wrapper removed
598 - DTS-ES extension (XCh) decoding support
599 - native VP8 decoder
600 - RTSP tunneling over HTTP
601 - RTP depacketization of SVQ3
602 - -strict inofficial replaced by -strict unofficial
603 - ffplay -exitonkeydown and -exitonmousedown options added
604 - native GSM / GSM MS decoder
605 - RTP depacketization of QDM2
606 - ANSI/ASCII art playback system
607 - Lego Mindstorms RSO de/muxer
608 - SubRip subtitle file muxer and demuxer
609 - Chinese AVS encoding via libxavs
610 - ffprobe -show_packets option added
611 - RTP packetization of Theora and Vorbis
612 - RTP depacketization of MP4A-LATM
613 - RTP packetization and depacketization of VP8
614 - hflip filter
615 - Apple HTTP Live Streaming demuxer
616 - a64 codec
617 - MMS-HTTP support
618 - G.722 ADPCM audio encoder/decoder
619 - R10k video decoder
620 - ocv_smooth filter
621 - frei0r wrapper filter
622 - change crop filter syntax to width:height:x:y
623 - make the crop filter accept parametric expressions
624 - make ffprobe accept AVFormatContext options
625 - yadif filter
626 - blackframe filter
627 - Demuxer for Leitch/Harris' VR native stream format (LXF)
628 - RTP depacketization of the X-QT QuickTime format
629 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
630 - cropdetect filter
631 - ffmpeg -crop* options removed
632 - transpose filter added
633 - ffmpeg -force_key_frames option added
634 - demuxer for receiving raw rtp:// URLs without an SDP description
635 - single stream LATM/LOAS decoder
636 - setpts filter added
637 - Win64 support for optimized x86 assembly functions
638 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
639 - ASS subtitle encoder and decoder
640 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
641 - overlay filter added
642 - rename aspect filter to setdar, and pixelaspect to setsar
643 - IEC 61937 demuxer
644 - Mobotix .mxg demuxer
645 - frei0r source added
646 - hqdn3d filter added
647 - RTP depacketization of QCELP
648 - FLAC parser added
649 - gradfun filter added
650 - AMR-WB decoder
651 - replace the ocv_smooth filter with a more generic ocv filter
652 - Windows Televison (WTV) demuxer
653 - FFmpeg metadata format muxer and demuxer
654 - SubRip (srt) subtitle decoder
655 - floating-point AC-3 encoder added
656 - Lagarith decoder
657 - ffmpeg -copytb option added
658 - IVF muxer added
659 - Wing Commander IV movies decoder added
660 - movie source added
661 - Bink version 'b' audio and video decoder
662 - Bitmap Brothers JV playback system
663 - Apple HTTP Live Streaming protocol handler
664 - sndio support for playback and record
665 - Linux framebuffer input device added
666 - Chronomaster DFA decoder
667 - Mobotix MxPEG decoder
668 - AAC encoding via libvo-aacenc
669 - AMR-WB encoding via libvo-amrwbenc
670 - xWMA demuxer
671 - fieldorder video filter added
672
673
674 version 0.6:
675
676 - PB-frame decoding for H.263
677 - deprecated vhook subsystem removed
678 - deprecated old scaler removed
679 - VQF demuxer
680 - Alpha channel scaler
681 - PCX encoder
682 - RTP packetization of H.263
683 - RTP packetization of AMR
684 - RTP depacketization of Vorbis
685 - CorePNG decoding support
686 - Cook multichannel decoding support
687 - introduced avlanguage helpers in libavformat
688 - 8088flex TMV demuxer and decoder
689 - per-stream language-tags extraction in asfdec
690 - V210 decoder and encoder
691 - remaining GPL parts in AC-3 decoder converted to LGPL
692 - QCP demuxer
693 - SoX native format muxer and demuxer
694 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
695 - DPX image decoder
696 - Electronic Arts Madcow decoder
697 - DivX (XSUB) subtitle encoder
698 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
699 - experimental AAC encoder
700 - RTP depacketization of ASF and RTSP from WMS servers
701 - RTMP support in libavformat
702 - noX handling for OPT_BOOL X options
703 - Wave64 demuxer
704 - IEC-61937 compatible Muxer
705 - TwinVQ decoder
706 - Bluray (PGS) subtitle decoder
707 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
708 - WMA Pro decoder
709 - Core Audio Format demuxer
710 - ATRAC1 decoder
711 - MD STUDIO audio demuxer
712 - RF64 support in WAV demuxer
713 - MPEG-4 Audio Lossless Coding (ALS) decoder
714 - -formats option split into -formats, -codecs, -bsfs, and -protocols
715 - IV8 demuxer
716 - CDG demuxer and decoder
717 - R210 decoder
718 - Auravision Aura 1 and 2 decoders
719 - Deluxe Paint Animation playback system
720 - SIPR decoder
721 - Adobe Filmstrip muxer and demuxer
722 - RTP depacketization of H.263
723 - Bink demuxer and audio/video decoders
724 - enable symbol versioning by default for linkers that support it
725 - IFF PBM/ILBM bitmap decoder
726 - concat protocol
727 - Indeo 5 decoder
728 - RTP depacketization of AMR
729 - WMA Voice decoder
730 - ffprobe tool
731 - AMR-NB decoder
732 - RTSP muxer
733 - HE-AAC v1 decoder
734 - Kega Game Video (KGV1) decoder
735 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
736 - RTP depacketization of Theora
737 - HTTP Digest authentication
738 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
739 - Psygnosis YOP demuxer and video decoder
740 - spectral extension support in the E-AC-3 decoder
741 - unsharp video filter
742 - RTP hinting in the mov/3gp/mp4 muxer
743 - Dirac in Ogg demuxing
744 - seek to keyframes in Ogg
745 - 4:2:2 and 4:4:4 Theora decoding
746 - 35% faster VP3/Theora decoding
747 - faster AAC decoding
748 - faster H.264 decoding
749 - RealAudio 1.0 (14.4K) encoder
750
751
752 version 0.5:
753
754 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
755 - TechSmith Camtasia (TSCC) video decoder
756 - IBM Ultimotion (ULTI) video decoder
757 - Sierra Online audio file demuxer and decoder
758 - Apple QuickDraw (qdrw) video decoder
759 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
760 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
761 - Miro VideoXL (VIXL) video decoder
762 - H.261 video encoder
763 - QPEG video decoder
764 - Nullsoft Video (NSV) file demuxer
765 - Shorten audio decoder
766 - LOCO video decoder
767 - Apple Lossless Audio Codec (ALAC) decoder
768 - Winnov WNV1 video decoder
769 - Autodesk Animator Studio Codec (AASC) decoder
770 - Indeo 2 video decoder
771 - Fraps FPS1 video decoder
772 - Snow video encoder/decoder
773 - Sonic audio encoder/decoder
774 - Vorbis audio decoder
775 - Macromedia ADPCM decoder
776 - Duck TrueMotion 2 video decoder
777 - support for decoding FLX and DTA extensions in FLIC files
778 - H.264 custom quantization matrices support
779 - ffserver fixed, it should now be usable again
780 - QDM2 audio decoder
781 - Real Cooker audio decoder
782 - TrueSpeech audio decoder
783 - WMA2 audio decoder fixed, now all files should play correctly
784 - RealAudio 14.4 and 28.8 decoders fixed
785 - JPEG-LS decoder
786 - build system improvements
787 - tabs and trailing whitespace removed from the codebase
788 - CamStudio video decoder
789 - AIFF/AIFF-C audio format, encoding and decoding
790 - ADTS AAC file reading and writing
791 - Creative VOC file reading and writing
792 - American Laser Games multimedia (*.mm) playback system
793 - Zip Motion Blocks Video decoder
794 - improved Theora/VP3 decoder
795 - True Audio (TTA) decoder
796 - AVS demuxer and video decoder
797 - JPEG-LS encoder
798 - Smacker demuxer and decoder
799 - NuppelVideo/MythTV demuxer and RTjpeg decoder
800 - KMVC decoder
801 - MPEG-2 intra VLC support
802 - MPEG-2 4:2:2 encoder
803 - Flash Screen Video decoder
804 - GXF demuxer
805 - Chinese AVS decoder
806 - GXF muxer
807 - MXF demuxer
808 - VC-1/WMV3/WMV9 video decoder
809 - MacIntel support
810 - AviSynth support
811 - VMware video decoder
812 - VP5 video decoder
813 - VP6 video decoder
814 - WavPack lossless audio decoder
815 - Targa (.TGA) picture decoder
816 - Vorbis audio encoder
817 - Delphine Software .cin demuxer/audio and video decoder
818 - Tiertex .seq demuxer/video decoder
819 - MTV demuxer
820 - TIFF picture encoder and decoder
821 - GIF picture decoder
822 - Intel Music Coder decoder
823 - Zip Motion Blocks Video encoder
824 - Musepack decoder
825 - Flash Screen Video encoder
826 - Theora encoding via libtheora
827 - BMP encoder
828 - WMA encoder
829 - GSM-MS encoder and decoder
830 - DCA decoder
831 - DXA demuxer and decoder
832 - DNxHD decoder
833 - Gamecube movie (.THP) playback system
834 - Blackfin optimizations
835 - Interplay C93 demuxer and video decoder
836 - Bethsoft VID demuxer and video decoder
837 - CRYO APC demuxer
838 - ATRAC3 decoder
839 - V.Flash PTX decoder
840 - RoQ muxer, RoQ audio encoder
841 - Renderware TXD demuxer and decoder
842 - extern C declarations for C++ removed from headers
843 - sws_flags command line option
844 - codebook generator
845 - RoQ video encoder
846 - QTRLE encoder
847 - OS/2 support removed and restored again
848 - AC-3 decoder
849 - NUT muxer
850 - additional SPARC (VIS) optimizations
851 - Matroska muxer
852 - slice-based parallel H.264 decoding
853 - Monkey's Audio demuxer and decoder
854 - AMV audio and video decoder
855 - DNxHD encoder
856 - H.264 PAFF decoding
857 - Nellymoser ASAO decoder
858 - Beam Software SIFF demuxer and decoder
859 - libvorbis Vorbis decoding removed in favor of native decoder
860 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
861 - Ogg (Theora, Vorbis and FLAC) muxer
862 - The "device" muxers and demuxers are now in a new libavdevice library
863 - PC Paintbrush PCX decoder
864 - Sun Rasterfile decoder
865 - TechnoTrend PVA demuxer
866 - Linux Media Labs MPEG-4 (LMLM4) demuxer
867 - AVM2 (Flash 9) SWF muxer
868 - QT variant of IMA ADPCM encoder
869 - VFW grabber
870 - iPod/iPhone compatible mp4 muxer
871 - Mimic decoder
872 - MSN TCP Webcam stream demuxer
873 - RL2 demuxer / decoder
874 - IFF demuxer
875 - 8SVX audio decoder
876 - non-recursive Makefiles
877 - BFI demuxer
878 - MAXIS EA XA (.xa) demuxer / decoder
879 - BFI video decoder
880 - OMA demuxer
881 - MLP/TrueHD decoder
882 - Electronic Arts CMV decoder
883 - Motion Pixels Video decoder
884 - Motion Pixels MVI demuxer
885 - removed animated GIF decoder/demuxer
886 - D-Cinema audio muxer
887 - Electronic Arts TGV decoder
888 - Apple Lossless Audio Codec (ALAC) encoder
889 - AAC decoder
890 - floating point PCM encoder/decoder
891 - MXF muxer
892 - DV100 AKA DVCPRO HD decoder and demuxer
893 - E-AC-3 support added to AC-3 decoder
894 - Nellymoser ASAO encoder
895 - ASS and SSA demuxer and muxer
896 - liba52 wrapper removed
897 - SVQ3 watermark decoding support
898 - Speex decoding via libspeex
899 - Electronic Arts TGQ decoder
900 - RV40 decoder
901 - QCELP / PureVoice decoder
902 - RV30 decoder
903 - hybrid WavPack support
904 - R3D REDCODE demuxer
905 - ALSA support for playback and record
906 - Electronic Arts TQI decoder
907 - OpenJPEG based JPEG 2000 decoder
908 - NC (NC4600) camera file demuxer
909 - Gopher client support
910 - MXF D-10 muxer
911 - generic metadata API
912
913
914 version 0.4.9-pre1:
915
916 - DV encoder, DV muxer
917 - Microsoft RLE video decoder
918 - Microsoft Video-1 decoder
919 - Apple Animation (RLE) decoder
920 - Apple Graphics (SMC) decoder
921 - Apple Video (RPZA) decoder
922 - Cinepak decoder
923 - Sega FILM (CPK) file demuxer
924 - Westwood multimedia support (VQA & AUD files)
925 - Id Quake II CIN playback support
926 - 8BPS video decoder
927 - FLIC playback support
928 - RealVideo 2.0 (RV20) decoder
929 - Duck TrueMotion v1 (DUCK) video decoder
930 - Sierra VMD demuxer and video decoder
931 - MSZH and ZLIB decoder support
932 - SVQ1 video encoder
933 - AMR-WB support
934 - PPC optimizations
935 - rate distortion optimal cbp support
936 - rate distorted optimal ac prediction for MPEG-4
937 - rate distorted optimal lambda->qp support
938 - AAC encoding with libfaac
939 - Sunplus JPEG codec (SP5X) support
940 - use Lagrange multipler instead of QP for ratecontrol
941 - Theora/VP3 decoding support
942 - XA and ADX ADPCM codecs
943 - export MPEG-2 active display area / pan scan
944 - Add support for configuring with IBM XLC
945 - floating point AAN DCT
946 - initial support for zygo video (not complete)
947 - RGB ffv1 support
948 - new audio/video parser API
949 - av_log() system
950 - av_read_frame() and av_seek_frame() support
951 - missing last frame fixes
952 - seek by mouse in ffplay
953 - noise reduction of DCT coefficients
954 - H.263 OBMC & 4MV support
955 - H.263 alternative inter vlc support
956 - H.263 loop filter
957 - H.263 slice structured mode
958 - interlaced DCT support for MPEG-2 encoding
959 - stuffing to stay above min_bitrate
960 - MB type & QP visualization
961 - frame stepping for ffplay
962 - interlaced motion estimation
963 - alternate scantable support
964 - SVCD scan offset support
965 - closed GOP support
966 - SSE2 FDCT
967 - quantizer noise shaping
968 - G.726 ADPCM audio codec
969 - MS ADPCM encoding
970 - multithreaded/SMP motion estimation
971 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
972 - multithreaded/SMP decoding for MPEG-2
973 - FLAC decoder
974 - Metrowerks CodeWarrior suppport
975 - H.263+ custom pcf support
976 - nicer output for 'ffmpeg -formats'
977 - Matroska demuxer
978 - SGI image format, encoding and decoding
979 - H.264 loop filter support
980 - H.264 CABAC support
981 - nicer looking arrows for the motion vector visualization
982 - improved VCD support
983 - audio timestamp drift compensation
984 - MPEG-2 YUV 422/444 support
985 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
986 - better image scaling
987 - H.261 support
988 - correctly interleave packets during encoding
989 - VIS optimized motion compensation
990 - intra_dc_precision>0 encoding support
991 - support reuse of motion vectors/MB types/field select values of the source video
992 - more accurate deblock filter
993 - padding support
994 - many optimizations and bugfixes
995 - FunCom ISS audio file demuxer and according ADPCM decoding
996
997
998 version 0.4.8:
999
1000 - MPEG-2 video encoding (Michael)
1001 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1002 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1003   and Mario Brito)
1004 - Xan DPCM audio decoder (Mario Brito)
1005 - Interplay MVE playback subsystem (Mike Melanson)
1006 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1007
1008
1009 version 0.4.7:
1010
1011 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1012   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1013 - current version now also compiles with older GCC (Fabrice)
1014 - 4X multimedia playback system including 4xm file demuxer (Mike
1015   Melanson), and 4X video and audio codecs (Michael)
1016 - Creative YUV (CYUV) decoder (Mike Melanson)
1017 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1018   than HuffYUV) (Michael)
1019 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1020 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1021   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1022 - ffplay has been replaced with a newer version which uses SDL (optionally)
1023   for multiplatform support (Fabrice)
1024 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1025   by anonymous
1026 - AMR format has been added (Johannes Carlsson)
1027 - 3GP support has been added (Johannes Carlsson)
1028 - VP3 codec has been added (Mike Melanson)
1029 - more MPEG-1/2 fixes
1030 - better multiplatform support, MS Visual Studio fixes (various)
1031 - AltiVec optimizations (Magnus Damn and others)
1032 - SH4 processor support has been added (BERO)
1033 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1034 - VOB streaming support (Brian Foley)
1035 - better MP3 autodetection (Andriy Rysin)
1036 - qpel encoding (Michael)
1037 - 4mv+b frames encoding finally fixed (Michael)
1038 - chroma ME (Michael)
1039 - 5 comparison functions for ME (Michael)
1040 - B-frame encoding speedup (Michael)
1041 - WMV2 codec (unfinished - Michael)
1042 - user specified diamond size for EPZS (Michael)
1043 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1044 - ASV2 codec (Michael)
1045 - CLJR decoder (Alex)
1046
1047 .. And lots more new enhancements and fixes.
1048
1049
1050 version 0.4.6:
1051
1052 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1053   from scratch
1054 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1055 - fix quantization bug in AC3 encoder
1056 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1057 - added prototype ffplay program
1058 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1059 - bug fix on MCBPC tables of H.263 (Juanjo)
1060 - bug fix on DC coefficients of H.263 (Juanjo)
1061 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1062 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1063 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1064 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1065 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1066 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1067 - added first regression tests
1068 - added MPEG-2 TS demuxer
1069 - new demux API for libav
1070 - more accurate and faster IDCT (Michael)
1071 - faster and entropy-controlled motion search (Michael)
1072 - two pass video encoding (Michael)
1073 - new video rate control (Michael)
1074 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1075 - great performance improvement of video encoders and decoders (Michael)
1076 - new and faster bit readers and vlc parsers (Michael)
1077 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1078 - added DV video decoder
1079 - preliminary RTP/RTSP support in ffserver and libavformat
1080 - H.263+ AIC decoding/encoding support (Juanjo)
1081 - VCD MPEG-PS mode (Juanjo)
1082 - PSNR stuff (Juanjo)
1083 - simple stats output (Juanjo)
1084 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1085
1086
1087 version 0.4.5:
1088
1089 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1090 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1091 - added configure system (actually a small shell script)
1092 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1093   Michael Hipp (temporary solution - waiting for integer only
1094   decoder)
1095 - fixed VIDIOCSYNC interrupt
1096 - added Intel H.263 decoding support ('I263' AVI fourCC)
1097 - added Real Video 1.0 decoding (needs further testing)
1098 - simplified image formats again. Added PGM format (=grey
1099   pgm). Renamed old PGM to PGMYUV.
1100 - fixed msmpeg4 slice issues (tell me if you still find problems)
1101 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1102 - added support for MPlayer interface
1103 - added macroblock skip optimization
1104 - added MJPEG decoder
1105 - added mmx/mmxext IDCT from libmpeg2
1106 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1107   <celer at shell.scrypt.net>)
1108 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1109 - added deinterlacing option
1110 - MPEG-1/2 fixes
1111 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1112 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1113 - Windows porting of file converter
1114 - added MJPEG raw format (input/ouput)
1115 - added JPEG image format support (input/output)
1116
1117
1118 version 0.4.4:
1119
1120 - fixed some std header definitions (Bjorn Lindgren
1121   <bjorn.e.lindgren at telia.com>).
1122 - added MPEG demuxer (MPEG-1 and 2 compatible).
1123 - added ASF demuxer
1124 - added prototype RM demuxer
1125 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1126 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1127   header does not include them)
1128 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1129   play them (only tested video)
1130 - fixed H.263 white bug
1131 - fixed phase rounding in img resample filter
1132 - add MMX code for polyphase img resample filter
1133 - added CPU autodetection
1134 - added generic title/author/copyright/comment string handling (ASF and RM
1135   use them)
1136 - added SWF demux to extract MP3 track (not usable yet because no MP3
1137   decoder)
1138 - added fractional frame rate support
1139 - codecs are no longer searched by read_header() (should fix ffserver
1140   segfault)
1141
1142
1143 version 0.4.3:
1144
1145 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1146 - fixed raw yuv output
1147 - added motion rounding support in MPEG-4
1148 - fixed motion bug rounding in MSMPEG4
1149 - added B-frame handling in video core
1150 - added full MPEG-1 decoding support
1151 - added partial (frame only) MPEG-2 support
1152 - changed the FOURCC code for H.263 to "U263" to be able to see the
1153   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1154   this +codec ;) (JuanJo).
1155 - Halfpel motion estimation after MB type selection (JuanJo)
1156 - added pgm and .Y.U.V output format
1157 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1158   output.
1159 - added pgmpipe I/O format (original patch from Martin Aumueller
1160   <lists at reserv.at>, but changed completely since we use a format
1161   instead of a protocol)
1162
1163
1164 version 0.4.2:
1165
1166 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1167   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1168   missing. MSMPEG4 support is complete.
1169 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1170   can decode ffmpeg MPEGs :-)).
1171 - added libavcodec API documentation (see apiexample.c).
1172 - fixed image polyphase bug (the bottom of some images could be
1173   greenish)
1174 - added support for non clipped motion vectors (decoding only)
1175   and image sizes non-multiple of 16
1176 - added support for AC prediction (decoding only)
1177 - added file overwrite confirmation (can be disabled with -y)
1178 - added custom size picture to H.263 using H.263+ (Juanjo)
1179
1180
1181 version 0.4.1:
1182
1183 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1184   of AVI and ASF to DIV3.
1185 - added -me option to set motion estimation method
1186   (default=log). suppressed redundant -hq option.
1187 - added options -acodec and -vcodec to force a given codec (useful for
1188   AVI for example)
1189 - fixed -an option
1190 - improved dct_quantize speed
1191 - factorized some motion estimation code
1192
1193
1194 version 0.4.0:
1195
1196 - removing grab code from ffserver and moved it to ffmpeg. Added
1197   multistream support to ffmpeg.
1198 - added timeshifting support for live feeds (option ?date=xxx in the
1199   URL)
1200 - added high quality image resize code with polyphase filter (need
1201   mmx/see optimization). Enable multiple image size support in ffserver.
1202 - added multi live feed support in ffserver
1203 - suppressed master feature from ffserver (it should be done with an
1204   external program which opens the .ffm url and writes it to another
1205   ffserver)
1206 - added preliminary support for video stream parsing (WAV and AVI half
1207   done). Added proper support for audio/video file conversion in
1208   ffmpeg.
1209 - added preliminary support for video file sending from ffserver
1210 - redesigning I/O subsystem: now using URL based input and output
1211   (see avio.h)
1212 - added WAV format support
1213 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1214 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1215   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1216 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1217 - added new motion estimation algorithms, log and phods (Juanjo)
1218 - changed directories: libav for format handling, libavcodec for
1219   codecs
1220
1221
1222 version 0.3.4:
1223
1224 - added stereo in MPEG audio encoder
1225
1226
1227 version 0.3.3:
1228
1229 - added 'high quality' mode which use motion vectors. It can be used in
1230   real time at low resolution.
1231 - fixed rounding problems which caused quality problems at high
1232   bitrates and large GOP size
1233
1234
1235 version 0.3.2: small fixes
1236
1237 - ASF fixes
1238 - put_seek bug fix
1239
1240
1241 version 0.3.1: added avi/divx support
1242
1243 - added AVI support
1244 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1245 - added sound for flash format (not tested)
1246
1247
1248 version 0.3: initial public release