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