on2avc: limit number of bits to 30 in get_egolomb
[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.4.12:
5 - avcodec/ffv1dec: Clear quant_table_count if its invalid
6 - avcodec/ffv1dec: Print an error if the quant table count is invalid
7 - avcodec/hevc: Check max ctb addresses for WPP
8 - avcodec/vp3: ensure header is parsed successfully before tables
9 - avcodec/jpeg2000dec: Check bpno in decode_cblk()
10 - avcodec/pgssubdec: Fix left shift of 255 by 24 places cannot be represented in type int
11 - swscale/utils: Fix for runtime error: left shift of negative value -1
12 - avcodec/hevc: Fix integer overflow of entry_point_offset
13 - avcodec/dirac_parser: Check that there is a previous PU before accessing it
14 - avcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset
15 - avcodec/dirac_parser: Fix potential overflows in pointer checks
16 - avcodec/wmaprodec: Check bits per sample to be within the range not causing integer overflows
17 - avcodec/wmaprodec: Fix overflow of cutoff
18 - avformat/smacker: fix integer overflow with pts_inc
19 - avcodec/vp3: Fix "runtime error: left shift of negative value"
20 - mpegencts: Fix overflow in cbr mode period calculations
21 - avutil/timecode: Fix fps check
22 - avutil/mathematics: return INT64_MIN (=AV_NOPTS_VALUE) from av_rescale_rnd() for overflows
23 - avcodec/apedec: Check length in long_filter_high_3800()
24 - avcodec/vp3: always set pix_fmt in theora_decode_header()
25 - avcodec/mpeg4videodec: Check available data before reading custom matrix
26 - avutil/mathematics: Do not treat INT64_MIN as positive in av_rescale_rnd
27 - avutil/integer: Fix av_mod_i() with negative dividend
28 - avformat/dump: Fix integer overflow in av_dump_format()
29 - avcodec/utils: Clear dimensions in ff_get_buffer() on failure
30 - avcodec/utils: Use 64bit for aspect ratio calculation in avcodec_string()
31 - avcodec/vp3: Clear context on reinitialization failure
32 - avcodec/hevc: allocate entries unconditionally
33 - avcodec/hevc_cabac: Fix multiple integer overflows
34 - avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_encode*()
35 - avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_decode*()
36 - avcodec/hevc: Check entry_point_offsets
37 - avcodec/cabac: Check initial cabac decoder state
38 - avcodec/cabac_functions: Fix "left shift of negative value -31767"
39 - avcodec/h264_slice: Limit max_contexts when slice_context_count is initialized
40 - avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup
41 - rtmpcrypt: Do the xtea decryption in little endian mode
42 - avformat/matroskadec: Check subtitle stream before dereferencing
43 - avformat/utils: Do not init parser if probing is unfinished
44 - avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
45 - avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
46 - avcodec/jpeg2000: Check comp coords to be within the supported size
47 - avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
48 - avcodec/wmaprodec: Check for overread in decode_packet()
49 - avcodec/smacker: Check that the data size is a multiple of a sample vector
50 - avcodec/takdec: Skip last p2 sample (which is unused)
51 - avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
52 - avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
53 - avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
54 - avcodec/dpx: Move need_align to act per line
55 - avcodec/flashsv: Check size before updating it
56 - avcodec/ivi: Check image dimensions
57 - avcodec/utils: Better check for channels in av_get_audio_frame_duration()
58 - avcodec/jpeg2000dec: Check for duplicate SIZ marker
59 - avcodec/jpeg2000dec: Clip all tile coordinates
60 - avcodec/microdvddec: Check for string end in 'P' case
61 - avcodec/dirac_parser: Fix undefined memcpy() use
62 - avformat/xmv: Discard remainder of packet on error
63 - avformat/xmv: factor return check out of if/else
64 - libavutil/channel_layout: Check strtol*() for failure
65 - avcodec/ffv1dec: Check for 0 quant tables
66 - avcodec/mjpegdec: Reinitialize IDCT on BPP changes
67 - avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
68 - avutil/file_open: avoid file handle inheritance on Windows
69 - avcodec/ffv1: Initialize vlc_state on allocation
70 - avcodec/ffv1dec: update progress in case of broken pointer chains
71 - avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
72 - avformat/httpauth: Add space after commas in HTTP/RTSP auth header
73 - avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
74 - avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
75 - avcodec/ffv1dec: Explicitly check read_quant_table() return value
76 - avcodec/rangecoder: Check e
77 - lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
78 - avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
79 - avfilter/af_asyncts: use llabs for int64_t
80 - avcodec/g2meet: Also clear tile dimensions on header_fail
81 - avcodec/g2meet: Fix potential overflow in tile dimensions check
82 - avcodec/svq1dec: Check init_get_bits8() for failure
83 - avcodec/tta: Check init_get_bits8() for failure
84 - swresample/swresample: Fix integer overflow in seed calculation
85 - avformat/mov: Fix integer overflow in FFABS
86 - avutil/common: Add FFNABS()
87 - avutil/common: Document FFABS() corner case
88 - avformat/dump: Fix integer overflow in aspect ratio calculation
89 - avcodec/truemotion1: Check for even width
90 - avcodec/libopusenc: Fix infinite loop on flushing after 0 input
91 - doc/filters/drawtext: fix centering example
92 - avcodec: avoid division by zero in avcodec_string
93 - mpegvideo: clear overread in clear_context
94 - dvdsubdec: validate offset2 similar to offset1
95 - avcodec/takdec: Use memove, avoid undefined memcpy() use
96 - jvdec: avoid unsigned overflow in comparison
97 - avcodec/mpeg12dec: Do not call show_bits() with invalid bits
98 - opusdec: Don't run vector_fmul_scalar on zero length arrays
99 - avcodec/opusdec: Fix extra samples read index
100 - riffdec: prevent negative bit rate
101 - Merge commit 'd80811c94e068085aab797f9ba35790529126f85'
102 - imc: use correct position for flcoeffs2 calculation
103 - snow: remove an obsolete av_assert2
104 - wavpack: limit extra_bits to 32 and use get_bits_long
105 - huffyuvdec: validate image size
106 - wavpack: use get_bits_long to read up to 32 bits
107 - nutdec: check maxpos in read_sm_data before returning success
108 - s302m: fix arithmetic exception
109 - mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
110 - vc1dec: use get_bits_long and limit the read bits to 32
111 - avcodec/s302m: Only set the sample rate when some data is output
112 - avidec: check for valid bit_rate range
113 - vp9: add support for resolution changes in inter frames.
114 - vp9: avoid infinite loop with broken files
115 - videodsp: don't overread edges in vfix3 emu_edge.
116 - avformat/oggenc: Check segments_count for headers too
117 - avformat/avidec: Workaround broken initial frame
118 - hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
119 - hevc: fix wpp threading deadlock.
120 - avcodec/ffv1: seperate slice_count from max_slice_count
121 - lavf/img2dec: Fix memory leak
122 - avcodec/mp3: fix skipping zeros
123 - doc: mention libavcodec can decode Opus natively
124
125
126 version 2.4.11:
127 - avformat/hevc: Check num_long_term_ref_pics_sps to avoid potentially long loops
128 - avformat/hevc: Fix parsing errors
129 - ffmpeg: Use correct codec_id for av_parser_change() check
130 - ffmpeg: Check av_parser_change() for failure
131 - avcodec/h264_mp4toannexb_bsf: Reorder operations in nal_size check
132 - ffmpeg: Check for RAWVIDEO and do not relay only on AVFMT_RAWPICTURE
133 - ffmpeg: check avpicture_fill() return value
134 - avformat/mux: Update sidedata in ff_write_chained()
135 - avcodec/flashsvenc: Correct max dimension in error message
136 - avcodec/svq1enc: Check dimensions
137 - avcodec/dcaenc: clear bitstream end
138 - libavcodec/aacdec_template: Use init_get_bits8() in aac_decode_frame()
139 - rawdec: fix mjpeg probing buffer size check
140 - rawdec: fix mjpeg probing
141 - avcodec/vp8: Check buffer size in vp8_decode_frame_header()
142 - avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
143 - avcodec/diracdec: Check for hpel_base allocation failure
144 - avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
145 - avfilter/af_aresample: Check ff_all_* for allocation failures
146 - avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
147 - swscale/utils: Clear pix buffers
148 - avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
149 - avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
150 - ffmpeg: Fix cleanup with ost = NULL
151 - avcodec/pthread_frame: check avctx on deallocation
152 - avcodec/sanm: Reset sizes in destroy_buffers()
153 - avcodec/alac: Clear pointers in allocate_buffers()
154 - bytestream2: set the reader to the end when reading more than available
155 - avcodec/utils: use a minimum 32pixel width in  avcodec_align_dimensions2() for H.264
156 - avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
157 - oggparsedirac: check return value of init_get_bits
158 - wmalosslessdec: reset frame->nb_samples on packet loss
159 - wmalosslessdec: avoid reading 0 bits with get_bits
160 - avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
161 - avcodec/aacsbr: Assert that bs_num_env is positive
162 - avcodec/aacsbr: check that the element type matches before applying SBR
163 - avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
164 - vp9/update_prob: prevent out of bounds table read
165 - avfilter/vf_transpose: Fix rounding error
166 - avcodec/pngdec: Only allow one IHDR chunk
167 - wmavoice: limit wmavoice_decode_packet return value to packet size
168 - swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
169 - ffmpeg: Do not use the data/size of a bitstream filter after failure
170 - swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
171 - swscale/x86/rgb2rgb_template: add missing xmm clobbers
172 - vda: unlock the pixel buffer base address.
173 - swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
174 - swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
175 - swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
176 - swr: Remember previously set int_sample_format from user
177 - matroskadec: check audio sample rate
178 - matroskadec: validate audio channels and bitdepth
179 - avcodec/dpxenc: implement write16/32 as functions
180 - postproc: fix unaligned access
181 - avio: fix potential crashes when combining ffio_ensure_seekback + crc
182 - h264: er: Copy from the previous reference only if compatible
183 - sonic: set avctx->channels in sonic_decode_init
184 - vp8: change mv_{min,max}.{x,y} type to int
185 - vp9: change type of tile_size from unsigned to int64_t
186 - arm: only enable setend on ARMv6
187 - libopenjpegdec: check existence of image component data
188 - mov: abort on EOF in ff_mov_read_chan
189 - ffmpeg_opt: Check for localtime() failure
190 - avformat: Fix bug in parse_rps for HEVC.
191 - takdec: ensure chan2 is a valid channel index
192 - avcodec/h264_slice: Use AVFrame diemensions for grayscale handling
193 - avdevice/lavfi: do not rescale AV_NOPTS_VALUE in lavfi_read_packet()
194 - libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'.
195 - avcodec/jpeg2000dec: Check that coords match before applying ICT
196 - avformat/ffmdec: Check ffio_set_buf_size() return value
197 - avcodec/adpcm: Check for overreads
198 - avcodec/alsdec: Check for overread
199 - avcodec/atrac3plusdec: consume only as many bytes as available
200 - swresample/swresample: Cleanup on init failure.
201 - Revert "avformat/rtpenc: check av_packet_get_side_data() return, fix null ptr dereference"
202 - avformat/mxfenc: Accept MXF D-10 with 49.999840 Mbit/sec
203 - swresample/dither: check memory allocation
204 - opusdec: properly handle mismatching configurations in multichannel streams
205 - MAINTAINERS: Remove myself as leader
206 - h263: Always check both dimensions
207 - avformat/swfdec: Do not error out on pixel format changes
208 - avcodec/exr: fix crash caused by merge
209 - avcodec/x86/h264_weight: handle weight1=128
210 - avcodec/hevc_ps: Only discard overread VPS if a previous is available
211 - avformat/mov: Mark avio context of decompressed atoms as seekable
212 _ avfilter/x86/vf_hqdn3d: Fix register types
213
214 version 2.4.10:
215 - diracdec: check if reference could not be allocated
216 - diracdec: avoid overflow of bytes*8 in decode_lowdelay
217 - diracdec: prevent overflow in data_unit_size check
218 - avformat/matroskadec: Use tracks[k]->stream instead of s->streams[k]
219 - matroskadec: check s->streams[k] before using it
220 - avcodec/ffv1dec: Check chroma shift parameters
221 - matroskadec: use uint64_t instead of int for index_scale
222 - avcodec/wavpack: Check L/R values before use to avoid harmless integer overflow and undefined behavior in fate
223 - nutdec: fix illegal count check in decode_main_header
224 - nutdec: check for negative frame rate in decode_info_header
225 - ffmpeg: remove incorrect network deinit
226 - OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
227 - apedec: set s->samples only when init_frame_decoder succeeded
228 - OS/2:Makedef.cmd cleanup
229 - avcodec/golomb: get_ur_golomb_jpegls: Fix reading huge k values
230 - avformat/mov: Fix parsing short loci
231 - avformat/mov: Print reason of loci parsing failure
232 - avcodec/hevc: Fix typo in num_entry_point_offsets check
233 - avcodec/libtheoraenc: Check for av_malloc failure
234 - avcodec/dcadec: Check active_bands
235 - avcodec/dcadec: Check scale table index
236 - avcodec/sonic: More completely check sample_rate_index and channels
237 - avcodec/sonic: check memory allocations
238 - avcodec/smvjpegdec: check avcodec_decode_video2() return code
239 - avcodec/shorten: More complete pred_order check
240 - avcodec/shorten: Check skip_bytes()
241 - png: Set the color range as full range
242 - mpegts: Update the PSI/SI table only if the version change
243 - rtsp: Make sure we don't write too many transport entries into a fixed-size array
244 - rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
245 - libvpx: Fix mixed use of av_malloc() and av_reallocp()
246 - aacpsy: correct calculation of minath in psy_3gpp_init
247 - avcodec/shorten: Fix code depending on signed overflow behavior
248 - avcodec/proresdec2: Reset slice_count on deallocation
249 - ffmpeg_opt: Fix -timestamp parsing
250 - avcodec/dcadec: Check subsubframes
251 - avcodec/dcadec: Check nchans
252 - hevc: make avcodec_decode_video2() fail if get_format() fails
253 - avcodec/cavsdec: Check esc_code
254 - avcodec/on2avc: Check run more carefully
255 - avcodec/mpeg4audio: add some padding/alignment to MAX_PCE_SIZE
256 - swr: fix alignment issue caused by 8ch sse functions
257 - avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt()
258 - avcodec/jpeg2000dec: fix boolean operator
259 - avcodec/hevc_ps: Explicitly check num_tile_* for negative values
260 - avcodec/hevc_ps: Check vps_num_hrd_parameters
261 - avcodec/hevc_ps: More completely check vps_num_layer_sets
262 - avcodec/hevc: Check num_entry_point_offsets
263 - avcodec/hevc: Check offset_len
264 - libswscale/x86/hscale_fast_bilinear_simd.c: Include BX in the clobber list on x86_64, because it isn't implicitly included when PIC is on.
265 - avcodec/hevc_sei: Check num_sps_ids_minus1 value
266 - avcodec/vqavideo: Check chunk size
267 - aacdec: don't return frames without data
268 - avformat/hevc: Check num_negative_pics and num_positive_pics
269 - avformat/hevc: Check cpb_cnt_minus1
270 - avformat/matroskadec: Cleanup error handling for bz2 & zlib
271 - avformat/nutdec: Fix use of uinitialized value
272 - avformat/rtpenc_jpeg: Check remaining buffer size for SOS
273 - avformat/rtpdec_xiph: Check upper bound on len in xiph_handle_packet()
274 - tools/graph2dot: use larger data types than int for array/string sizes
275 - avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()
276 - avformat/oggenc: Check ff_vorbiscomment_length in ogg_write_vorbiscomment()
277 - avformat/flacenc: Check length in flac_write_block_comment()
278 - avformat/subtitles: Use size_t for len
279 - avformat/url: Use size_t for len from strlen()
280 - avutil/avstring: Use size_t in av_strlcatf()
281 - avformat/vorbiscomment: Check entry length in ff_vorbiscomment_write()
282 - avutil/dict: Use size_t for appending strings
283 - libavutil/mem: use size_t for the length in av_strdup()
284 - aacsbr: break infinite loop in sbr_hf_calc_npatches
285 - diracdec: check that block length is valid
286 - ffmpeg_opt: Set the video VBV parameters only for the video stream from -target
287 - avcodec/bitstream: Assert that there is enough space left in avpriv_copy_bits()
288 - avcodec/put_bits: Assert that there is enough space left in skip_put_bytes()
289 - avcodec/mpegvideo_enc: Update the buffer size as more slices are merged
290 - avcodec/put_bits: Update size_in_bits in set_put_bits_buffer_size()
291 - avformat/wavdec: Increase dts packet threshold to fix more misdetections
292 - avformat/wavdec: Increase probe_packets limit
293 - nutdec: abort if EOF is reached in decode_info_header/read_sm_data
294 - nutdec: stop skipping bytes at EOF
295 - nutdec: fix infinite resync loops
296 - avformat/nutdec: Check X in 2nd branch of index reading
297 - avformat/nutdec: Fix recovery when immedeately after seeking a failure happens
298 - avformat/nutdec: Return error on EOF from get_str()
299 - avcodec/x86/cavsdsp: remove unneeded tmp
300 - nutdec: fix memleaks on error in nut_read_header
301 - avformat/avidec: print a warning for negative sample_size
302 - avidec: avoid infinite loop due to negative ast->sample_size
303 - nutdec: check chapter creation in decode_info_header
304 - apedec: prevent out of array writes in decode_array_0000
305 - avformat/mpegts: Detect changes in packet through CRC instead of just the 5bit version
306 - avformat/mpegts: reset last_ver on corrupted packets
307 - avformat/mpegts: Factorize version checking code out
308 - avformat/mpegts: Also parse the FMC descriptor if the codec has not been identified yet
309 - avformat/mpegts: reset last_version on seeking
310 - avformat/mp3dec: Check for avcodec_alloc_context3() failure
311 - avformat/mp3dec: properly allocate dummy AVCodecContext
312 - lavfi/fade: Do not overread input buffer.
313 - tests: drop bc dependency
314 - alsdec: limit avctx->bits_per_raw_sample to 32
315
316
317 version 2.4.9:
318 - alac: reject rice_limit 0 if compression is used
319 - lavf: Reset global flag on deinit
320 - bink: check vst->index_entries before using it
321 - mpeg4videodec: only allow a positive length
322 - alsdec: check sample pointer range in revert_channel_correlation
323 - avcodec/h264_refs: Do not set reference to things which do not exist
324 - avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
325 - h264: avoid unnecessary calls to get_format
326 - avutil/pca: Check for av_malloc* failures
327 - alsdec: validate time diff index
328 - avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
329 - alsdec: ensure channel reordering is reversible
330 - avcodec/atrac3plusdsp: fix on stack alignment
331 - ac3: validate end in ff_ac3_bit_alloc_calc_mask
332 - aacpsy: avoid psy_band->threshold becoming NaN
333 - aasc: return correct buffer size from aasc_decode_frame
334 - aacdec: consistently use avctx for logging in decode_eld_specific_config
335 - msrledec: use signed pixel_ptr in msrle_decode_pal4
336 - swresample/swresample-test: Randomly wipe out channel counts
337 - swresample: Check channel layouts and channels against each other and print human readable error messages
338 - swresample: Allow reinitialization without ever setting channel layouts
339 - swresample: Allow reinitialization without ever setting channel counts
340 - avcodec/h264: Do not fail with randomly truncated VUIs
341 - avcodec/h264_ps: Move truncation check from VUI to SPS
342 - avcodec/h264: Be more tolerant to changing pps id between slices
343 - avcodec/aacdec: Fix storing state before PCE decode
344 - avcodec/h264: reset the counts in the correct context
345 - avcodec/h264_slice: Do not reset mb_aff_frame per slice
346 - tests: Fix test name for pixfmts tests
347 - avcodec/h264: finish previous slices before switching to single thread mode
348 - avcodec/h264: Fix race between slices where one overwrites data from the next
349 - avformat/utils: avoid discarded streams in av_find_default_stream_index()
350 - avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
351 - avformat/img2dec: do not rewind custom io buffers
352 - fate: Include branch information in the payload header
353
354
355 version 2.4.8:
356 - avutil/cpu: add missing check for mmxext to av_force_cpu_flags
357 - avcodec/msrledec: restructure msrle_decode_pal4() based on the line number instead of the pixel pointer
358 - avcodec/hevc_ps: Check cropping parameters more correctly
359 - avcodec/dnxhddec: Check that the frame is interlaced before using cur_field
360 - avformat/mov: Disallow ".." in dref unless use_absolute_path is set
361 - avformat/mov: Check for string truncation in mov_open_dref()
362 - ac3_fixed: fix out-of-bound read
363 - avcodec/012v: redesign main loop
364 - avcodec/012v: Check dimensions more completely
365 - asfenc: fix leaking asf->index_ptr on error
366 - avcodec/options_table: remove extradata_size from the AVOptions table
367 - ffmdec: limit the backward seek to the last resync position
368 - ffmdec: make sure the time base is valid
369 - ffmdec: fix infinite loop at EOF
370 - avcodec/tiff: move bpp check to after "end:"
371 - avcodec/opusdec: Fix delayed sample value
372 - avcodec/utils: Align YUV411 by as much as the other YUV variants
373 - vp9: fix segmentation map retention with threading enabled.
374 - doc/protocols/tcp: fix units of listen_timeout option value, from microseconds to milliseconds
375 - fix VP9 packet decoder returning 0 instead of the used data size
376 - avformat/bit: only accept the g729 codec and 1 channel
377 - avformat/adxdec: check avctx->channels for invalid values
378 - Fix buffer_size argument to init_put_bits() in multiple encoders.
379 - mips/acelp_filters: fix incorrect register constraint
380 - avcodec/hevc_ps: Sanity checks for some log2_* values
381 - avcodec/zmbv: Check len before reading in decode_frame()
382 - avcodec/snowdec: Fix ref value check
383 - swscale/utils: More carefully merge and clear coefficients outside the input
384 - avcodec/a64multienc: fix use of uninitialized values in to_meta_with_crop
385 - avcodec/a64multienc: don't set incorrect packet size
386 - webp: ensure that each transform is only used once
387 - avcodec/hevc_ps: More complete window reset
388 - vp9: make above buffer pointer 32-byte aligned.
389 - avformat/rm: limit packet size
390 - avcodec/webp: validate the distance prefix code
391 - avcodec/gif: fix off by one in column offsetting finding
392
393
394 version 2.4.7:
395 - avcodec/flac_parser: fix handling EOF if no headers are found
396 - avfilter/vf_framepack: Check and update frame_rate
397 - avcodec/hevc: Fix handling of skipped_bytes() reallocation failures
398 - qpeg: avoid pointless invalid memcpy()
399 - avcodec/arm/videodsp_armv5te: Fix linking failure with "g++ -shared -D__STDC_CONSTANT_MACROS -o test.so ... libavcodec.a"
400 - avcodec/mjpegdec: Skip blocks which are outside the visible area
401 - lavc/aarch64: Do not use the neon horizontal chroma loop filter for H.264 4:2:2. (cherry picked from commit 4faea46bd906b3897018736208123aa36c3f45d5)
402 - avcodec/h264_slice: assert that reinit does not occur after the first slice
403 - avcodec/h264_slice: ignore SAR changes in slices after the first
404 - avcodec/h264_slice: Check picture structure before setting the related fields
405 - avcodec/h264_slice: Do not change frame_num after the first slice
406 - avutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT
407 - avutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT
408 - avcodec/h264: Be more strict on rejecting pps/sps changes
409 - avcodec/h264: Be more strict on rejecting pps_id changes
410 - avcodec/h264_ps: More completely check the bit depths
411 - avformat/thp: Check av_get_packet() for failure not only for partial output
412 - swscale/utils: Limit filter shifting so as not to read from prior the array
413 - avcodec/mpegvideo_motion: Fix gmc chroma dimensions
414 - avcodec/mjpegdec: Check number of components for JPEG-LS
415 - avcodec/mjpegdec: Check escape sequence validity
416 - avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
417 - avformat/mpc8: fix broken pointer math
418 - avformat/mpc8: fix hang with fuzzed file
419 - avformat/tta: fix crash with corrupted files
420
421 version 2.4.6:
422 - doc/examples: fix lib math dep for decoding_encoding
423 - avformat/movenc: workaround bug in "PathScale EKOPath(tm) Compiler Suite Version 4.0.12.1"
424 - vp9: fix parser return values in error case
425 - ffmpeg: Clear error message array at init.
426 - avcodec/dvdsubdec: fix accessing dangling pointers
427 - avcodec/dvdsubdec: error on bitmaps with size 0
428 - avformat/mov: Fix mixed declaration and statement warning
429 - cmdutils: Use 64bit for file size/offset related variable in cmdutils_read_file()
430 - avformat/utils: Clear pointer in ff_alloc_extradata() to avoid leaving a stale pointer in memory
431 - avformat/matroskadec: Use av_freep() to avoid leaving stale pointers in memory
432 - lavfi: check av_strdup() return value
433 - mov: Fix negative size calculation in mov_read_default().
434 - avformat/mov: fix integer overflow in mov_read_udta_string()
435 - mov: Avoid overflow with mov_metadata_raw()
436 - avcodec/dvdsubdec: fix out of bounds accesses
437 - avfilter/vf_sab: fix filtering tiny images
438 - avformat/flvdec: Increase string array size
439 - avformat/flvdec: do not inject dts=0 metadata packets which failed to be parsed into a new data stream
440 - avformat/cdxl: Fix integer overflow of image_size
441 - avformat/segment: Use av_freep() avoid leaving stale pointers in memory
442 - avformat/mov: Fix memleaks for duplicate STCO/CO64/STSC atoms
443 - mov: avoid a memleak when multiple stss boxes are presen
444
445 version 2.4.5:
446 - lavu/frame: fix malloc error path in av_frame_copy_props()
447 - avformat/utils: Do not update programs streams from program-less streams in update_wrap_reference()
448 - avformat/aviobuf: Check that avio_seek() target is non negative
449 - swresample/soxr_resample: fix error handling
450 - avformat/flvdec: fix potential use of uninitialized variables
451 - avformat/matroskadec: fix handling of recursive SeekHead elements
452 - doc/examples/transcoding: check encoder before using it
453 - swscale/x86/rgb2rgb_template: fix crash with tiny size and nv12 output
454 - avformat/rmdec: Check codec_data_size
455 - avformat/aviobuf: Fix infinite loop in ff_get_line()
456 - vc1: Do not assume seek happens after decoding
457 - mmvideo: check frame dimensions
458 - jvdec: check frame dimensions
459 - avcodec/indeo3: ensure offsets are non negative
460 - avcodec/h264: Check *log2_weight_denom
461 - avcodec/hevc_ps: Check diff_cu_qp_delta_depth
462 - avcodec/h264: Clear delayed_pic on deallocation
463 - avcodec/hevc: clear filter_slice_edges() on allocation
464 - avcodec/dcadec: Check that the added xch channel isnt already there
465 - avcodec/indeo3: use signed variables to avoid underflow
466 - swscale: increase yuv2rgb table headroom
467 - avformat/mov: fix integer overflow of size
468 - avformat/mov: check atom nesting depth
469 - avcodec/utvideodec: Fix handling of slice_height=0
470 - avcodec/vmdvideo: Check len before using it in method 3
471 - avformat/flvdec: Use av_freep() avoid leaving stale pointers in memory
472 - avformat/hdsenc: Use av_freep() avoid leaving stale pointers in memory
473 - configure: create the tests directory like the doc directory
474 - v4l2: Make use of the VIDIOC_ENUM_FRAMESIZES ioctl on OpenBSD
475 - avcodec/motion_est: use 2x8x8 for interlaced qpel
476 - Treat all '*.pnm' files as non-text file
477
478 version 2.4.4:
479 - avformat: replace some odd 30-60 rates by higher less odd ones in  get_std_framerate()
480 - swscale: fix yuv2yuvX_8 assembly on x86
481 - avcodec/hevc_ps: Check num_long_term_ref_pics_sps
482 - avcodec/mjpegdec: Fix integer overflow in shift
483 - avcodec/hevc_ps: Check return code from pps_range_extensions()
484 - avcodec/rawdec: Check the return code of avpicture_get_size()
485 - avcodec/pngdec: Check IHDR/IDAT order
486 - avcodec/flacdec: Call ff_flacdsp_init() unconditionally
487 - avcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()
488 - avcodec/mjpegdec: Fix context fields becoming inconsistent
489 - avcodec/mjpegdec: Check for pixfmtid 0x42111100 || 0x24111100 with more than 8 bits
490 - swscale/x86/rgb2rgb_template: handle the first 2 lines with C in rgb24toyv12_*()
491 - doc/APIchanges: Fix some wrong versions
492 - avformat/hlsenc: Free context after hls_append_segment
493 - avcodec/mpeg4video_parser: fix spurious extradata parse warnings
494 - lavu/opt: fix av_opt_get function
495 - avcodec/wmaprodec: Fix integer overflow in sfb_offsets initialization
496 - avcodec/utvideodec: fix assumtation that slice_height >= 1
497 - avcodec/options_table fix min of audio channels and sample rate
498 - libavutil/thread.h: Support OS/2 threads
499 - fix Makefile objects for pulseaudio support
500 - opusdec: make sure all substreams have the same number of coded samples
501 - lavu: add wrappers for the pthreads mutex API
502 - avformat/avidec: fix handling dv in avi
503 - avfilter/vf_lut: gammaval709()
504 - cinedec: report white balance gain coefficients using metadata
505 - swscale/utils: support bayer input + scaling, and bayer input + any supported output
506 - swscale: support internal scaler cascades
507 - avformat/dtsdec: dts_probe: check reserved bit, check lfe, check sr_code similarity
508 - avformat/segment: export inner muxer timebase
509 - Remove fminf() emulation, fix build issues
510 - avcodec/mpegaudio_parser: fix off by 1 error in bitrate calculation
511 - Use -fno-optimize-sibling-calls on parisc also for gcc 4.9.
512 - ffmpeg_opt: store canvas size in decoder context
513 - avcodec/mpeg12dec: do not trust AVCodecContext input dimensions
514
515 version 2.4.3:
516 - avcodec/svq1dec: zero terminate embedded message before printing
517 - avcodec/cook: check that the subpacket sizes fit in block_align
518 - avcodec/g2meet: check tile dimensions to avoid integer overflow
519 - avcodec/utils: Align dimensions by at least their chroma sub-sampling factors.
520 - avcodec/dnxhddec: treat pix_fmt like width/height
521 - avcodec/dxa: check dimensions
522 - avcodec/dirac_arith: fix integer overflow
523 - avcodec/diracdec: Tighter checks on CODEBLOCKS_X/Y
524 - avcodec/diracdec: Use 64bit in calculation of codeblock coordinates
525 - avcodec/sgidec: fix count check
526 - avcodec/sgidec: fix linesize for 16bit
527 - avcodec/hevc_ps: Check default display window bitstream and skip if invalid
528 - avcodec/tiffenc: properly compute packet size
529 - lavd: export all symbols with av_ prefix
530 - avformat/mxfdec: Fix termination of mxf_data_essence_container_uls
531 - postproc: fix qp count
532 - postproc/postprocess: fix quant store for fq mode
533 - vf_drawtext: add missing clear of pointers after av_expr_free()
534 - utvideoenc: properly set slice height/last line
535 - swresample: fix sample drop loop end condition
536 - resample: Avoid off-by-1 errors in PTS calcs.
537 - imc: fix order of operations in coefficients read
538 - hevc_mvs: make sure to always initialize the temporal MV fully
539 - hevc_mvs: initialize the temporal MV in case of missing reference
540
541 version 2.4.2:
542 - avcodec/on2avc: Check number of channels
543 - avcodec/hevc: fix chroma transform_add size
544 - avcodec/h264: Check mode before considering mixed mode intra prediction
545 - avformat/mpegts: use a padded buffer in read_sl_header()
546 - avformat/mpegts: Check desc_len / get8() return code
547 - avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
548 - sdp: add support for H.261
549 - avcodec/svq3: Do not memcpy AVFrame
550 - avcodec/smc: fix off by 1 error
551 - avcodec/qpeg: fix off by 1 error in MV bounds check
552 - avcodec/gifdec: factorize interleave end handling out
553 - avcodec/cinepak: fix integer underflow
554 - avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
555 - avcodec/pngdec: Calculate MPNG bytewidth more defensively
556 - avcodec/tiff: more completely check bpp/bppcount
557 - avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
558 - avcodec/h263dec: Fix decoding messenger.h263
559 - avcodec/utils: Add case for jv to avcodec_align_dimensions2()
560 - avcodec/mjpegdec: check bits per pixel for changes similar to dimensions
561 - avcodec/jpeglsdec: Check run value more completely in ls_decode_line()
562 - avformat/hlsenc: export inner muxer timebase
563 - configure: add noexecstack to linker options if supported.
564 - avcodec/ac3enc_template: fix out of array read
565 - avutil/x86/cpu: fix cpuid sub-leaf selection
566 - avformat/img2dec: enable generic seeking for image pipes
567 - avformat/img2dec: initialize pkt->pos for image pipes
568 - avformat/img2dec: pass error code and signal EOF
569 - avformat/img2dec: fix error code at EOF for pipes
570 - libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
571 - tests/fate-run.sh: Cat .err file in case of error with V>0
572 - avformat/riffenc: Filter out "BottomUp" in ff_put_bmp_header()
573 - avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
574 - avcodec/asvenc: fix AAN scaling
575 - Fix compile error on arm4/arm5 platform
576
577
578 version 2.4.1:
579 - swscale: Allow chroma samples to be above and to the left of luma samples
580 - avcodec/libilbc: support for latest git of libilbc
581 - avcodec/webp: treat out-of-bound palette index as translucent black
582 - vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion
583 - apetag: Fix APE tag size check
584 - tools/crypto_bench: fix build when AV_READ_TIME is unavailable
585
586
587 version 2.4:
588 - Icecast protocol
589 - ported lenscorrection filter from frei0r filter
590 - large optimizations in dctdnoiz to make it usable
591 - ICY metadata are now requested by default with the HTTP protocol
592 - support for using metadata in stream specifiers in fftools
593 - LZMA compression support in TIFF decoder
594 - support for H.261 RTP payload format (RFC 4587)
595 - HEVC/H.265 RTP payload format (draft v6) depacketizer
596 - added codecview filter to visualize information exported by some codecs
597 - Matroska 3D support thorugh side data
598 - HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
599 - silenceremove filter
600
601
602 version 2.3:
603 - AC3 fixed-point decoding
604 - shuffleplanes filter
605 - subfile protocol
606 - Phantom Cine demuxer
607 - replaygain data export
608 - VP7 video decoder
609 - Alias PIX image encoder and decoder
610 - Improvements to the BRender PIX image decoder
611 - Improvements to the XBM decoder
612 - QTKit input device
613 - improvements to OpenEXR image decoder
614 - support decoding 16-bit RLE SGI images
615 - GDI screen grabbing for Windows
616 - alternative rendition support for HTTP Live Streaming
617 - AVFoundation input device
618 - Direct Stream Digital (DSD) decoder
619 - Magic Lantern Video (MLV) demuxer
620 - On2 AVC (Audio for Video) decoder
621 - support for decoding through DXVA2 in ffmpeg
622 - libbs2b-based stereo-to-binaural audio filter
623 - libx264 reference frames count limiting depending on level
624 - native Opus decoder
625 - display matrix export and rotation API
626 - WebVTT encoder
627 - showcqt multimedia filter
628 - zoompan filter
629 - signalstats filter
630 - hqx filter (hq2x, hq3x, hq4x)
631 - flanger filter
632 - Image format auto-detection
633 - LRC demuxer and muxer
634 - Samba protocol (via libsmbclient)
635 - WebM DASH Manifest muxer
636 - libfribidi support in drawtext
637
638
639 version 2.2:
640
641 - HNM version 4 demuxer and video decoder
642 - Live HDS muxer
643 - setsar/setdar filters now support variables in ratio expressions
644 - elbg filter
645 - string validation in ffprobe
646 - support for decoding through VDPAU in ffmpeg (the -hwaccel option)
647 - complete Voxware MetaSound decoder
648 - remove mp3_header_compress bitstream filter
649 - Windows resource files for shared libraries
650 - aeval filter
651 - stereoscopic 3d metadata handling
652 - WebP encoding via libwebp
653 - ATRAC3+ decoder
654 - VP8 in Ogg demuxing
655 - side & metadata support in NUT
656 - framepack filter
657 - XYZ12 rawvideo support in NUT
658 - Exif metadata support in WebP decoder
659 - OpenGL device
660 - Use metadata_header_padding to control padding in ID3 tags (currently used in
661   MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
662 - Mirillis FIC video decoder
663 - Support DNx444
664 - libx265 encoder
665 - dejudder filter
666 - Autodetect VDA like all other hardware accelerations
667 - aliases and defaults for Ogg subtypes (opus, spx)
668
669
670 version 2.1:
671
672 - aecho filter
673 - perspective filter ported from libmpcodecs
674 - ffprobe -show_programs option
675 - compand filter
676 - RTMP seek support
677 - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
678   even when used as an input option. Previous behavior can be restored with
679   the -noaccurate_seek option.
680 - ffmpeg -t option can now be used for inputs, to limit the duration of
681   data read from an input file
682 - incomplete Voxware MetaSound decoder
683 - read EXIF metadata from JPEG
684 - DVB teletext decoder
685 - phase filter ported from libmpcodecs
686 - w3fdif filter
687 - Opus support in Matroska
688 - FFV1 version 1.3 is stable and no longer experimental
689 - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
690 - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
691   more consistent with other muxers.
692 - adelay filter
693 - pullup filter ported from libmpcodecs
694 - ffprobe -read_intervals option
695 - Lossless and alpha support for WebP decoder
696 - Error Resilient AAC syntax (ER AAC LC) decoding
697 - Low Delay AAC (ER AAC LD) decoding
698 - mux chapters in ASF files
699 - SFTP protocol (via libssh)
700 - libx264: add ability to encode in YUVJ422P and YUVJ444P
701 - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
702 - make decoding alpha optional for prores, ffv1 and vp6 by setting
703   the skip_alpha flag.
704 - ladspa wrapper filter
705 - native VP9 decoder
706 - dpx parser
707 - max_error_rate parameter in ffmpeg
708 - PulseAudio output device
709 - ReplayGain scanner
710 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
711 - Linux framebuffer output device
712 - HEVC decoder
713 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
714 - mergeplanes filter
715
716
717 version 2.0:
718
719 - curves filter
720 - reference-counting for AVFrame and AVPacket data
721 - ffmpeg now fails when input options are used for output file
722   or vice versa
723 - support for Monkey's Audio versions from 3.93
724 - perms and aperms filters
725 - audio filtering support in ffplay
726 - 10% faster aac encoding on x86 and MIPS
727 - sine audio filter source
728 - WebP demuxing and decoding support
729 - ffmpeg options -filter_script and -filter_complex_script, which allow a
730   filtergraph description to be read from a file
731 - OpenCL support
732 - audio phaser filter
733 - separatefields filter
734 - libquvi demuxer
735 - uniform options syntax across all filters
736 - telecine filter
737 - interlace filter
738 - smptehdbars source
739 - inverse telecine filters (fieldmatch and decimate)
740 - colorbalance filter
741 - colorchannelmixer filter
742 - The matroska demuxer can now output proper verbatim ASS packets. It will
743   become the default at the next libavformat major bump.
744 - decent native animated GIF encoding
745 - asetrate filter
746 - interleave filter
747 - timeline editing with filters
748 - vidstabdetect and vidstabtransform filters for video stabilization using
749   the vid.stab library
750 - astats filter
751 - trim and atrim filters
752 - ffmpeg -t and -ss (output-only) options are now sample-accurate when
753   transcoding audio
754 - Matroska muxer can now put the index at the beginning of the file.
755 - extractplanes filter
756 - avectorscope filter
757 - ADPCM DTK decoder
758 - ADP demuxer
759 - RSD demuxer
760 - RedSpark demuxer
761 - ADPCM IMA Radical decoder
762 - zmq filters
763 - DCT denoiser filter (dctdnoiz)
764 - Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
765 - Apple Intermediate Codec decoder
766 - Escape 130 video decoder
767 - FTP protocol support
768 - V4L2 output device
769 - 3D LUT filter (lut3d)
770 - SMPTE 302M audio encoder
771 - support for slice multithreading in libavfilter
772 - Hald CLUT support (generation and filtering)
773 - VC-1 interlaced B-frame support
774 - support for WavPack muxing (raw and in Matroska)
775 - XVideo output device
776 - vignette filter
777 - True Audio (TTA) encoder
778 - Go2Webinar decoder
779 - mcdeint filter ported from libmpcodecs
780 - sab filter ported from libmpcodecs
781 - ffprobe -show_chapters option
782 - WavPack encoding through libwavpack
783 - rotate filter
784 - spp filter ported from libmpcodecs
785 - libgme support
786 - psnr filter
787
788
789 version 1.2:
790
791 - VDPAU hardware acceleration through normal hwaccel
792 - SRTP support
793 - Error diffusion dither in Swscale
794 - Chained Ogg support
795 - Theora Midstream reconfiguration support
796 - EVRC decoder
797 - audio fade filter
798 - filtering audio with unknown channel layout
799 - allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
800   and treble audio filter
801 - improved showspectrum filter, with multichannel support and sox-like colors
802 - histogram filter
803 - tee muxer
804 - il filter ported from libmpcodecs
805 - support ID3v2 tags in ASF files
806 - encrypted TTA stream decoding support
807 - RF64 support in WAV muxer
808 - noise filter ported from libmpcodecs
809 - Subtitles character encoding conversion
810 - blend filter
811 - stereo3d filter ported from libmpcodecs
812
813
814 version 1.1:
815
816 - stream disposition information printing in ffprobe
817 - filter for loudness analysis following EBU R128
818 - Opus encoder using libopus
819 - ffprobe -select_streams option
820 - Pinnacle TARGA CineWave YUV16 decoder
821 - TAK demuxer, decoder and parser
822 - DTS-HD demuxer
823 - remove -same_quant, it hasn't worked for years
824 - FFM2 support
825 - X-Face image encoder and decoder
826 - 24-bit FLAC encoding
827 - multi-channel ALAC encoding up to 7.1
828 - metadata (INFO tag) support in WAV muxer
829 - subtitles raw text decoder
830 - support for building DLLs using MSVC
831 - LVF demuxer
832 - ffescape tool
833 - metadata (info chunk) support in CAF muxer
834 - field filter ported from libmpcodecs
835 - AVR demuxer
836 - geq filter ported from libmpcodecs
837 - remove ffserver daemon mode
838 - AST muxer/demuxer
839 - new expansion syntax for drawtext
840 - BRender PIX image decoder
841 - ffprobe -show_entries option
842 - ffprobe -sections option
843 - ADPCM IMA Dialogic decoder
844 - BRSTM demuxer
845 - animated GIF decoder and demuxer
846 - PVF demuxer
847 - subtitles filter
848 - IRCAM muxer/demuxer
849 - Paris Audio File demuxer
850 - Virtual concatenation demuxer
851 - VobSub demuxer
852 - JSON captions for TED talks decoding support
853 - SOX Resampler support in libswresample
854 - aselect filter
855 - SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
856 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
857 - Silicon Graphics Movie demuxer
858 - apad filter
859 - Resolution & pixel format change support with multithreading for H.264
860 - documentation split into per-component manuals
861 - pp (postproc) filter ported from MPlayer
862 - NIST Sphere demuxer
863 - MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
864 - Sony Wave64 muxer
865 - adobe and limelight publisher authentication in RTMP
866 - data: URI scheme
867 - support building on the Plan 9 operating system
868 - kerndeint filter ported from MPlayer
869 - histeq filter ported from VirtualDub
870 - Megalux Frame demuxer
871 - 012v decoder
872 - Improved AVC Intra decoding support
873
874
875 version 1.0:
876
877 - INI and flat output in ffprobe
878 - Scene detection in libavfilter
879 - Indeo Audio decoder
880 - channelsplit audio filter
881 - setnsamples audio filter
882 - atempo filter
883 - ffprobe -show_data option
884 - RTMPT protocol support
885 - iLBC encoding/decoding via libilbc
886 - Microsoft Screen 1 decoder
887 - join audio filter
888 - audio channel mapping filter
889 - Microsoft ATC Screen decoder
890 - RTSP listen mode
891 - TechSmith Screen Codec 2 decoder
892 - AAC encoding via libfdk-aac
893 - Microsoft Expression Encoder Screen decoder
894 - RTMPS protocol support
895 - RTMPTS protocol support
896 - RTMPE protocol support
897 - RTMPTE protocol support
898 - showwaves and showspectrum filter
899 - LucasArts SMUSH SANM playback support
900 - LucasArts SMUSH VIMA audio decoder (ADPCM)
901 - LucasArts SMUSH demuxer
902 - SAMI, RealText and SubViewer demuxers and decoders
903 - Heart Of Darkness PAF playback support
904 - iec61883 device
905 - asettb filter
906 - new option: -progress
907 - 3GPP Timed Text encoder/decoder
908 - GeoTIFF decoder support
909 - ffmpeg -(no)stdin option
910 - Opus decoder using libopus
911 - caca output device using libcaca
912 - alphaextract and alphamerge filters
913 - concat filter
914 - flite filter
915 - Canopus Lossless Codec decoder
916 - bitmap subtitles in filters (experimental and temporary)
917 - MP2 encoding via TwoLAME
918 - bmp parser
919 - smptebars source
920 - asetpts filter
921 - hue filter
922 - ICO muxer
923 - SubRip encoder and decoder without embedded timing
924 - edge detection filter
925 - framestep filter
926 - ffmpeg -shortest option is now per-output file
927   -pass and -passlogfile are now per-output stream
928 - volume measurement filter
929 - Ut Video encoder
930 - Microsoft Screen 2 decoder
931 - smartblur filter ported from MPlayer
932 - CPiA decoder
933 - decimate filter ported from MPlayer
934 - RTP depacketization of JPEG
935 - Smooth Streaming live segmenter muxer
936 - F4V muxer
937 - sendcmd and asendcmd filters
938 - WebVTT demuxer and decoder (simple tags supported)
939 - RTP packetization of JPEG
940 - faststart option in the MOV/MP4 muxer
941 - support for building with MSVC
942
943
944 version 0.11:
945
946 - Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
947          CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
948          CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
949          CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
950          CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
951          CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
952 - v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
953 - setfield filter
954 - CDXL demuxer and decoder
955 - Apple ProRes encoder
956 - ffprobe -count_packets and -count_frames options
957 - Sun Rasterfile Encoder
958 - ID3v2 attached pictures reading and writing
959 - WMA Lossless decoder
960 - bluray protocol
961 - blackdetect filter
962 - libutvideo encoder wrapper (--enable-libutvideo)
963 - swapuv filter
964 - bbox filter
965 - XBM encoder and decoder
966 - RealAudio Lossless decoder
967 - ZeroCodec decoder
968 - tile video filter
969 - Metal Gear Solid: The Twin Snakes demuxer
970 - OpenEXR image decoder
971 - removelogo filter
972 - drop support for ffmpeg without libavfilter
973 - drawtext video filter: fontconfig support
974 - ffmpeg -benchmark_all option
975 - super2xsai filter ported from libmpcodecs
976 - add libavresample audio conversion library for compatibility
977 - MicroDVD decoder
978 - Avid Meridien (AVUI) encoder and decoder
979 - accept + prefix to -pix_fmt option to disable automatic conversions.
980 - complete audio filtering in libavfilter and ffmpeg
981 - add fps filter
982 - vorbis parser
983 - png parser
984 - audio mix filter
985 - ffv1: support (draft) version 1.3
986
987
988 version 0.10:
989
990 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
991          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
992          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
993          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
994 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
995 - SBaGen (SBG) binaural beats script demuxer
996 - OpenMG Audio muxer
997 - Timecode extraction in DV and MOV
998 - thumbnail video filter
999 - XML output in ffprobe
1000 - asplit audio filter
1001 - tinterlace video filter
1002 - astreamsync audio filter
1003 - amerge audio filter
1004 - ISMV (Smooth Streaming) muxer
1005 - GSM audio parser
1006 - SMJPEG muxer
1007 - XWD encoder and decoder
1008 - Automatic thread count based on detection number of (available) CPU cores
1009 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
1010 - ffprobe -show_error option
1011 - Avid 1:1 10-bit RGB Packer codec
1012 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
1013 - yuv4 libquicktime packed 4:2:0 encoder and decoder
1014 - ffprobe -show_frames option
1015 - silencedetect audio filter
1016 - ffprobe -show_program_version, -show_library_versions, -show_versions options
1017 - rv34: frame-level multi-threading
1018 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
1019 - Improved PGS subtitle decoder
1020 - dumpgraph option to lavfi device
1021 - r210 and r10k encoders
1022 - ffwavesynth decoder
1023 - aviocat tool
1024 - ffeval tool
1025 - support encoding and decoding 4-channel SGI images
1026
1027
1028 version 0.9:
1029
1030 - openal input device added
1031 - boxblur filter added
1032 - BWF muxer
1033 - Flash Screen Video 2 decoder
1034 - lavfi input device added
1035 - added avconv, which is almost the same for now, except
1036 for a few incompatible changes in the options, which will hopefully make them
1037 easier to use. The changes are:
1038     * The options placement is now strictly enforced! While in theory the
1039       options for ffmpeg should be given in [input options] -i INPUT [output
1040       options] OUTPUT order, in practice it was possible to give output options
1041       before the -i and it mostly worked. Except when it didn't - the behavior was
1042       a bit inconsistent. In avconv, it is not possible to mix input and output
1043       options. All non-global options are reset after an input or output filename.
1044     * All per-file options are now truly per-file - they apply only to the next
1045       input or output file and specifying different values for different files
1046       will now work properly (notably -ss and -t options).
1047     * All per-stream options are now truly per-stream - it is possible to
1048       specify which stream(s) should a given option apply to. See the Stream
1049       specifiers section in the avconv manual for details.
1050     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
1051       sense that they're specified after the output filename instead of before,
1052       like all other options. In avconv this irregularity is removed, all options
1053       apply to the next input or output file.
1054     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
1055       irregular and highly confusing, they were also redundant. In avconv the -map
1056       option will create new streams in the output file and map input streams to
1057       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
1058       each stream in the first input file.
1059     * The -map option now has slightly different and more powerful syntax:
1060         + Colons (':') are used to separate file index/stream type/stream index
1061           instead of dots. Comma (',') is used to separate the sync stream instead
1062           of colon.. This is done for consistency with other options.
1063         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
1064           output stream from the third input audio stream.
1065         + Omitting the stream index now maps all the streams of the given type,
1066           not just the first. E.g. -map 0:s creates output streams for all the
1067           subtitle streams in the first input file.
1068         + Since -map can now match multiple streams, negative mappings were
1069           introduced. Negative mappings disable some streams from an already
1070           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
1071           all the stream in the first input file, except for the second audio
1072           stream'.
1073     * There is a new option -c (or -codec) for choosing the decoder/encoder to
1074       use, which allows to precisely specify target stream(s) consistently with
1075       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
1076       libvorbis sets the codec for the first audio stream and -c copy copies all
1077       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
1078       aliases to -c:v/a/s
1079     * It is now possible to precisely specify which stream should an AVOption
1080       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
1081       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
1082       syntax is deprecated and will stop working soon.
1083     * -map_chapters now takes only an input file index and applies to the next
1084       output file. This is consistent with how all the other options work.
1085     * -map_metadata now takes only an input metadata specifier and applies to
1086       the next output file. Output metadata specifier is now part of the option
1087       name, similarly to the AVOptions/map/codec feature above.
1088     * -metadata can now be used to set metadata on streams and chapters, e.g.
1089       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
1090       This made -vlang/-alang/-slang options redundant, so they were removed.
1091     * -qscale option now uses stream specifiers and applies to all streams, not
1092       just video. I.e. plain -qscale number would now apply to all streams. To get
1093       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
1094       and -aq is now an alias for -q:a.
1095     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
1096       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
1097     * -itsscale option now uses stream specifiers, so its argument is only the
1098       scale parameter.
1099     * -intra option was removed, use -g 0 for the same effect.
1100     * -psnr option was removed, use -flags +psnr for the same effect.
1101     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
1102     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
1103     * -vtag/-atag/-stag options are now aliases to the new -tag option.
1104 - XMV demuxer
1105 - LOAS demuxer
1106 - ashowinfo filter added
1107 - Windows Media Image decoder
1108 - amovie source added
1109 - LATM muxer/demuxer
1110 - Speex encoder via libspeex
1111 - JSON output in ffprobe
1112 - WTV muxer
1113 - Optional C++ Support (needed for libstagefright)
1114 - H.264 Decoding on Android via Stagefright
1115 - Prores decoder
1116 - BIN/XBIN/ADF/IDF text file decoder
1117 - aconvert audio filter added
1118 - audio support to lavfi input device added
1119 - libcdio-paranoia input device for audio CD grabbing
1120 - Apple ProRes decoder
1121 - CELT in Ogg demuxing
1122 - G.723.1 demuxer and decoder
1123 - libmodplug support (--enable-libmodplug)
1124 - VC-1 interlaced decoding
1125 - libutvideo wrapper (--enable-libutvideo)
1126 - aevalsrc audio source added
1127 - Ut Video decoder
1128 - Speex encoding via libspeex
1129 - 4:2:2 H.264 decoding support
1130 - 4:2:2 and 4:4:4 H.264 encoding with libx264
1131 - Pulseaudio input device
1132 - Prores encoder
1133 - Video Decoder Acceleration (VDA) HWAccel module.
1134 - replacement Indeo 3 decoder
1135 - new ffmpeg option: -map_channel
1136 - volume audio filter added
1137 - earwax audio filter added
1138 - libv4l2 support (--enable-libv4l2)
1139 - TLS/SSL and HTTPS protocol support
1140 - AVOptions API rewritten and documented
1141 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
1142   AVCodecContext deprecated. Codec private options should be used instead.
1143 - Properly working defaults in libx264 wrapper, support for native presets.
1144 - Encrypted OMA files support
1145 - Discworld II BMV decoding support
1146 - VBLE Decoder
1147 - OS X Video Decoder Acceleration (VDA) support
1148 - compact and csv output in ffprobe
1149 - pan audio filter
1150 - IFF Amiga Continuous Bitmap (ACBM) decoder
1151 - ass filter
1152 - CRI ADX audio format muxer and demuxer
1153 - Playstation Portable PMP format demuxer
1154 - Microsoft Windows ICO demuxer
1155 - life source
1156 - PCM format support in OMA demuxer
1157 - CLJR encoder
1158 - new option: -report
1159 - Dxtory capture format decoder
1160 - cellauto source
1161 - Simple segmenting muxer
1162 - Indeo 4 decoder
1163 - SMJPEG demuxer
1164
1165
1166 version 0.8:
1167
1168 - many many things we forgot because we rather write code than changelogs
1169 - WebM support in Matroska de/muxer
1170 - low overhead Ogg muxing
1171 - MMS-TCP support
1172 - VP8 de/encoding via libvpx
1173 - Demuxer for On2's IVF format
1174 - Pictor/PC Paint decoder
1175 - HE-AAC v2 decoder
1176 - HE-AAC v2 encoding with libaacplus
1177 - libfaad2 wrapper removed
1178 - DTS-ES extension (XCh) decoding support
1179 - native VP8 decoder
1180 - RTSP tunneling over HTTP
1181 - RTP depacketization of SVQ3
1182 - -strict inofficial replaced by -strict unofficial
1183 - ffplay -exitonkeydown and -exitonmousedown options added
1184 - native GSM / GSM MS decoder
1185 - RTP depacketization of QDM2
1186 - ANSI/ASCII art playback system
1187 - Lego Mindstorms RSO de/muxer
1188 - libavcore added (and subsequently removed)
1189 - SubRip subtitle file muxer and demuxer
1190 - Chinese AVS encoding via libxavs
1191 - ffprobe -show_packets option added
1192 - RTP packetization of Theora and Vorbis
1193 - RTP depacketization of MP4A-LATM
1194 - RTP packetization and depacketization of VP8
1195 - hflip filter
1196 - Apple HTTP Live Streaming demuxer
1197 - a64 codec
1198 - MMS-HTTP support
1199 - G.722 ADPCM audio encoder/decoder
1200 - R10k video decoder
1201 - ocv_smooth filter
1202 - frei0r wrapper filter
1203 - change crop filter syntax to width:height:x:y
1204 - make the crop filter accept parametric expressions
1205 - make ffprobe accept AVFormatContext options
1206 - yadif filter
1207 - blackframe filter
1208 - Demuxer for Leitch/Harris' VR native stream format (LXF)
1209 - RTP depacketization of the X-QT QuickTime format
1210 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
1211 - cropdetect filter
1212 - ffmpeg -crop* options removed
1213 - transpose filter added
1214 - ffmpeg -force_key_frames option added
1215 - demuxer for receiving raw rtp:// URLs without an SDP description
1216 - single stream LATM/LOAS decoder
1217 - setpts filter added
1218 - Win64 support for optimized x86 assembly functions
1219 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
1220 - ASS subtitle encoder and decoder
1221 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
1222 - overlay filter added
1223 - rename aspect filter to setdar, and pixelaspect to setsar
1224 - IEC 61937 demuxer
1225 - Mobotix .mxg demuxer
1226 - frei0r source added
1227 - hqdn3d filter added
1228 - RTP depacketization of QCELP
1229 - FLAC parser added
1230 - gradfun filter added
1231 - AMR-WB decoder
1232 - replace the ocv_smooth filter with a more generic ocv filter
1233 - Windows Televison (WTV) demuxer
1234 - FFmpeg metadata format muxer and demuxer
1235 - SubRip (srt) subtitle encoder and decoder
1236 - floating-point AC-3 encoder added
1237 - Lagarith decoder
1238 - ffmpeg -copytb option added
1239 - IVF muxer added
1240 - Wing Commander IV movies decoder added
1241 - movie source added
1242 - Bink version 'b' audio and video decoder
1243 - Bitmap Brothers JV playback system
1244 - Apple HTTP Live Streaming protocol handler
1245 - sndio support for playback and record
1246 - Linux framebuffer input device added
1247 - Chronomaster DFA decoder
1248 - DPX image encoder
1249 - MicroDVD subtitle file muxer and demuxer
1250 - Playstation Portable PMP format demuxer
1251 - fieldorder video filter added
1252 - AAC encoding via libvo-aacenc
1253 - AMR-WB encoding via libvo-amrwbenc
1254 - xWMA demuxer
1255 - Mobotix MxPEG decoder
1256 - VP8 frame-multithreading
1257 - NEON optimizations for VP8
1258 - Lots of deprecated API cruft removed
1259 - fft and imdct optimizations for AVX (Sandy Bridge) processors
1260 - showinfo filter added
1261 - SMPTE 302M AES3 audio decoder
1262 - Apple Core Audio Format muxer
1263 - 9bit and 10bit per sample support in the H.264 decoder
1264 - 9bit and 10bit FFV1 encoding / decoding
1265 - split filter added
1266 - select filter added
1267 - sdl output device added
1268 - libmpcodecs video filter support (3 times as many filters than before)
1269 - mpeg2 aspect ratio dection fixed
1270 - libxvid aspect pickiness fixed
1271 - Frame multithreaded decoding
1272 - E-AC-3 audio encoder
1273 - ac3enc: add channel coupling support
1274 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
1275 - H264/MPEG frame-level multi-threading
1276 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
1277 - 4:4:4 H.264 decoding support
1278 - 10-bit H.264 optimizations for x86
1279 - lut, lutrgb, and lutyuv filters added
1280 - buffersink libavfilter sink added
1281 - Bump libswscale for recently reported ABI break
1282 - New J2K encoder (via OpenJPEG)
1283
1284
1285 version 0.7:
1286
1287 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
1288
1289
1290 version 0.6:
1291
1292 - PB-frame decoding for H.263
1293 - deprecated vhook subsystem removed
1294 - deprecated old scaler removed
1295 - VQF demuxer
1296 - Alpha channel scaler
1297 - PCX encoder
1298 - RTP packetization of H.263
1299 - RTP packetization of AMR
1300 - RTP depacketization of Vorbis
1301 - CorePNG decoding support
1302 - Cook multichannel decoding support
1303 - introduced avlanguage helpers in libavformat
1304 - 8088flex TMV demuxer and decoder
1305 - per-stream language-tags extraction in asfdec
1306 - V210 decoder and encoder
1307 - remaining GPL parts in AC-3 decoder converted to LGPL
1308 - QCP demuxer
1309 - SoX native format muxer and demuxer
1310 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
1311 - DPX image decoder
1312 - Electronic Arts Madcow decoder
1313 - DivX (XSUB) subtitle encoder
1314 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
1315 - experimental AAC encoder
1316 - RTP depacketization of ASF and RTSP from WMS servers
1317 - RTMP support in libavformat
1318 - noX handling for OPT_BOOL X options
1319 - Wave64 demuxer
1320 - IEC-61937 compatible Muxer
1321 - TwinVQ decoder
1322 - Bluray (PGS) subtitle decoder
1323 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
1324 - WMA Pro decoder
1325 - Core Audio Format demuxer
1326 - ATRAC1 decoder
1327 - MD STUDIO audio demuxer
1328 - RF64 support in WAV demuxer
1329 - MPEG-4 Audio Lossless Coding (ALS) decoder
1330 - -formats option split into -formats, -codecs, -bsfs, and -protocols
1331 - IV8 demuxer
1332 - CDG demuxer and decoder
1333 - R210 decoder
1334 - Auravision Aura 1 and 2 decoders
1335 - Deluxe Paint Animation playback system
1336 - SIPR decoder
1337 - Adobe Filmstrip muxer and demuxer
1338 - RTP depacketization of H.263
1339 - Bink demuxer and audio/video decoders
1340 - enable symbol versioning by default for linkers that support it
1341 - IFF PBM/ILBM bitmap decoder
1342 - concat protocol
1343 - Indeo 5 decoder
1344 - RTP depacketization of AMR
1345 - WMA Voice decoder
1346 - ffprobe tool
1347 - AMR-NB decoder
1348 - RTSP muxer
1349 - HE-AAC v1 decoder
1350 - Kega Game Video (KGV1) decoder
1351 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
1352 - RTP depacketization of Theora
1353 - HTTP Digest authentication
1354 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
1355 - Psygnosis YOP demuxer and video decoder
1356 - spectral extension support in the E-AC-3 decoder
1357 - unsharp video filter
1358 - RTP hinting in the mov/3gp/mp4 muxer
1359 - Dirac in Ogg demuxing
1360 - seek to keyframes in Ogg
1361 - 4:2:2 and 4:4:4 Theora decoding
1362 - 35% faster VP3/Theora decoding
1363 - faster AAC decoding
1364 - faster H.264 decoding
1365 - RealAudio 1.0 (14.4K) encoder
1366
1367
1368 version 0.5:
1369
1370 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
1371 - TechSmith Camtasia (TSCC) video decoder
1372 - IBM Ultimotion (ULTI) video decoder
1373 - Sierra Online audio file demuxer and decoder
1374 - Apple QuickDraw (qdrw) video decoder
1375 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
1376 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
1377 - Miro VideoXL (VIXL) video decoder
1378 - H.261 video encoder
1379 - QPEG video decoder
1380 - Nullsoft Video (NSV) file demuxer
1381 - Shorten audio decoder
1382 - LOCO video decoder
1383 - Apple Lossless Audio Codec (ALAC) decoder
1384 - Winnov WNV1 video decoder
1385 - Autodesk Animator Studio Codec (AASC) decoder
1386 - Indeo 2 video decoder
1387 - Fraps FPS1 video decoder
1388 - Snow video encoder/decoder
1389 - Sonic audio encoder/decoder
1390 - Vorbis audio decoder
1391 - Macromedia ADPCM decoder
1392 - Duck TrueMotion 2 video decoder
1393 - support for decoding FLX and DTA extensions in FLIC files
1394 - H.264 custom quantization matrices support
1395 - ffserver fixed, it should now be usable again
1396 - QDM2 audio decoder
1397 - Real Cooker audio decoder
1398 - TrueSpeech audio decoder
1399 - WMA2 audio decoder fixed, now all files should play correctly
1400 - RealAudio 14.4 and 28.8 decoders fixed
1401 - JPEG-LS decoder
1402 - build system improvements
1403 - tabs and trailing whitespace removed from the codebase
1404 - CamStudio video decoder
1405 - AIFF/AIFF-C audio format, encoding and decoding
1406 - ADTS AAC file reading and writing
1407 - Creative VOC file reading and writing
1408 - American Laser Games multimedia (*.mm) playback system
1409 - Zip Motion Blocks Video decoder
1410 - improved Theora/VP3 decoder
1411 - True Audio (TTA) decoder
1412 - AVS demuxer and video decoder
1413 - JPEG-LS encoder
1414 - Smacker demuxer and decoder
1415 - NuppelVideo/MythTV demuxer and RTjpeg decoder
1416 - KMVC decoder
1417 - MPEG-2 intra VLC support
1418 - MPEG-2 4:2:2 encoder
1419 - Flash Screen Video decoder
1420 - GXF demuxer
1421 - Chinese AVS decoder
1422 - GXF muxer
1423 - MXF demuxer
1424 - VC-1/WMV3/WMV9 video decoder
1425 - MacIntel support
1426 - AviSynth support
1427 - VMware video decoder
1428 - VP5 video decoder
1429 - VP6 video decoder
1430 - WavPack lossless audio decoder
1431 - Targa (.TGA) picture decoder
1432 - Vorbis audio encoder
1433 - Delphine Software .cin demuxer/audio and video decoder
1434 - Tiertex .seq demuxer/video decoder
1435 - MTV demuxer
1436 - TIFF picture encoder and decoder
1437 - GIF picture decoder
1438 - Intel Music Coder decoder
1439 - Zip Motion Blocks Video encoder
1440 - Musepack decoder
1441 - Flash Screen Video encoder
1442 - Theora encoding via libtheora
1443 - BMP encoder
1444 - WMA encoder
1445 - GSM-MS encoder and decoder
1446 - DCA decoder
1447 - DXA demuxer and decoder
1448 - DNxHD decoder
1449 - Gamecube movie (.THP) playback system
1450 - Blackfin optimizations
1451 - Interplay C93 demuxer and video decoder
1452 - Bethsoft VID demuxer and video decoder
1453 - CRYO APC demuxer
1454 - ATRAC3 decoder
1455 - V.Flash PTX decoder
1456 - RoQ muxer, RoQ audio encoder
1457 - Renderware TXD demuxer and decoder
1458 - extern C declarations for C++ removed from headers
1459 - sws_flags command line option
1460 - codebook generator
1461 - RoQ video encoder
1462 - QTRLE encoder
1463 - OS/2 support removed and restored again
1464 - AC-3 decoder
1465 - NUT muxer
1466 - additional SPARC (VIS) optimizations
1467 - Matroska muxer
1468 - slice-based parallel H.264 decoding
1469 - Monkey's Audio demuxer and decoder
1470 - AMV audio and video decoder
1471 - DNxHD encoder
1472 - H.264 PAFF decoding
1473 - Nellymoser ASAO decoder
1474 - Beam Software SIFF demuxer and decoder
1475 - libvorbis Vorbis decoding removed in favor of native decoder
1476 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
1477 - Ogg (Theora, Vorbis and FLAC) muxer
1478 - The "device" muxers and demuxers are now in a new libavdevice library
1479 - PC Paintbrush PCX decoder
1480 - Sun Rasterfile decoder
1481 - TechnoTrend PVA demuxer
1482 - Linux Media Labs MPEG-4 (LMLM4) demuxer
1483 - AVM2 (Flash 9) SWF muxer
1484 - QT variant of IMA ADPCM encoder
1485 - VFW grabber
1486 - iPod/iPhone compatible mp4 muxer
1487 - Mimic decoder
1488 - MSN TCP Webcam stream demuxer
1489 - RL2 demuxer / decoder
1490 - IFF demuxer
1491 - 8SVX audio decoder
1492 - non-recursive Makefiles
1493 - BFI demuxer
1494 - MAXIS EA XA (.xa) demuxer / decoder
1495 - BFI video decoder
1496 - OMA demuxer
1497 - MLP/TrueHD decoder
1498 - Electronic Arts CMV decoder
1499 - Motion Pixels Video decoder
1500 - Motion Pixels MVI demuxer
1501 - removed animated GIF decoder/demuxer
1502 - D-Cinema audio muxer
1503 - Electronic Arts TGV decoder
1504 - Apple Lossless Audio Codec (ALAC) encoder
1505 - AAC decoder
1506 - floating point PCM encoder/decoder
1507 - MXF muxer
1508 - DV100 AKA DVCPRO HD decoder and demuxer
1509 - E-AC-3 support added to AC-3 decoder
1510 - Nellymoser ASAO encoder
1511 - ASS and SSA demuxer and muxer
1512 - liba52 wrapper removed
1513 - SVQ3 watermark decoding support
1514 - Speex decoding via libspeex
1515 - Electronic Arts TGQ decoder
1516 - RV40 decoder
1517 - QCELP / PureVoice decoder
1518 - RV30 decoder
1519 - hybrid WavPack support
1520 - R3D REDCODE demuxer
1521 - ALSA support for playback and record
1522 - Electronic Arts TQI decoder
1523 - OpenJPEG based JPEG 2000 decoder
1524 - NC (NC4600) camera file demuxer
1525 - Gopher client support
1526 - MXF D-10 muxer
1527 - generic metadata API
1528 - flash ScreenVideo2 encoder
1529
1530
1531 version 0.4.9-pre1:
1532
1533 - DV encoder, DV muxer
1534 - Microsoft RLE video decoder
1535 - Microsoft Video-1 decoder
1536 - Apple Animation (RLE) decoder
1537 - Apple Graphics (SMC) decoder
1538 - Apple Video (RPZA) decoder
1539 - Cinepak decoder
1540 - Sega FILM (CPK) file demuxer
1541 - Westwood multimedia support (VQA & AUD files)
1542 - Id Quake II CIN playback support
1543 - 8BPS video decoder
1544 - FLIC playback support
1545 - RealVideo 2.0 (RV20) decoder
1546 - Duck TrueMotion v1 (DUCK) video decoder
1547 - Sierra VMD demuxer and video decoder
1548 - MSZH and ZLIB decoder support
1549 - SVQ1 video encoder
1550 - AMR-WB support
1551 - PPC optimizations
1552 - rate distortion optimal cbp support
1553 - rate distorted optimal ac prediction for MPEG-4
1554 - rate distorted optimal lambda->qp support
1555 - AAC encoding with libfaac
1556 - Sunplus JPEG codec (SP5X) support
1557 - use Lagrange multipler instead of QP for ratecontrol
1558 - Theora/VP3 decoding support
1559 - XA and ADX ADPCM codecs
1560 - export MPEG-2 active display area / pan scan
1561 - Add support for configuring with IBM XLC
1562 - floating point AAN DCT
1563 - initial support for zygo video (not complete)
1564 - RGB ffv1 support
1565 - new audio/video parser API
1566 - av_log() system
1567 - av_read_frame() and av_seek_frame() support
1568 - missing last frame fixes
1569 - seek by mouse in ffplay
1570 - noise reduction of DCT coefficients
1571 - H.263 OBMC & 4MV support
1572 - H.263 alternative inter vlc support
1573 - H.263 loop filter
1574 - H.263 slice structured mode
1575 - interlaced DCT support for MPEG-2 encoding
1576 - stuffing to stay above min_bitrate
1577 - MB type & QP visualization
1578 - frame stepping for ffplay
1579 - interlaced motion estimation
1580 - alternate scantable support
1581 - SVCD scan offset support
1582 - closed GOP support
1583 - SSE2 FDCT
1584 - quantizer noise shaping
1585 - G.726 ADPCM audio codec
1586 - MS ADPCM encoding
1587 - multithreaded/SMP motion estimation
1588 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
1589 - multithreaded/SMP decoding for MPEG-2
1590 - FLAC decoder
1591 - Metrowerks CodeWarrior suppport
1592 - H.263+ custom pcf support
1593 - nicer output for 'ffmpeg -formats'
1594 - Matroska demuxer
1595 - SGI image format, encoding and decoding
1596 - H.264 loop filter support
1597 - H.264 CABAC support
1598 - nicer looking arrows for the motion vector visualization
1599 - improved VCD support
1600 - audio timestamp drift compensation
1601 - MPEG-2 YUV 422/444 support
1602 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
1603 - better image scaling
1604 - H.261 support
1605 - correctly interleave packets during encoding
1606 - VIS optimized motion compensation
1607 - intra_dc_precision>0 encoding support
1608 - support reuse of motion vectors/MB types/field select values of the source video
1609 - more accurate deblock filter
1610 - padding support
1611 - many optimizations and bugfixes
1612 - FunCom ISS audio file demuxer and according ADPCM decoding
1613
1614
1615 version 0.4.8:
1616
1617 - MPEG-2 video encoding (Michael)
1618 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1619 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1620   and Mario Brito)
1621 - Xan DPCM audio decoder (Mario Brito)
1622 - Interplay MVE playback subsystem (Mike Melanson)
1623 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1624
1625
1626 version 0.4.7:
1627
1628 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1629   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1630 - current version now also compiles with older GCC (Fabrice)
1631 - 4X multimedia playback system including 4xm file demuxer (Mike
1632   Melanson), and 4X video and audio codecs (Michael)
1633 - Creative YUV (CYUV) decoder (Mike Melanson)
1634 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1635   than HuffYUV) (Michael)
1636 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1637 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1638   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1639 - ffplay has been replaced with a newer version which uses SDL (optionally)
1640   for multiplatform support (Fabrice)
1641 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1642   by anonymous
1643 - AMR format has been added (Johannes Carlsson)
1644 - 3GP support has been added (Johannes Carlsson)
1645 - VP3 codec has been added (Mike Melanson)
1646 - more MPEG-1/2 fixes
1647 - better multiplatform support, MS Visual Studio fixes (various)
1648 - AltiVec optimizations (Magnus Damn and others)
1649 - SH4 processor support has been added (BERO)
1650 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1651 - VOB streaming support (Brian Foley)
1652 - better MP3 autodetection (Andriy Rysin)
1653 - qpel encoding (Michael)
1654 - 4mv+b frames encoding finally fixed (Michael)
1655 - chroma ME (Michael)
1656 - 5 comparison functions for ME (Michael)
1657 - B-frame encoding speedup (Michael)
1658 - WMV2 codec (unfinished - Michael)
1659 - user specified diamond size for EPZS (Michael)
1660 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1661 - ASV2 codec (Michael)
1662 - CLJR decoder (Alex)
1663
1664 .. And lots more new enhancements and fixes.
1665
1666
1667 version 0.4.6:
1668
1669 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1670   from scratch
1671 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1672 - fix quantization bug in AC3 encoder
1673 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1674 - added prototype ffplay program
1675 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1676 - bug fix on MCBPC tables of H.263 (Juanjo)
1677 - bug fix on DC coefficients of H.263 (Juanjo)
1678 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1679 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1680 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1681 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1682 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1683 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1684 - added first regression tests
1685 - added MPEG-2 TS demuxer
1686 - new demux API for libav
1687 - more accurate and faster IDCT (Michael)
1688 - faster and entropy-controlled motion search (Michael)
1689 - two pass video encoding (Michael)
1690 - new video rate control (Michael)
1691 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1692 - great performance improvement of video encoders and decoders (Michael)
1693 - new and faster bit readers and vlc parsers (Michael)
1694 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1695 - added DV video decoder
1696 - preliminary RTP/RTSP support in ffserver and libavformat
1697 - H.263+ AIC decoding/encoding support (Juanjo)
1698 - VCD MPEG-PS mode (Juanjo)
1699 - PSNR stuff (Juanjo)
1700 - simple stats output (Juanjo)
1701 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1702
1703
1704 version 0.4.5:
1705
1706 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1707 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1708 - added configure system (actually a small shell script)
1709 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1710   Michael Hipp (temporary solution - waiting for integer only
1711   decoder)
1712 - fixed VIDIOCSYNC interrupt
1713 - added Intel H.263 decoding support ('I263' AVI fourCC)
1714 - added Real Video 1.0 decoding (needs further testing)
1715 - simplified image formats again. Added PGM format (=grey
1716   pgm). Renamed old PGM to PGMYUV.
1717 - fixed msmpeg4 slice issues (tell me if you still find problems)
1718 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1719 - added support for MPlayer interface
1720 - added macroblock skip optimization
1721 - added MJPEG decoder
1722 - added mmx/mmxext IDCT from libmpeg2
1723 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1724   <celer at shell.scrypt.net>)
1725 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1726 - added deinterlacing option
1727 - MPEG-1/2 fixes
1728 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1729 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1730 - Windows porting of file converter
1731 - added MJPEG raw format (input/output)
1732 - added JPEG image format support (input/output)
1733
1734
1735 version 0.4.4:
1736
1737 - fixed some std header definitions (Bjorn Lindgren
1738   <bjorn.e.lindgren at telia.com>).
1739 - added MPEG demuxer (MPEG-1 and 2 compatible).
1740 - added ASF demuxer
1741 - added prototype RM demuxer
1742 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1743 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1744   header does not include them)
1745 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1746   play them (only tested video)
1747 - fixed H.263 white bug
1748 - fixed phase rounding in img resample filter
1749 - add MMX code for polyphase img resample filter
1750 - added CPU autodetection
1751 - added generic title/author/copyright/comment string handling (ASF and RM
1752   use them)
1753 - added SWF demux to extract MP3 track (not usable yet because no MP3
1754   decoder)
1755 - added fractional frame rate support
1756 - codecs are no longer searched by read_header() (should fix ffserver
1757   segfault)
1758
1759
1760 version 0.4.3:
1761
1762 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1763 - fixed raw yuv output
1764 - added motion rounding support in MPEG-4
1765 - fixed motion bug rounding in MSMPEG4
1766 - added B-frame handling in video core
1767 - added full MPEG-1 decoding support
1768 - added partial (frame only) MPEG-2 support
1769 - changed the FOURCC code for H.263 to "U263" to be able to see the
1770   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1771   this +codec ;) (JuanJo).
1772 - Halfpel motion estimation after MB type selection (JuanJo)
1773 - added pgm and .Y.U.V output format
1774 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1775   output.
1776 - added pgmpipe I/O format (original patch from Martin Aumueller
1777   <lists at reserv.at>, but changed completely since we use a format
1778   instead of a protocol)
1779
1780
1781 version 0.4.2:
1782
1783 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1784   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1785   missing. MSMPEG4 support is complete.
1786 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1787   can decode ffmpeg MPEGs :-)).
1788 - added libavcodec API documentation (see apiexample.c).
1789 - fixed image polyphase bug (the bottom of some images could be
1790   greenish)
1791 - added support for non clipped motion vectors (decoding only)
1792   and image sizes non-multiple of 16
1793 - added support for AC prediction (decoding only)
1794 - added file overwrite confirmation (can be disabled with -y)
1795 - added custom size picture to H.263 using H.263+ (Juanjo)
1796
1797
1798 version 0.4.1:
1799
1800 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1801   of AVI and ASF to DIV3.
1802 - added -me option to set motion estimation method
1803   (default=log). suppressed redundant -hq option.
1804 - added options -acodec and -vcodec to force a given codec (useful for
1805   AVI for example)
1806 - fixed -an option
1807 - improved dct_quantize speed
1808 - factorized some motion estimation code
1809
1810
1811 version 0.4.0:
1812
1813 - removing grab code from ffserver and moved it to ffmpeg. Added
1814   multistream support to ffmpeg.
1815 - added timeshifting support for live feeds (option ?date=xxx in the
1816   URL)
1817 - added high quality image resize code with polyphase filter (need
1818   mmx/see optimization). Enable multiple image size support in ffserver.
1819 - added multi live feed support in ffserver
1820 - suppressed master feature from ffserver (it should be done with an
1821   external program which opens the .ffm url and writes it to another
1822   ffserver)
1823 - added preliminary support for video stream parsing (WAV and AVI half
1824   done). Added proper support for audio/video file conversion in
1825   ffmpeg.
1826 - added preliminary support for video file sending from ffserver
1827 - redesigning I/O subsystem: now using URL based input and output
1828   (see avio.h)
1829 - added WAV format support
1830 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1831 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1832   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1833 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1834 - added new motion estimation algorithms, log and phods (Juanjo)
1835 - changed directories: libav for format handling, libavcodec for
1836   codecs
1837
1838
1839 version 0.3.4:
1840
1841 - added stereo in MPEG audio encoder
1842
1843
1844 version 0.3.3:
1845
1846 - added 'high quality' mode which use motion vectors. It can be used in
1847   real time at low resolution.
1848 - fixed rounding problems which caused quality problems at high
1849   bitrates and large GOP size
1850
1851
1852 version 0.3.2: small fixes
1853
1854 - ASF fixes
1855 - put_seek bug fix
1856
1857
1858 version 0.3.1: added avi/divx support
1859
1860 - added AVI support
1861 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1862 - added sound for flash format (not tested)
1863
1864
1865 version 0.3: initial public release