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