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