Update for 3.4.5
[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 3.4.5:
5 - avutil/integer: Fix integer overflow in av_mul_i()
6 - avcodec/msrle: Check that the input is large enough to contain a end of picture code
7 - avcodec/jpeg2000dec: Fix off by 1 error in JPEG2000_PGOD_CPRL handling
8 - avcodec/mpeg4videodec: Fix typo in sprite delta check
9 - avcodec/h264_cavlc: Check mb_skip_run
10 - avcodec/ra144: Fix integer overflow in add_wav()
11 - avformat/utils: Never store negative values in last_IP_duration
12 - avformat/utils: Fix integer overflow in discontinuity check
13 - avcodec/unary: Improve get_unary() docs
14 - avcodec/gdv: Replace divisions by shifts in rescale()
15 - avcodec/dvdsubdec: Sanity check len in decode_rle()
16 - avcodec/mpeg4videodec: Fix undefined shift in get_amv()
17 - avcodec/zmbv: Check that the decompressed data size is correct
18 - avcodec/zmbv: Update decomp_len in raw frames
19 - avcodec/shorten: Fix bitstream end check in read_header()
20 - avcodec/dvdsubdec: Avoid branch in decode_run_8bit()
21 - avcodec/h264_refs: Document last if() in ff_h264_execute_ref_pic_marking()
22 - avcodec/ra144: Fix undefined integer overflow in add_wav()
23 - avcodec/indeo4: Check dimensions in decode_pic_hdr()
24 - avformat/mov: Error on too large stsd entry counts.
25 - examples: Fix use of AV_CODEC_FLAG_GLOBAL_HEADER
26 - avcodec/hq_hqa: Check remaining input bits in hqa_decode_mb()
27 - avcodec/vb: Check for end of bytestream before reading blocktype
28 - avcodec/snowdec: Fix integer overflow with motion vector residual
29 - avformat/nsvdec: Do not parse multiple NSVf
30 - avformat/mlvdec: read_string() received unsigned size, make the argument unsigned
31 - avformat/rmdec: Fix EOF check in the stream loop in ivr_read_header()
32 - avcodec/scpr: Check for min > max in decompress_p()
33 - avcodec/shorten: Fix signed 32bit overflow in shift in shorten_decode_frame()
34 - avcodec/shorten: Fix integer overflow in residual/LPC combination
35 - avcodec/shorten: Check verbatim length
36 - avcodec/mpegaudio_parser: Initialize poutbuf*
37 - avcodec/aacpsdsp_template: Fix integer overflow in ps_stereo_interpolate_c()
38 - avformat/flvenc: Check audio packet size
39 - lavc/svq3: Fix regression decoding some files.
40 - avcodec/qtrle: Check remaining bytestream in qtrle_decode_XYbpp()
41 - avcodec/diracdec: Check bytes count in else branch in decode_lowdelay() too
42 - avcodec/diracdec: Check slice numbers for overflows in relation to picture dimensions
43 - avcodec/diracdec: Change frame_number to 64bit as its a 32bit from the bitstream and we also have a -1 special case
44 - avcodec/dirac_dwt_template: Fix several integer overflows in horizontal_compose_daub97i()
45 - avcodec/diracdec: Prevent integer overflow in intermediate in global_mv()
46 - swresample/swresample: Fix input channel count in resample_first computation
47 - avutil/pixfmt: Document chroma plane size for odd resolutions
48 - avcodec/cuviddec: properly take deinterlacing and display delay into account for buffer_full check
49 - configure: add LIBDRM to extralibs_avutil
50 - avcodec/bitstream_filters: check the input argument of av_bsf_get_by_name() for NUL
51
52 version 3.4.4:
53 - avcodec/dvdsub_parser: Allocate input padding
54 - avcodec/dvdsub_parser: Init output buf/size
55 - avcodec/dirac_dwt_template: Fix signedness regression in interleave()
56 - avformat/movenc: Write version 2 of audio atom if channels is not known
57 - swresample/arm: rename labels to fix xcode build error
58 - avcodec/imgconvert: fix possible null pointer dereference
59
60 version 3.4.3:
61 - avformat/movenc: Check input sample count
62 - avcodec/mjpegdec: Check for odd progressive RGB
63 - avformat/movenc: Check that frame_types other than EAC3_FRAME_TYPE_INDEPENDENT have a supported substream id
64 - avcodec/vp8_parser: Do not leave data/size uninitialized
65 - avformat/mms: Add missing chunksize check
66 - avformat/pva: Check for EOF before retrying in read_part_of_packet()
67 - avformat/rmdec: Do not pass mime type in rm_read_multi() to ff_rm_read_mdpr_codecdata()
68 - avformat/asfdec_o: Check size_bmp more fully
69 - avcodec/indeo4: Check for end of bitstream in decode_mb_info()
70 - avcodec/shorten: Fix undefined addition in shorten_decode_frame()
71 - avcodec/shorten: Fix undefined integer overflow
72 - avcodec/jpeg2000dec: Fixes invalid shifts in jpeg2000_decode_packets_po_iteration()
73 - avcodec/jpeg2000dec: Check that there are enough bytes for all tiles
74 - avformat/movenc: Do not pass AVCodecParameters in avpriv_request_sample
75 - avcodec/escape124: Fix spelling errors in comment
76 - avcodec/ra144: Fix integer overflow in ff_eval_refl()
77 - avcodec/cscd: Check output buffer size for lzo.
78 - avcodec/escape124: Check buf_size against num_superblocks
79 - avcodec/h264_parser: Reduce needed history for parsing mb index
80 - avcodec/magicyuv: Check bits left in flags&1 branch
81 - avcodec/mjpegdec: Check for end of bitstream in ljpeg_decode_rgb_scan()
82 - avcodec/aacdec_fixed: Fix undefined integer overflow in apply_independent_coupling_fixed()
83 - avcodec/dirac_dwt_template: Fix undefined behavior in interleave()
84 - avutil/common: Fix undefined behavior in av_clip_uintp2_c()
85 - fftools/ffmpeg: Fallback to duration if sample rate is unavailable
86 - avformat/mov: Only set pkt->duration to non negative values
87 - avcodec/h264_slice: Fix overflow in recovery_frame computation
88 - avcodec/h264_ps: Move MAX_LOG2_MAX_FRAME_NUM to header so it can be used in h264_sei
89 - avcodec/h264_mc_template: Only prefetch motion if the list is used.
90 - avcodec/xwddec: Use ff_set_dimensions()
91 - avcodec/wavpack: Fix overflow in adding tail
92 - avcodec/shorten: Fix multiple integer overflows
93 - avcodec/shorten: Fix undefined shift in fix_bitshift()
94 - avcodec/shorten: Fix a negative left shift in shorten_decode_frame()
95 - avcodec/shorten: Sanity check nmeans
96 - avcodec/shorten: Check non COMM chunk len before skip in decode_aiff_header()
97 - avcodec/mjpegdec: Fix integer overflow in ljpeg_decode_rgb_scan()
98 - avcodec/truemotion2: Fix overflow in tm2_apply_deltas()
99 - avcodec/opus_silk: Change silk_lsf2lpc() slightly toward silk/NLSF2A.c
100 - avcodec/amrwbdec: Fix division by 0 in find_hb_gain()
101 - avformat/mov: replace a value error by clipping into valid range in mov_read_stsc()
102 - avformat/mov: Break out early if chunk_count is 0 in mov_build_index()
103 - avcodec/fic: Avoid some magic numbers related to cursors
104 - avcodec/g2meet: ask for sample with overflowing RGB
105 - avcodec/aacdec_fixed: use 64bit to avoid overflow in rounding in apply_dependent_coupling_fixed()
106 - oavcodec/aacpsdsp_template: Use unsigned for hs0X to prevent undefined behavior
107 - avcodec/g723_1dec: Clip bits2 in both directions
108 - avcodec/mpeg4videoenc: Use 64 bit for times in mpeg4_encode_gop_header()
109 - avcodec/mlpdec: Only change noise_type if the related fields are valid
110 - indeo4: Decode all or nothing of a band header.
111 - avformat/mov: Only fail for STCO/STSC contradictions if both exist
112 - avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD97iH0 / COMPOSE_DD137iL0
113 - avcodec/fic: Check available input space for cursor
114 - avcodec/g2meet: Check RGB upper limit
115 - avcodec/jpeg2000dec: Fix undefined shift in the jpeg2000_decode_packets_po_iteration() CPRL case
116 - avcodec/jpeg2000dec: Skip init for component in CPRL if nothing is to be done
117 - avcodec/g2meet: Change order of operations to avoid undefined behavior
118 - avcodec/flac_parser: Fix infinite loop
119 - avcodec/wavpack: Fix integer overflow in DEC_MED() / INC_MED()
120 - avcodec/wavpack: Fix integer overflow in wv_unpack_stereo()
121 - avcodec/error_resilience: Fix integer overflow in filter181()
122 - avcodec/h263dec: Check slice_ret in mspeg4 slice loop
123 - avcodec/elsdec: Fix memleaks
124 - avcodec/vc1_block: simplify ac_val computation
125 - avcodec/ffv1enc: Check that the crc + version combination is supported
126 - lavf/http.c: Free allocated client URLContext in case of error.
127 - avcodec/dsicinvideo: Fail if there is only a small fraction of the data available that comprises a full frame
128 - avcodec/dsicinvideo: Propagate errors from cin_decode_rle()
129 - avcodec/dfa: Check dimension against maximum
130 - avcodec/cinepak: Skip empty frames
131 - avcodec/cinepak: move some checks prior to frame allocation
132 - swresample/arm: remove unintentional relocation.
133 - doc/APIchanges: Fix typos in hashes
134 - avformat/utils: Check cur_dts in update_initial_timestamps() more
135 - avcodec/utils: Enforce minimum width also for VP5/6
136 - avcodec/truemotion2: Propagate out of bounds error from GET_TOK()
137 - avformat/utils: Fix integer overflow in end time calculation in update_stream_timings()
138 - avcodec/mjpegdec: Check input buffer size.
139 - avcodec/h264_slice: Fix integer overflow with last_poc
140 - avformat/mov: Fix extradata memleak
141 - lavc/libopusdec: Allow avcodec_open2 to call .close
142 - avcodec/movtextdec: Check style_start/end
143 - avcodec/aacsbr_fixed: Fix integer overflow in sbr_hf_assemble()
144 - libavcodec/rv34: error out earlier on missing references
145 - swresample/swresample: Fix for seg fault in swr_convert_internal() -> sum2_float during dithering.
146 - avcodec/aacdec_fixed: Fix integer overflow in apply_independent_coupling_fixed()
147 - avcodec/cscd: Error out when LZ* decompression fails
148 - avcodec/imgconvert: Fix loss mask bug in avcodec_find_best_pix_fmt_of_list()
149 - avfilter/vf_signature: use av_strlcpy()
150 - avcodec/utvideodec: Set pro flag based on fourcc
151 - avcodec/wmalosslessdec: Fix null pointer dereference in decode_frame()
152 - avcodec/tableprint_vlc: Fix build failure with --enable-hardcoded-tables
153 - avformat/mov: Move +1 in check to avoid hypothetical overflow in add_ctts_entry()
154 - avcodec/get_bits: Make sure the input bitstream with padding can be addressed
155 - avformat/mov: Check STSC and remove invalid entries
156 - avcodec/nuv: rtjpeg with dimensions less than 16 would result in no decoded pixels thus reject it
157 - avcodec/nuv: Check for minimum input size for uncomprssed and rtjpeg
158 - avcodec/wmalosslessdec: Reset num_saved_bits on error path
159 - avformat/mov: Fix integer overflows related to sample_duration
160 - avformat/img2dec: fix infinite loop
161 - avformat/oggparsedaala: Do not adjust AV_NOPTS_VALUE
162 - avformat/oggparseogm: Check lb against psize
163 - avformat/oggparseogm: Fix undefined shift in ogm_packet()
164 - avformat/avidec: Fix integer overflow in cum_len check
165 - avformat/oggparsetheora: Do not adjust AV_NOPTS_VALUE
166 - avformat/utils: Fix integer overflow of fps_first/last_dts
167 - avformat/oggdec: Fix metadata memleak on multiple headers
168 - libavformat/oggparsevorbis: Fix memleak on multiple headers
169 - avformat/mov: Fix integer overflow in mov_get_stsc_samples()
170 - avcodec/truemotion2rt: Check input buffer size
171 - avcodec/g2meet: Check tile dimensions with av_image_check_size2()
172 - avcodec/exr: fix invalid shift in unpack_14()
173 - avcodec/bintext: sanity check dimensions
174 - avcodec/utvideodec: Check subsample factors
175 - avcodec/smc: Check input packet size
176 - avcodec/cavsdec: Check alpha/beta offset
177 - avcodec/diracdec: Fix integer overflow in mv computation
178 - avcodec/h264_parse: Clear invalid chroma weights in ff_h264_pred_weight_table()
179 - avcodec/aacdec_templat: Fix integer overflow in apply_ltp()
180 - avcodec/jpeg2000dwt: Fix integer overflows in sr_1d53()
181 - avcodec/diracdec: Use int64 in global mv to prevent overflow
182 - avcodec/dxtory: Remove code that corrupts dimensions
183 - avcodec/dirac_dwt_template: Fix Integer overflow in horizontal_compose_dd137i()
184 - avcodec/hevcdec: Check luma/chroma_log2_weight_denom
185 - avcodec/jpeg2000dec: Use av_image_check_size2()
186 - avcodec/vp8: Check for bitstream end before vp7_fade_frame()
187 - avcodec/exr: Check remaining bits in last get code loop
188 - avutil/common: Fix integer overflow in av_clip_uint8_c() and av_clip_uint16_c()
189 - avdevice/decklink_dec: Fix ;;
190 - avcodec/h264_cabac: Tighten allowed coeff_abs range
191 - avcodec/h264_cavlc: Set valid qscale value in ff_h264_decode_mb_cavlc()
192 - avdevice/iec61883: free the private context at the end
193 - avdevice/iec61883: return reference counted packets
194 - configure: add nvcc to CMDLINE_SET
195 - avcodec/mpeg4_unpack_bframes: make sure the packet is writable when data needs to be changed
196 - avcodec/mp3_header_decompress: don't free the user provided packet on error
197 - avcodec/extract_extradata: zero initalize the padding bytes in all allocated buffers
198 - avformat/hvcc: zero initialize the nal buffers past the last written byte
199 - swresample/rematrix: fix update of channel matrix if input or output layout is undefined
200 - avformat/matroskadec: ignore CodecPrivate if the stream is VP9
201
202 version 3.4.2:
203 - avcodec/vp3: Error out on invalid num_coeffs in unpack_vlcs()
204 - avcodec/mpeg4videodec: Ignore multiple VOL headers
205 - avcodec/vp3: Check eob_run
206 - avcodec/pafvideo: Check allocated frame size
207 - avcodec/scpr: Fix reading a pixel before the first
208 - avcodec/mpeg2dec: Fix field selection for skipped macroblocks
209 - avcodec/huffyuvdec: Check input buffer size
210 - avcodec/utvideodec: Fix bytes left check in decode_frame()
211 - avcodec/wavpack: Fix integer overflow in FFABS
212 - avcodec/aacsbr_fixed: Fix overflows in rounding in sbr_hf_assemble()
213 - avcodec/exr: Fix memleaks in decode_header()
214 - avcodec/mediacodecdec: use ff_hevc_ps_uninit()
215 - avcodec/hevc_parser: use ff_hevc_uninit_parameter_sets()
216 - avcodec/hevcdec: use ff_hevc_uninit_parameter_sets()
217 - avcodec/hevc_ps: add a function to uninitialize parameter set buffers
218 - avcodec/dirac_dwt: Fix several integer overflows
219 - avcodec/indeo5: Do not leave frame_type set to an invalid value
220 - avcodec/hevc_ps: Check log2_sao_offset_scale_*
221 - avcodec/mpeg4videodec: Avoid possibly aliasing violating casts
222 - avcodec/get_bits: Document the return code of get_vlc2()
223 - avcodec/mpeg4videodec: Check mb_num also against 0
224 - avfilter/vf_transpose: Fix used plane count.
225 - avcodec/hevc_cabac: Check prefix so as to avoid invalid shifts in coeff_abs_level_remaining_decode()
226 - avcodec/mjpegdec: Fix integer overflow in DC dequantization
227 - avcodec/dxtory: Fix bits left checks
228 - avcodec/hevc_cabac: Move prefix check in coeff_abs_level_remaining_decode() down
229 - avcodec/truemotion2: Fix integer overflow in TM2_RECALC_BLOCK()
230 - avcodec/snowdec: Fix integer overflow before htaps check
231 - avcodec/ulti: Check number of blocks at init
232 - avcodec/wavpack: Fix integer overflows in wv_unpack_stereo / mono
233 - avcodec/jpeg2000: Check sum of sizes of band->prec before allocating
234 - avcodec/ac3dec_fixed: Fix integer overflow in scale_coefs()
235 - avformat/lrcdec: Fix memory leak in lrc_read_header()
236 - avformat/matroskadec: Fix float-cast-overflow undefined behavior in matroska_parse_tracks()
237 - lavfi/deinterlace_vaapi: fix can't show full option information.
238 - configure:version 3.4.1: bump year
239 - avcodec/utils: Avoid hardcoding duplicated types in sizeof()
240 - avcodec/arm/sbrdsp_neon: Use a free register instead of putting 2 things in one
241 - avcodec/h264addpx_template: Fixes integer overflows
242 - avcodec/dirac_dwt: Fix overflows in COMPOSE_HAARiH0/COMPOSE_HAARiL0
243 - avcodec/diracdec: Fix integer overflow with quant
244 - avcodec/opus_parser: Check payload_len in parse_opus_ts_header()
245 - avcodec/jpeg2000dsp: Fix integer overflows in ict_int()
246 - avcodec/h264_slice: Do not attempt to render into frames already output
247 - avcodec/dnxhddec: Check dc vlc
248 - avcodec/exr: Check buf_size more completely
249 - avcodec/flacdec: Fix overflow in multiplication in decode_subframe_fixed()
250 - avcodec/hevcdsp_template: Fix Invalid shifts in put_hevc_qpel_bi_w_h() and put_hevc_qpel_bi_w_w()
251 - avcodec/flacdec: avoid undefined shift
252 - avcodec/hevcdsp_template.c: Fix undefined shift in FUNC(dequant)
253 - avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD97iH0() and COMPOSE_DD137iL0()
254 - avcodec/hevc_cabac: Fix integer overflow in ff_hevc_cu_qp_delta_abs()
255 - tests/audiomatch: Add missing return code at the end of main()
256 - avcodec/hevc_sei: Fix integer overflows in decode_nal_sei_message()
257 - avcodec/hevcdsp_template: Fix undefined shift in put_hevc_qpel_bi_w_hv()
258 - avcodec/h264_parse: Treat escaped and unescaped decoding error equal in decode_extradata_ps_mp4()
259 - avcodec/vp9: mark frame as finished on decode_tiles() failure
260 - libavfilter/af_dcshift.c: Fixed repeated spelling error
261 - avfilter/formats: fix wrong function name in error message
262
263 version 3.4.1:
264 - avcodec/vp9_superframe_split_bsf: Fix integer overflow in frame_size/total_size checks
265 - avcodec/amrwbdec: Fix division by 0 in voice_factor()
266 - avformat/utils: Fix warning: ISO C90 forbids mixed declarations and code
267 - avcodec/decode: reset codec on receiving packet after EOF in compat_decode
268 - avcodec/diracdsp: Fix integer overflow in PUT_SIGNED_RECT_CLAMPED()
269 - avcodec/dirac_dwt: Fix integer overflows in COMPOSE_DAUB97*
270 - avcodec/extract_extradata_bsf: Fix leak discovered via fuzzing
271 - avcodec/vorbis: Fix another 1 << 31 > int32_t::max() with 1u.
272 - avcodec/vorbis: 1 << 31 > int32_t::max(), so use 1u << 31 instead.
273 - avformat/utils: Prevent undefined shift with wrap_bits > 64.
274 - avcodec/j2kenc: Fix out of array access in encode_cblk()
275 - avcodec/hevcdsp_template: Fix undefined shift in put_hevc_epel_bi_w_h()
276 - lavf/mov: fix huge alloc in mov_read_ctts
277 - avcodec/mlpdsp: Fix signed integer overflow, 2nd try
278 - avcodec/h264idct_template: Fix integer overflow in ff_h264_idct8_add
279 - avcodec/kgv1dec: Check that there is enough input for maximum RLE compression
280 - avformat/aacdec: Fix leak in adts_aac_read_packet()
281 - avcodec/dirac_dwt: Fix integer overflow in COMPOSE_FIDELITYi*
282 - avcodec/sbrdsp_fixed: Fix integer overflow
283 - avcodec/mpeg4videodec: Check also for negative versions in the validity check
284 - Close ogg stream upon error when using AV_EF_EXPLODE.
285 - Fix undefined shift on assumed 8-bit input.
286 - Use ff_thread_once for fixed, float table init.
287 - Fix leak of frame_duration_buffer in mov_fix_index().
288 - avformat/mov: Propagate errors in mov_switch_root.
289 - avcodec/hevcdsp_template: Fix invalid shift in put_hevc_epel_bi_w_v()
290 - avcodec/mlpdsp: Fix undefined shift ff_mlp_pack_output()
291 - avcodec/zmbv: Check that the buffer is large enough for mvec
292 - avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD137iL0()
293 - avcodec/wmv2dec: Check end of bitstream in parse_mb_skip() and ff_wmv2_decode_mb()
294 - avcodec/snowdec: Check for remaining bitstream in decode_blocks()
295 - avcodec/snowdec: Check intra block dc differences.
296 - avformat/mov: Check size of STSC allocation
297 - avcodec/vc2enc: Clear coef_buf on allocation
298 - avcodec/h264dec: Fix potential array overread
299 - avcodec/x86/mpegvideodsp: Fix signedness bug in need_emu
300 - avcodec/aacpsdsp_template: Fix integer overflows in ps_decorrelate_c()
301 - avcodec/aacdec_fixed: Fix undefined shift
302 - avcodec/mdct_*: Fix integer overflow in addition in RESCALE()
303 - avcodec/snowdec: Fix integer overflow in header parsing
304 - avcodec/cngdec: Fix integer clipping
305 - avcodec/sbrdsp_fixed: Fix integer overflow in shift in sbr_hf_g_filt_c()
306 - avcodec/aacsbr_fixed: Fix division by zero in sbr_gain_calc()
307 - avutil/softfloat: Add FLOAT_MIN
308 - avcodec/h264idct_template: Fix integer overflows in ff_h264_idct8_add()
309 - avcodec/xan: Check for bitstream end in xan_huffman_decode()
310 - avcodec/exr: fix undefined shift in pxr24_uncompress()
311 - avformat: Free the internal codec context at the end
312 - avcodec/h264idct_template: Fix integer overflows in ff_h264_idct8_add()
313 - avcodec/xan: Improve overlapping check
314 - avcodec/aacdec_fixed: Fix integer overflow in apply_dependent_coupling_fixed()
315 - avcodec/aacdec_fixed: Fix integer overflow in predict()
316 - avcodec/jpeglsdec: Check for end of bitstream in ls_decode_line()
317 - avcodec/jpeglsdec: Check ilv for being a supported value
318 - tests/ffserver.regression.ref: update checksums to what ffserver currently produces
319 - ffserver: Fix off by 1 error in path
320 - avcodec/proresdec: align dequantization matrix buffers
321 - avformat/matroskaenc: add missing allocation failure checks for stream durations
322 - avformat/matroskaenc: actually enforce the stream limit
323 - configure: Fix dependencies of aac_at decoder.
324 - Don't manipulate duration when it's AV_NOPTS_VALUE.
325 - lavfi/af_pan: fix sign handling in channel coefficient parser
326 - avformat/hlsenc: write fmp4 init header after first AV frame
327 - avformat/hlsenc: allocate space for terminating null
328 - avformat/hlsenc: reindent hlsenc code
329 - avformat/hlsenc: check hls segment mode for ignore the init filename
330 - avformat/hlsenc: reindent hlsenc code
331 - avformat/hlsenc: fix missing first segment bug in fmp4 mode
332 - avformat/hlsenc: fix base_output_dirname is null when basename_size is 0 bug
333 - ffplay: use SDL2 audio API
334 - ffplay: only use hardware accelerated SDL texture formats
335 - ffplay: create the window and the renderer before starting playback
336 - ffmpeg: always init output stream before reaping filters
337 - vc2enc_dwt: pad the temporary buffer by the slice size
338 - lavu/arm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfp
339
340 version 3.4:
341 - deflicker video filter
342 - doubleweave video filter
343 - lumakey video filter
344 - pixscope video filter
345 - oscilloscope video filter
346 - config.log and other configuration files moved into ffbuild/ directory
347 - update cuvid/nvenc headers to Video Codec SDK 8.0.14
348 - afir audio filter
349 - scale_cuda CUDA based video scale filter
350 - librsvg support for svg rasterization
351 - crossfeed audio filter
352 - spec compliant VP9 muxing support in MP4
353 - remove the libnut muxer/demuxer wrappers
354 - remove the libschroedinger encoder/decoder wrappers
355 - surround audio filter
356 - sofalizer filter switched to libmysofa
357 - Gremlin Digital Video demuxer and decoder
358 - headphone audio filter
359 - superequalizer audio filter
360 - roberts video filter
361 - The x86 assembler default switched from yasm to nasm, pass
362   --x86asmexe=yasm to configure to restore the old behavior.
363 - additional frame format support for Interplay MVE movies
364 - support for decoding through D3D11VA in ffmpeg
365 - limiter video filter
366 - libvmaf video filter
367 - Dolby E decoder and SMPTE 337M demuxer
368 - unpremultiply video filter
369 - tlut2 video filter
370 - floodfill video filter
371 - pseudocolor video filter
372 - raw G.726 muxer and demuxer, left- and right-justified
373 - NewTek NDI input/output device
374 - Some video filters with several inputs now use a common set of options:
375   blend, libvmaf, lut3d, overlay, psnr, ssim.
376   They must always be used by name.
377 - FITS demuxer and decoder
378 - FITS muxer and encoder
379 - add --disable-autodetect build switch
380 - drop deprecated qtkit input device (use avfoundation instead)
381 - despill video filter
382 - haas audio filter
383 - SUP/PGS subtitle muxer
384 - convolve video filter
385 - VP9 tile threading support
386 - KMS screen grabber
387 - CUDA thumbnail filter
388 - V4L2 mem2mem HW assisted codecs
389 - Rockchip MPP hardware decoding
390 - vmafmotion video filter
391 - use MIME type "G726" for little-endian G.726, "AAL2-G726" for big-endian G.726
392
393
394 version 3.3:
395 - CrystalHD decoder moved to new decode API
396 - add internal ebur128 library, remove external libebur128 dependency
397 - Pro-MPEG CoP #3-R2 FEC protocol
398 - premultiply video filter
399 - Support for spherical videos
400 - configure now fails if autodetect-libraries are requested but not found
401 - PSD Decoder
402 - 16.8 floating point pcm decoder
403 - 24.0 floating point pcm decoder
404 - Apple Pixlet decoder
405 - QDMC audio decoder
406 - NewTek SpeedHQ decoder
407 - MIDI Sample Dump Standard demuxer
408 - readeia608 filter
409 - Sample Dump eXchange demuxer
410 - abitscope multimedia filter
411 - Scenarist Closed Captions demuxer and muxer
412 - threshold filter
413 - midequalizer filter
414 - Optimal Huffman tables for (M)JPEG encoding
415 - VAAPI-accelerated MPEG-2 and VP8 encoding
416 - FM Screen Capture Codec decoder
417 - native Opus encoder
418 - ScreenPressor decoder
419 - incomplete ClearVideo decoder
420 - Intel QSV video scaling and deinterlacing filters
421 - Support MOV with multiple sample description tables
422 - XPM decoder
423 - Removed the legacy X11 screen grabber, use XCB instead
424 - MPEG-7 Video Signature filter
425 - Removed asyncts filter (use af_aresample instead)
426 - Intel QSV-accelerated VP8 video decoding
427 - VAAPI-accelerated deinterlacing
428
429
430 version 3.2:
431 - libopenmpt demuxer
432 - tee protocol
433 - Changed metadata print option to accept general urls
434 - Alias muxer for Ogg Video (.ogv)
435 - VP8 in Ogg muxing
436 - curves filter doesn't automatically insert points at x=0 and x=1 anymore
437 - 16-bit support in curves filter and selectivecolor filter
438 - OpenH264 decoder wrapper
439 - MediaCodec H.264/HEVC/MPEG-4/VP8/VP9 hwaccel
440 - True Audio (TTA) muxer
441 - crystalizer audio filter
442 - acrusher audio filter
443 - bitplanenoise video filter
444 - floating point support in als decoder
445 - fifo muxer
446 - maskedclamp filter
447 - hysteresis filter
448 - lut2 filter
449 - yuvtestsrc filter
450 - CUDA CUVID H.263/VP8/VP9/10 bit HEVC (Dithered) Decoding
451 - vaguedenoiser filter
452 - added threads option per filter instance
453 - weave filter
454 - gblur filter
455 - avgblur filter
456 - sobel and prewitt filter
457 - MediaCodec HEVC/MPEG-4/VP8/VP9 decoding
458 - Meridian Lossless Packing (MLP) / TrueHD encoder
459 - Non-Local Means (nlmeans) denoising filter
460 - sdl2 output device and ffplay support
461 - sdl1 output device and sdl1 support removed
462 - extended mov edit list support
463 - libfaac encoder removed
464 - Matroska muxer now writes CRC32 elements by default in all Level 1 elements
465 - sidedata video and asidedata audio filter
466 - Changed mapping of rtp MIME type G726 to codec g726le.
467 - spec compliant VAAPI/DXVA2 VC-1 decoding of slices in frame-coded images
468
469
470 version 3.1:
471 - DXVA2-accelerated HEVC Main10 decoding
472 - fieldhint filter
473 - loop video filter and aloop audio filter
474 - Bob Weaver deinterlacing filter
475 - firequalizer filter
476 - datascope filter
477 - bench and abench filters
478 - ciescope filter
479 - protocol blacklisting API
480 - MediaCodec H264 decoding
481 - VC-2 HQ RTP payload format (draft v1) depacketizer and packetizer
482 - VP9 RTP payload format (draft v2) packetizer
483 - AudioToolbox audio decoders
484 - AudioToolbox audio encoders
485 - coreimage filter (GPU based image filtering on OSX)
486 - libdcadec removed
487 - bitstream filter for extracting DTS core
488 - ADPCM IMA DAT4 decoder
489 - musx demuxer
490 - aix demuxer
491 - remap filter
492 - hash and framehash muxers
493 - colorspace filter
494 - hdcd filter
495 - readvitc filter
496 - VAAPI-accelerated format conversion and scaling
497 - libnpp/CUDA-accelerated format conversion and scaling
498 - Duck TrueMotion 2.0 Real Time decoder
499 - Wideband Single-bit Data (WSD) demuxer
500 - VAAPI-accelerated H.264/HEVC/MJPEG encoding
501 - DTS Express (LBR) decoder
502 - Generic OpenMAX IL encoder with support for Raspberry Pi
503 - IFF ANIM demuxer & decoder
504 - Direct Stream Transfer (DST) decoder
505 - loudnorm filter
506 - MTAF demuxer and decoder
507 - MagicYUV decoder
508 - OpenExr improvements (tile data and B44/B44A support)
509 - BitJazz SheerVideo decoder
510 - CUDA CUVID H264/HEVC decoder
511 - 10-bit depth support in native utvideo decoder
512 - libutvideo wrapper removed
513 - YUY2 Lossless Codec decoder
514 - VideoToolbox H.264 encoder
515
516
517 version 3.0:
518 - Common Encryption (CENC) MP4 encoding and decoding support
519 - DXV decoding
520 - extrastereo filter
521 - ocr filter
522 - alimiter filter
523 - stereowiden filter
524 - stereotools filter
525 - rubberband filter
526 - tremolo filter
527 - agate filter
528 - chromakey filter
529 - maskedmerge filter
530 - Screenpresso SPV1 decoding
531 - chromaprint fingerprinting muxer
532 - ffplay dynamic volume control
533 - displace filter
534 - selectivecolor filter
535 - extensive native AAC encoder improvements and removal of experimental flag
536 - ADPCM PSX decoder
537 - 3dostr, dcstr, fsb, genh, vag, xvag, ads, msf, svag & vpk demuxer
538 - zscale filter
539 - wve demuxer
540 - zero-copy Intel QSV transcoding in ffmpeg
541 - shuffleframes filter
542 - SDX2 DPCM decoder
543 - vibrato filter
544 - innoHeim/Rsupport Screen Capture Codec decoder
545 - ADPCM AICA decoder
546 - Interplay ACM demuxer and audio decoder
547 - XMA1 & XMA2 decoder
548 - realtime filter
549 - anoisesrc audio filter source
550 - IVR demuxer
551 - compensationdelay filter
552 - acompressor filter
553 - support encoding 16-bit RLE SGI images
554 - apulsator filter
555 - sidechaingate audio filter
556 - mipsdspr1 option has been renamed to mipsdsp
557 - aemphasis filter
558 - mips32r5 option has been removed
559 - mips64r6 option has been removed
560 - DXVA2-accelerated VP9 decoding
561 - SOFAlizer: virtual binaural acoustics filter
562 - VAAPI VP9 hwaccel
563 - audio high-order multiband parametric equalizer
564 - automatic bitstream filtering
565 - showspectrumpic filter
566 - libstagefright support removed
567 - spectrumsynth filter
568 - ahistogram filter
569 - only seek with the right mouse button in ffplay
570 - toggle full screen when double-clicking with the left mouse button in ffplay
571 - afftfilt filter
572 - convolution filter
573 - libquvi support removed
574 - support for dvaudio in wav and avi
575 - libaacplus and libvo-aacenc support removed
576 - Cineform HD decoder
577 - new DCA decoder with full support for DTS-HD extensions
578 - significant performance improvements in Windows Television (WTV) demuxer
579 - nnedi deinterlacer
580 - streamselect video and astreamselect audio filter
581 - swaprect filter
582 - metadata video and ametadata audio filter
583 - SMPTE VC-2 HQ profile support for the Dirac decoder
584 - SMPTE VC-2 native encoder supporting the HQ profile
585
586
587 version 2.8:
588 - colorkey video filter
589 - BFSTM/BCSTM demuxer
590 - little-endian ADPCM_THP decoder
591 - Hap decoder and encoder
592 - DirectDraw Surface image/texture decoder
593 - ssim filter
594 - optional new ASF demuxer
595 - showvolume filter
596 - Many improvements to the JPEG 2000 decoder
597 - Go2Meeting decoding support
598 - adrawgraph audio and drawgraph video filter
599 - removegrain video filter
600 - Intel QSV-accelerated MPEG-2 video and HEVC encoding
601 - Intel QSV-accelerated MPEG-2 video and HEVC decoding
602 - Intel QSV-accelerated VC-1 video decoding
603 - libkvazaar HEVC encoder
604 - erosion, dilation, deflate and inflate video filters
605 - Dynamic Audio Normalizer as dynaudnorm filter
606 - Reverse video and areverse audio filter
607 - Random filter
608 - deband filter
609 - AAC fixed-point decoding
610 - sidechaincompress audio filter
611 - bitstream filter for converting HEVC from MP4 to Annex B
612 - acrossfade audio filter
613 - allyuv and allrgb video sources
614 - atadenoise video filter
615 - OS X VideoToolbox support
616 - aphasemeter filter
617 - showfreqs filter
618 - vectorscope filter
619 - waveform filter
620 - hstack and vstack filter
621 - Support DNx100 (1440x1080@8)
622 - VAAPI hevc hwaccel
623 - VDPAU hevc hwaccel
624 - framerate filter
625 - Switched default encoders for webm to VP9 and Opus
626 - Removed experimental flag from the JPEG 2000 encoder
627
628
629 version 2.7:
630 - FFT video filter
631 - TDSC decoder
632 - DTS lossless extension (XLL) decoding (not lossless, disabled by default)
633 - showwavespic filter
634 - DTS decoding through libdcadec
635 - Drop support for nvenc API before 5.0
636 - nvenc HEVC encoder
637 - Detelecine filter
638 - Intel QSV-accelerated H.264 encoding
639 - MMAL-accelerated H.264 decoding
640 - basic APNG encoder and muxer with default extension "apng"
641 - unpack DivX-style packed B-frames in MPEG-4 bitstream filter
642 - WebM Live Chunk Muxer
643 - nvenc level and tier options
644 - chorus filter
645 - Canopus HQ/HQA decoder
646 - Automatically rotate videos based on metadata in ffmpeg
647 - improved Quickdraw compatibility
648 - VP9 high bit-depth and extended colorspaces decoding support
649 - WebPAnimEncoder API when available for encoding and muxing WebP
650 - Direct3D11-accelerated decoding
651 - Support Secure Transport
652 - Multipart JPEG demuxer
653
654
655 version 2.6:
656 - nvenc encoder
657 - 10bit spp filter
658 - colorlevels filter
659 - RIFX format for *.wav files
660 - RTP/mpegts muxer
661 - non continuous cache protocol support
662 - tblend filter
663 - cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
664 - Camellia symmetric block cipher
665 - OpenH264 encoder wrapper
666 - VOC seeking support
667 - Closed caption Decoder
668 - fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
669 - showpalette filter
670 - Twofish symmetric block cipher
671 - Support DNx100 (960x720@8)
672 - eq2 filter ported from libmpcodecs as eq filter
673 - removed libmpcodecs
674 - Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
675 - ported softpulldown filter from libmpcodecs as repeatfields filter
676 - dcshift filter
677 - RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
678 - RTP depacketizer for AC3 payload format (RFC 4184)
679 - palettegen and paletteuse filters
680 - VP9 RTP payload format (draft 0) experimental depacketizer
681 - RTP depacketizer for DV (RFC 6469)
682 - DXVA2-accelerated HEVC decoding
683 - AAC ELD 480 decoding
684 - Intel QSV-accelerated H.264 decoding
685 - DSS SP decoder and DSS demuxer
686 - Fix stsd atom corruption in DNxHD QuickTimes
687 - Canopus HQX decoder
688 - RTP depacketization of T.140 text (RFC 4103)
689 - Port MIPS optimizations to 64-bit
690
691
692 version 2.5:
693 - HEVC/H.265 RTP payload format (draft v6) packetizer
694 - SUP/PGS subtitle demuxer
695 - ffprobe -show_pixel_formats option
696 - CAST128 symmetric block cipher, ECB mode
697 - STL subtitle demuxer and decoder
698 - libutvideo YUV 4:2:2 10bit support
699 - XCB-based screen-grabber
700 - UDP-Lite support (RFC 3828)
701 - xBR scaling filter
702 - AVFoundation screen capturing support
703 - ffserver supports codec private options
704 - creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
705 - WebP muxer with animated WebP support
706 - zygoaudio decoding support
707 - APNG demuxer
708 - postproc visualization support
709
710
711 version 2.4:
712 - Icecast protocol
713 - ported lenscorrection filter from frei0r filter
714 - large optimizations in dctdnoiz to make it usable
715 - ICY metadata are now requested by default with the HTTP protocol
716 - support for using metadata in stream specifiers in fftools
717 - LZMA compression support in TIFF decoder
718 - H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
719 - HEVC/H.265 RTP payload format (draft v6) depacketizer
720 - added codecview filter to visualize information exported by some codecs
721 - Matroska 3D support thorugh side data
722 - HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
723 - silenceremove filter
724
725
726 version 2.3:
727 - AC3 fixed-point decoding
728 - shuffleplanes filter
729 - subfile protocol
730 - Phantom Cine demuxer
731 - replaygain data export
732 - VP7 video decoder
733 - Alias PIX image encoder and decoder
734 - Improvements to the BRender PIX image decoder
735 - Improvements to the XBM decoder
736 - QTKit input device
737 - improvements to OpenEXR image decoder
738 - support decoding 16-bit RLE SGI images
739 - GDI screen grabbing for Windows
740 - alternative rendition support for HTTP Live Streaming
741 - AVFoundation input device
742 - Direct Stream Digital (DSD) decoder
743 - Magic Lantern Video (MLV) demuxer
744 - On2 AVC (Audio for Video) decoder
745 - support for decoding through DXVA2 in ffmpeg
746 - libbs2b-based stereo-to-binaural audio filter
747 - libx264 reference frames count limiting depending on level
748 - native Opus decoder
749 - display matrix export and rotation API
750 - WebVTT encoder
751 - showcqt multimedia filter
752 - zoompan filter
753 - signalstats filter
754 - hqx filter (hq2x, hq3x, hq4x)
755 - flanger filter
756 - Image format auto-detection
757 - LRC demuxer and muxer
758 - Samba protocol (via libsmbclient)
759 - WebM DASH Manifest muxer
760 - libfribidi support in drawtext
761
762
763 version 2.2:
764
765 - HNM version 4 demuxer and video decoder
766 - Live HDS muxer
767 - setsar/setdar filters now support variables in ratio expressions
768 - elbg filter
769 - string validation in ffprobe
770 - support for decoding through VDPAU in ffmpeg (the -hwaccel option)
771 - complete Voxware MetaSound decoder
772 - remove mp3_header_compress bitstream filter
773 - Windows resource files for shared libraries
774 - aeval filter
775 - stereoscopic 3d metadata handling
776 - WebP encoding via libwebp
777 - ATRAC3+ decoder
778 - VP8 in Ogg demuxing
779 - side & metadata support in NUT
780 - framepack filter
781 - XYZ12 rawvideo support in NUT
782 - Exif metadata support in WebP decoder
783 - OpenGL device
784 - Use metadata_header_padding to control padding in ID3 tags (currently used in
785   MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
786 - Mirillis FIC video decoder
787 - Support DNx444
788 - libx265 encoder
789 - dejudder filter
790 - Autodetect VDA like all other hardware accelerations
791 - aliases and defaults for Ogg subtypes (opus, spx)
792
793
794 version 2.1:
795
796 - aecho filter
797 - perspective filter ported from libmpcodecs
798 - ffprobe -show_programs option
799 - compand filter
800 - RTMP seek support
801 - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
802   even when used as an input option. Previous behavior can be restored with
803   the -noaccurate_seek option.
804 - ffmpeg -t option can now be used for inputs, to limit the duration of
805   data read from an input file
806 - incomplete Voxware MetaSound decoder
807 - read EXIF metadata from JPEG
808 - DVB teletext decoder
809 - phase filter ported from libmpcodecs
810 - w3fdif filter
811 - Opus support in Matroska
812 - FFV1 version 1.3 is stable and no longer experimental
813 - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
814 - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
815   more consistent with other muxers.
816 - adelay filter
817 - pullup filter ported from libmpcodecs
818 - ffprobe -read_intervals option
819 - Lossless and alpha support for WebP decoder
820 - Error Resilient AAC syntax (ER AAC LC) decoding
821 - Low Delay AAC (ER AAC LD) decoding
822 - mux chapters in ASF files
823 - SFTP protocol (via libssh)
824 - libx264: add ability to encode in YUVJ422P and YUVJ444P
825 - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
826 - make decoding alpha optional for prores, ffv1 and vp6 by setting
827   the skip_alpha flag.
828 - ladspa wrapper filter
829 - native VP9 decoder
830 - dpx parser
831 - max_error_rate parameter in ffmpeg
832 - PulseAudio output device
833 - ReplayGain scanner
834 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
835 - Linux framebuffer output device
836 - HEVC decoder
837 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
838 - mergeplanes filter
839
840
841 version 2.0:
842
843 - curves filter
844 - reference-counting for AVFrame and AVPacket data
845 - ffmpeg now fails when input options are used for output file
846   or vice versa
847 - support for Monkey's Audio versions from 3.93
848 - perms and aperms filters
849 - audio filtering support in ffplay
850 - 10% faster aac encoding on x86 and MIPS
851 - sine audio filter source
852 - WebP demuxing and decoding support
853 - ffmpeg options -filter_script and -filter_complex_script, which allow a
854   filtergraph description to be read from a file
855 - OpenCL support
856 - audio phaser filter
857 - separatefields filter
858 - libquvi demuxer
859 - uniform options syntax across all filters
860 - telecine filter
861 - interlace filter
862 - smptehdbars source
863 - inverse telecine filters (fieldmatch and decimate)
864 - colorbalance filter
865 - colorchannelmixer filter
866 - The matroska demuxer can now output proper verbatim ASS packets. It will
867   become the default at the next libavformat major bump.
868 - decent native animated GIF encoding
869 - asetrate filter
870 - interleave filter
871 - timeline editing with filters
872 - vidstabdetect and vidstabtransform filters for video stabilization using
873   the vid.stab library
874 - astats filter
875 - trim and atrim filters
876 - ffmpeg -t and -ss (output-only) options are now sample-accurate when
877   transcoding audio
878 - Matroska muxer can now put the index at the beginning of the file.
879 - extractplanes filter
880 - avectorscope filter
881 - ADPCM DTK decoder
882 - ADP demuxer
883 - RSD demuxer
884 - RedSpark demuxer
885 - ADPCM IMA Radical decoder
886 - zmq filters
887 - DCT denoiser filter (dctdnoiz)
888 - Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
889 - Apple Intermediate Codec decoder
890 - Escape 130 video decoder
891 - FTP protocol support
892 - V4L2 output device
893 - 3D LUT filter (lut3d)
894 - SMPTE 302M audio encoder
895 - support for slice multithreading in libavfilter
896 - Hald CLUT support (generation and filtering)
897 - VC-1 interlaced B-frame support
898 - support for WavPack muxing (raw and in Matroska)
899 - XVideo output device
900 - vignette filter
901 - True Audio (TTA) encoder
902 - Go2Webinar decoder
903 - mcdeint filter ported from libmpcodecs
904 - sab filter ported from libmpcodecs
905 - ffprobe -show_chapters option
906 - WavPack encoding through libwavpack
907 - rotate filter
908 - spp filter ported from libmpcodecs
909 - libgme support
910 - psnr filter
911
912
913 version 1.2:
914
915 - VDPAU hardware acceleration through normal hwaccel
916 - SRTP support
917 - Error diffusion dither in Swscale
918 - Chained Ogg support
919 - Theora Midstream reconfiguration support
920 - EVRC decoder
921 - audio fade filter
922 - filtering audio with unknown channel layout
923 - allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
924   and treble audio filter
925 - improved showspectrum filter, with multichannel support and sox-like colors
926 - histogram filter
927 - tee muxer
928 - il filter ported from libmpcodecs
929 - support ID3v2 tags in ASF files
930 - encrypted TTA stream decoding support
931 - RF64 support in WAV muxer
932 - noise filter ported from libmpcodecs
933 - Subtitles character encoding conversion
934 - blend filter
935 - stereo3d filter ported from libmpcodecs
936
937
938 version 1.1:
939
940 - stream disposition information printing in ffprobe
941 - filter for loudness analysis following EBU R128
942 - Opus encoder using libopus
943 - ffprobe -select_streams option
944 - Pinnacle TARGA CineWave YUV16 decoder
945 - TAK demuxer, decoder and parser
946 - DTS-HD demuxer
947 - remove -same_quant, it hasn't worked for years
948 - FFM2 support
949 - X-Face image encoder and decoder
950 - 24-bit FLAC encoding
951 - multi-channel ALAC encoding up to 7.1
952 - metadata (INFO tag) support in WAV muxer
953 - subtitles raw text decoder
954 - support for building DLLs using MSVC
955 - LVF demuxer
956 - ffescape tool
957 - metadata (info chunk) support in CAF muxer
958 - field filter ported from libmpcodecs
959 - AVR demuxer
960 - geq filter ported from libmpcodecs
961 - remove ffserver daemon mode
962 - AST muxer/demuxer
963 - new expansion syntax for drawtext
964 - BRender PIX image decoder
965 - ffprobe -show_entries option
966 - ffprobe -sections option
967 - ADPCM IMA Dialogic decoder
968 - BRSTM demuxer
969 - animated GIF decoder and demuxer
970 - PVF demuxer
971 - subtitles filter
972 - IRCAM muxer/demuxer
973 - Paris Audio File demuxer
974 - Virtual concatenation demuxer
975 - VobSub demuxer
976 - JSON captions for TED talks decoding support
977 - SOX Resampler support in libswresample
978 - aselect filter
979 - SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
980 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
981 - Silicon Graphics Movie demuxer
982 - apad filter
983 - Resolution & pixel format change support with multithreading for H.264
984 - documentation split into per-component manuals
985 - pp (postproc) filter ported from MPlayer
986 - NIST Sphere demuxer
987 - MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
988 - Sony Wave64 muxer
989 - adobe and limelight publisher authentication in RTMP
990 - data: URI scheme
991 - support building on the Plan 9 operating system
992 - kerndeint filter ported from MPlayer
993 - histeq filter ported from VirtualDub
994 - Megalux Frame demuxer
995 - 012v decoder
996 - Improved AVC Intra decoding support
997
998
999 version 1.0:
1000
1001 - INI and flat output in ffprobe
1002 - Scene detection in libavfilter
1003 - Indeo Audio decoder
1004 - channelsplit audio filter
1005 - setnsamples audio filter
1006 - atempo filter
1007 - ffprobe -show_data option
1008 - RTMPT protocol support
1009 - iLBC encoding/decoding via libilbc
1010 - Microsoft Screen 1 decoder
1011 - join audio filter
1012 - audio channel mapping filter
1013 - Microsoft ATC Screen decoder
1014 - RTSP listen mode
1015 - TechSmith Screen Codec 2 decoder
1016 - AAC encoding via libfdk-aac
1017 - Microsoft Expression Encoder Screen decoder
1018 - RTMPS protocol support
1019 - RTMPTS protocol support
1020 - RTMPE protocol support
1021 - RTMPTE protocol support
1022 - showwaves and showspectrum filter
1023 - LucasArts SMUSH SANM playback support
1024 - LucasArts SMUSH VIMA audio decoder (ADPCM)
1025 - LucasArts SMUSH demuxer
1026 - SAMI, RealText and SubViewer demuxers and decoders
1027 - Heart Of Darkness PAF playback support
1028 - iec61883 device
1029 - asettb filter
1030 - new option: -progress
1031 - 3GPP Timed Text encoder/decoder
1032 - GeoTIFF decoder support
1033 - ffmpeg -(no)stdin option
1034 - Opus decoder using libopus
1035 - caca output device using libcaca
1036 - alphaextract and alphamerge filters
1037 - concat filter
1038 - flite filter
1039 - Canopus Lossless Codec decoder
1040 - bitmap subtitles in filters (experimental and temporary)
1041 - MP2 encoding via TwoLAME
1042 - bmp parser
1043 - smptebars source
1044 - asetpts filter
1045 - hue filter
1046 - ICO muxer
1047 - SubRip encoder and decoder without embedded timing
1048 - edge detection filter
1049 - framestep filter
1050 - ffmpeg -shortest option is now per-output file
1051   -pass and -passlogfile are now per-output stream
1052 - volume measurement filter
1053 - Ut Video encoder
1054 - Microsoft Screen 2 decoder
1055 - smartblur filter ported from MPlayer
1056 - CPiA decoder
1057 - decimate filter ported from MPlayer
1058 - RTP depacketization of JPEG
1059 - Smooth Streaming live segmenter muxer
1060 - F4V muxer
1061 - sendcmd and asendcmd filters
1062 - WebVTT demuxer and decoder (simple tags supported)
1063 - RTP packetization of JPEG
1064 - faststart option in the MOV/MP4 muxer
1065 - support for building with MSVC
1066
1067
1068 version 0.11:
1069
1070 - Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
1071          CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
1072          CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
1073          CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
1074          CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
1075          CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
1076 - v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
1077 - setfield filter
1078 - CDXL demuxer and decoder
1079 - Apple ProRes encoder
1080 - ffprobe -count_packets and -count_frames options
1081 - Sun Rasterfile Encoder
1082 - ID3v2 attached pictures reading and writing
1083 - WMA Lossless decoder
1084 - bluray protocol
1085 - blackdetect filter
1086 - libutvideo encoder wrapper (--enable-libutvideo)
1087 - swapuv filter
1088 - bbox filter
1089 - XBM encoder and decoder
1090 - RealAudio Lossless decoder
1091 - ZeroCodec decoder
1092 - tile video filter
1093 - Metal Gear Solid: The Twin Snakes demuxer
1094 - OpenEXR image decoder
1095 - removelogo filter
1096 - drop support for ffmpeg without libavfilter
1097 - drawtext video filter: fontconfig support
1098 - ffmpeg -benchmark_all option
1099 - super2xsai filter ported from libmpcodecs
1100 - add libavresample audio conversion library for compatibility
1101 - MicroDVD decoder
1102 - Avid Meridien (AVUI) encoder and decoder
1103 - accept + prefix to -pix_fmt option to disable automatic conversions.
1104 - complete audio filtering in libavfilter and ffmpeg
1105 - add fps filter
1106 - vorbis parser
1107 - png parser
1108 - audio mix filter
1109 - ffv1: support (draft) version 1.3
1110
1111
1112 version 0.10:
1113
1114 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
1115          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
1116          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
1117          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
1118 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
1119 - SBaGen (SBG) binaural beats script demuxer
1120 - OpenMG Audio muxer
1121 - Timecode extraction in DV and MOV
1122 - thumbnail video filter
1123 - XML output in ffprobe
1124 - asplit audio filter
1125 - tinterlace video filter
1126 - astreamsync audio filter
1127 - amerge audio filter
1128 - ISMV (Smooth Streaming) muxer
1129 - GSM audio parser
1130 - SMJPEG muxer
1131 - XWD encoder and decoder
1132 - Automatic thread count based on detection number of (available) CPU cores
1133 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
1134 - ffprobe -show_error option
1135 - Avid 1:1 10-bit RGB Packer codec
1136 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
1137 - yuv4 libquicktime packed 4:2:0 encoder and decoder
1138 - ffprobe -show_frames option
1139 - silencedetect audio filter
1140 - ffprobe -show_program_version, -show_library_versions, -show_versions options
1141 - rv34: frame-level multi-threading
1142 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
1143 - Improved PGS subtitle decoder
1144 - dumpgraph option to lavfi device
1145 - r210 and r10k encoders
1146 - ffwavesynth decoder
1147 - aviocat tool
1148 - ffeval tool
1149 - support encoding and decoding 4-channel SGI images
1150
1151
1152 version 0.9:
1153
1154 - openal input device added
1155 - boxblur filter added
1156 - BWF muxer
1157 - Flash Screen Video 2 decoder
1158 - lavfi input device added
1159 - added avconv, which is almost the same for now, except
1160 for a few incompatible changes in the options, which will hopefully make them
1161 easier to use. The changes are:
1162     * The options placement is now strictly enforced! While in theory the
1163       options for ffmpeg should be given in [input options] -i INPUT [output
1164       options] OUTPUT order, in practice it was possible to give output options
1165       before the -i and it mostly worked. Except when it didn't - the behavior was
1166       a bit inconsistent. In avconv, it is not possible to mix input and output
1167       options. All non-global options are reset after an input or output filename.
1168     * All per-file options are now truly per-file - they apply only to the next
1169       input or output file and specifying different values for different files
1170       will now work properly (notably -ss and -t options).
1171     * All per-stream options are now truly per-stream - it is possible to
1172       specify which stream(s) should a given option apply to. See the Stream
1173       specifiers section in the avconv manual for details.
1174     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
1175       sense that they're specified after the output filename instead of before,
1176       like all other options. In avconv this irregularity is removed, all options
1177       apply to the next input or output file.
1178     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
1179       irregular and highly confusing, they were also redundant. In avconv the -map
1180       option will create new streams in the output file and map input streams to
1181       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
1182       each stream in the first input file.
1183     * The -map option now has slightly different and more powerful syntax:
1184         + Colons (':') are used to separate file index/stream type/stream index
1185           instead of dots. Comma (',') is used to separate the sync stream instead
1186           of colon.. This is done for consistency with other options.
1187         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
1188           output stream from the third input audio stream.
1189         + Omitting the stream index now maps all the streams of the given type,
1190           not just the first. E.g. -map 0:s creates output streams for all the
1191           subtitle streams in the first input file.
1192         + Since -map can now match multiple streams, negative mappings were
1193           introduced. Negative mappings disable some streams from an already
1194           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
1195           all the stream in the first input file, except for the second audio
1196           stream'.
1197     * There is a new option -c (or -codec) for choosing the decoder/encoder to
1198       use, which makes it possible to precisely specify target stream(s) consistently with
1199       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
1200       libvorbis sets the codec for the first audio stream and -c copy copies all
1201       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
1202       aliases to -c:v/a/s
1203     * It is now possible to precisely specify which stream should an AVOption
1204       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
1205       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
1206       syntax is deprecated and will stop working soon.
1207     * -map_chapters now takes only an input file index and applies to the next
1208       output file. This is consistent with how all the other options work.
1209     * -map_metadata now takes only an input metadata specifier and applies to
1210       the next output file. Output metadata specifier is now part of the option
1211       name, similarly to the AVOptions/map/codec feature above.
1212     * -metadata can now be used to set metadata on streams and chapters, e.g.
1213       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
1214       This made -vlang/-alang/-slang options redundant, so they were removed.
1215     * -qscale option now uses stream specifiers and applies to all streams, not
1216       just video. I.e. plain -qscale number would now apply to all streams. To get
1217       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
1218       and -aq is now an alias for -q:a.
1219     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
1220       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
1221     * -itsscale option now uses stream specifiers, so its argument is only the
1222       scale parameter.
1223     * -intra option was removed, use -g 0 for the same effect.
1224     * -psnr option was removed, use -flags +psnr for the same effect.
1225     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
1226     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
1227     * -vtag/-atag/-stag options are now aliases to the new -tag option.
1228 - XMV demuxer
1229 - LOAS demuxer
1230 - ashowinfo filter added
1231 - Windows Media Image decoder
1232 - amovie source added
1233 - LATM muxer/demuxer
1234 - Speex encoder via libspeex
1235 - JSON output in ffprobe
1236 - WTV muxer
1237 - Optional C++ Support (needed for libstagefright)
1238 - H.264 Decoding on Android via Stagefright
1239 - Prores decoder
1240 - BIN/XBIN/ADF/IDF text file decoder
1241 - aconvert audio filter added
1242 - audio support to lavfi input device added
1243 - libcdio-paranoia input device for audio CD grabbing
1244 - Apple ProRes decoder
1245 - CELT in Ogg demuxing
1246 - G.723.1 demuxer and decoder
1247 - libmodplug support (--enable-libmodplug)
1248 - VC-1 interlaced decoding
1249 - libutvideo wrapper (--enable-libutvideo)
1250 - aevalsrc audio source added
1251 - Ut Video decoder
1252 - Speex encoding via libspeex
1253 - 4:2:2 H.264 decoding support
1254 - 4:2:2 and 4:4:4 H.264 encoding with libx264
1255 - Pulseaudio input device
1256 - Prores encoder
1257 - Video Decoder Acceleration (VDA) HWAccel module.
1258 - replacement Indeo 3 decoder
1259 - new ffmpeg option: -map_channel
1260 - volume audio filter added
1261 - earwax audio filter added
1262 - libv4l2 support (--enable-libv4l2)
1263 - TLS/SSL and HTTPS protocol support
1264 - AVOptions API rewritten and documented
1265 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
1266   AVCodecContext deprecated. Codec private options should be used instead.
1267 - Properly working defaults in libx264 wrapper, support for native presets.
1268 - Encrypted OMA files support
1269 - Discworld II BMV decoding support
1270 - VBLE Decoder
1271 - OS X Video Decoder Acceleration (VDA) support
1272 - compact and csv output in ffprobe
1273 - pan audio filter
1274 - IFF Amiga Continuous Bitmap (ACBM) decoder
1275 - ass filter
1276 - CRI ADX audio format muxer and demuxer
1277 - Playstation Portable PMP format demuxer
1278 - Microsoft Windows ICO demuxer
1279 - life source
1280 - PCM format support in OMA demuxer
1281 - CLJR encoder
1282 - new option: -report
1283 - Dxtory capture format decoder
1284 - cellauto source
1285 - Simple segmenting muxer
1286 - Indeo 4 decoder
1287 - SMJPEG demuxer
1288
1289
1290 version 0.8:
1291
1292 - many many things we forgot because we rather write code than changelogs
1293 - WebM support in Matroska de/muxer
1294 - low overhead Ogg muxing
1295 - MMS-TCP support
1296 - VP8 de/encoding via libvpx
1297 - Demuxer for On2's IVF format
1298 - Pictor/PC Paint decoder
1299 - HE-AAC v2 decoder
1300 - HE-AAC v2 encoding with libaacplus
1301 - libfaad2 wrapper removed
1302 - DTS-ES extension (XCh) decoding support
1303 - native VP8 decoder
1304 - RTSP tunneling over HTTP
1305 - RTP depacketization of SVQ3
1306 - -strict inofficial replaced by -strict unofficial
1307 - ffplay -exitonkeydown and -exitonmousedown options added
1308 - native GSM / GSM MS decoder
1309 - RTP depacketization of QDM2
1310 - ANSI/ASCII art playback system
1311 - Lego Mindstorms RSO de/muxer
1312 - libavcore added (and subsequently removed)
1313 - SubRip subtitle file muxer and demuxer
1314 - Chinese AVS encoding via libxavs
1315 - ffprobe -show_packets option added
1316 - RTP packetization of Theora and Vorbis
1317 - RTP depacketization of MP4A-LATM
1318 - RTP packetization and depacketization of VP8
1319 - hflip filter
1320 - Apple HTTP Live Streaming demuxer
1321 - a64 codec
1322 - MMS-HTTP support
1323 - G.722 ADPCM audio encoder/decoder
1324 - R10k video decoder
1325 - ocv_smooth filter
1326 - frei0r wrapper filter
1327 - change crop filter syntax to width:height:x:y
1328 - make the crop filter accept parametric expressions
1329 - make ffprobe accept AVFormatContext options
1330 - yadif filter
1331 - blackframe filter
1332 - Demuxer for Leitch/Harris' VR native stream format (LXF)
1333 - RTP depacketization of the X-QT QuickTime format
1334 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
1335 - cropdetect filter
1336 - ffmpeg -crop* options removed
1337 - transpose filter added
1338 - ffmpeg -force_key_frames option added
1339 - demuxer for receiving raw rtp:// URLs without an SDP description
1340 - single stream LATM/LOAS decoder
1341 - setpts filter added
1342 - Win64 support for optimized x86 assembly functions
1343 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
1344 - ASS subtitle encoder and decoder
1345 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
1346 - overlay filter added
1347 - rename aspect filter to setdar, and pixelaspect to setsar
1348 - IEC 61937 demuxer
1349 - Mobotix .mxg demuxer
1350 - frei0r source added
1351 - hqdn3d filter added
1352 - RTP depacketization of QCELP
1353 - FLAC parser added
1354 - gradfun filter added
1355 - AMR-WB decoder
1356 - replace the ocv_smooth filter with a more generic ocv filter
1357 - Windows Televison (WTV) demuxer
1358 - FFmpeg metadata format muxer and demuxer
1359 - SubRip (srt) subtitle encoder and decoder
1360 - floating-point AC-3 encoder added
1361 - Lagarith decoder
1362 - ffmpeg -copytb option added
1363 - IVF muxer added
1364 - Wing Commander IV movies decoder added
1365 - movie source added
1366 - Bink version 'b' audio and video decoder
1367 - Bitmap Brothers JV playback system
1368 - Apple HTTP Live Streaming protocol handler
1369 - sndio support for playback and record
1370 - Linux framebuffer input device added
1371 - Chronomaster DFA decoder
1372 - DPX image encoder
1373 - MicroDVD subtitle file muxer and demuxer
1374 - Playstation Portable PMP format demuxer
1375 - fieldorder video filter added
1376 - AAC encoding via libvo-aacenc
1377 - AMR-WB encoding via libvo-amrwbenc
1378 - xWMA demuxer
1379 - Mobotix MxPEG decoder
1380 - VP8 frame-multithreading
1381 - NEON optimizations for VP8
1382 - Lots of deprecated API cruft removed
1383 - fft and imdct optimizations for AVX (Sandy Bridge) processors
1384 - showinfo filter added
1385 - SMPTE 302M AES3 audio decoder
1386 - Apple Core Audio Format muxer
1387 - 9 bits and 10 bits per sample support in the H.264 decoder
1388 - 9 bits and 10 bits FFV1 encoding / decoding
1389 - split filter added
1390 - select filter added
1391 - sdl output device added
1392 - libmpcodecs video filter support (3 times as many filters than before)
1393 - mpeg2 aspect ratio dection fixed
1394 - libxvid aspect pickiness fixed
1395 - Frame multithreaded decoding
1396 - E-AC-3 audio encoder
1397 - ac3enc: add channel coupling support
1398 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
1399 - H264/MPEG frame-level multi-threading
1400 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
1401 - 4:4:4 H.264 decoding support
1402 - 10-bit H.264 optimizations for x86
1403 - lut, lutrgb, and lutyuv filters added
1404 - buffersink libavfilter sink added
1405 - Bump libswscale for recently reported ABI break
1406 - New J2K encoder (via OpenJPEG)
1407
1408
1409 version 0.7:
1410
1411 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
1412
1413
1414 version 0.6:
1415
1416 - PB-frame decoding for H.263
1417 - deprecated vhook subsystem removed
1418 - deprecated old scaler removed
1419 - VQF demuxer
1420 - Alpha channel scaler
1421 - PCX encoder
1422 - RTP packetization of H.263
1423 - RTP packetization of AMR
1424 - RTP depacketization of Vorbis
1425 - CorePNG decoding support
1426 - Cook multichannel decoding support
1427 - introduced avlanguage helpers in libavformat
1428 - 8088flex TMV demuxer and decoder
1429 - per-stream language-tags extraction in asfdec
1430 - V210 decoder and encoder
1431 - remaining GPL parts in AC-3 decoder converted to LGPL
1432 - QCP demuxer
1433 - SoX native format muxer and demuxer
1434 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
1435 - DPX image decoder
1436 - Electronic Arts Madcow decoder
1437 - DivX (XSUB) subtitle encoder
1438 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
1439 - experimental AAC encoder
1440 - RTP depacketization of ASF and RTSP from WMS servers
1441 - RTMP support in libavformat
1442 - noX handling for OPT_BOOL X options
1443 - Wave64 demuxer
1444 - IEC-61937 compatible Muxer
1445 - TwinVQ decoder
1446 - Bluray (PGS) subtitle decoder
1447 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
1448 - WMA Pro decoder
1449 - Core Audio Format demuxer
1450 - ATRAC1 decoder
1451 - MD STUDIO audio demuxer
1452 - RF64 support in WAV demuxer
1453 - MPEG-4 Audio Lossless Coding (ALS) decoder
1454 - -formats option split into -formats, -codecs, -bsfs, and -protocols
1455 - IV8 demuxer
1456 - CDG demuxer and decoder
1457 - R210 decoder
1458 - Auravision Aura 1 and 2 decoders
1459 - Deluxe Paint Animation playback system
1460 - SIPR decoder
1461 - Adobe Filmstrip muxer and demuxer
1462 - RTP depacketization of H.263
1463 - Bink demuxer and audio/video decoders
1464 - enable symbol versioning by default for linkers that support it
1465 - IFF PBM/ILBM bitmap decoder
1466 - concat protocol
1467 - Indeo 5 decoder
1468 - RTP depacketization of AMR
1469 - WMA Voice decoder
1470 - ffprobe tool
1471 - AMR-NB decoder
1472 - RTSP muxer
1473 - HE-AAC v1 decoder
1474 - Kega Game Video (KGV1) decoder
1475 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
1476 - RTP depacketization of Theora
1477 - HTTP Digest authentication
1478 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
1479 - Psygnosis YOP demuxer and video decoder
1480 - spectral extension support in the E-AC-3 decoder
1481 - unsharp video filter
1482 - RTP hinting in the mov/3gp/mp4 muxer
1483 - Dirac in Ogg demuxing
1484 - seek to keyframes in Ogg
1485 - 4:2:2 and 4:4:4 Theora decoding
1486 - 35% faster VP3/Theora decoding
1487 - faster AAC decoding
1488 - faster H.264 decoding
1489 - RealAudio 1.0 (14.4K) encoder
1490
1491
1492 version 0.5:
1493
1494 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
1495 - TechSmith Camtasia (TSCC) video decoder
1496 - IBM Ultimotion (ULTI) video decoder
1497 - Sierra Online audio file demuxer and decoder
1498 - Apple QuickDraw (qdrw) video decoder
1499 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
1500 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
1501 - Miro VideoXL (VIXL) video decoder
1502 - H.261 video encoder
1503 - QPEG video decoder
1504 - Nullsoft Video (NSV) file demuxer
1505 - Shorten audio decoder
1506 - LOCO video decoder
1507 - Apple Lossless Audio Codec (ALAC) decoder
1508 - Winnov WNV1 video decoder
1509 - Autodesk Animator Studio Codec (AASC) decoder
1510 - Indeo 2 video decoder
1511 - Fraps FPS1 video decoder
1512 - Snow video encoder/decoder
1513 - Sonic audio encoder/decoder
1514 - Vorbis audio decoder
1515 - Macromedia ADPCM decoder
1516 - Duck TrueMotion 2 video decoder
1517 - support for decoding FLX and DTA extensions in FLIC files
1518 - H.264 custom quantization matrices support
1519 - ffserver fixed, it should now be usable again
1520 - QDM2 audio decoder
1521 - Real Cooker audio decoder
1522 - TrueSpeech audio decoder
1523 - WMA2 audio decoder fixed, now all files should play correctly
1524 - RealAudio 14.4 and 28.8 decoders fixed
1525 - JPEG-LS decoder
1526 - build system improvements
1527 - tabs and trailing whitespace removed from the codebase
1528 - CamStudio video decoder
1529 - AIFF/AIFF-C audio format, encoding and decoding
1530 - ADTS AAC file reading and writing
1531 - Creative VOC file reading and writing
1532 - American Laser Games multimedia (*.mm) playback system
1533 - Zip Motion Blocks Video decoder
1534 - improved Theora/VP3 decoder
1535 - True Audio (TTA) decoder
1536 - AVS demuxer and video decoder
1537 - JPEG-LS encoder
1538 - Smacker demuxer and decoder
1539 - NuppelVideo/MythTV demuxer and RTjpeg decoder
1540 - KMVC decoder
1541 - MPEG-2 intra VLC support
1542 - MPEG-2 4:2:2 encoder
1543 - Flash Screen Video decoder
1544 - GXF demuxer
1545 - Chinese AVS decoder
1546 - GXF muxer
1547 - MXF demuxer
1548 - VC-1/WMV3/WMV9 video decoder
1549 - MacIntel support
1550 - AviSynth support
1551 - VMware video decoder
1552 - VP5 video decoder
1553 - VP6 video decoder
1554 - WavPack lossless audio decoder
1555 - Targa (.TGA) picture decoder
1556 - Vorbis audio encoder
1557 - Delphine Software .cin demuxer/audio and video decoder
1558 - Tiertex .seq demuxer/video decoder
1559 - MTV demuxer
1560 - TIFF picture encoder and decoder
1561 - GIF picture decoder
1562 - Intel Music Coder decoder
1563 - Zip Motion Blocks Video encoder
1564 - Musepack decoder
1565 - Flash Screen Video encoder
1566 - Theora encoding via libtheora
1567 - BMP encoder
1568 - WMA encoder
1569 - GSM-MS encoder and decoder
1570 - DCA decoder
1571 - DXA demuxer and decoder
1572 - DNxHD decoder
1573 - Gamecube movie (.THP) playback system
1574 - Blackfin optimizations
1575 - Interplay C93 demuxer and video decoder
1576 - Bethsoft VID demuxer and video decoder
1577 - CRYO APC demuxer
1578 - ATRAC3 decoder
1579 - V.Flash PTX decoder
1580 - RoQ muxer, RoQ audio encoder
1581 - Renderware TXD demuxer and decoder
1582 - extern C declarations for C++ removed from headers
1583 - sws_flags command line option
1584 - codebook generator
1585 - RoQ video encoder
1586 - QTRLE encoder
1587 - OS/2 support removed and restored again
1588 - AC-3 decoder
1589 - NUT muxer
1590 - additional SPARC (VIS) optimizations
1591 - Matroska muxer
1592 - slice-based parallel H.264 decoding
1593 - Monkey's Audio demuxer and decoder
1594 - AMV audio and video decoder
1595 - DNxHD encoder
1596 - H.264 PAFF decoding
1597 - Nellymoser ASAO decoder
1598 - Beam Software SIFF demuxer and decoder
1599 - libvorbis Vorbis decoding removed in favor of native decoder
1600 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
1601 - Ogg (Theora, Vorbis and FLAC) muxer
1602 - The "device" muxers and demuxers are now in a new libavdevice library
1603 - PC Paintbrush PCX decoder
1604 - Sun Rasterfile decoder
1605 - TechnoTrend PVA demuxer
1606 - Linux Media Labs MPEG-4 (LMLM4) demuxer
1607 - AVM2 (Flash 9) SWF muxer
1608 - QT variant of IMA ADPCM encoder
1609 - VFW grabber
1610 - iPod/iPhone compatible mp4 muxer
1611 - Mimic decoder
1612 - MSN TCP Webcam stream demuxer
1613 - RL2 demuxer / decoder
1614 - IFF demuxer
1615 - 8SVX audio decoder
1616 - non-recursive Makefiles
1617 - BFI demuxer
1618 - MAXIS EA XA (.xa) demuxer / decoder
1619 - BFI video decoder
1620 - OMA demuxer
1621 - MLP/TrueHD decoder
1622 - Electronic Arts CMV decoder
1623 - Motion Pixels Video decoder
1624 - Motion Pixels MVI demuxer
1625 - removed animated GIF decoder/demuxer
1626 - D-Cinema audio muxer
1627 - Electronic Arts TGV decoder
1628 - Apple Lossless Audio Codec (ALAC) encoder
1629 - AAC decoder
1630 - floating point PCM encoder/decoder
1631 - MXF muxer
1632 - DV100 AKA DVCPRO HD decoder and demuxer
1633 - E-AC-3 support added to AC-3 decoder
1634 - Nellymoser ASAO encoder
1635 - ASS and SSA demuxer and muxer
1636 - liba52 wrapper removed
1637 - SVQ3 watermark decoding support
1638 - Speex decoding via libspeex
1639 - Electronic Arts TGQ decoder
1640 - RV40 decoder
1641 - QCELP / PureVoice decoder
1642 - RV30 decoder
1643 - hybrid WavPack support
1644 - R3D REDCODE demuxer
1645 - ALSA support for playback and record
1646 - Electronic Arts TQI decoder
1647 - OpenJPEG based JPEG 2000 decoder
1648 - NC (NC4600) camera file demuxer
1649 - Gopher client support
1650 - MXF D-10 muxer
1651 - generic metadata API
1652 - flash ScreenVideo2 encoder
1653
1654
1655 version 0.4.9-pre1:
1656
1657 - DV encoder, DV muxer
1658 - Microsoft RLE video decoder
1659 - Microsoft Video-1 decoder
1660 - Apple Animation (RLE) decoder
1661 - Apple Graphics (SMC) decoder
1662 - Apple Video (RPZA) decoder
1663 - Cinepak decoder
1664 - Sega FILM (CPK) file demuxer
1665 - Westwood multimedia support (VQA & AUD files)
1666 - Id Quake II CIN playback support
1667 - 8BPS video decoder
1668 - FLIC playback support
1669 - RealVideo 2.0 (RV20) decoder
1670 - Duck TrueMotion v1 (DUCK) video decoder
1671 - Sierra VMD demuxer and video decoder
1672 - MSZH and ZLIB decoder support
1673 - SVQ1 video encoder
1674 - AMR-WB support
1675 - PPC optimizations
1676 - rate distortion optimal cbp support
1677 - rate distorted optimal ac prediction for MPEG-4
1678 - rate distorted optimal lambda->qp support
1679 - AAC encoding with libfaac
1680 - Sunplus JPEG codec (SP5X) support
1681 - use Lagrange multiplier instead of QP for ratecontrol
1682 - Theora/VP3 decoding support
1683 - XA and ADX ADPCM codecs
1684 - export MPEG-2 active display area / pan scan
1685 - Add support for configuring with IBM XLC
1686 - floating point AAN DCT
1687 - initial support for zygo video (not complete)
1688 - RGB ffv1 support
1689 - new audio/video parser API
1690 - av_log() system
1691 - av_read_frame() and av_seek_frame() support
1692 - missing last frame fixes
1693 - seek by mouse in ffplay
1694 - noise reduction of DCT coefficients
1695 - H.263 OBMC & 4MV support
1696 - H.263 alternative inter vlc support
1697 - H.263 loop filter
1698 - H.263 slice structured mode
1699 - interlaced DCT support for MPEG-2 encoding
1700 - stuffing to stay above min_bitrate
1701 - MB type & QP visualization
1702 - frame stepping for ffplay
1703 - interlaced motion estimation
1704 - alternate scantable support
1705 - SVCD scan offset support
1706 - closed GOP support
1707 - SSE2 FDCT
1708 - quantizer noise shaping
1709 - G.726 ADPCM audio codec
1710 - MS ADPCM encoding
1711 - multithreaded/SMP motion estimation
1712 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
1713 - multithreaded/SMP decoding for MPEG-2
1714 - FLAC decoder
1715 - Metrowerks CodeWarrior suppport
1716 - H.263+ custom pcf support
1717 - nicer output for 'ffmpeg -formats'
1718 - Matroska demuxer
1719 - SGI image format, encoding and decoding
1720 - H.264 loop filter support
1721 - H.264 CABAC support
1722 - nicer looking arrows for the motion vector visualization
1723 - improved VCD support
1724 - audio timestamp drift compensation
1725 - MPEG-2 YUV 422/444 support
1726 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
1727 - better image scaling
1728 - H.261 support
1729 - correctly interleave packets during encoding
1730 - VIS optimized motion compensation
1731 - intra_dc_precision>0 encoding support
1732 - support reuse of motion vectors/MB types/field select values of the source video
1733 - more accurate deblock filter
1734 - padding support
1735 - many optimizations and bugfixes
1736 - FunCom ISS audio file demuxer and according ADPCM decoding
1737
1738
1739 version 0.4.8:
1740
1741 - MPEG-2 video encoding (Michael)
1742 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1743 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1744   and Mario Brito)
1745 - Xan DPCM audio decoder (Mario Brito)
1746 - Interplay MVE playback subsystem (Mike Melanson)
1747 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1748
1749
1750 version 0.4.7:
1751
1752 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1753   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1754 - current version now also compiles with older GCC (Fabrice)
1755 - 4X multimedia playback system including 4xm file demuxer (Mike
1756   Melanson), and 4X video and audio codecs (Michael)
1757 - Creative YUV (CYUV) decoder (Mike Melanson)
1758 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1759   than HuffYUV) (Michael)
1760 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1761 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1762   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1763 - ffplay has been replaced with a newer version which uses SDL (optionally)
1764   for multiplatform support (Fabrice)
1765 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1766   by anonymous
1767 - AMR format has been added (Johannes Carlsson)
1768 - 3GP support has been added (Johannes Carlsson)
1769 - VP3 codec has been added (Mike Melanson)
1770 - more MPEG-1/2 fixes
1771 - better multiplatform support, MS Visual Studio fixes (various)
1772 - AltiVec optimizations (Magnus Damn and others)
1773 - SH4 processor support has been added (BERO)
1774 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1775 - VOB streaming support (Brian Foley)
1776 - better MP3 autodetection (Andriy Rysin)
1777 - qpel encoding (Michael)
1778 - 4mv+b frames encoding finally fixed (Michael)
1779 - chroma ME (Michael)
1780 - 5 comparison functions for ME (Michael)
1781 - B-frame encoding speedup (Michael)
1782 - WMV2 codec (unfinished - Michael)
1783 - user specified diamond size for EPZS (Michael)
1784 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1785 - ASV2 codec (Michael)
1786 - CLJR decoder (Alex)
1787
1788 .. And lots more new enhancements and fixes.
1789
1790
1791 version 0.4.6:
1792
1793 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1794   from scratch
1795 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1796 - fix quantization bug in AC3 encoder
1797 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1798 - added prototype ffplay program
1799 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1800 - bug fix on MCBPC tables of H.263 (Juanjo)
1801 - bug fix on DC coefficients of H.263 (Juanjo)
1802 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1803 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1804 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1805 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1806 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1807 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1808 - added first regression tests
1809 - added MPEG-2 TS demuxer
1810 - new demux API for libav
1811 - more accurate and faster IDCT (Michael)
1812 - faster and entropy-controlled motion search (Michael)
1813 - two pass video encoding (Michael)
1814 - new video rate control (Michael)
1815 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1816 - great performance improvement of video encoders and decoders (Michael)
1817 - new and faster bit readers and vlc parsers (Michael)
1818 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1819 - added DV video decoder
1820 - preliminary RTP/RTSP support in ffserver and libavformat
1821 - H.263+ AIC decoding/encoding support (Juanjo)
1822 - VCD MPEG-PS mode (Juanjo)
1823 - PSNR stuff (Juanjo)
1824 - simple stats output (Juanjo)
1825 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1826
1827
1828 version 0.4.5:
1829
1830 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1831 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1832 - added configure system (actually a small shell script)
1833 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1834   Michael Hipp (temporary solution - waiting for integer only
1835   decoder)
1836 - fixed VIDIOCSYNC interrupt
1837 - added Intel H.263 decoding support ('I263' AVI fourCC)
1838 - added Real Video 1.0 decoding (needs further testing)
1839 - simplified image formats again. Added PGM format (=grey
1840   pgm). Renamed old PGM to PGMYUV.
1841 - fixed msmpeg4 slice issues (tell me if you still find problems)
1842 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1843 - added support for MPlayer interface
1844 - added macroblock skip optimization
1845 - added MJPEG decoder
1846 - added mmx/mmxext IDCT from libmpeg2
1847 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1848   <celer at shell.scrypt.net>)
1849 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1850 - added deinterlacing option
1851 - MPEG-1/2 fixes
1852 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1853 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1854 - Windows porting of file converter
1855 - added MJPEG raw format (input/output)
1856 - added JPEG image format support (input/output)
1857
1858
1859 version 0.4.4:
1860
1861 - fixed some std header definitions (Bjorn Lindgren
1862   <bjorn.e.lindgren at telia.com>).
1863 - added MPEG demuxer (MPEG-1 and 2 compatible).
1864 - added ASF demuxer
1865 - added prototype RM demuxer
1866 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1867 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1868   header does not include them)
1869 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1870   play them (only tested video)
1871 - fixed H.263 white bug
1872 - fixed phase rounding in img resample filter
1873 - add MMX code for polyphase img resample filter
1874 - added CPU autodetection
1875 - added generic title/author/copyright/comment string handling (ASF and RM
1876   use them)
1877 - added SWF demux to extract MP3 track (not usable yet because no MP3
1878   decoder)
1879 - added fractional frame rate support
1880 - codecs are no longer searched by read_header() (should fix ffserver
1881   segfault)
1882
1883
1884 version 0.4.3:
1885
1886 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1887 - fixed raw yuv output
1888 - added motion rounding support in MPEG-4
1889 - fixed motion bug rounding in MSMPEG4
1890 - added B-frame handling in video core
1891 - added full MPEG-1 decoding support
1892 - added partial (frame only) MPEG-2 support
1893 - changed the FOURCC code for H.263 to "U263" to be able to see the
1894   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1895   this +codec ;) (JuanJo).
1896 - Halfpel motion estimation after MB type selection (JuanJo)
1897 - added pgm and .Y.U.V output format
1898 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1899   output.
1900 - added pgmpipe I/O format (original patch from Martin Aumueller
1901   <lists at reserv.at>, but changed completely since we use a format
1902   instead of a protocol)
1903
1904
1905 version 0.4.2:
1906
1907 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1908   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1909   missing. MSMPEG4 support is complete.
1910 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1911   can decode ffmpeg MPEGs :-)).
1912 - added libavcodec API documentation (see apiexample.c).
1913 - fixed image polyphase bug (the bottom of some images could be
1914   greenish)
1915 - added support for non clipped motion vectors (decoding only)
1916   and image sizes non-multiple of 16
1917 - added support for AC prediction (decoding only)
1918 - added file overwrite confirmation (can be disabled with -y)
1919 - added custom size picture to H.263 using H.263+ (Juanjo)
1920
1921
1922 version 0.4.1:
1923
1924 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1925   of AVI and ASF to DIV3.
1926 - added -me option to set motion estimation method
1927   (default=log). suppressed redundant -hq option.
1928 - added options -acodec and -vcodec to force a given codec (useful for
1929   AVI for example)
1930 - fixed -an option
1931 - improved dct_quantize speed
1932 - factorized some motion estimation code
1933
1934
1935 version 0.4.0:
1936
1937 - removing grab code from ffserver and moved it to ffmpeg. Added
1938   multistream support to ffmpeg.
1939 - added timeshifting support for live feeds (option ?date=xxx in the
1940   URL)
1941 - added high quality image resize code with polyphase filter (need
1942   mmx/see optimization). Enable multiple image size support in ffserver.
1943 - added multi live feed support in ffserver
1944 - suppressed master feature from ffserver (it should be done with an
1945   external program which opens the .ffm url and writes it to another
1946   ffserver)
1947 - added preliminary support for video stream parsing (WAV and AVI half
1948   done). Added proper support for audio/video file conversion in
1949   ffmpeg.
1950 - added preliminary support for video file sending from ffserver
1951 - redesigning I/O subsystem: now using URL based input and output
1952   (see avio.h)
1953 - added WAV format support
1954 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1955 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1956   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1957 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1958 - added new motion estimation algorithms, log and phods (Juanjo)
1959 - changed directories: libav for format handling, libavcodec for
1960   codecs
1961
1962
1963 version 0.3.4:
1964
1965 - added stereo in MPEG audio encoder
1966
1967
1968 version 0.3.3:
1969
1970 - added 'high quality' mode which use motion vectors. It can be used in
1971   real time at low resolution.
1972 - fixed rounding problems which caused quality problems at high
1973   bitrates and large GOP size
1974
1975
1976 version 0.3.2: small fixes
1977
1978 - ASF fixes
1979 - put_seek bug fix
1980
1981
1982 version 0.3.1: added avi/divx support
1983
1984 - added AVI support
1985 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1986 - added sound for flash format (not tested)
1987
1988
1989 version 0.3: initial public release