avcodec/jpeg2000dec: Check for duplicate SIZ marker
[ffmpeg.git] / Changelog
1 Entries are sorted chronologically from oldest to youngest within each release,
2 releases are sorted from youngest to oldest.
3
4 version 2.6.4:
5 - imc: use correct position for flcoeffs2 calculation
6 - hevc: check slice address length
7 - snow: remove an obsolete av_assert2
8 - webp: fix infinite loop in webp_decode_frame
9 - wavpack: limit extra_bits to 32 and use get_bits_long
10 - ffmpeg: only count got_output/errors in decode_error_stat
11 - ffmpeg: exit_on_error if decoding a packet failed
12 - pthread_frame: forward error codes when flushing
13 - huffyuvdec: validate image size
14 - wavpack: use get_bits_long to read up to 32 bits
15 - nutdec: check maxpos in read_sm_data before returning success
16 - vc1dec: use get_bits_long and limit the read bits to 32
17 - mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
18 - avcodec/vp8: Check buffer size in vp8_decode_frame_header()
19 - avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
20 - avcodec/diracdec: Check for hpel_base allocation failure
21 - avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
22 - avfilter/af_aresample: Check ff_all_* for allocation failures
23 - avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
24 - swscale/utils: Clear pix buffers
25 - avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
26 - ffmpeg: Fix cleanup after failed allocation of output_files
27 - avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
28 - ffmpeg: Fix crash with ost->last_frame allocation failure
29 - ffmpeg: Fix cleanup with ost = NULL
30 - avcodec/pthread_frame: check avctx on deallocation
31 - avcodec/sanm: Reset sizes in destroy_buffers()
32 - avcodec/alac: Clear pointers in allocate_buffers()
33 - bytestream2: set the reader to the end when reading more than available
34 - avcodec/utils: use a minimum 32pixel width in  avcodec_align_dimensions2() for H.264
35 - avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
36 - oggparsedirac: check return value of init_get_bits
37 - wmalosslessdec: reset frame->nb_samples on packet loss
38 - wmalosslessdec: avoid reading 0 bits with get_bits
39 - avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
40 - avcodec/aacsbr: Assert that bs_num_env is positive
41 - avcodec/aacsbr: check that the element type matches before applying SBR
42 - avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
43 - vp9/update_prob: prevent out of bounds table read
44 - avfilter/vf_transpose: Fix rounding error
45 - avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
46 - avcodec/pngdec: Require a IHDR chunk before fctl
47 - avcodec/pngdec: Only allow one IHDR chunk
48 - wmavoice: limit wmavoice_decode_packet return value to packet size
49 - swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
50 - ffmpeg: Do not use the data/size of a bitstream filter after failure
51 - swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
52 - swscale/x86/rgb2rgb_template: add missing xmm clobbers
53 - vda: unlock the pixel buffer base address.
54 - swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
55 - swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
56 - swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
57 - swr: Remember previously set int_sample_format from user
58 - matroskadec: check audio sample rate
59 - matroskadec: validate audio channels and bitdepth
60 - avcodec/dpxenc: implement write16/32 as functions
61 - postproc: fix unaligned access
62 - ffmpeg: Free last_frame instead of just unref
63 - avio: fix potential crashes when combining ffio_ensure_seekback + crc
64 - examples/demuxing_decoding: use properties from frame instead of video_dec_ctx
65 - h264: er: Copy from the previous reference only if compatible
66 - sonic: set avctx->channels in sonic_decode_init
67 - vp8: change mv_{min,max}.{x,y} type to int
68 - vp9: change type of tile_size from unsigned to int64_t
69 - arm: only enable setend on ARMv6
70 - libopenjpegdec: check existence of image component data
71 - mov: abort on EOF in ff_mov_read_chan
72 - ffmpeg_opt: Check for localtime() failure
73 - avformat: Fix bug in parse_rps for HEVC.
74 - takdec: ensure chan2 is a valid channel index
75 - avcodec/h264_slice: Use AVFrame diemensions for grayscale handling
76 - avdevice/lavfi: do not rescale AV_NOPTS_VALUE in lavfi_read_packet()
77 - libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'.
78 - avcodec/jpeg2000dec: Check that coords match before applying ICT
79 - avformat/ffmdec: Check ffio_set_buf_size() return value
80 - avcodec/adpcm: Check for overreads
81 - avcodec/alsdec: Check for overread
82 - avcodec/atrac3plusdec: consume only as many bytes as available
83 - libavutil/softfloat: Fix av_normalize1_sf bias.
84 - swresample/swresample: Cleanup on init failure.
85 - Revert "avformat/rtpenc: check av_packet_get_side_data() return, fix null ptr dereference"
86 - avformat/mxfenc: Accept MXF D-10 with 49.999840 Mbit/sec
87 - swresample/dither: check memory allocation
88 - libopenjpegenc: add NULL check for img before accessing it
89 - swresample: Check the return value of resampler->init()
90 - h264: Make sure reinit failures mark the context as not initialized
91 - avfilter/x86/vf_fspp: Fix invalid combination of opcode and operands
92 - ffmpeg_opt: Set the video VBV parameters only for the video stream from -target
93 - avcodec/bitstream: Assert that there is enough space left in avpriv_copy_bits()
94 - avcodec/put_bits: Assert that there is enough space left in skip_put_bytes()
95 - avcodec/mpegvideo_enc: Update the buffer size as more slices are merged
96 - avcodec/put_bits: Update size_in_bits in set_put_bits_buffer_size()
97 - avformat/wavdec: Increase dts packet threshold to fix more misdetections
98 - avformat/wavdec: Increase probe_packets limit
99 - nutdec: abort if EOF is reached in decode_info_header/read_sm_data
100 - nutdec: stop skipping bytes at EOF
101 - nutdec: fix infinite resync loops
102 - avformat/nutdec: Check X in 2nd branch of index reading
103 - avformat/nutdec: Fix recovery when immedeately after seeking a failure happens
104 - avformat/nutdec: Return error on EOF from get_str()
105 - rtsp: Make sure we don't write too many transport entries into a fixed-size array
106 - rtpenc_jpeg: handle case of picture dimensions not dividing by 8
107 - avcodec/golomb: get_ur_golomb_jpegls: Fix reading huge k values
108 - avformat/swfdec: Do not error out on pixel format changes
109 - avformat/mov: Mark avio context of decompressed atoms as seekable
110 - avcodec/mjpegenc_common: Use ff_mpv_reallocate_putbitbuffer()
111 - avcodec/mpegvideo: Factor ff_mpv_reallocate_putbitbuffer() out
112 - avfilter/x86/vf_hqdn3d: Fix register types
113 - avcodec/exr: fix crash caused by merge
114 - avcodec/x86/h264_weight: handle weight1=128
115 - avcodec/dvbsubdec: Fix buf_size check in dvbsub_parse_display_definition_segment()
116 - avcodec/hevc_ps: Only discard overread VPS if a previous is available
117 - avcodec/flacenc: Fix Invalid Rice order
118 - lavd/xcbgrab: fix comparison with screen size.
119
120 version 2.6.3:
121 - avcodec/libtheoraenc: Check for av_malloc failure
122 - ffmpeg_opt: Fix -timestamp parsing
123 - hevc: make avcodec_decode_video2() fail if get_format() fails
124 - avcodec/cavsdec: Use ff_set_dimensions()
125 - swr: fix alignment issue caused by 8ch sse functions
126 - avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt()
127 - avcodec/jpeg2000dec: fix boolean operator
128 - avcodec/hevc_ps: Explicitly check num_tile_* for negative values
129 - avformat/matroskadec: Cleanup error handling for bz2 & zlib
130 - avformat/nutdec: Fix use of uinitialized value
131 - tools/graph2dot: use larger data types than int for array/string sizes
132 - avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()
133 - avcodec/mpeg12dec: use the correct dimensions for checking SAR
134 - xcbgrab: Validate the capture area
135 - xcbgrab: Do not assume the non shm image data is always available
136 - avfilter/lavfutils: disable frame threads when decoding a single image
137 - avformat/mov: Do not read ACLR into extradata for H.264
138 - ffmpeg: remove incorrect network deinit
139 - OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
140 - libvpxenc: only set noise reduction w/vp8
141 - vp9: remove another optimization branch in iadst16 which causes overflows.
142 - lavf: Reset global flag on deinit
143 - network: Do not leave context locked on error
144 - vp9: remove one optimization branch in iadst16 which causes overflows.
145 - fate: Include branch information in the payload header
146 - avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
147 - avformat/img2dec: do not rewind custom io buffers
148 - avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
149 - avcodec/atrac3plusdsp: fix on stack alignment
150 - swresample/swresample-test: Randomly wipe out channel counts
151 - swresample: Check channel layouts and channels against each other and print human readable error messages
152 - swresample: Allow reinitialization without ever setting channel layouts (cherry picked from commit 80a28c7509a11114e1aea5b208d56c6646d69c07)
153 - swresample: Allow reinitialization without ever setting channel counts
154 - dashenc: replace attribute id with contentType for the AdaptationSet element
155 - avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts
156 - avformat/mux: Add avoid_negative_ts_use_pts
157 - tests/fate-run: do not attempt to parse tiny_psnrs output if it failed
158 - cafdec: free extradata before allocating it
159 - imgutils: initialize palette padding bytes in av_image_alloc
160 - aacdec: don't return frames without data
161 - id3v2: catch avio_read errors in check_tag
162 - avi: Validate sample_size
163 - aacsbr: break infinite loop in sbr_hf_calc_npatches
164 - diracdec: avoid overflow of bytes*8 in decode_lowdelay
165 - diracdec: prevent overflow in data_unit_size check
166 - avformat/matroskadec: Use tracks[k]->stream instead of s->streams[k]
167 - matroskadec: use uint64_t instead of int for index_scale
168 - pngdec: don't use AV_PIX_FMT_MONOBLACK for apng
169 - pngdec: return correct error code from decode_frame_common
170 - nutdec: fix illegal count check in decode_main_header
171 - nutdec: fix memleaks on error in nut_read_header
172 - apedec: prevent out of array writes in decode_array_0000
173 - apedec: set s->samples only when init_frame_decoder succeeded
174 - swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong
175 - alac: reject rice_limit 0 if compression is used
176 - alsdec: only adapt order for positive max_order
177 - bink: check vst->index_entries before using it
178 - mpeg4videodec: only allow a positive length
179 - aacpsy: correct calculation of minath in psy_3gpp_init
180 - alsdec: validate time diff index
181 - alsdec: ensure channel reordering is reversible
182 - ac3: validate end in ff_ac3_bit_alloc_calc_mask
183 - aacpsy: avoid psy_band->threshold becoming NaN
184 - aasc: return correct buffer size from aasc_decode_frame
185 - matroskadec: export cover art correctly
186 - mxfenc: don't try to write footer without header
187 - mxfenc: fix memleaks in mxf_write_footer
188 - rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
189 - rtpenc_mpegts: Free the right ->pb in the error path in the init function
190
191 version 2.6.2:
192 - avcodec/h264: Do not fail with randomly truncated VUIs
193 - avcodec/h264_ps: Move truncation check from VUI to SPS
194 - avcodec/h264: Be more tolerant to changing pps id between slices
195 - avcodec/aacdec: Fix storing state before PCE decode
196 - avcodec/h264: reset the counts in the correct context
197 - avcodec/h264_slice: Do not reset mb_aff_frame per slice
198 - avcodec/h264: finish previous slices before switching to single thread mode
199 - avcodec/h264: Fix race between slices where one overwrites data from the next
200 - avformat/utils: avoid discarded streams in av_find_default_stream_index()
201 - ffmpeg: Fix extradata allocation
202 - avcodec/h264_refs: Do not set reference to things which do not exist
203 - avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
204 - Revert "avcodec/exr: fix memset first arg in reverse_lut()"
205 - h264: avoid unnecessary calls to get_format
206 - avutil/pca: Check for av_malloc* failures
207 - avutil/cpu: add missing check for mmxext to av_force_cpu_flags
208 - lavc/dnxhd: Fix pix_fmt change.
209 - avformat/http: replace cookies with updated values instead of appending forever
210 - avformat/hls: store cookies returned in HLS key response
211 - avformat/rmdec: fix support for 0 sized mdpr
212 - avcodec/msrledec: restructure msrle_decode_pal4() based on the line number instead of the pixel pointer
213 - avcodec/hevc_ps: Check cropping parameters more correctly
214 - hevc: make the crop sizes unsigned
215 - avcodec/dnxhddec: Reset is_444 if format is not 444
216 - avcodec/dnxhddec: Check that the frame is interlaced before using cur_field
217 - mips/float_dsp: fix vector_fmul_window_mips on mips64
218 - doc: Remove non-existing decklink options.
219
220 version 2.6.1:
221 - avformat/mov: Disallow ".." in dref unless use_absolute_path is set
222 - avfilter/palettegen: make sure at least one frame was sent to the filter
223 - avformat/mov: Check for string truncation in mov_open_dref()
224 - ac3_fixed: fix out-of-bound read
225 - mips/asmdefs: use _ABI64 as defined by gcc
226 - hevc: delay ff_thread_finish_setup for hwaccel
227 - avcodec/012v: Check dimensions more completely
228 - asfenc: fix leaking asf->index_ptr on error
229 - roqvideoenc: set enc->avctx in roq_encode_init
230 - avcodec/options_table: remove extradata_size from the AVOptions table
231 - ffmdec: limit the backward seek to the last resync position
232 - Add dependencies to configure file for vf_fftfilt
233 - ffmdec: make sure the time base is valid
234 - ffmdec: fix infinite loop at EOF
235 - ffmdec: initialize f_cprv, f_stvi and f_stau
236 - arm: Suppress tags about used cpu arch and extensions
237 - mxfdec: Fix the error handling for when strftime fails
238 - avcodec/opusdec: Fix delayed sample value
239 - avcodec/opusdec: Clear out pointers per packet
240 - avcodec/utils: Align YUV411 by as much as the other YUV variants
241 - lavc/hevcdsp: Fix compilation for arm with --disable-neon.
242 - vp9: fix segmentation map retention with threading enabled.
243 - Revert "avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit"
244
245 version 2.6:
246 - nvenc encoder
247 - 10bit spp filter
248 - colorlevels filter
249 - RIFX format for *.wav files
250 - RTP/mpegts muxer
251 - non continuous cache protocol support
252 - tblend filter
253 - cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
254 - Camellia symmetric block cipher
255 - OpenH264 encoder wrapper
256 - VOC seeking support
257 - Closed caption Decoder
258 - fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
259 - showpalette filter
260 - Twofish symmetric block cipher
261 - Support DNx100 (960x720@8)
262 - eq2 filter ported from libmpcodecs as eq filter
263 - removed libmpcodecs
264 - Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
265 - ported softpulldown filter from libmpcodecs as repeatfields filter
266 - dcshift filter
267 - RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
268 - RTP depacketizer for AC3 payload format (RFC 4184)
269 - palettegen and paletteuse filters
270 - VP9 RTP payload format (draft 0) experimental depacketizer
271 - RTP depacketizer for DV (RFC 6469)
272 - DXVA2-accelerated HEVC decoding
273 - AAC ELD 480 decoding
274 - Intel QSV-accelerated H.264 decoding
275 - DSS SP decoder and DSS demuxer
276 - Fix stsd atom corruption in DNxHD QuickTimes
277 - Canopus HQX decoder
278 - RTP depacketization of T.140 text (RFC 4103)
279 - Port MIPS optimizations to 64-bit
280
281
282 version 2.5:
283 - HEVC/H.265 RTP payload format (draft v6) packetizer
284 - SUP/PGS subtitle demuxer
285 - ffprobe -show_pixel_formats option
286 - CAST128 symmetric block cipher, ECB mode
287 - STL subtitle demuxer and decoder
288 - libutvideo YUV 4:2:2 10bit support
289 - XCB-based screen-grabber
290 - UDP-Lite support (RFC 3828)
291 - xBR scaling filter
292 - AVFoundation screen capturing support
293 - ffserver supports codec private options
294 - creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
295 - WebP muxer with animated WebP support
296 - zygoaudio decoding support
297 - APNG demuxer
298 - postproc visualization support
299
300
301 version 2.4:
302 - Icecast protocol
303 - ported lenscorrection filter from frei0r filter
304 - large optimizations in dctdnoiz to make it usable
305 - ICY metadata are now requested by default with the HTTP protocol
306 - support for using metadata in stream specifiers in fftools
307 - LZMA compression support in TIFF decoder
308 - H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
309 - HEVC/H.265 RTP payload format (draft v6) depacketizer
310 - added codecview filter to visualize information exported by some codecs
311 - Matroska 3D support thorugh side data
312 - HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
313 - silenceremove filter
314
315
316 version 2.3:
317 - AC3 fixed-point decoding
318 - shuffleplanes filter
319 - subfile protocol
320 - Phantom Cine demuxer
321 - replaygain data export
322 - VP7 video decoder
323 - Alias PIX image encoder and decoder
324 - Improvements to the BRender PIX image decoder
325 - Improvements to the XBM decoder
326 - QTKit input device
327 - improvements to OpenEXR image decoder
328 - support decoding 16-bit RLE SGI images
329 - GDI screen grabbing for Windows
330 - alternative rendition support for HTTP Live Streaming
331 - AVFoundation input device
332 - Direct Stream Digital (DSD) decoder
333 - Magic Lantern Video (MLV) demuxer
334 - On2 AVC (Audio for Video) decoder
335 - support for decoding through DXVA2 in ffmpeg
336 - libbs2b-based stereo-to-binaural audio filter
337 - libx264 reference frames count limiting depending on level
338 - native Opus decoder
339 - display matrix export and rotation API
340 - WebVTT encoder
341 - showcqt multimedia filter
342 - zoompan filter
343 - signalstats filter
344 - hqx filter (hq2x, hq3x, hq4x)
345 - flanger filter
346 - Image format auto-detection
347 - LRC demuxer and muxer
348 - Samba protocol (via libsmbclient)
349 - WebM DASH Manifest muxer
350 - libfribidi support in drawtext
351
352
353 version 2.2:
354
355 - HNM version 4 demuxer and video decoder
356 - Live HDS muxer
357 - setsar/setdar filters now support variables in ratio expressions
358 - elbg filter
359 - string validation in ffprobe
360 - support for decoding through VDPAU in ffmpeg (the -hwaccel option)
361 - complete Voxware MetaSound decoder
362 - remove mp3_header_compress bitstream filter
363 - Windows resource files for shared libraries
364 - aeval filter
365 - stereoscopic 3d metadata handling
366 - WebP encoding via libwebp
367 - ATRAC3+ decoder
368 - VP8 in Ogg demuxing
369 - side & metadata support in NUT
370 - framepack filter
371 - XYZ12 rawvideo support in NUT
372 - Exif metadata support in WebP decoder
373 - OpenGL device
374 - Use metadata_header_padding to control padding in ID3 tags (currently used in
375   MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
376 - Mirillis FIC video decoder
377 - Support DNx444
378 - libx265 encoder
379 - dejudder filter
380 - Autodetect VDA like all other hardware accelerations
381 - aliases and defaults for Ogg subtypes (opus, spx)
382
383
384 version 2.1:
385
386 - aecho filter
387 - perspective filter ported from libmpcodecs
388 - ffprobe -show_programs option
389 - compand filter
390 - RTMP seek support
391 - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
392   even when used as an input option. Previous behavior can be restored with
393   the -noaccurate_seek option.
394 - ffmpeg -t option can now be used for inputs, to limit the duration of
395   data read from an input file
396 - incomplete Voxware MetaSound decoder
397 - read EXIF metadata from JPEG
398 - DVB teletext decoder
399 - phase filter ported from libmpcodecs
400 - w3fdif filter
401 - Opus support in Matroska
402 - FFV1 version 1.3 is stable and no longer experimental
403 - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
404 - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
405   more consistent with other muxers.
406 - adelay filter
407 - pullup filter ported from libmpcodecs
408 - ffprobe -read_intervals option
409 - Lossless and alpha support for WebP decoder
410 - Error Resilient AAC syntax (ER AAC LC) decoding
411 - Low Delay AAC (ER AAC LD) decoding
412 - mux chapters in ASF files
413 - SFTP protocol (via libssh)
414 - libx264: add ability to encode in YUVJ422P and YUVJ444P
415 - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
416 - make decoding alpha optional for prores, ffv1 and vp6 by setting
417   the skip_alpha flag.
418 - ladspa wrapper filter
419 - native VP9 decoder
420 - dpx parser
421 - max_error_rate parameter in ffmpeg
422 - PulseAudio output device
423 - ReplayGain scanner
424 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
425 - Linux framebuffer output device
426 - HEVC decoder
427 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
428 - mergeplanes filter
429
430
431 version 2.0:
432
433 - curves filter
434 - reference-counting for AVFrame and AVPacket data
435 - ffmpeg now fails when input options are used for output file
436   or vice versa
437 - support for Monkey's Audio versions from 3.93
438 - perms and aperms filters
439 - audio filtering support in ffplay
440 - 10% faster aac encoding on x86 and MIPS
441 - sine audio filter source
442 - WebP demuxing and decoding support
443 - ffmpeg options -filter_script and -filter_complex_script, which allow a
444   filtergraph description to be read from a file
445 - OpenCL support
446 - audio phaser filter
447 - separatefields filter
448 - libquvi demuxer
449 - uniform options syntax across all filters
450 - telecine filter
451 - interlace filter
452 - smptehdbars source
453 - inverse telecine filters (fieldmatch and decimate)
454 - colorbalance filter
455 - colorchannelmixer filter
456 - The matroska demuxer can now output proper verbatim ASS packets. It will
457   become the default at the next libavformat major bump.
458 - decent native animated GIF encoding
459 - asetrate filter
460 - interleave filter
461 - timeline editing with filters
462 - vidstabdetect and vidstabtransform filters for video stabilization using
463   the vid.stab library
464 - astats filter
465 - trim and atrim filters
466 - ffmpeg -t and -ss (output-only) options are now sample-accurate when
467   transcoding audio
468 - Matroska muxer can now put the index at the beginning of the file.
469 - extractplanes filter
470 - avectorscope filter
471 - ADPCM DTK decoder
472 - ADP demuxer
473 - RSD demuxer
474 - RedSpark demuxer
475 - ADPCM IMA Radical decoder
476 - zmq filters
477 - DCT denoiser filter (dctdnoiz)
478 - Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
479 - Apple Intermediate Codec decoder
480 - Escape 130 video decoder
481 - FTP protocol support
482 - V4L2 output device
483 - 3D LUT filter (lut3d)
484 - SMPTE 302M audio encoder
485 - support for slice multithreading in libavfilter
486 - Hald CLUT support (generation and filtering)
487 - VC-1 interlaced B-frame support
488 - support for WavPack muxing (raw and in Matroska)
489 - XVideo output device
490 - vignette filter
491 - True Audio (TTA) encoder
492 - Go2Webinar decoder
493 - mcdeint filter ported from libmpcodecs
494 - sab filter ported from libmpcodecs
495 - ffprobe -show_chapters option
496 - WavPack encoding through libwavpack
497 - rotate filter
498 - spp filter ported from libmpcodecs
499 - libgme support
500 - psnr filter
501
502
503 version 1.2:
504
505 - VDPAU hardware acceleration through normal hwaccel
506 - SRTP support
507 - Error diffusion dither in Swscale
508 - Chained Ogg support
509 - Theora Midstream reconfiguration support
510 - EVRC decoder
511 - audio fade filter
512 - filtering audio with unknown channel layout
513 - allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
514   and treble audio filter
515 - improved showspectrum filter, with multichannel support and sox-like colors
516 - histogram filter
517 - tee muxer
518 - il filter ported from libmpcodecs
519 - support ID3v2 tags in ASF files
520 - encrypted TTA stream decoding support
521 - RF64 support in WAV muxer
522 - noise filter ported from libmpcodecs
523 - Subtitles character encoding conversion
524 - blend filter
525 - stereo3d filter ported from libmpcodecs
526
527
528 version 1.1:
529
530 - stream disposition information printing in ffprobe
531 - filter for loudness analysis following EBU R128
532 - Opus encoder using libopus
533 - ffprobe -select_streams option
534 - Pinnacle TARGA CineWave YUV16 decoder
535 - TAK demuxer, decoder and parser
536 - DTS-HD demuxer
537 - remove -same_quant, it hasn't worked for years
538 - FFM2 support
539 - X-Face image encoder and decoder
540 - 24-bit FLAC encoding
541 - multi-channel ALAC encoding up to 7.1
542 - metadata (INFO tag) support in WAV muxer
543 - subtitles raw text decoder
544 - support for building DLLs using MSVC
545 - LVF demuxer
546 - ffescape tool
547 - metadata (info chunk) support in CAF muxer
548 - field filter ported from libmpcodecs
549 - AVR demuxer
550 - geq filter ported from libmpcodecs
551 - remove ffserver daemon mode
552 - AST muxer/demuxer
553 - new expansion syntax for drawtext
554 - BRender PIX image decoder
555 - ffprobe -show_entries option
556 - ffprobe -sections option
557 - ADPCM IMA Dialogic decoder
558 - BRSTM demuxer
559 - animated GIF decoder and demuxer
560 - PVF demuxer
561 - subtitles filter
562 - IRCAM muxer/demuxer
563 - Paris Audio File demuxer
564 - Virtual concatenation demuxer
565 - VobSub demuxer
566 - JSON captions for TED talks decoding support
567 - SOX Resampler support in libswresample
568 - aselect filter
569 - SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
570 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
571 - Silicon Graphics Movie demuxer
572 - apad filter
573 - Resolution & pixel format change support with multithreading for H.264
574 - documentation split into per-component manuals
575 - pp (postproc) filter ported from MPlayer
576 - NIST Sphere demuxer
577 - MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
578 - Sony Wave64 muxer
579 - adobe and limelight publisher authentication in RTMP
580 - data: URI scheme
581 - support building on the Plan 9 operating system
582 - kerndeint filter ported from MPlayer
583 - histeq filter ported from VirtualDub
584 - Megalux Frame demuxer
585 - 012v decoder
586 - Improved AVC Intra decoding support
587
588
589 version 1.0:
590
591 - INI and flat output in ffprobe
592 - Scene detection in libavfilter
593 - Indeo Audio decoder
594 - channelsplit audio filter
595 - setnsamples audio filter
596 - atempo filter
597 - ffprobe -show_data option
598 - RTMPT protocol support
599 - iLBC encoding/decoding via libilbc
600 - Microsoft Screen 1 decoder
601 - join audio filter
602 - audio channel mapping filter
603 - Microsoft ATC Screen decoder
604 - RTSP listen mode
605 - TechSmith Screen Codec 2 decoder
606 - AAC encoding via libfdk-aac
607 - Microsoft Expression Encoder Screen decoder
608 - RTMPS protocol support
609 - RTMPTS protocol support
610 - RTMPE protocol support
611 - RTMPTE protocol support
612 - showwaves and showspectrum filter
613 - LucasArts SMUSH SANM playback support
614 - LucasArts SMUSH VIMA audio decoder (ADPCM)
615 - LucasArts SMUSH demuxer
616 - SAMI, RealText and SubViewer demuxers and decoders
617 - Heart Of Darkness PAF playback support
618 - iec61883 device
619 - asettb filter
620 - new option: -progress
621 - 3GPP Timed Text encoder/decoder
622 - GeoTIFF decoder support
623 - ffmpeg -(no)stdin option
624 - Opus decoder using libopus
625 - caca output device using libcaca
626 - alphaextract and alphamerge filters
627 - concat filter
628 - flite filter
629 - Canopus Lossless Codec decoder
630 - bitmap subtitles in filters (experimental and temporary)
631 - MP2 encoding via TwoLAME
632 - bmp parser
633 - smptebars source
634 - asetpts filter
635 - hue filter
636 - ICO muxer
637 - SubRip encoder and decoder without embedded timing
638 - edge detection filter
639 - framestep filter
640 - ffmpeg -shortest option is now per-output file
641   -pass and -passlogfile are now per-output stream
642 - volume measurement filter
643 - Ut Video encoder
644 - Microsoft Screen 2 decoder
645 - smartblur filter ported from MPlayer
646 - CPiA decoder
647 - decimate filter ported from MPlayer
648 - RTP depacketization of JPEG
649 - Smooth Streaming live segmenter muxer
650 - F4V muxer
651 - sendcmd and asendcmd filters
652 - WebVTT demuxer and decoder (simple tags supported)
653 - RTP packetization of JPEG
654 - faststart option in the MOV/MP4 muxer
655 - support for building with MSVC
656
657
658 version 0.11:
659
660 - Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
661          CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
662          CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
663          CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
664          CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
665          CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
666 - v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
667 - setfield filter
668 - CDXL demuxer and decoder
669 - Apple ProRes encoder
670 - ffprobe -count_packets and -count_frames options
671 - Sun Rasterfile Encoder
672 - ID3v2 attached pictures reading and writing
673 - WMA Lossless decoder
674 - bluray protocol
675 - blackdetect filter
676 - libutvideo encoder wrapper (--enable-libutvideo)
677 - swapuv filter
678 - bbox filter
679 - XBM encoder and decoder
680 - RealAudio Lossless decoder
681 - ZeroCodec decoder
682 - tile video filter
683 - Metal Gear Solid: The Twin Snakes demuxer
684 - OpenEXR image decoder
685 - removelogo filter
686 - drop support for ffmpeg without libavfilter
687 - drawtext video filter: fontconfig support
688 - ffmpeg -benchmark_all option
689 - super2xsai filter ported from libmpcodecs
690 - add libavresample audio conversion library for compatibility
691 - MicroDVD decoder
692 - Avid Meridien (AVUI) encoder and decoder
693 - accept + prefix to -pix_fmt option to disable automatic conversions.
694 - complete audio filtering in libavfilter and ffmpeg
695 - add fps filter
696 - vorbis parser
697 - png parser
698 - audio mix filter
699 - ffv1: support (draft) version 1.3
700
701
702 version 0.10:
703
704 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
705          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
706          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
707          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
708 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
709 - SBaGen (SBG) binaural beats script demuxer
710 - OpenMG Audio muxer
711 - Timecode extraction in DV and MOV
712 - thumbnail video filter
713 - XML output in ffprobe
714 - asplit audio filter
715 - tinterlace video filter
716 - astreamsync audio filter
717 - amerge audio filter
718 - ISMV (Smooth Streaming) muxer
719 - GSM audio parser
720 - SMJPEG muxer
721 - XWD encoder and decoder
722 - Automatic thread count based on detection number of (available) CPU cores
723 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
724 - ffprobe -show_error option
725 - Avid 1:1 10-bit RGB Packer codec
726 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
727 - yuv4 libquicktime packed 4:2:0 encoder and decoder
728 - ffprobe -show_frames option
729 - silencedetect audio filter
730 - ffprobe -show_program_version, -show_library_versions, -show_versions options
731 - rv34: frame-level multi-threading
732 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
733 - Improved PGS subtitle decoder
734 - dumpgraph option to lavfi device
735 - r210 and r10k encoders
736 - ffwavesynth decoder
737 - aviocat tool
738 - ffeval tool
739 - support encoding and decoding 4-channel SGI images
740
741
742 version 0.9:
743
744 - openal input device added
745 - boxblur filter added
746 - BWF muxer
747 - Flash Screen Video 2 decoder
748 - lavfi input device added
749 - added avconv, which is almost the same for now, except
750 for a few incompatible changes in the options, which will hopefully make them
751 easier to use. The changes are:
752     * The options placement is now strictly enforced! While in theory the
753       options for ffmpeg should be given in [input options] -i INPUT [output
754       options] OUTPUT order, in practice it was possible to give output options
755       before the -i and it mostly worked. Except when it didn't - the behavior was
756       a bit inconsistent. In avconv, it is not possible to mix input and output
757       options. All non-global options are reset after an input or output filename.
758     * All per-file options are now truly per-file - they apply only to the next
759       input or output file and specifying different values for different files
760       will now work properly (notably -ss and -t options).
761     * All per-stream options are now truly per-stream - it is possible to
762       specify which stream(s) should a given option apply to. See the Stream
763       specifiers section in the avconv manual for details.
764     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
765       sense that they're specified after the output filename instead of before,
766       like all other options. In avconv this irregularity is removed, all options
767       apply to the next input or output file.
768     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
769       irregular and highly confusing, they were also redundant. In avconv the -map
770       option will create new streams in the output file and map input streams to
771       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
772       each stream in the first input file.
773     * The -map option now has slightly different and more powerful syntax:
774         + Colons (':') are used to separate file index/stream type/stream index
775           instead of dots. Comma (',') is used to separate the sync stream instead
776           of colon.. This is done for consistency with other options.
777         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
778           output stream from the third input audio stream.
779         + Omitting the stream index now maps all the streams of the given type,
780           not just the first. E.g. -map 0:s creates output streams for all the
781           subtitle streams in the first input file.
782         + Since -map can now match multiple streams, negative mappings were
783           introduced. Negative mappings disable some streams from an already
784           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
785           all the stream in the first input file, except for the second audio
786           stream'.
787     * There is a new option -c (or -codec) for choosing the decoder/encoder to
788       use, which allows to precisely specify target stream(s) consistently with
789       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
790       libvorbis sets the codec for the first audio stream and -c copy copies all
791       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
792       aliases to -c:v/a/s
793     * It is now possible to precisely specify which stream should an AVOption
794       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
795       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
796       syntax is deprecated and will stop working soon.
797     * -map_chapters now takes only an input file index and applies to the next
798       output file. This is consistent with how all the other options work.
799     * -map_metadata now takes only an input metadata specifier and applies to
800       the next output file. Output metadata specifier is now part of the option
801       name, similarly to the AVOptions/map/codec feature above.
802     * -metadata can now be used to set metadata on streams and chapters, e.g.
803       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
804       This made -vlang/-alang/-slang options redundant, so they were removed.
805     * -qscale option now uses stream specifiers and applies to all streams, not
806       just video. I.e. plain -qscale number would now apply to all streams. To get
807       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
808       and -aq is now an alias for -q:a.
809     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
810       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
811     * -itsscale option now uses stream specifiers, so its argument is only the
812       scale parameter.
813     * -intra option was removed, use -g 0 for the same effect.
814     * -psnr option was removed, use -flags +psnr for the same effect.
815     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
816     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
817     * -vtag/-atag/-stag options are now aliases to the new -tag option.
818 - XMV demuxer
819 - LOAS demuxer
820 - ashowinfo filter added
821 - Windows Media Image decoder
822 - amovie source added
823 - LATM muxer/demuxer
824 - Speex encoder via libspeex
825 - JSON output in ffprobe
826 - WTV muxer
827 - Optional C++ Support (needed for libstagefright)
828 - H.264 Decoding on Android via Stagefright
829 - Prores decoder
830 - BIN/XBIN/ADF/IDF text file decoder
831 - aconvert audio filter added
832 - audio support to lavfi input device added
833 - libcdio-paranoia input device for audio CD grabbing
834 - Apple ProRes decoder
835 - CELT in Ogg demuxing
836 - G.723.1 demuxer and decoder
837 - libmodplug support (--enable-libmodplug)
838 - VC-1 interlaced decoding
839 - libutvideo wrapper (--enable-libutvideo)
840 - aevalsrc audio source added
841 - Ut Video decoder
842 - Speex encoding via libspeex
843 - 4:2:2 H.264 decoding support
844 - 4:2:2 and 4:4:4 H.264 encoding with libx264
845 - Pulseaudio input device
846 - Prores encoder
847 - Video Decoder Acceleration (VDA) HWAccel module.
848 - replacement Indeo 3 decoder
849 - new ffmpeg option: -map_channel
850 - volume audio filter added
851 - earwax audio filter added
852 - libv4l2 support (--enable-libv4l2)
853 - TLS/SSL and HTTPS protocol support
854 - AVOptions API rewritten and documented
855 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
856   AVCodecContext deprecated. Codec private options should be used instead.
857 - Properly working defaults in libx264 wrapper, support for native presets.
858 - Encrypted OMA files support
859 - Discworld II BMV decoding support
860 - VBLE Decoder
861 - OS X Video Decoder Acceleration (VDA) support
862 - compact and csv output in ffprobe
863 - pan audio filter
864 - IFF Amiga Continuous Bitmap (ACBM) decoder
865 - ass filter
866 - CRI ADX audio format muxer and demuxer
867 - Playstation Portable PMP format demuxer
868 - Microsoft Windows ICO demuxer
869 - life source
870 - PCM format support in OMA demuxer
871 - CLJR encoder
872 - new option: -report
873 - Dxtory capture format decoder
874 - cellauto source
875 - Simple segmenting muxer
876 - Indeo 4 decoder
877 - SMJPEG demuxer
878
879
880 version 0.8:
881
882 - many many things we forgot because we rather write code than changelogs
883 - WebM support in Matroska de/muxer
884 - low overhead Ogg muxing
885 - MMS-TCP support
886 - VP8 de/encoding via libvpx
887 - Demuxer for On2's IVF format
888 - Pictor/PC Paint decoder
889 - HE-AAC v2 decoder
890 - HE-AAC v2 encoding with libaacplus
891 - libfaad2 wrapper removed
892 - DTS-ES extension (XCh) decoding support
893 - native VP8 decoder
894 - RTSP tunneling over HTTP
895 - RTP depacketization of SVQ3
896 - -strict inofficial replaced by -strict unofficial
897 - ffplay -exitonkeydown and -exitonmousedown options added
898 - native GSM / GSM MS decoder
899 - RTP depacketization of QDM2
900 - ANSI/ASCII art playback system
901 - Lego Mindstorms RSO de/muxer
902 - libavcore added (and subsequently removed)
903 - SubRip subtitle file muxer and demuxer
904 - Chinese AVS encoding via libxavs
905 - ffprobe -show_packets option added
906 - RTP packetization of Theora and Vorbis
907 - RTP depacketization of MP4A-LATM
908 - RTP packetization and depacketization of VP8
909 - hflip filter
910 - Apple HTTP Live Streaming demuxer
911 - a64 codec
912 - MMS-HTTP support
913 - G.722 ADPCM audio encoder/decoder
914 - R10k video decoder
915 - ocv_smooth filter
916 - frei0r wrapper filter
917 - change crop filter syntax to width:height:x:y
918 - make the crop filter accept parametric expressions
919 - make ffprobe accept AVFormatContext options
920 - yadif filter
921 - blackframe filter
922 - Demuxer for Leitch/Harris' VR native stream format (LXF)
923 - RTP depacketization of the X-QT QuickTime format
924 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
925 - cropdetect filter
926 - ffmpeg -crop* options removed
927 - transpose filter added
928 - ffmpeg -force_key_frames option added
929 - demuxer for receiving raw rtp:// URLs without an SDP description
930 - single stream LATM/LOAS decoder
931 - setpts filter added
932 - Win64 support for optimized x86 assembly functions
933 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
934 - ASS subtitle encoder and decoder
935 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
936 - overlay filter added
937 - rename aspect filter to setdar, and pixelaspect to setsar
938 - IEC 61937 demuxer
939 - Mobotix .mxg demuxer
940 - frei0r source added
941 - hqdn3d filter added
942 - RTP depacketization of QCELP
943 - FLAC parser added
944 - gradfun filter added
945 - AMR-WB decoder
946 - replace the ocv_smooth filter with a more generic ocv filter
947 - Windows Televison (WTV) demuxer
948 - FFmpeg metadata format muxer and demuxer
949 - SubRip (srt) subtitle encoder and decoder
950 - floating-point AC-3 encoder added
951 - Lagarith decoder
952 - ffmpeg -copytb option added
953 - IVF muxer added
954 - Wing Commander IV movies decoder added
955 - movie source added
956 - Bink version 'b' audio and video decoder
957 - Bitmap Brothers JV playback system
958 - Apple HTTP Live Streaming protocol handler
959 - sndio support for playback and record
960 - Linux framebuffer input device added
961 - Chronomaster DFA decoder
962 - DPX image encoder
963 - MicroDVD subtitle file muxer and demuxer
964 - Playstation Portable PMP format demuxer
965 - fieldorder video filter added
966 - AAC encoding via libvo-aacenc
967 - AMR-WB encoding via libvo-amrwbenc
968 - xWMA demuxer
969 - Mobotix MxPEG decoder
970 - VP8 frame-multithreading
971 - NEON optimizations for VP8
972 - Lots of deprecated API cruft removed
973 - fft and imdct optimizations for AVX (Sandy Bridge) processors
974 - showinfo filter added
975 - SMPTE 302M AES3 audio decoder
976 - Apple Core Audio Format muxer
977 - 9bit and 10bit per sample support in the H.264 decoder
978 - 9bit and 10bit FFV1 encoding / decoding
979 - split filter added
980 - select filter added
981 - sdl output device added
982 - libmpcodecs video filter support (3 times as many filters than before)
983 - mpeg2 aspect ratio dection fixed
984 - libxvid aspect pickiness fixed
985 - Frame multithreaded decoding
986 - E-AC-3 audio encoder
987 - ac3enc: add channel coupling support
988 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
989 - H264/MPEG frame-level multi-threading
990 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
991 - 4:4:4 H.264 decoding support
992 - 10-bit H.264 optimizations for x86
993 - lut, lutrgb, and lutyuv filters added
994 - buffersink libavfilter sink added
995 - Bump libswscale for recently reported ABI break
996 - New J2K encoder (via OpenJPEG)
997
998
999 version 0.7:
1000
1001 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
1002
1003
1004 version 0.6:
1005
1006 - PB-frame decoding for H.263
1007 - deprecated vhook subsystem removed
1008 - deprecated old scaler removed
1009 - VQF demuxer
1010 - Alpha channel scaler
1011 - PCX encoder
1012 - RTP packetization of H.263
1013 - RTP packetization of AMR
1014 - RTP depacketization of Vorbis
1015 - CorePNG decoding support
1016 - Cook multichannel decoding support
1017 - introduced avlanguage helpers in libavformat
1018 - 8088flex TMV demuxer and decoder
1019 - per-stream language-tags extraction in asfdec
1020 - V210 decoder and encoder
1021 - remaining GPL parts in AC-3 decoder converted to LGPL
1022 - QCP demuxer
1023 - SoX native format muxer and demuxer
1024 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
1025 - DPX image decoder
1026 - Electronic Arts Madcow decoder
1027 - DivX (XSUB) subtitle encoder
1028 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
1029 - experimental AAC encoder
1030 - RTP depacketization of ASF and RTSP from WMS servers
1031 - RTMP support in libavformat
1032 - noX handling for OPT_BOOL X options
1033 - Wave64 demuxer
1034 - IEC-61937 compatible Muxer
1035 - TwinVQ decoder
1036 - Bluray (PGS) subtitle decoder
1037 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
1038 - WMA Pro decoder
1039 - Core Audio Format demuxer
1040 - ATRAC1 decoder
1041 - MD STUDIO audio demuxer
1042 - RF64 support in WAV demuxer
1043 - MPEG-4 Audio Lossless Coding (ALS) decoder
1044 - -formats option split into -formats, -codecs, -bsfs, and -protocols
1045 - IV8 demuxer
1046 - CDG demuxer and decoder
1047 - R210 decoder
1048 - Auravision Aura 1 and 2 decoders
1049 - Deluxe Paint Animation playback system
1050 - SIPR decoder
1051 - Adobe Filmstrip muxer and demuxer
1052 - RTP depacketization of H.263
1053 - Bink demuxer and audio/video decoders
1054 - enable symbol versioning by default for linkers that support it
1055 - IFF PBM/ILBM bitmap decoder
1056 - concat protocol
1057 - Indeo 5 decoder
1058 - RTP depacketization of AMR
1059 - WMA Voice decoder
1060 - ffprobe tool
1061 - AMR-NB decoder
1062 - RTSP muxer
1063 - HE-AAC v1 decoder
1064 - Kega Game Video (KGV1) decoder
1065 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
1066 - RTP depacketization of Theora
1067 - HTTP Digest authentication
1068 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
1069 - Psygnosis YOP demuxer and video decoder
1070 - spectral extension support in the E-AC-3 decoder
1071 - unsharp video filter
1072 - RTP hinting in the mov/3gp/mp4 muxer
1073 - Dirac in Ogg demuxing
1074 - seek to keyframes in Ogg
1075 - 4:2:2 and 4:4:4 Theora decoding
1076 - 35% faster VP3/Theora decoding
1077 - faster AAC decoding
1078 - faster H.264 decoding
1079 - RealAudio 1.0 (14.4K) encoder
1080
1081
1082 version 0.5:
1083
1084 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
1085 - TechSmith Camtasia (TSCC) video decoder
1086 - IBM Ultimotion (ULTI) video decoder
1087 - Sierra Online audio file demuxer and decoder
1088 - Apple QuickDraw (qdrw) video decoder
1089 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
1090 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
1091 - Miro VideoXL (VIXL) video decoder
1092 - H.261 video encoder
1093 - QPEG video decoder
1094 - Nullsoft Video (NSV) file demuxer
1095 - Shorten audio decoder
1096 - LOCO video decoder
1097 - Apple Lossless Audio Codec (ALAC) decoder
1098 - Winnov WNV1 video decoder
1099 - Autodesk Animator Studio Codec (AASC) decoder
1100 - Indeo 2 video decoder
1101 - Fraps FPS1 video decoder
1102 - Snow video encoder/decoder
1103 - Sonic audio encoder/decoder
1104 - Vorbis audio decoder
1105 - Macromedia ADPCM decoder
1106 - Duck TrueMotion 2 video decoder
1107 - support for decoding FLX and DTA extensions in FLIC files
1108 - H.264 custom quantization matrices support
1109 - ffserver fixed, it should now be usable again
1110 - QDM2 audio decoder
1111 - Real Cooker audio decoder
1112 - TrueSpeech audio decoder
1113 - WMA2 audio decoder fixed, now all files should play correctly
1114 - RealAudio 14.4 and 28.8 decoders fixed
1115 - JPEG-LS decoder
1116 - build system improvements
1117 - tabs and trailing whitespace removed from the codebase
1118 - CamStudio video decoder
1119 - AIFF/AIFF-C audio format, encoding and decoding
1120 - ADTS AAC file reading and writing
1121 - Creative VOC file reading and writing
1122 - American Laser Games multimedia (*.mm) playback system
1123 - Zip Motion Blocks Video decoder
1124 - improved Theora/VP3 decoder
1125 - True Audio (TTA) decoder
1126 - AVS demuxer and video decoder
1127 - JPEG-LS encoder
1128 - Smacker demuxer and decoder
1129 - NuppelVideo/MythTV demuxer and RTjpeg decoder
1130 - KMVC decoder
1131 - MPEG-2 intra VLC support
1132 - MPEG-2 4:2:2 encoder
1133 - Flash Screen Video decoder
1134 - GXF demuxer
1135 - Chinese AVS decoder
1136 - GXF muxer
1137 - MXF demuxer
1138 - VC-1/WMV3/WMV9 video decoder
1139 - MacIntel support
1140 - AviSynth support
1141 - VMware video decoder
1142 - VP5 video decoder
1143 - VP6 video decoder
1144 - WavPack lossless audio decoder
1145 - Targa (.TGA) picture decoder
1146 - Vorbis audio encoder
1147 - Delphine Software .cin demuxer/audio and video decoder
1148 - Tiertex .seq demuxer/video decoder
1149 - MTV demuxer
1150 - TIFF picture encoder and decoder
1151 - GIF picture decoder
1152 - Intel Music Coder decoder
1153 - Zip Motion Blocks Video encoder
1154 - Musepack decoder
1155 - Flash Screen Video encoder
1156 - Theora encoding via libtheora
1157 - BMP encoder
1158 - WMA encoder
1159 - GSM-MS encoder and decoder
1160 - DCA decoder
1161 - DXA demuxer and decoder
1162 - DNxHD decoder
1163 - Gamecube movie (.THP) playback system
1164 - Blackfin optimizations
1165 - Interplay C93 demuxer and video decoder
1166 - Bethsoft VID demuxer and video decoder
1167 - CRYO APC demuxer
1168 - ATRAC3 decoder
1169 - V.Flash PTX decoder
1170 - RoQ muxer, RoQ audio encoder
1171 - Renderware TXD demuxer and decoder
1172 - extern C declarations for C++ removed from headers
1173 - sws_flags command line option
1174 - codebook generator
1175 - RoQ video encoder
1176 - QTRLE encoder
1177 - OS/2 support removed and restored again
1178 - AC-3 decoder
1179 - NUT muxer
1180 - additional SPARC (VIS) optimizations
1181 - Matroska muxer
1182 - slice-based parallel H.264 decoding
1183 - Monkey's Audio demuxer and decoder
1184 - AMV audio and video decoder
1185 - DNxHD encoder
1186 - H.264 PAFF decoding
1187 - Nellymoser ASAO decoder
1188 - Beam Software SIFF demuxer and decoder
1189 - libvorbis Vorbis decoding removed in favor of native decoder
1190 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
1191 - Ogg (Theora, Vorbis and FLAC) muxer
1192 - The "device" muxers and demuxers are now in a new libavdevice library
1193 - PC Paintbrush PCX decoder
1194 - Sun Rasterfile decoder
1195 - TechnoTrend PVA demuxer
1196 - Linux Media Labs MPEG-4 (LMLM4) demuxer
1197 - AVM2 (Flash 9) SWF muxer
1198 - QT variant of IMA ADPCM encoder
1199 - VFW grabber
1200 - iPod/iPhone compatible mp4 muxer
1201 - Mimic decoder
1202 - MSN TCP Webcam stream demuxer
1203 - RL2 demuxer / decoder
1204 - IFF demuxer
1205 - 8SVX audio decoder
1206 - non-recursive Makefiles
1207 - BFI demuxer
1208 - MAXIS EA XA (.xa) demuxer / decoder
1209 - BFI video decoder
1210 - OMA demuxer
1211 - MLP/TrueHD decoder
1212 - Electronic Arts CMV decoder
1213 - Motion Pixels Video decoder
1214 - Motion Pixels MVI demuxer
1215 - removed animated GIF decoder/demuxer
1216 - D-Cinema audio muxer
1217 - Electronic Arts TGV decoder
1218 - Apple Lossless Audio Codec (ALAC) encoder
1219 - AAC decoder
1220 - floating point PCM encoder/decoder
1221 - MXF muxer
1222 - DV100 AKA DVCPRO HD decoder and demuxer
1223 - E-AC-3 support added to AC-3 decoder
1224 - Nellymoser ASAO encoder
1225 - ASS and SSA demuxer and muxer
1226 - liba52 wrapper removed
1227 - SVQ3 watermark decoding support
1228 - Speex decoding via libspeex
1229 - Electronic Arts TGQ decoder
1230 - RV40 decoder
1231 - QCELP / PureVoice decoder
1232 - RV30 decoder
1233 - hybrid WavPack support
1234 - R3D REDCODE demuxer
1235 - ALSA support for playback and record
1236 - Electronic Arts TQI decoder
1237 - OpenJPEG based JPEG 2000 decoder
1238 - NC (NC4600) camera file demuxer
1239 - Gopher client support
1240 - MXF D-10 muxer
1241 - generic metadata API
1242 - flash ScreenVideo2 encoder
1243
1244
1245 version 0.4.9-pre1:
1246
1247 - DV encoder, DV muxer
1248 - Microsoft RLE video decoder
1249 - Microsoft Video-1 decoder
1250 - Apple Animation (RLE) decoder
1251 - Apple Graphics (SMC) decoder
1252 - Apple Video (RPZA) decoder
1253 - Cinepak decoder
1254 - Sega FILM (CPK) file demuxer
1255 - Westwood multimedia support (VQA & AUD files)
1256 - Id Quake II CIN playback support
1257 - 8BPS video decoder
1258 - FLIC playback support
1259 - RealVideo 2.0 (RV20) decoder
1260 - Duck TrueMotion v1 (DUCK) video decoder
1261 - Sierra VMD demuxer and video decoder
1262 - MSZH and ZLIB decoder support
1263 - SVQ1 video encoder
1264 - AMR-WB support
1265 - PPC optimizations
1266 - rate distortion optimal cbp support
1267 - rate distorted optimal ac prediction for MPEG-4
1268 - rate distorted optimal lambda->qp support
1269 - AAC encoding with libfaac
1270 - Sunplus JPEG codec (SP5X) support
1271 - use Lagrange multipler instead of QP for ratecontrol
1272 - Theora/VP3 decoding support
1273 - XA and ADX ADPCM codecs
1274 - export MPEG-2 active display area / pan scan
1275 - Add support for configuring with IBM XLC
1276 - floating point AAN DCT
1277 - initial support for zygo video (not complete)
1278 - RGB ffv1 support
1279 - new audio/video parser API
1280 - av_log() system
1281 - av_read_frame() and av_seek_frame() support
1282 - missing last frame fixes
1283 - seek by mouse in ffplay
1284 - noise reduction of DCT coefficients
1285 - H.263 OBMC & 4MV support
1286 - H.263 alternative inter vlc support
1287 - H.263 loop filter
1288 - H.263 slice structured mode
1289 - interlaced DCT support for MPEG-2 encoding
1290 - stuffing to stay above min_bitrate
1291 - MB type & QP visualization
1292 - frame stepping for ffplay
1293 - interlaced motion estimation
1294 - alternate scantable support
1295 - SVCD scan offset support
1296 - closed GOP support
1297 - SSE2 FDCT
1298 - quantizer noise shaping
1299 - G.726 ADPCM audio codec
1300 - MS ADPCM encoding
1301 - multithreaded/SMP motion estimation
1302 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
1303 - multithreaded/SMP decoding for MPEG-2
1304 - FLAC decoder
1305 - Metrowerks CodeWarrior suppport
1306 - H.263+ custom pcf support
1307 - nicer output for 'ffmpeg -formats'
1308 - Matroska demuxer
1309 - SGI image format, encoding and decoding
1310 - H.264 loop filter support
1311 - H.264 CABAC support
1312 - nicer looking arrows for the motion vector visualization
1313 - improved VCD support
1314 - audio timestamp drift compensation
1315 - MPEG-2 YUV 422/444 support
1316 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
1317 - better image scaling
1318 - H.261 support
1319 - correctly interleave packets during encoding
1320 - VIS optimized motion compensation
1321 - intra_dc_precision>0 encoding support
1322 - support reuse of motion vectors/MB types/field select values of the source video
1323 - more accurate deblock filter
1324 - padding support
1325 - many optimizations and bugfixes
1326 - FunCom ISS audio file demuxer and according ADPCM decoding
1327
1328
1329 version 0.4.8:
1330
1331 - MPEG-2 video encoding (Michael)
1332 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1333 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1334   and Mario Brito)
1335 - Xan DPCM audio decoder (Mario Brito)
1336 - Interplay MVE playback subsystem (Mike Melanson)
1337 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1338
1339
1340 version 0.4.7:
1341
1342 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1343   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1344 - current version now also compiles with older GCC (Fabrice)
1345 - 4X multimedia playback system including 4xm file demuxer (Mike
1346   Melanson), and 4X video and audio codecs (Michael)
1347 - Creative YUV (CYUV) decoder (Mike Melanson)
1348 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1349   than HuffYUV) (Michael)
1350 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1351 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1352   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1353 - ffplay has been replaced with a newer version which uses SDL (optionally)
1354   for multiplatform support (Fabrice)
1355 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1356   by anonymous
1357 - AMR format has been added (Johannes Carlsson)
1358 - 3GP support has been added (Johannes Carlsson)
1359 - VP3 codec has been added (Mike Melanson)
1360 - more MPEG-1/2 fixes
1361 - better multiplatform support, MS Visual Studio fixes (various)
1362 - AltiVec optimizations (Magnus Damn and others)
1363 - SH4 processor support has been added (BERO)
1364 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1365 - VOB streaming support (Brian Foley)
1366 - better MP3 autodetection (Andriy Rysin)
1367 - qpel encoding (Michael)
1368 - 4mv+b frames encoding finally fixed (Michael)
1369 - chroma ME (Michael)
1370 - 5 comparison functions for ME (Michael)
1371 - B-frame encoding speedup (Michael)
1372 - WMV2 codec (unfinished - Michael)
1373 - user specified diamond size for EPZS (Michael)
1374 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1375 - ASV2 codec (Michael)
1376 - CLJR decoder (Alex)
1377
1378 .. And lots more new enhancements and fixes.
1379
1380
1381 version 0.4.6:
1382
1383 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1384   from scratch
1385 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1386 - fix quantization bug in AC3 encoder
1387 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1388 - added prototype ffplay program
1389 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1390 - bug fix on MCBPC tables of H.263 (Juanjo)
1391 - bug fix on DC coefficients of H.263 (Juanjo)
1392 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1393 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1394 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1395 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1396 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1397 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1398 - added first regression tests
1399 - added MPEG-2 TS demuxer
1400 - new demux API for libav
1401 - more accurate and faster IDCT (Michael)
1402 - faster and entropy-controlled motion search (Michael)
1403 - two pass video encoding (Michael)
1404 - new video rate control (Michael)
1405 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1406 - great performance improvement of video encoders and decoders (Michael)
1407 - new and faster bit readers and vlc parsers (Michael)
1408 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1409 - added DV video decoder
1410 - preliminary RTP/RTSP support in ffserver and libavformat
1411 - H.263+ AIC decoding/encoding support (Juanjo)
1412 - VCD MPEG-PS mode (Juanjo)
1413 - PSNR stuff (Juanjo)
1414 - simple stats output (Juanjo)
1415 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1416
1417
1418 version 0.4.5:
1419
1420 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1421 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1422 - added configure system (actually a small shell script)
1423 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1424   Michael Hipp (temporary solution - waiting for integer only
1425   decoder)
1426 - fixed VIDIOCSYNC interrupt
1427 - added Intel H.263 decoding support ('I263' AVI fourCC)
1428 - added Real Video 1.0 decoding (needs further testing)
1429 - simplified image formats again. Added PGM format (=grey
1430   pgm). Renamed old PGM to PGMYUV.
1431 - fixed msmpeg4 slice issues (tell me if you still find problems)
1432 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1433 - added support for MPlayer interface
1434 - added macroblock skip optimization
1435 - added MJPEG decoder
1436 - added mmx/mmxext IDCT from libmpeg2
1437 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1438   <celer at shell.scrypt.net>)
1439 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1440 - added deinterlacing option
1441 - MPEG-1/2 fixes
1442 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1443 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1444 - Windows porting of file converter
1445 - added MJPEG raw format (input/output)
1446 - added JPEG image format support (input/output)
1447
1448
1449 version 0.4.4:
1450
1451 - fixed some std header definitions (Bjorn Lindgren
1452   <bjorn.e.lindgren at telia.com>).
1453 - added MPEG demuxer (MPEG-1 and 2 compatible).
1454 - added ASF demuxer
1455 - added prototype RM demuxer
1456 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1457 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1458   header does not include them)
1459 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1460   play them (only tested video)
1461 - fixed H.263 white bug
1462 - fixed phase rounding in img resample filter
1463 - add MMX code for polyphase img resample filter
1464 - added CPU autodetection
1465 - added generic title/author/copyright/comment string handling (ASF and RM
1466   use them)
1467 - added SWF demux to extract MP3 track (not usable yet because no MP3
1468   decoder)
1469 - added fractional frame rate support
1470 - codecs are no longer searched by read_header() (should fix ffserver
1471   segfault)
1472
1473
1474 version 0.4.3:
1475
1476 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1477 - fixed raw yuv output
1478 - added motion rounding support in MPEG-4
1479 - fixed motion bug rounding in MSMPEG4
1480 - added B-frame handling in video core
1481 - added full MPEG-1 decoding support
1482 - added partial (frame only) MPEG-2 support
1483 - changed the FOURCC code for H.263 to "U263" to be able to see the
1484   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1485   this +codec ;) (JuanJo).
1486 - Halfpel motion estimation after MB type selection (JuanJo)
1487 - added pgm and .Y.U.V output format
1488 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1489   output.
1490 - added pgmpipe I/O format (original patch from Martin Aumueller
1491   <lists at reserv.at>, but changed completely since we use a format
1492   instead of a protocol)
1493
1494
1495 version 0.4.2:
1496
1497 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1498   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1499   missing. MSMPEG4 support is complete.
1500 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1501   can decode ffmpeg MPEGs :-)).
1502 - added libavcodec API documentation (see apiexample.c).
1503 - fixed image polyphase bug (the bottom of some images could be
1504   greenish)
1505 - added support for non clipped motion vectors (decoding only)
1506   and image sizes non-multiple of 16
1507 - added support for AC prediction (decoding only)
1508 - added file overwrite confirmation (can be disabled with -y)
1509 - added custom size picture to H.263 using H.263+ (Juanjo)
1510
1511
1512 version 0.4.1:
1513
1514 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1515   of AVI and ASF to DIV3.
1516 - added -me option to set motion estimation method
1517   (default=log). suppressed redundant -hq option.
1518 - added options -acodec and -vcodec to force a given codec (useful for
1519   AVI for example)
1520 - fixed -an option
1521 - improved dct_quantize speed
1522 - factorized some motion estimation code
1523
1524
1525 version 0.4.0:
1526
1527 - removing grab code from ffserver and moved it to ffmpeg. Added
1528   multistream support to ffmpeg.
1529 - added timeshifting support for live feeds (option ?date=xxx in the
1530   URL)
1531 - added high quality image resize code with polyphase filter (need
1532   mmx/see optimization). Enable multiple image size support in ffserver.
1533 - added multi live feed support in ffserver
1534 - suppressed master feature from ffserver (it should be done with an
1535   external program which opens the .ffm url and writes it to another
1536   ffserver)
1537 - added preliminary support for video stream parsing (WAV and AVI half
1538   done). Added proper support for audio/video file conversion in
1539   ffmpeg.
1540 - added preliminary support for video file sending from ffserver
1541 - redesigning I/O subsystem: now using URL based input and output
1542   (see avio.h)
1543 - added WAV format support
1544 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1545 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1546   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1547 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1548 - added new motion estimation algorithms, log and phods (Juanjo)
1549 - changed directories: libav for format handling, libavcodec for
1550   codecs
1551
1552
1553 version 0.3.4:
1554
1555 - added stereo in MPEG audio encoder
1556
1557
1558 version 0.3.3:
1559
1560 - added 'high quality' mode which use motion vectors. It can be used in
1561   real time at low resolution.
1562 - fixed rounding problems which caused quality problems at high
1563   bitrates and large GOP size
1564
1565
1566 version 0.3.2: small fixes
1567
1568 - ASF fixes
1569 - put_seek bug fix
1570
1571
1572 version 0.3.1: added avi/divx support
1573
1574 - added AVI support
1575 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1576 - added sound for flash format (not tested)
1577
1578
1579 version 0.3: initial public release