Update changelog for v11.12
[libav.git] / Changelog
CommitLineData
888505df
DB
1Entries are sorted chronologically from oldest to youngest within each release,
2releases are sorted from youngest to oldest.
3
457d069c
SM
4version 11.12:
5 - smacker: add sanity check for length in smacker_decode_tree() (CVE-2017-16803)
6 - smacker: limit recursion depth of smacker_decode_bigtree
7 - vc1: skip motion compensation when data for last picture is invalid (bug/1101)
8 - matroskadec: allow RealAudio/Cook/Sipro streams of flavor 0 (bug/1055)
9 - cmdutils: update copyright year to 2018
10
8a212b1d
SM
11version 11.11:
12 - dfa: Disallow odd width/height and add proper bounds check for DDS1 chunks (CVE-2017-9992)
13 - pictor: Correctly check frame dimensions (CVE-2017-7862)
14 - h264_cavlc: check the value of run_before (bug/1000)
15 - dvbsubdec: improve error checking (CID/29575)
16 - dvbsubdec: Fixed segfault when decoding subtitles
17 - rmdec: don't ignore the return value of av_get_packet()
18 - caf: add an Opus tag
19 - yadif: Account for the buffer alignment while processing the frame edges (bug/1031)
20 - mov: log and return early on non-positive stsd entry counts
21 - arm: Fix SIGBUS on ARM when compiled with binutils 2.29
22 - smacker: return meaningful error codes on failure
23 - smacker: fix integer overflow with pts_inc (bug/1073)
24
9b40f05f 25version 11.10:
90b6a55b
SM
26 - mm: Skip unexpected audio packets (bug/1046)
27 - aacsbr: Turnoff in the event of over read. (bug/1047)
28 - smacker: Check that the data size is a multiple of a sample vector (CVE-2015-8365)
9b40f05f 29 - build: Add an option for passing linker flags to the shared library build
90b6a55b
SM
30 - flv: Validate the packet size (bug/1041)
31 - mjpeg: Report non-3 component rgb lossless as not supported (bug/1043)
32 - vc1dec: raise an error if sprite picture data is missing (bug/1013)
9b40f05f
SM
33 - doc: Drop the legacy symlink to README
34
bb371780
SM
35version 11.9:
36
37 - libvpxenc: remove some unused ctrl id mappings
38 - audiodsp/x86: fix ff_vector_clip_int32_sse2
39 - audiodsp/x86: clear the high bits of the order parameter on 64bit
40 - mpegvideo_motion: Handle edge emulation even without unrestricted_mv (bug/959)
41 - file protocol: handle the file: protocol string in file_check
42 - rtmpproto: Check the return from ff_amf_read_string
43 - rtmpproto: Lengthen the filename buffer when receiving streams
44 - rtmpproto: Send chunk size on the network channel
45 - aacsbr: Check that sample_rate is not 0 before division (bug/957)
46 - rtsp: move the CONFIG_ macros to the beginning of the check
47 - rtsp: Fix a crash with the RTSP muxer
48 - avconv: Fix the audio next dts computation
49 - m4vdec: Check for non-startcode 00 00 00 sequences in probe (bug/962)
50 - mpegvideo: Fix undefined negative shifts in ff_init_block_index (bug/980)
51 - mpegvideo: Fix undefined negative shifts in mpeg_motion_internal (bug/980)
52 - h264: er: Copy from the previous reference only if compatible
53 - h264_slice: Wait for refs to be available before we use them in error concealment
54 - mpegvideo_parser: avoid signed overflow in bitrate calculation (bug/981)
55 - mpeg12dec: avoid signed overflow in bitrate calculation (bug/981)
56 - mpeg12dec: move setting first_field to mpeg_field_start() (bug/999)
57 - http: Check for negative chunk sizes
58 - cmdutils: update copyright year to 2017
59 - matroskadec: make sure not to leave EbmlBin in an inconsistent state (bug/1001)
60 - vf_fade: Make sure to not miss the last lines of a frame
61 - mpeg4videodec: raise an error if sprite_trajectory.table is NULL (bug/1012)
62
3c3a0a06
SM
63version 11.8:
64
65 - ppc: Support little endian intreadwrite
66 - ppc: avutil: Drop a potentially dangerous workaround
67 - ppc: linux: Check altivec using the auxv
68 - ppc: Restrict some Altivec implementations to Big Endian
69 - fft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs
70 - ac3: Check the array bound before dereferencing
71 - librtmp: Avoid an infiniloop setting connection arguments
90b6a55b 72 - h264: only allow starting a new picture in the first slice thread (bug/690)
3c3a0a06
SM
73 - mimic: do not release the newly obsolete reference at the end of decoding
74 - buffer: fix av_buffer_realloc() when the data is offset wrt buffer start
75 - vp9: make mv bounds 32bit.
90b6a55b 76 - riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data. (bug/950)
3c3a0a06
SM
77 - vmnc: check that subrectangles fit into their containing rectangles
78 - alac: do not return success if nothing was decoded
79 - qpeg: fix an off by 1 error in the MV check
80 - cook: use the bytestream2 API for reading extradata
81 - pcx: properly pad the scanline
82 - pcx: check that the packet is large enough before reading the header
83 - pcx: use the bytestream2 API for reading from input
84 - vc1: check that slices have a positive height
85 - mss12: validate display dimensions
86 - mov: Remove ancient heuristic hack
87 - mov: Remove old b-frame/video delay heuristic
88 - avprobe: do not call avio_close() on a custom context
89 - avprobe: Fix memory leak
90
0fc667e8
SM
91version 11.7:
92
93 - asfenc: fix some possible integer overflows (CVE-2016-2326)
94 - vf_fade: make sure the slice end is always in the frame
95 - tls: Use the right return value for breaking out due to the interrupt callback
96 - avpacket: Check buffer reference (CID/1267889)
97 - avpacket: fix setting AVPacket.data in av_packet_ref()
98 - cmdutils: update copyright year to 2016
99 - colorspace: Add support for BT709
100 - pgssub: Fix subpicture colorspace and range
101 - indeo2: Fix banding artefacts
102 - mov: Check the entries value when parsing dref boxes (CVE-2016-3062)
103 - matroska: Support V_QUICKTIME as written in the specification
104
d0c0a422
SM
105version 11.6:
106
107 - configure: add --enable-rpath
108 - concat: disable by default
109
a7cebf3d
SM
110version 11.5:
111
112 - aac_parser: add required padding for GetBitContext buffer
113 - ac3_parser: add required padding for GetBitContext buffer
114 - imc: add required padding for GetBitContext buffer
115 - h263: Always check both dimensions
116 - opusdec: properly handle mismatching configurations in multichannel streams (bug/876)
117 - configure: Set the initial ldflags to match the cflags
118 - configure: mips: Support mips r6, r2 and r1
119 - mips: intreadwrite: Only execute that code for mips r1 or r2
120 - vc1: Use logical instead of bitwise or for twomv
121 - configure: address a copy-paste typo
122 - rtmpcrypt: Do the xtea decryption in little endian mode
123 - mov: Correctly allocate ctts_data
124 - mov: Fix two memleaks
125 - bink: Factorize bink put_pixel
126 - aac: Wait to know the channels before allocating frame
127 - configure: Support MSVC 2015 (bug/864)
128 - rtpdec_asf: Check memory allocation and free memory on error (CID/1257774)
129 - jack: Check memory allocation (CID/1292520)
130 - mov: Check memory allocation (CID/1292518)
131 - audiointerleave: Always initialize new_pkt (CID/609333)
132 - sctp: Always initialize outmsg struct (CID/1302711)
133 - mkv: Correctly report the latest packet had been flushed (bug/865)
134 - h264_weight: Fix SSSE3 biweight code with weights of 128
135 - lavc: Clarify the behaviour of dimension and format context fields
136 - h264: make sure the current picture is not made a long ref multiple times
137 - aic: Fix slice size computation for widths multiples of 32 macroblocks
138 - mov: Preserve the metadata even when bit-exactness is requested (bug/845)
139 - webp: Make sure enough bytes are available
140 - h261: Set 'still image mode off' in picture header (bug/872)
141 - h261: Signal freeze picture release for intra frames (bug/873)
142 - avconv: vda: Unlock the pixel buffer once it is accessed
143 - g726: Do not crash on user mistake
144 - bytestream2: set the reader to the end when reading more than available
145 - arm: use a local label instead of the function symbol in ff_prefetch_arm
146 - af_channelmap: properly set the supported output channel layouts
147 - rtsp: Only interpret $ as interleaved packet indicator at the start of replies
148 - rtsp: Allow $ as interleaved packet indicator before a complete response header
149 - configure: arm: Assume softfp ABI on darwin
150 - vp7: bound checking in vp7_decode_frame_header
151 - imgutils: Fix a typo in avcodec_get_pix_fmt_loss
152 - mux: Make sure that the data is actually written (bug/881)
153 - file: properly forward errors from file_read() and file_write() (bug/881)
154 - mmvideo: Make sure the rle does not write over the frame boundaries (bug/887)
155 - opus: Buffer the samples from the correct offset (bug/909)
156 - nut: Use the correct codec_tag when multiple are available (bug/883)
157 - truemotion2: Fix the buffer check (bug/906)
158 - flashsv: Initialize the block array (bug/908)
159 - mimic: Always return on failure (bug/905)
160 - msnwc_tcp: Correctly report failure
161 - lagarith: Correctly compute hash_shift (bug/907)
162 - rpza: Check the blocks left before processing one (bug/903)
163 - dvdsubdec: Validate the RLE offsets
164 - avi: Validate the stream-id for DV as well (bug/879)
165 - mov: Use the correct type for size (bug/921)
d0c0a422
SM
166 - mov: Force the full parsing of mp3 (bug/899)
167 - mkv: Force the full parsing of mp3
168 - matroska: Always consider S_TEXT/UTF8 as SRT when demuxing
a7cebf3d 169
0069d459
RT
170version 11.4:
171
172 - h264: Make sure reinit failures mark the context as not initialized (CVE-2015-3417)
173 - msrle: Use FFABS to determine the frame size in msrle_decode_pal4 (CVE-2015-3395)
174 - cavs: Remove an unneeded scratch buffer
175 - configure: Disable i686 for i586 and lower CPUs (debian/783082)
176 - mjpegenc: Fix JFIF header byte ordering (bug/808)
177 - nut: Make sure to clean up on read_header failure
178 - png: Set the color range as full range
179 - avi: Validate sample_size
180 - nut: Check chapter creation in decode_info_header
181 - alac: Reject rice_limit 0 if compression is used
182 - ape: Support _0000 files with nblock smaller than 64
183 - mux: Do not leave stale side data pointers in ff_interleave_add_packet()
184 - avresample: Reallocate the internal buffer to the correct size (bug/825)
185 - mpegts: Update the PSI/SI table only if the version change
186 - rtsp: Make sure we don't write too many transport entries into a fixed-size array
187 - rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
188 - mov: Fix little endian audio detection
189 - x86: Put COPY3_IF_LT under HAVE_6REGS (gentoo/541930)
190 - roqvideoenc: set enc->avctx in roq_encode_init
191 - mp3: Properly use AVCodecContext API
192 - libvpx: Fix mixed use of av_malloc() and av_reallocp()
193 - Revert "lavfi: always check av_expr_parse_and_eval() return value"
194 - alsdec: only adapt order for positive max_order
195 - alsdec: check sample pointer range in revert_channel_correlation
196 - aacpsy: correct calculation of minath in psy_3gpp_init
197 - alsdec: limit avctx->bits_per_raw_sample to 32
198 - aasc: return correct buffer size from aasc_decode_frame
199 - matroskadec: fix crash when parsing invalid mkv
200 - avconv: do not overwrite the stream codec context for streamcopy
201 - webp: ensure that each transform is only used once
202 - h264_ps: properly check cropping parameters against overflow
203 - hevc: zero the correct variables on invalid crop parameters
204 - hevc: make the crop sizes unsigned
205
fc3c1156
RT
206version 11.3:
207
00abc008
RT
208- utvideodec: Handle slice_height being zero (CVE-2014-9604)
209- adxdec: set avctx->channels in adx_read_header
210- rmenc: limit packet size
211- webp: validate the distance prefix code
212- rv10: check size of s->mb_width * s->mb_height
213- eamad: check for out of bounds read (CID/1257500)
214- mdec: check for out of bounds read (CID/1257501)
215- configure: Properly fail when libcdio/cdparanoia is not found
216- tiff: Check that there is no aliasing in pixel format selection (CVE-2014-8544)
217- aic: Fix decoding files with odd dimensions
218- vorbis: Check the vlc value in setup_classifs
219- arm: Suppress tags about used cpu arch and extensions
fc3c1156
RT
220- prores: Extend the padding check to 16bit
221- icecast: Do not use chunked post, allows feeding to icecast properly
222- img2dec: correctly use the parsed value from -start_number
223- h264_cabac: Break infinite loops
224- hevc_deblock: Fix compilation with nasm (libav #795)
225- h264: initialize H264Context.avctx in init_thread_copy
226- h264: Do not share rbsp_buffer across threads
227- h264: only ref cur_pic in update_thread_context if it is initialized
228- matroskadec: Fix read-after-free in matroska_read_seek() (chromium #427266)
229- log: Unbreak no-tty support on 256color terminals
230
5f6f2412
LB
231version 11.2:
232
233- h264: restore a block mistakenly removed in e10fd08a (libav #781)
234- on2avc: check number of channels (CVE-2014-8549)
235- smc: fix the bounds check (CVE-2014-8548)
236- gifdec: refactor interleave end handling (CVE-2014-8547)
237- mmvideo: check frame dimensions (CVE-2014-8543)
238- jvdec: check frame dimensions (CVE-2014-8542)
239- mjpegdec: check for pixel format changes (CVE-2014-8541)
240- mov: avoid a memleak when multiple stss boxes are present
241- vc1: Do not assume seek happens after decoding
242- avconv: Use the mpeg12 private option scan_offset (debian/773055)
243- xsub: Support DXSA subtitles
244- mp3dec: fix reading the Xing tag
245- matroskaenc: write correct Display{Width, Height} in stereo encoding
246- configure: Fix enabling memalign_hack automatically
247- mp3enc: fix a triggerable assert
248- latm: Do not give a score for a single instance
249- mp3: Tweak the probe scores
250- matroskaenc: write correct Display{Width, Height} in stereo encoding
251- configure: Fix enabling memalign_hack automatically
252- coverity: Fix most of the reported warnings and issues
253
60ccc1a7
RT
254version 11.1:
255
256- Replace lena.pnm (debian#771126)
257- Treat all '*.pnm' files as non-text file
258- opusdec: make sure all substreams have the same number of coded samples
259- lavu: fix memory leaks by using a mutex instead of atomics
260- lavu: add wrappers for the pthreads mutex API
261- mp3enc: fix a triggerable assert
262- resample: Avoid off-by-1 errors in PTS calcs. (libav#753)
263- imc: fix order of operations in coefficients read
264- hevc_mvs: make sure to always initialize the temporal MV fully
265- hevc_mvs: initialize the temporal MV in case of missing ref
266- h264: reset ret to avoid propagating minor failures (libav#750 / lp#905753)
267- hevc: Initialize mergecand_list to 0
268- mpeg12: Always invoke the get_format() callback
269- h264: Always invoke the get_format() callback
270- Update default FATE URL for release/11
271- apetag: Fix APE tag size check
272
07b0ccf5 273version 11:
d5717bc4 274- libx265 encoder
599b81ca 275- shuffleplanes filter
15c5a8d2 276- replaygain data export
e50f5d3c 277- Alias PIX image encoder and decoder
ae17878f 278- BRender PIX image decoder
70daeacd 279- Amazing Studio PAF playback support
678082b4 280- XBM decoder
07b0ccf5 281- BMP standalone parser
38389058 282- OpenEXR image decoder
6c1df1f2 283- support encoding and decoding 4-channel SGI images
d613091f 284- support decoding 16-bit RLE SGI images
ac4b32df 285- VP7 video decoder
a420ccd4 286- LucasArts SMUSH SANM video decoder
6f273093 287- LucasArts SMUSH VIMA audio decoder (ADPCM)
eeadcdfd 288- LucasArts SMUSH demuxer
718907cd 289- MP2 encoding via TwoLAME
ad8159e0 290- asettb filter
07761294 291- Silicon Graphics RLE 8-bit video decoder
86a04326 292- Silicon Graphics Motion Video Compressor 1 & 2 decoder
55ddd700 293- Silicon Graphics Movie demuxer
e2834567 294- On2 AVC (Audio for Video) decoder
35177ba7 295- support for decoding through DXVA2 in avconv
1c0210c7 296- libbs2b-based stereo-to-binaural audio filter
b70d7a4a 297- native Opus decoder
07b0ccf5 298- display matrix export and rotation API
894682a9 299- drop avserver, it was unmaintained for years and largely broken
eb9244f2 300- Icecast protocol
07b0ccf5 301- request Icecast metadata by default
481a3667 302- support for using metadata in stream specifiers in avtools
07b0ccf5 303- Matroska 3D support
738f8358
AK
304
305
b85a5e87
VP
306version 10:
307- av_strnstr
f5fac6f7 308- support ID3v2 tags in ASF files
d8b31be6 309- reference-counting for AVFrame and AVPacket data
e7553f4c
AK
310- avconv now fails when input options are used for output file
311 or vice versa
a2eeed61 312- avconv options -filter_script and -filter_complex_script, which allow a
a4208b9b 313 filtergraph description to be read from a file
cdac3acb 314- uniform options syntax across all filters
a2eeed61 315- interlace filter
c81a7063 316- JPEG 2000 decoder
a2eeed61
VG
317- asetpts filter (same as setpts, but for audio)
318- trim and atrim filters
8cd472d3
AK
319- avconv -t and -ss (output-only) options are now sample-accurate when
320 transcoding audio
e3b225a4 321- Matroska muxer can now put the index at the beginning of the file.
481575d2 322- avconv -deinterlace option removed, the yadif filter should be used instead
1232a164 323- Apple Intermediate Codec decoder
350914fc 324- Escape 130 video decoder
129bb238 325- support for slice multithreading in libavfilter
72821499 326- VC-1 interlaced B-frame support
2d2d6a48 327- support for WavPack muxing (raw and in Matroska)
2d66a58c 328- Go2Webinar decoder
84d3ff50 329- WavPack encoding through libwavpack
7748dd41 330- Added the -n parameter to avconv
0d6fa397 331- RTMP seek support
811bd078
AK
332- when transcoding with avconv (i.e. not streamcopying), -ss is now accurate
333 even when used as an input option. Previous behavior can be restored with
334 the -noaccurate_seek option.
488a0fa6
AK
335- avconv -t option can now be used for inputs, to limit the duration of
336 data read from an input file
56d061ce 337- Voxware MetaSound decoder
c4bfa098 338- WebP decoder
5cdefc02 339- Error Resilient AAC syntax (ER AAC LC) decoding
1914e6f0 340- Low Delay AAC (ER AAC LD) decoding
bb461370 341- mux chapters in ASF files
ecab1c77 342- Opus in Ogg demuxing
b3be41ca 343- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
e01fba55 344- F4V muxer
9af7a852 345- HNM version 4 demuxer and video decoder
064698d3 346- HEVC decoder
b6a47016 347- raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
fae753af 348- remove avplay -vismv option, which has not worked for a long time
435214a7 349- Live HDS muxer
34a0ac41 350- setsar/setdar filters now support variables in ratio expressions
3a14b160 351- dar variable in the scale filter now returns the actual DAR (i.e. a * sar)
72ca830f 352- VP9 decoder
7671dd7c 353- support for decoding through VDPAU in avconv (the -hwaccel option)
c6080d89 354- remove mp3_header_(de)compress bitstream filters
7e244c68 355- stereoscopic 3d metadata handling
6fd99e78 356- png standalone parser
be7c3231 357- WebP encoding via libwebp
e6f0bb65 358- ATRAC3+ decoder
a7d0e7ea 359- framepack filter
cde7df25 360- Mirillis FIC video decoder
e95018b6 361- Support DNx444
d5717bc4 362- compand audio filter
b85a5e87
VP
363
364
3f89b49b 365version 9:
d8fd06c3 366- av_basename and av_dirname
c1ea44c5 367- adobe and limelight publisher authentication in RTMP
44e065d5 368- VDPAU hardware acceleration through normal hwaccel
424da308 369- SRTP support
d8fd06c3 370
3f89b49b 371
d8fd06c3 372version 9_beta3:
00f8ad41
JR
373- ashowinfo audio filter
374- 24-bit FLAC encoding
b384e031 375- audio volume filter
b64ba37c 376- deprecated the avconv -vol option. the volume filter is to be used instead.
5e1bbb8c 377- multi-channel ALAC encoding up to 7.1
57231e4d 378- TAK demuxer, parser, and decoder
acb571c8 379- adaptive frame-level multithreading for H.264
00f8ad41
JR
380
381
382version 9_beta2:
58b619c8 383- metadata (INFO tag) support in WAV muxer
22310eef 384- support for building DLLs using MSVC
ada51a33 385- remove avserver daemon mode
60e60d99
RT
386- support building on the Plan 9 operating system
387- ffv1: support version 1.3
d1ad6bdb 388
e578f8f4
JG
389
390version 9_beta1:
391
d1ad6bdb 392- XWD encoder and decoder
83988d58 393- Support for fragmentation in the mov/mp4 muxer
4ddd54da 394- ISMV (Smooth Streaming) muxer
dc4e5748 395- CDXL demuxer and decoder
1a265f61 396- Apple ProRes encoder
d7840529 397- Sun Rasterfile Encoder
b315042c 398- remove libpostproc
32253747 399- ID3v2 attached pictures reading and writing
9d25f1f6 400- WMA Lossless decoder
0afd8f12 401- XBM encoder
18ba94c6 402- RealAudio Lossless decoder
0e714f88 403- ZeroCodec decoder
e06d2dfc 404- drop support for avconv without libavfilter
c8af852b 405- add libavresample audio conversion library
d89eca50 406- audio filters support in libavfilter and avconv
54c5dd89 407- add fps filter
afeb3590 408- audio split filter
c7448c18 409- audio mix filter
8271f55b
AK
410- avprobe output is now standard INI or JSON. The old format can still
411 be used with -of old.
c6061443 412- Indeo Audio decoder
d6251368 413- channelsplit audio filter
8e50c57d 414- RTMPT protocol support
3641b048 415- iLBC encoding/decoding via libilbc
005c80b6 416- Microsoft Screen 1 decoder
dc07fb6f 417- join audio filter
41e637e4 418- audio channel mapping filter
edf35d83 419- Microsoft ATC Screen decoder
a8ad6ffa 420- RTSP listen mode
781888da 421- TechSmith Screen Codec 2 decoder
37eeb5e2 422- AAC encoding via libfdk-aac
5b7e3a19 423- Microsoft Expression Encoder Screen decoder
6aedabc9 424- RTMPS protocol support
86991ce2 425- RTMPTS protocol support
453c02f9 426- JPEG 2000 encoding support through OpenJPEG
55c3a4f6 427- G.723.1 demuxer and decoder
acd554c1 428- RTMPE protocol support
08cd95e8 429- RTMPTE protocol support
45eaac02 430- Canopus Lossless Codec decoder
038c0b1e 431- avconv -shortest option is now per-output file,
bbcedade 432 -pass and -passlogfile are now per-output stream
1ab5a780 433- Ut Video encoder
ee769c6a 434- Microsoft Screen 2 decoder
3c198154 435- RTP depacketization of JPEG
62c9ae11 436- Smooth Streaming live segmenter muxer
cee1950b 437- RTP packetization of JPEG
6cb8c854 438- Opus decoder and encoder using libopus
fb722a90 439- remove -same_quant, it hasn't worked for years
22310eef 440- support for building with MSVC
c6061443 441
888505df 442
4b63cc18 443version 0.8:
82390f57
JR
444
445- GSM audio parser
ffa0923e 446- SMJPEG muxer
82390f57
JR
447
448
cf53a212 449version 0.8_beta2:
c11b92b3 450
e4e30256 451- Automatic thread count based on detection number of (available) CPU cores
014f8d81
RT
452- Deprecate libpostproc. If desired, the switch --enable-postproc will
453 enable it but it may be removed in a later Libav release.
cf53a212
RT
454- rv34: frame-level multi-threading
455- optimized iMDCT transform on x86 using SSE for for mpegaudiodec
c11b92b3
JG
456
457
be00d2e1
RT
458version 0.8_beta1:
459
a4ad9438 460- BWF muxer
c2d23309 461- Flash Screen Video 2 decoder
4d58e4cb 462- ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
320d7693
AK
463- ffmpeg deprecated, added avconv, which is almost the same for now, except
464for a few incompatible changes in the options, which will hopefully make them
465easier to use. The changes are:
c4302a39
AK
466 * The options placement is now strictly enforced! While in theory the
467 options for ffmpeg should be given in [input options] -i INPUT [output
468 options] OUTPUT order, in practice it was possible to give output options
469 before the -i and it mostly worked. Except when it didn't - the behavior was
470 a bit inconsistent. In avconv, it is not possible to mix input and output
471 options. All non-global options are reset after an input or output filename.
472 * All per-file options are now truly per-file - they apply only to the next
473 input or output file and specifying different values for different files
474 will now work properly (notably -ss and -t options).
475 * All per-stream options are now truly per-stream - it is possible to
476 specify which stream(s) should a given option apply to. See the Stream
477 specifiers section in the avconv manual for details.
478 * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
479 sense that they're specified after the output filename instead of before,
480 like all other options. In avconv this irregularity is removed, all options
481 apply to the next input or output file.
482 * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
483 irregular and highly confusing, they were also redundant. In avconv the -map
484 option will create new streams in the output file and map input streams to
485 them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
486 each stream in the first input file.
487 * The -map option now has slightly different and more powerful syntax:
488 + Colons (':') are used to separate file index/stream type/stream index
489 instead of dots. Comma (',') is used to separate the sync stream instead
490 of colon.. This is done for consistency with other options.
491 + It's possible to specify stream type. E.g. -map 0:a:2 creates an
492 output stream from the third input audio stream.
493 + Omitting the stream index now maps all the streams of the given type,
494 not just the first. E.g. -map 0:s creates output streams for all the
495 subtitle streams in the first input file.
496 + Since -map can now match multiple streams, negative mappings were
320d7693 497 introduced. Negative mappings disable some streams from an already
c4302a39
AK
498 defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
499 all the stream in the first input file, except for the second audio
500 stream'.
501 * There is a new option -c (or -codec) for choosing the decoder/encoder to
502 use, which allows to precisely specify target stream(s) consistently with
503 other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
504 libvorbis sets the codec for the first audio stream and -c copy copies all
505 the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
506 aliases to -c:v/a/s
320d7693 507 * It is now possible to precisely specify which stream should an AVOption
c4302a39
AK
508 apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
509 -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
510 syntax is deprecated and will stop working soon.
320d7693
AK
511 * -map_chapters now takes only an input file index and applies to the next
512 output file. This is consistent with how all the other options work.
513 * -map_metadata now takes only an input metadata specifier and applies to
514 the next output file. Output metadata specifier is now part of the option
515 name, similarly to the AVOptions/map/codec feature above.
c4302a39
AK
516 * -metadata can now be used to set metadata on streams and chapters, e.g.
517 -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
518 This made -vlang/-alang/-slang options redundant, so they were removed.
519 * -qscale option now uses stream specifiers and applies to all streams, not
520 just video. I.e. plain -qscale number would now apply to all streams. To get
521 the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
522 and -aq is now an alias for -q:a.
523 * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
524 uses stream specifiers. Use -bsf:v/a/s instead of the old options.
525 * -itsscale option now uses stream specifiers, so its argument is only the
526 scale parameter.
527 * -intra option was removed, use -g 0 for the same effect.
528 * -psnr option was removed, use -flags +psnr for the same effect.
529 * -vf option is now an alias to the new -filter option, which uses stream specifiers.
530 * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
531 * -vtag/-atag/-stag options are now aliases to the new -tag option.
c6c6c1aa 532- XMV demuxer
45ecda85 533- Windows Media Image decoder
dcb9f6a2 534- LATM muxer/demuxer
ee42716b 535- showinfo filter
615baa13 536- split filter
e417d80d 537- libcdio-paranoia input device for audio CD grabbing
d763fb7d 538- select filter
be64629a 539- Apple ProRes decoder
4ca59d19 540- CELT in Ogg demuxing
51757ac7 541- VC-1 interlaced decoding
8fe0c527 542- lut, lutrgb, and lutyuv filters
ce6b6ef6 543- boxblur filter
0d8506b8 544- Ut Video decoder
b606a017 545- Speex encoding via libspeex
76741b0e 546- 4:2:2 H.264 decoding support
a7476298 547- 4:2:2 and 4:4:4 H.264 encoding with libx264
0de9c41f 548- Pulseaudio input device
594b54b5 549- replacement Indeo 3 decoder
183baead 550- TLS/SSL and HTTPS protocol support
a7476298
AK
551- AVOptions API rewritten and documented
552- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
553 AVCodecContext deprecated. Codec private options should be used instead.
554- Properly working defaults in libx264 wrapper, support for native presets.
555- Encrypted OMA files support
f545e006 556- Discworld II BMV decoding support
c433a3f9 557- VBLE Decoder
ac3dbb4d 558- OS X Video Decoder Acceleration (VDA) support
779ef255 559- CRI ADX audio format muxer and demuxer
f28070a1 560- Playstation Portable PMP format demuxer
c8b27a0e 561- PCM format support in OMA demuxer
e93947b7 562- CLJR encoder
19341c58 563- Dxtory capture format decoder
80f6c0bb 564- v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
f40e7eb5 565- OpenMG Audio muxer
02e8f032 566- Simple segmenting muxer
4fb930a8
RT
567- Indeo 4 decoder
568- SMJPEG demuxer
a4ad9438
BL
569
570
bed31c7e 571version 0.7:
2db272e9 572
aa47c35d 573- E-AC-3 audio encoder
b95d19b0 574- ac3enc: add channel coupling support
b047941d
DB
575- floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
576- H.264/MPEG frame-level multithreading
577- av_metadata_* functions renamed to av_dict_* and moved to libavutil
bed31c7e
RT
578- 4:4:4 H.264 decoding support
579- 10-bit H.264 optimizations for x86
b047941d 580- bump libswscale for recently reported ABI break
aa47c35d 581
21bbca5b
RT
582
583version 0.7_beta2:
584
b047941d 585- VP8 frame-level multithreading
bed31c7e 586- NEON optimizations for VP8
b047941d
DB
587- removed a lot of deprecated API cruft
588- FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
e27ce0ee 589- DPX image encoder
9aa91043 590- SMPTE 302M AES3 audio decoder
b047941d 591- ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
bed31c7e 592- 9bit and 10bit per sample support in the H.264 decoder
e27ce0ee 593
5efef54e
RT
594
595version 0.7_beta1:
596
316d6c15 597- WebM support in Matroska de/muxer
21d52447 598- low overhead Ogg muxing
a2403986 599- MMS-TCP support
ee0e9146 600- VP8 de/encoding via libvpx
173bb37f 601- Demuxer for On2's IVF format
a526d619 602- Pictor/PC Paint decoder
a2063901 603- HE-AAC v2 decoder
41f91b5f 604- libfaad2 wrapper removed
e83aed04 605- DTS-ES extension (XCh) decoding support
db7d307f 606- native VP8 decoder
680b2321 607- RTSP tunneling over HTTP
4449df6b 608- RTP depacketization of SVQ3
2d525ef4 609- -strict inofficial replaced by -strict unofficial
066ce8c9 610- ffplay -exitonkeydown and -exitonmousedown options added
b576934d 611- native GSM / GSM MS decoder
a59096e4 612- RTP depacketization of QDM2
5a717094 613- ANSI/ASCII art playback system
e8723e24 614- Lego Mindstorms RSO de/muxer
ba2c508d 615- SubRip subtitle file muxer and demuxer
de295976 616- Chinese AVS encoding via libxavs
530bbe96 617- ffprobe -show_packets option added
91af5601 618- RTP packetization of Theora and Vorbis
1ddc176e 619- RTP depacketization of MP4A-LATM
51291e60 620- RTP packetization and depacketization of VP8
a1e171df 621- hflip filter
cd223e0b 622- Apple HTTP Live Streaming demuxer
7f50caa7 623- a64 codec
b8521394 624- MMS-HTTP support
21e681ba 625- G.722 ADPCM audio encoder/decoder
43836928 626- R10k video decoder
6ebf0bfc 627- ocv_smooth filter
47941088 628- frei0r wrapper filter
2bc05d35 629- change crop filter syntax to width:height:x:y
75b67a8a 630- make the crop filter accept parametric expressions
6afd569e 631- make ffprobe accept AVFormatContext options
5900deeb 632- yadif filter
13fabd7a 633- blackframe filter
8878e3b2 634- Demuxer for Leitch/Harris' VR native stream format (LXF)
3ece3e4c 635- RTP depacketization of the X-QT QuickTime format
01c8d258 636- SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
68b79bfc 637- cropdetect filter
5879ea6d 638- ffmpeg -crop* options removed
43945b27 639- transpose filter added
4ad08021 640- ffmpeg -force_key_frames option added
44594cc7 641- demuxer for receiving raw rtp:// URLs without an SDP description
136e19e1 642- single stream LATM/LOAS decoder
a532bb39 643- setpts filter added
b047941d 644- Win64 support for optimized x86 assembly functions
ba83c4bf 645- MJPEG/AVI1 to JPEG/JFIF bitstream filter
c99f9b0a 646- ASS subtitle encoder and decoder
b047941d 647- IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
58935b25 648- overlay filter added
2fb21bf4 649- rename aspect filter to setdar, and pixelaspect to setsar
3b39e273 650- IEC 61937 demuxer
9d09ebf1 651- Mobotix .mxg demuxer
f8608dca 652- frei0r source added
a4dc7aa5 653- hqdn3d filter added
35014efc 654- RTP depacketization of QCELP
475ae04a 655- FLAC parser added
d5f187fd 656- gradfun filter added
2b2a597e 657- AMR-WB decoder
3579b405 658- replace the ocv_smooth filter with a more generic ocv filter
82ca054a 659- Windows Televison (WTV) demuxer
fd5b124d 660- FFmpeg metadata format muxer and demuxer
2c77c906 661- SubRip (srt) subtitle decoder
6fd96d1a 662- floating-point AC-3 encoder added
d267b339 663- Lagarith decoder
fbd56159 664- ffmpeg -copytb option added
54bc6403 665- IVF muxer added
44ddfd47 666- Wing Commander IV movies decoder added
9409c381 667- movie source added
ccfcddb3 668- Bink version 'b' audio and video decoder
402f9ad5 669- Bitmap Brothers JV playback system
dc6fdad5 670- Apple HTTP Live Streaming protocol handler
15d59d2c 671- sndio support for playback and record
c6f95144 672- Linux framebuffer input device added
42315dab 673- Chronomaster DFA decoder
ce02f9be 674- Mobotix MxPEG decoder
d89e738a 675- AAC encoding via libvo-aacenc
f502ff3f 676- AMR-WB encoding via libvo-amrwbenc
ad4c5034 677- xWMA demuxer
2f84bb42 678- fieldorder video filter added
fbe347d6
DB
679
680
681version 0.6:
682
2db272e9 683- PB-frame decoding for H.263
b11163c8 684- deprecated vhook subsystem removed
3444c914 685- deprecated old scaler removed
616e899c 686- VQF demuxer
b3b5946c 687- Alpha channel scaler
effcedf7 688- PCX encoder
9edfaf3c 689- RTP packetization of H.263
08e696c0 690- RTP packetization of AMR
e6327fba 691- RTP depacketization of Vorbis
e9356be5 692- CorePNG decoding support
9189d7eb 693- Cook multichannel decoding support
276f8e2b 694- introduced avlanguage helpers in libavformat
f0b19bd3 695- 8088flex TMV demuxer and decoder
5f1ac36d 696- per-stream language-tags extraction in asfdec
ca0bb1c4 697- V210 decoder and encoder
de08ebe3 698- remaining GPL parts in AC-3 decoder converted to LGPL
cdce0fb8 699- QCP demuxer
cbfe5bee 700- SoX native format muxer and demuxer
0b175caa 701- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
94d3d6a4 702- DPX image decoder
c63ea92b 703- Electronic Arts Madcow decoder
a4276ba2 704- DivX (XSUB) subtitle encoder
0a4a0aa7 705- nonfree libamr support for AMR-NB/WB decoding/encoding removed
57a80d79 706- experimental AAC encoder
c2f3eec4 707- RTP depacketization of ASF and RTSP from WMS servers
9fd6b843 708- RTMP support in libavformat
3106f489 709- noX handling for OPT_BOOL X options
740e89cf 710- Wave64 demuxer
ab1eff9c 711- IEC-61937 compatible Muxer
7bd47335 712- TwinVQ decoder
c58b82a2 713- Bluray (PGS) subtitle decoder
5dd3707b 714- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
57a80d79 715- WMA Pro decoder
5f14b565 716- Core Audio Format demuxer
7df9e693 717- ATRAC1 decoder
61dc238b 718- MD STUDIO audio demuxer
811e0fc2 719- RF64 support in WAV demuxer
99971952 720- MPEG-4 Audio Lossless Coding (ALS) decoder
0584b718 721- -formats option split into -formats, -codecs, -bsfs, and -protocols
7c3c53c8 722- IV8 demuxer
a3d995c1 723- CDG demuxer and decoder
4aaab0a3 724- R210 decoder
ce293510 725- Auravision Aura 1 and 2 decoders
e6565055 726- Deluxe Paint Animation playback system
d140b025 727- SIPR decoder
83ab7f18 728- Adobe Filmstrip muxer and demuxer
45aa9080 729- RTP depacketization of H.263
342c7dfd 730- Bink demuxer and audio/video decoders
4ebaec79 731- enable symbol versioning by default for linkers that support it
b9e06ddd 732- IFF PBM/ILBM bitmap decoder
084eb95f 733- concat protocol
5bebe94d 734- Indeo 5 decoder
556aa7a1 735- RTP depacketization of AMR
57a80d79
DB
736- WMA Voice decoder
737- ffprobe tool
4fe3edaa 738- AMR-NB decoder
6f5a3d0a 739- RTSP muxer
ed492b61 740- HE-AAC v1 decoder
bf354122 741- Kega Game Video (KGV1) decoder
59b4b540 742- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
887af2aa 743- RTP depacketization of Theora
b26708d5 744- HTTP Digest authentication
0f943ce6 745- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
38b9d8b8 746- Psygnosis YOP demuxer and video decoder
ca6e7708 747- spectral extension support in the E-AC-3 decoder
ac1c9564 748- unsharp video filter
910cde56 749- RTP hinting in the mov/3gp/mp4 muxer
a8d9a56a
DB
750- Dirac in Ogg demuxing
751- seek to keyframes in Ogg
752- 4:2:2 and 4:4:4 Theora decoding
753- 35% faster VP3/Theora decoding
754- faster AAC decoding
755- faster H.264 decoding
d31ba231 756- RealAudio 1.0 (14.4K) encoder
de08ebe3 757
2db272e9 758
e0e86c52
DB
759version 0.5:
760
06ab9cff 761- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
9d53d58e 762- TechSmith Camtasia (TSCC) video decoder
d0a0bbd2 763- IBM Ultimotion (ULTI) video decoder
d08d7142
MM
764- Sierra Online audio file demuxer and decoder
765- Apple QuickDraw (qdrw) video decoder
22052247 766- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
ad81a9fe 767- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
ab711b3c 768- Miro VideoXL (VIXL) video decoder
b06b45c4 769- H.261 video encoder
acfd8f0f 770- QPEG video decoder
353147ed 771- Nullsoft Video (NSV) file demuxer
13dfd2b9 772- Shorten audio decoder
9c7fb608 773- LOCO video decoder
115329f1 774- Apple Lossless Audio Codec (ALAC) decoder
a8a15e9d 775- Winnov WNV1 video decoder
589f8220 776- Autodesk Animator Studio Codec (AASC) decoder
bfaad39f 777- Indeo 2 video decoder
b81f8949 778- Fraps FPS1 video decoder
e0db8cfb 779- Snow video encoder/decoder
af4ca324 780- Sonic audio encoder/decoder
108ab268 781- Vorbis audio decoder
af4ca324 782- Macromedia ADPCM decoder
e0db8cfb
DB
783- Duck TrueMotion 2 video decoder
784- support for decoding FLX and DTA extensions in FLIC files
b2909f1a 785- H.264 custom quantization matrices support
a8289180 786- ffserver fixed, it should now be usable again
8d1018bf 787- QDM2 audio decoder
8a2d410e 788- Real Cooker audio decoder
bf3027c8 789- TrueSpeech audio decoder
65694974
DB
790- WMA2 audio decoder fixed, now all files should play correctly
791- RealAudio 14.4 and 28.8 decoders fixed
108ab268 792- JPEG-LS decoder
3f45598a
DB
793- build system improvements
794- tabs and trailing whitespace removed from the codebase
108ab268 795- CamStudio video decoder
f11288da 796- AIFF/AIFF-C audio format, encoding and decoding
4accd1fd 797- ADTS AAC file reading and writing
ea395e8c 798- Creative VOC file reading and writing
4e114829 799- American Laser Games multimedia (*.mm) playback system
6a7d2c3d 800- Zip Motion Blocks Video decoder
58cf42fa 801- improved Theora/VP3 decoder
8a2d410e 802- True Audio (TTA) decoder
26376701 803- AVS demuxer and video decoder
108ab268 804- JPEG-LS encoder
348efc18 805- Smacker demuxer and decoder
dfca23e3 806- NuppelVideo/MythTV demuxer and RTjpeg decoder
fd7b1991 807- KMVC decoder
58cf42fa 808- MPEG-2 intra VLC support
2d974017 809- MPEG-2 4:2:2 encoder
0919e788 810- Flash Screen Video decoder
cc0bc648 811- GXF demuxer
6a09487e 812- Chinese AVS decoder
43dcf590 813- GXF muxer
07bf2af8 814- MXF demuxer
b394e39a 815- VC-1/WMV3/WMV9 video decoder
0ccd1bb5 816- MacIntel support
03039f4c 817- AviSynth support
eb57c889 818- VMware video decoder
5ce117c3
AJ
819- VP5 video decoder
820- VP6 video decoder
730581f3 821- WavPack lossless audio decoder
3689cf16 822- Targa (.TGA) picture decoder
108ab268 823- Vorbis audio encoder
dc56e0de 824- Delphine Software .cin demuxer/audio and video decoder
29f86228 825- Tiertex .seq demuxer/video decoder
f7bc5837 826- MTV demuxer
716222db 827- TIFF picture encoder and decoder
06d392a7 828- GIF picture decoder
58cf42fa 829- Intel Music Coder decoder
6a7d2c3d 830- Zip Motion Blocks Video encoder
185c7b6b 831- Musepack decoder
8adc51f2 832- Flash Screen Video encoder
150d2772 833- Theora encoding via libtheora
52548eee 834- BMP encoder
039cd4a7 835- WMA encoder
346a655d 836- GSM-MS encoder and decoder
01ca9ac3 837- DCA decoder
33a0dd37 838- DXA demuxer and decoder
52b6bad2 839- DNxHD decoder
efb0c399 840- Gamecube movie (.THP) playback system
a5fbe001 841- Blackfin optimizations
9a0ddd09 842- Interplay C93 demuxer and video decoder
1e6c6759 843- Bethsoft VID demuxer and video decoder
8e952e4d 844- CRYO APC demuxer
7df9e693 845- ATRAC3 decoder
b46d68c6 846- V.Flash PTX decoder
58cf42fa 847- RoQ muxer, RoQ audio encoder
ad39f1a7 848- Renderware TXD demuxer and decoder
4d5588cf 849- extern C declarations for C++ removed from headers
82e60541 850- sws_flags command line option
ddcf4b5d 851- codebook generator
03e3e765 852- RoQ video encoder
d3b7406c 853- QTRLE encoder
d22e8442 854- OS/2 support removed and restored again
6ea67bbb 855- AC-3 decoder
58cf42fa 856- NUT muxer
108ab268 857- additional SPARC (VIS) optimizations
e09f7d61 858- Matroska muxer
58cf42fa 859- slice-based parallel H.264 decoding
bf4a1f17 860- Monkey's Audio demuxer and decoder
8787d837 861- AMV audio and video decoder
fc4cbc16 862- DNxHD encoder
d6c52130 863- H.264 PAFF decoding
636b13c5 864- Nellymoser ASAO decoder
66f7679c 865- Beam Software SIFF demuxer and decoder
f9def9cc 866- libvorbis Vorbis decoding removed in favor of native decoder
541432c3 867- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
56dc1fdf 868- Ogg (Theora, Vorbis and FLAC) muxer
108ab268 869- The "device" muxers and demuxers are now in a new libavdevice library
540945eb
IP
870- PC Paintbrush PCX decoder
871- Sun Rasterfile decoder
920d3609 872- TechnoTrend PVA demuxer
77c1d04d 873- Linux Media Labs MPEG-4 (LMLM4) demuxer
b264a084 874- AVM2 (Flash 9) SWF muxer
9dc92a38 875- QT variant of IMA ADPCM encoder
39fc859e 876- VFW grabber
58cf42fa 877- iPod/iPhone compatible mp4 muxer
a7129de5 878- Mimic decoder
0f3444e1 879- MSN TCP Webcam stream demuxer
86b3cf7c 880- RL2 demuxer / decoder
d299be08
JM
881- IFF demuxer
882- 8SVX audio decoder
b00b15be 883- non-recursive Makefiles
b64c096b 884- BFI demuxer
74118c07 885- MAXIS EA XA (.xa) demuxer / decoder
2003d3da 886- BFI video decoder
ea662534 887- OMA demuxer
b517af05 888- MLP/TrueHD decoder
e1c74782 889- Electronic Arts CMV decoder
822cc8f7
RP
890- Motion Pixels Video decoder
891- Motion Pixels MVI demuxer
e44bbf62 892- removed animated GIF decoder/demuxer
51c3861e 893- D-Cinema audio muxer
cfc78718 894- Electronic Arts TGV decoder
833e90dd 895- Apple Lossless Audio Codec (ALAC) encoder
7d8f3de4 896- AAC decoder
eb6fc557 897- floating point PCM encoder/decoder
cedebde1 898- MXF muxer
108ab268 899- DV100 AKA DVCPRO HD decoder and demuxer
1f6a594d 900- E-AC-3 support added to AC-3 decoder
755ba886 901- Nellymoser ASAO encoder
0c86f89a 902- ASS and SSA demuxer and muxer
d8d12c15 903- liba52 wrapper removed
0ac1dc6f 904- SVQ3 watermark decoding support
f6958006 905- Speex decoding via libspeex
42b30357 906- Electronic Arts TGQ decoder
108ab268 907- RV40 decoder
73b458e3 908- QCELP / PureVoice decoder
108ab268 909- RV30 decoder
7906f3ca 910- hybrid WavPack support
7eb68edb 911- R3D REDCODE demuxer
115d095e 912- ALSA support for playback and record
d8964f3a 913- Electronic Arts TQI decoder
9a77d59a 914- OpenJPEG based JPEG 2000 decoder
58cf42fa 915- NC (NC4600) camera file demuxer
865780ae 916- Gopher client support
bd3f81f3 917- MXF D-10 muxer
58cf42fa
DB
918- generic metadata API
919
9d53d58e 920
1defd2a8
MN
921version 0.4.9-pre1:
922
4fa1c4fa 923- DV encoder, DV muxer
2fdf638b
MM
924- Microsoft RLE video decoder
925- Microsoft Video-1 decoder
070ed1bc 926- Apple Animation (RLE) decoder
42cad81a 927- Apple Graphics (SMC) decoder
2fdf638b
MM
928- Apple Video (RPZA) decoder
929- Cinepak decoder
930- Sega FILM (CPK) file demuxer
42cad81a 931- Westwood multimedia support (VQA & AUD files)
4120a53a 932- Id Quake II CIN playback support
42cad81a
MM
933- 8BPS video decoder
934- FLIC playback support
9a4117d5
MM
935- RealVideo 2.0 (RV20) decoder
936- Duck TrueMotion v1 (DUCK) video decoder
da00f30e 937- Sierra VMD demuxer and video decoder
1defd2a8 938- MSZH and ZLIB decoder support
3b64893d 939- SVQ1 video encoder
1defd2a8 940- AMR-WB support
e0db8cfb 941- PPC optimizations
1defd2a8 942- rate distortion optimal cbp support
e0db8cfb 943- rate distorted optimal ac prediction for MPEG-4
1defd2a8
MN
944- rate distorted optimal lambda->qp support
945- AAC encoding with libfaac
946- Sunplus JPEG codec (SP5X) support
e0db8cfb
DB
947- use Lagrange multipler instead of QP for ratecontrol
948- Theora/VP3 decoding support
1defd2a8 949- XA and ADX ADPCM codecs
e0db8cfb 950- export MPEG-2 active display area / pan scan
1defd2a8
MN
951- Add support for configuring with IBM XLC
952- floating point AAN DCT
e0db8cfb
DB
953- initial support for zygo video (not complete)
954- RGB ffv1 support
1defd2a8
MN
955- new audio/video parser API
956- av_log() system
957- av_read_frame() and av_seek_frame() support
958- missing last frame fixes
959- seek by mouse in ffplay
e0db8cfb
DB
960- noise reduction of DCT coefficients
961- H.263 OBMC & 4MV support
962- H.263 alternative inter vlc support
963- H.263 loop filter
964- H.263 slice structured mode
965- interlaced DCT support for MPEG-2 encoding
1defd2a8 966- stuffing to stay above min_bitrate
e0db8cfb 967- MB type & QP visualization
1defd2a8
MN
968- frame stepping for ffplay
969- interlaced motion estimation
970- alternate scantable support
971- SVCD scan offset support
e0db8cfb
DB
972- closed GOP support
973- SSE2 FDCT
1defd2a8
MN
974- quantizer noise shaping
975- G.726 ADPCM audio codec
976- MS ADPCM encoding
977- multithreaded/SMP motion estimation
e0db8cfb
DB
978- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
979- multithreaded/SMP decoding for MPEG-2
1defd2a8
MN
980- FLAC decoder
981- Metrowerks CodeWarrior suppport
e0db8cfb 982- H.263+ custom pcf support
1defd2a8 983- nicer output for 'ffmpeg -formats'
e0db8cfb 984- Matroska demuxer
1defd2a8 985- SGI image format, encoding and decoding
e0db8cfb
DB
986- H.264 loop filter support
987- H.264 CABAC support
f073a393 988- nicer looking arrows for the motion vector visualization
1defd2a8
MN
989- improved VCD support
990- audio timestamp drift compensation
e0db8cfb 991- MPEG-2 YUV 422/444 support
1defd2a8
MN
992- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
993- better image scaling
e0db8cfb 994- H.261 support
1defd2a8
MN
995- correctly interleave packets during encoding
996- VIS optimized motion compensation
e0db8cfb
DB
997- intra_dc_precision>0 encoding support
998- support reuse of motion vectors/MB types/field select values of the source video
1defd2a8
MN
999- more accurate deblock filter
1000- padding support
1001- many optimizations and bugfixes
055dc116 1002- FunCom ISS audio file demuxer and according ADPCM decoding
2fdf638b 1003
0ca3e336 1004
8c522a40
FB
1005version 0.4.8:
1006
e0db8cfb 1007- MPEG-2 video encoding (Michael)
d9d8910b 1008- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
b17e9c99
MM
1009- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1010 and Mario Brito)
1011- Xan DPCM audio decoder (Mario Brito)
186447f8 1012- Interplay MVE playback subsystem (Mike Melanson)
b17e9c99
MM
1013- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1014
0ca3e336 1015
b17e9c99 1016version 0.4.7:
e07702ba 1017
e0db8cfb 1018- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
124ba583 1019 (originally from public domain player for Amiga at http://www.honeypot.net/audio)
e0db8cfb 1020- current version now also compiles with older GCC (Fabrice)
e07702ba
HBH
1021- 4X multimedia playback system including 4xm file demuxer (Mike
1022 Melanson), and 4X video and audio codecs (Michael)
1023- Creative YUV (CYUV) decoder (Mike Melanson)
1024- FFV1 codec (our very simple lossless intra only codec, compresses much better
e0db8cfb
DB
1025 than HuffYUV) (Michael)
1026- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1027- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
e07702ba
HBH
1028 alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1029- ffplay has been replaced with a newer version which uses SDL (optionally)
e0db8cfb 1030 for multiplatform support (Fabrice)
e07702ba
HBH
1031- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1032 by anonymous
1033- AMR format has been added (Johannes Carlsson)
e0db8cfb 1034- 3GP support has been added (Johannes Carlsson)
e07702ba
HBH
1035- VP3 codec has been added (Mike Melanson)
1036- more MPEG-1/2 fixes
e0db8cfb
DB
1037- better multiplatform support, MS Visual Studio fixes (various)
1038- AltiVec optimizations (Magnus Damn and others)
e07702ba 1039- SH4 processor support has been added (BERO)
e0db8cfb
DB
1040- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1041- VOB streaming support (Brian Foley)
1042- better MP3 autodetection (Andriy Rysin)
d3d10087
FB
1043- qpel encoding (Michael)
1044- 4mv+b frames encoding finally fixed (Michael)
1045- chroma ME (Michael)
e0db8cfb
DB
1046- 5 comparison functions for ME (Michael)
1047- B-frame encoding speedup (Michael)
1048- WMV2 codec (unfinished - Michael)
d3d10087 1049- user specified diamond size for EPZS (Michael)
b17e9c99
MM
1050- Playstation STR playback subsystem, still experimental (Mike and Michael)
1051- ASV2 codec (Michael)
1052- CLJR decoder (Alex)
d3d10087 1053
e0db8cfb 1054.. And lots more new enhancements and fixes.
e07702ba 1055
0ca3e336 1056
d3d10087 1057version 0.4.6:
739d6efa 1058
e0db8cfb
DB
1059- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1060 from scratch
1061- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1062- fix quantization bug in AC3 encoder
1063- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1064- added prototype ffplay program
1065- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1066- bug fix on MCBPC tables of H.263 (Juanjo)
1067- bug fix on DC coefficients of H.263 (Juanjo)
1068- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1069- now we can decode H.263 streams found in QuickTime files (Juanjo)
1070- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
644d98a4 1071- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
e0db8cfb
DB
1072- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1073- now H.263 picture size is returned on the first decoded frame (Juanjo)
7f913a35 1074- added first regression tests
e0db8cfb 1075- added MPEG-2 TS demuxer
a31e01c5 1076- new demux API for libav
6d291820 1077- more accurate and faster IDCT (Michael)
e0db8cfb 1078- faster and entropy-controlled motion search (Michael)
6d291820
FB
1079- two pass video encoding (Michael)
1080- new video rate control (Michael)
1081- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1082- great performance improvement of video encoders and decoders (Michael)
1083- new and faster bit readers and vlc parsers (Michael)
e0db8cfb 1084- high quality encoding mode: tries all macroblock/VLC types (Michael)
6d291820
FB
1085- added DV video decoder
1086- preliminary RTP/RTSP support in ffserver and libavformat
e0db8cfb
DB
1087- H.263+ AIC decoding/encoding support (Juanjo)
1088- VCD MPEG-PS mode (Juanjo)
1089- PSNR stuff (Juanjo)
1090- simple stats output (Juanjo)
1091- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
739d6efa 1092
0ca3e336 1093
de6d9b64
FB
1094version 0.4.5:
1095
dd5cf2ad
BF
1096- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1097- many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
e0db8cfb
DB
1098- added configure system (actually a small shell script)
1099- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
de6d9b64 1100 Michael Hipp (temporary solution - waiting for integer only
e0db8cfb
DB
1101 decoder)
1102- fixed VIDIOCSYNC interrupt
1103- added Intel H.263 decoding support ('I263' AVI fourCC)
1104- added Real Video 1.0 decoding (needs further testing)
de6d9b64
FB
1105- simplified image formats again. Added PGM format (=grey
1106 pgm). Renamed old PGM to PGMYUV.
e0db8cfb
DB
1107- fixed msmpeg4 slice issues (tell me if you still find problems)
1108- fixed OpenDivX bugs with newer versions (added VOL header decoding)
1109- added support for MPlayer interface
1110- added macroblock skip optimization
1111- added MJPEG decoder
1112- added mmx/mmxext IDCT from libmpeg2
0c1e384c 1113- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
dd5cf2ad 1114 <celer at shell.scrypt.net>)
e0db8cfb
DB
1115- added pixel format conversion layer (e.g. for MJPEG or PPM)
1116- added deinterlacing option
1117- MPEG-1/2 fixes
dd5cf2ad
BF
1118- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1119- ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
e0db8cfb
DB
1120- Windows porting of file converter
1121- added MJPEG raw format (input/ouput)
1122- added JPEG image format support (input/output)
de6d9b64 1123
0ca3e336 1124
de6d9b64
FB
1125version 0.4.4:
1126
1127- fixed some std header definitions (Bjorn Lindgren
dd5cf2ad 1128 <bjorn.e.lindgren at telia.com>).
e0db8cfb
DB
1129- added MPEG demuxer (MPEG-1 and 2 compatible).
1130- added ASF demuxer
1131- added prototype RM demuxer
1132- added AC3 decoding (done with libac3 by Aaron Holtzman)
1133- added decoding codec parameter guessing (.e.g. for MPEG, because the
1134 header does not include them)
1135- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1136 play them (only tested video)
1137- fixed H.263 white bug
1138- fixed phase rounding in img resample filter
1139- add MMX code for polyphase img resample filter
1140- added CPU autodetection
1141- added generic title/author/copyright/comment string handling (ASF and RM
1142 use them)
de6d9b64 1143- added SWF demux to extract MP3 track (not usable yet because no MP3
e0db8cfb
DB
1144 decoder)
1145- added fractional frame rate support
de6d9b64 1146- codecs are no longer searched by read_header() (should fix ffserver
e0db8cfb 1147 segfault)
de6d9b64 1148
0ca3e336 1149
de6d9b64
FB
1150version 0.4.3:
1151
dd5cf2ad 1152- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
e0db8cfb
DB
1153- fixed raw yuv output
1154- added motion rounding support in MPEG-4
1155- fixed motion bug rounding in MSMPEG4
1156- added B-frame handling in video core
1157- added full MPEG-1 decoding support
1158- added partial (frame only) MPEG-2 support
de6d9b64 1159- changed the FOURCC code for H.263 to "U263" to be able to see the
e0db8cfb
DB
1160 +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1161 this +codec ;) (JuanJo).
1162- Halfpel motion estimation after MB type selection (JuanJo)
1163- added pgm and .Y.U.V output format
de6d9b64
FB
1164- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1165 output.
1166- added pgmpipe I/O format (original patch from Martin Aumueller
dd5cf2ad 1167 <lists at reserv.at>, but changed completely since we use a format
e0db8cfb 1168 instead of a protocol)
de6d9b64 1169
0ca3e336 1170
de6d9b64
FB
1171version 0.4.2:
1172
e0db8cfb
DB
1173- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1174 (for OpenDivX) is almost complete: 8x8 MVs and rounding are
de6d9b64 1175 missing. MSMPEG4 support is complete.
e0db8cfb
DB
1176- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1177 can decode ffmpeg MPEGs :-)).
de6d9b64
FB
1178- added libavcodec API documentation (see apiexample.c).
1179- fixed image polyphase bug (the bottom of some images could be
e0db8cfb 1180 greenish)
de6d9b64 1181- added support for non clipped motion vectors (decoding only)
e0db8cfb
DB
1182 and image sizes non-multiple of 16
1183- added support for AC prediction (decoding only)
1184- added file overwrite confirmation (can be disabled with -y)
1185- added custom size picture to H.263 using H.263+ (Juanjo)
de6d9b64 1186
0ca3e336 1187
de6d9b64
FB
1188version 0.4.1:
1189
e0db8cfb
DB
1190- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1191 of AVI and ASF to DIV3.
de6d9b64
FB
1192- added -me option to set motion estimation method
1193 (default=log). suppressed redundant -hq option.
1194- added options -acodec and -vcodec to force a given codec (useful for
e0db8cfb
DB
1195 AVI for example)
1196- fixed -an option
1197- improved dct_quantize speed
1198- factorized some motion estimation code
de6d9b64 1199
0ca3e336 1200
de6d9b64
FB
1201version 0.4.0:
1202
e0db8cfb
DB
1203- removing grab code from ffserver and moved it to ffmpeg. Added
1204 multistream support to ffmpeg.
de6d9b64 1205- added timeshifting support for live feeds (option ?date=xxx in the
e0db8cfb 1206 URL)
de6d9b64 1207- added high quality image resize code with polyphase filter (need
56cc85a0 1208 mmx/see optimization). Enable multiple image size support in ffserver.
e0db8cfb 1209- added multi live feed support in ffserver
de6d9b64
FB
1210- suppressed master feature from ffserver (it should be done with an
1211 external program which opens the .ffm url and writes it to another
e0db8cfb
DB
1212 ffserver)
1213- added preliminary support for video stream parsing (WAV and AVI half
1214 done). Added proper support for audio/video file conversion in
de6d9b64 1215 ffmpeg.
e0db8cfb
DB
1216- added preliminary support for video file sending from ffserver
1217- redesigning I/O subsystem: now using URL based input and output
1218 (see avio.h)
1219- added WAV format support
1220- added "tty user interface" to ffmpeg to stop grabbing gracefully
1221- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
dd5cf2ad 1222 (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
e0db8cfb
DB
1223- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1224- added new motion estimation algorithms, log and phods (Juanjo)
1225- changed directories: libav for format handling, libavcodec for
1226 codecs
de6d9b64 1227
0ca3e336 1228
de6d9b64
FB
1229version 0.3.4:
1230
e0db8cfb 1231- added stereo in MPEG audio encoder
de6d9b64 1232
0ca3e336 1233
de6d9b64
FB
1234version 0.3.3:
1235
1236- added 'high quality' mode which use motion vectors. It can be used in
1237 real time at low resolution.
1238- fixed rounding problems which caused quality problems at high
e0db8cfb 1239 bitrates and large GOP size
de6d9b64 1240
0ca3e336 1241
de6d9b64
FB
1242version 0.3.2: small fixes
1243
e0db8cfb 1244- ASF fixes
de6d9b64
FB
1245- put_seek bug fix
1246
0ca3e336 1247
de6d9b64
FB
1248version 0.3.1: added avi/divx support
1249
e0db8cfb
DB
1250- added AVI support
1251- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
de6d9b64
FB
1252- added sound for flash format (not tested)
1253
0ca3e336 1254
de6d9b64 1255version 0.3: initial public release