Changelog 44.4 KB
Newer Older
1 2 3
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.

4
version <next>:
5
- HEVC/H.265 RTP payload format (draft v6) packetizer
Michael Niedermayer's avatar
Michael Niedermayer committed
6 7

version 2.4:
8
- Icecast protocol
9
- ported lenscorrection filter from frei0r filter
10
- large optimizations in dctdnoiz to make it usable
11
- ICY metadata are now requested by default with the HTTP protocol
12
- support for using metadata in stream specifiers in fftools
13
- LZMA compression support in TIFF decoder
14
- support for H.261 RTP payload format (RFC 4587)
15
- HEVC/H.265 RTP payload format (draft v6) depacketizer
16
- added codecview filter to visualize information exported by some codecs
17
- Matroska 3D support thorugh side data
18
- HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
Paul B Mahol's avatar
Paul B Mahol committed
19
- silenceremove filter
20 21


22
version 2.3:
23
- AC3 fixed-point decoding
24
- shuffleplanes filter
25 26
- subfile protocol
- Phantom Cine demuxer
27
- replaygain data export
Peter Ross's avatar
Peter Ross committed
28
- VP7 video decoder
29
- Alias PIX image encoder and decoder
Lou Logan's avatar
Lou Logan committed
30 31
- Improvements to the BRender PIX image decoder
- Improvements to the XBM decoder
32
- QTKit input device
Lou Logan's avatar
Lou Logan committed
33
- improvements to OpenEXR image decoder
34
- support decoding 16-bit RLE SGI images
35
- GDI screen grabbing for Windows
36
- alternative rendition support for HTTP Live Streaming
37
- AVFoundation input device
38
- Direct Stream Digital (DSD) decoder
39
- Magic Lantern Video (MLV) demuxer
Kostya Shishkov's avatar
Kostya Shishkov committed
40
- On2 AVC (Audio for Video) decoder
41
- support for decoding through DXVA2 in ffmpeg
42
- libbs2b-based stereo-to-binaural audio filter
43
- libx264 reference frames count limiting depending on level
44
- native Opus decoder
45
- display matrix export and rotation API
46
- WebVTT encoder
47
- showcqt multimedia filter
Paul B Mahol's avatar
Paul B Mahol committed
48
- zoompan filter
49
- signalstats filter
50
- hqx filter (hq2x, hq3x, hq4x)
51
- flanger filter
52
- Image format auto-detection
53
- LRC demuxer and muxer
54
- Samba protocol (via libsmbclient)
55
- WebM DASH Manifest muxer
56
- libfribidi support in drawtext
57

Michael Niedermayer's avatar
Michael Niedermayer committed
58 59 60

version 2.2:

61
- HNM version 4 demuxer and video decoder
62
- Live HDS muxer
63
- setsar/setdar filters now support variables in ratio expressions
64
- elbg filter
65
- string validation in ffprobe
66
- support for decoding through VDPAU in ffmpeg (the -hwaccel option)
67
- complete Voxware MetaSound decoder
Timothy Gu's avatar
Timothy Gu committed
68
- remove mp3_header_compress bitstream filter
69
- Windows resource files for shared libraries
70
- aeval filter
71
- stereoscopic 3d metadata handling
72
- WebP encoding via libwebp
Maxim Poliakovski's avatar
Maxim Poliakovski committed
73
- ATRAC3+ decoder
74
- VP8 in Ogg demuxing
75
- side & metadata support in NUT
76
- framepack filter
77
- XYZ12 rawvideo support in NUT
78
- Exif metadata support in WebP decoder
Lukasz Marek's avatar
Lukasz Marek committed
79
- OpenGL device
80 81
- Use metadata_header_padding to control padding in ID3 tags (currently used in
  MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
82
- Mirillis FIC video decoder
83
- Support DNx444
Derek Buitenhuis's avatar
Derek Buitenhuis committed
84
- libx265 encoder
85
- dejudder filter
86
- Autodetect VDA like all other hardware accelerations
87
- aliases and defaults for Ogg subtypes (opus, spx)
88

Michael Niedermayer's avatar
Michael Niedermayer committed
89 90 91

version 2.1:

Paul B Mahol's avatar
Paul B Mahol committed
92
- aecho filter
93
- perspective filter ported from libmpcodecs
94
- ffprobe -show_programs option
Paul B Mahol's avatar
Paul B Mahol committed
95
- compand filter
96
- RTMP seek support
97 98 99
- when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
  even when used as an input option. Previous behavior can be restored with
  the -noaccurate_seek option.
100 101
- ffmpeg -t option can now be used for inputs, to limit the duration of
  data read from an input file
102
- incomplete Voxware MetaSound decoder
103
- read EXIF metadata from JPEG
104
- DVB teletext decoder
105
- phase filter ported from libmpcodecs
106
- w3fdif filter
107
- Opus support in Matroska
108
- FFV1 version 1.3 is stable and no longer experimental
109 110 111
- FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
- changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
  more consistent with other muxers.
112
- adelay filter
113
- pullup filter ported from libmpcodecs
114
- ffprobe -read_intervals option
115
- Lossless and alpha support for WebP decoder
116
- Error Resilient AAC syntax (ER AAC LC) decoding
117
- Low Delay AAC (ER AAC LD) decoding
118
- mux chapters in ASF files
119
- SFTP protocol (via libssh)
120 121
- libx264: add ability to encode in YUVJ422P and YUVJ444P
- Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
122 123
- make decoding alpha optional for prores, ffv1 and vp6 by setting
  the skip_alpha flag.
124
- ladspa wrapper filter
Ronald S. Bultje's avatar
Ronald S. Bultje committed
125
- native VP9 decoder
Paul B Mahol's avatar
Paul B Mahol committed
126
- dpx parser
127
- max_error_rate parameter in ffmpeg
Lukasz Marek's avatar
Lukasz Marek committed
128
- PulseAudio output device
129
- ReplayGain scanner
130
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
131
- Linux framebuffer output device
132
- HEVC decoder
133
- raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
134
- mergeplanes filter
135

136

137 138
version 2.0:

139
- curves filter
140
- reference-counting for AVFrame and AVPacket data
141
- ffmpeg now fails when input options are used for output file
142
  or vice versa
143
- support for Monkey's Audio versions from 3.93
144
- perms and aperms filters
Marton Balint's avatar
Marton Balint committed
145
- audio filtering support in ffplay
146
- 10% faster aac encoding on x86 and MIPS
147
- sine audio filter source
148
- WebP demuxing and decoding support
149
- ffmpeg options -filter_script and -filter_complex_script, which allow a
150
  filtergraph description to be read from a file
151
- OpenCL support
Paul B Mahol's avatar
Paul B Mahol committed
152
- audio phaser filter
Paul B Mahol's avatar
Paul B Mahol committed
153
- separatefields filter
154
- libquvi demuxer
155
- uniform options syntax across all filters
Paul B Mahol's avatar
Paul B Mahol committed
156
- telecine filter
157
- interlace filter
158
- smptehdbars source
159
- inverse telecine filters (fieldmatch and decimate)
Paul B Mahol's avatar
Paul B Mahol committed
160
- colorbalance filter
Paul B Mahol's avatar
Paul B Mahol committed
161
- colorchannelmixer filter
162 163
- The matroska demuxer can now output proper verbatim ASS packets. It will
  become the default at the next libavformat major bump.
164
- decent native animated GIF encoding
165
- asetrate filter
166
- interleave filter
167
- timeline editing with filters
168 169
- vidstabdetect and vidstabtransform filters for video stabilization using
  the vid.stab library
Paul B Mahol's avatar
Paul B Mahol committed
170
- astats filter
171
- trim and atrim filters
172
- ffmpeg -t and -ss (output-only) options are now sample-accurate when
173
  transcoding audio
174
- Matroska muxer can now put the index at the beginning of the file.
Paul B Mahol's avatar
Paul B Mahol committed
175
- extractplanes filter
176
- avectorscope filter
James Almer's avatar
James Almer committed
177
- ADPCM DTK decoder
James Almer's avatar
James Almer committed
178
- ADP demuxer
James Almer's avatar
James Almer committed
179
- RSD demuxer
James Almer's avatar
James Almer committed
180
- RedSpark demuxer
James Almer's avatar
James Almer committed
181
- ADPCM IMA Radical decoder
182
- zmq filters
183
- DCT denoiser filter (dctdnoiz)
184
- Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
185
- Apple Intermediate Codec decoder
Eli Friedman's avatar
Eli Friedman committed
186
- Escape 130 video decoder
Lukasz Marek's avatar
Lukasz Marek committed
187
- FTP protocol support
Clément Bœsch's avatar
Clément Bœsch committed
188
- V4L2 output device
189
- 3D LUT filter (lut3d)
190
- SMPTE 302M audio encoder
191
- support for slice multithreading in libavfilter
192
- Hald CLUT support (generation and filtering)
193
- VC-1 interlaced B-frame support
194
- support for WavPack muxing (raw and in Matroska)
195
- XVideo output device
196
- vignette filter
Paul B Mahol's avatar
Paul B Mahol committed
197
- True Audio (TTA) encoder
Kostya Shishkov's avatar
Kostya Shishkov committed
198
- Go2Webinar decoder
199 200
- mcdeint filter ported from libmpcodecs
- sab filter ported from libmpcodecs
201
- ffprobe -show_chapters option
202
- WavPack encoding through libwavpack
203
- rotate filter
Clément Bœsch's avatar
Clément Bœsch committed
204
- spp filter ported from libmpcodecs
wm4's avatar
wm4 committed
205
- libgme support
Paul B Mahol's avatar
Paul B Mahol committed
206
- psnr filter
207 208 209


version 1.2:
210

211
- VDPAU hardware acceleration through normal hwaccel
212
- SRTP support
213
- Error diffusion dither in Swscale
214
- Chained Ogg support
215
- Theora Midstream reconfiguration support
Paul B Mahol's avatar
Paul B Mahol committed
216
- EVRC decoder
Paul B Mahol's avatar
Paul B Mahol committed
217
- audio fade filter
218
- filtering audio with unknown channel layout
219 220
- allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
  and treble audio filter
221
- improved showspectrum filter, with multichannel support and sox-like colors
Paul B Mahol's avatar
Paul B Mahol committed
222
- histogram filter
223
- tee muxer
Paul B Mahol's avatar
Paul B Mahol committed
224
- il filter ported from libmpcodecs
225
- support ID3v2 tags in ASF files
226
- encrypted TTA stream decoding support
227
- RF64 support in WAV muxer
228
- noise filter ported from libmpcodecs
229
- Subtitles character encoding conversion
Paul B Mahol's avatar
Paul B Mahol committed
230
- blend filter
231
- stereo3d filter ported from libmpcodecs
232

233 234 235

version 1.1:

236
- stream disposition information printing in ffprobe
237
- filter for loudness analysis following EBU R128
238
- Opus encoder using libopus
239
- ffprobe -select_streams option
240
- Pinnacle TARGA CineWave YUV16 decoder
241
- TAK demuxer, decoder and parser
Paul B Mahol's avatar
Paul B Mahol committed
242
- DTS-HD demuxer
243
- remove -same_quant, it hasn't worked for years
244
- FFM2 support
245
- X-Face image encoder and decoder
246
- 24-bit FLAC encoding
247
- multi-channel ALAC encoding up to 7.1
248
- metadata (INFO tag) support in WAV muxer
249
- subtitles raw text decoder
250
- support for building DLLs using MSVC
Paul B Mahol's avatar
Paul B Mahol committed
251
- LVF demuxer
252
- ffescape tool
Paul B Mahol's avatar
Paul B Mahol committed
253
- metadata (info chunk) support in CAF muxer
254
- field filter ported from libmpcodecs
Paul B Mahol's avatar
Paul B Mahol committed
255
- AVR demuxer
Clément Bœsch's avatar
Clément Bœsch committed
256
- geq filter ported from libmpcodecs
257
- remove ffserver daemon mode
James Almer's avatar
James Almer committed
258
- AST muxer/demuxer
259
- new expansion syntax for drawtext
260
- BRender PIX image decoder
261
- ffprobe -show_entries option
262
- ffprobe -sections option
263
- ADPCM IMA Dialogic decoder
Paul B Mahol's avatar
Paul B Mahol committed
264
- BRSTM demuxer
Paul B Mahol's avatar
Paul B Mahol committed
265
- animated GIF decoder and demuxer
Paul B Mahol's avatar
Paul B Mahol committed
266
- PVF demuxer
267
- subtitles filter
Paul B Mahol's avatar
Paul B Mahol committed
268
- IRCAM muxer/demuxer
269
- Paris Audio File demuxer
270
- Virtual concatenation demuxer
Clément Bœsch's avatar
Clément Bœsch committed
271
- VobSub demuxer
272
- JSON captions for TED talks decoding support
273
- SOX Resampler support in libswresample
274
- aselect filter
275
- SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
276
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
277
- Silicon Graphics Movie demuxer
278
- apad filter
279
- Resolution & pixel format change support with multithreading for H.264
280
- documentation split into per-component manuals
Clément Bœsch's avatar
Clément Bœsch committed
281
- pp (postproc) filter ported from MPlayer
Paul B Mahol's avatar
Paul B Mahol committed
282
- NIST Sphere demuxer
283
- MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
Paul B Mahol's avatar
Paul B Mahol committed
284
- Sony Wave64 muxer
285
- adobe and limelight publisher authentication in RTMP
286
- data: URI scheme
287
- support building on the Plan 9 operating system
288
- kerndeint filter ported from MPlayer
289
- histeq filter ported from VirtualDub
290
- Megalux Frame demuxer
Carl Eugen Hoyos's avatar
Carl Eugen Hoyos committed
291
- 012v decoder
292
- Improved AVC Intra decoding support
293 294 295


version 1.0:
296

297
- INI and flat output in ffprobe
298
- Scene detection in libavfilter
299
- Indeo Audio decoder
300
- channelsplit audio filter
301
- setnsamples audio filter
302
- atempo filter
303
- ffprobe -show_data option
304
- RTMPT protocol support
305
- iLBC encoding/decoding via libilbc
306
- Microsoft Screen 1 decoder
307 308
- join audio filter
- audio channel mapping filter
309
- Microsoft ATC Screen decoder
Jordi Ortiz's avatar
Jordi Ortiz committed
310
- RTSP listen mode
311
- TechSmith Screen Codec 2 decoder
312
- AAC encoding via libfdk-aac
313
- Microsoft Expression Encoder Screen decoder
Samuel Pitoiset's avatar
Samuel Pitoiset committed
314
- RTMPS protocol support
315
- RTMPTS protocol support
Samuel Pitoiset's avatar
Samuel Pitoiset committed
316
- RTMPE protocol support
317
- RTMPTE protocol support
318
- showwaves and showspectrum filter
319
- LucasArts SMUSH SANM playback support
320
- LucasArts SMUSH VIMA audio decoder (ADPCM)
321
- LucasArts SMUSH demuxer
322
- SAMI, RealText and SubViewer demuxers and decoders
323 324 325 326
- Heart Of Darkness PAF playback support
- iec61883 device
- asettb filter
- new option: -progress
327
- 3GPP Timed Text encoder/decoder
328 329 330 331 332 333
- GeoTIFF decoder support
- ffmpeg -(no)stdin option
- Opus decoder using libopus
- caca output device using libcaca
- alphaextract and alphamerge filters
- concat filter
334
- flite filter
335
- Canopus Lossless Codec decoder
336
- bitmap subtitles in filters (experimental and temporary)
337
- MP2 encoding via TwoLAME
Paul B Mahol's avatar
Paul B Mahol committed
338
- bmp parser
339
- smptebars source
340
- asetpts filter
Jérémy Tran's avatar
Jérémy Tran committed
341
- hue filter
Michael Bradshaw's avatar
Michael Bradshaw committed
342
- ICO muxer
343
- SubRip encoder and decoder without embedded timing
344
- edge detection filter
345
- framestep filter
346
- ffmpeg -shortest option is now per-output file
347
  -pass and -passlogfile are now per-output stream
348
- volume measurement filter
349
- Ut Video encoder
Alberto Delmás's avatar
Alberto Delmás committed
350
- Microsoft Screen 2 decoder
351
- smartblur filter ported from MPlayer
Stephan Hilb's avatar
Stephan Hilb committed
352
- CPiA decoder
353
- decimate filter ported from MPlayer
354
- RTP depacketization of JPEG
355
- Smooth Streaming live segmenter muxer
356
- F4V muxer
357
- sendcmd and asendcmd filters
358
- WebVTT demuxer and decoder (simple tags supported)
359
- RTP packetization of JPEG
360
- faststart option in the MOV/MP4 muxer
361
- support for building with MSVC
362

363 364

version 0.11:
365 366 367 368 369 370 371

- Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
         CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
         CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
         CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
         CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
         CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
Paul B Mahol's avatar
Paul B Mahol committed
372
- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
373
- setfield filter
Paul B Mahol's avatar
Paul B Mahol committed
374
- CDXL demuxer and decoder
Kostya Shishkov's avatar
Kostya Shishkov committed
375
- Apple ProRes encoder
376
- ffprobe -count_packets and -count_frames options
377
- Sun Rasterfile Encoder
378
- ID3v2 attached pictures reading and writing
379
- WMA Lossless decoder
Petri Hintukainen's avatar
Petri Hintukainen committed
380
- bluray protocol
381
- blackdetect filter
382
- libutvideo encoder wrapper (--enable-libutvideo)
383
- swapuv filter
384
- bbox filter
Paul B Mahol's avatar
Paul B Mahol committed
385
- XBM encoder and decoder
386
- RealAudio Lossless decoder
Derek Buitenhuis's avatar
Derek Buitenhuis committed
387
- ZeroCodec decoder
388
- tile video filter
389
- Metal Gear Solid: The Twin Snakes demuxer
390
- OpenEXR image decoder
391
- removelogo filter
392
- drop support for ffmpeg without libavfilter
393
- drawtext video filter: fontconfig support
394
- ffmpeg -benchmark_all option
395
- super2xsai filter ported from libmpcodecs
396
- add libavresample audio conversion library for compatibility
397
- MicroDVD decoder
398
- Avid Meridien (AVUI) encoder and decoder
399
- accept + prefix to -pix_fmt option to disable automatic conversions.
400
- complete audio filtering in libavfilter and ffmpeg
Anton Khirnov's avatar
Anton Khirnov committed
401
- add fps filter
402 403
- vorbis parser
- png parser
404
- audio mix filter
405
- ffv1: support (draft) version 1.3
406

407

408
version 0.10:
409

410 411 412 413
- Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
         CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
         CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
         CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
414 415 416
- v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
- SBaGen (SBG) binaural beats script demuxer
- OpenMG Audio muxer
417
- Timecode extraction in DV and MOV
418
- thumbnail video filter
419
- XML output in ffprobe
420
- asplit audio filter
421
- tinterlace video filter
422
- astreamsync audio filter
423
- amerge audio filter
424
- ISMV (Smooth Streaming) muxer
Justin Ruggles's avatar
Justin Ruggles committed
425
- GSM audio parser
Paul B Mahol's avatar
Paul B Mahol committed
426
- SMJPEG muxer
Paul B Mahol's avatar
Paul B Mahol committed
427
- XWD encoder and decoder
428
- Automatic thread count based on detection number of (available) CPU cores
Paul B Mahol's avatar
Paul B Mahol committed
429
- y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
430
- ffprobe -show_error option
431
- Avid 1:1 10-bit RGB Packer codec
432
- v308 Quicktime Uncompressed 4:4:4 encoder and decoder
433
- yuv4 libquicktime packed 4:2:0 encoder and decoder
434
- ffprobe -show_frames option
435
- silencedetect audio filter
436
- ffprobe -show_program_version, -show_library_versions, -show_versions options
437 438
- rv34: frame-level multi-threading
- optimized iMDCT transform on x86 using SSE for for mpegaudiodec
439
- Improved PGS subtitle decoder
440
- dumpgraph option to lavfi device
441
- r210 and r10k encoders
442 443 444
- ffwavesynth decoder
- aviocat tool
- ffeval tool
445
- support encoding and decoding 4-channel SGI images
446 447 448


version 0.9:
449 450

- openal input device added
451
- boxblur filter added
452
- BWF muxer
453
- Flash Screen Video 2 decoder
454
- lavfi input device added
455
- added avconv, which is almost the same for now, except
456 457
for a few incompatible changes in the options, which will hopefully make them
easier to use. The changes are:
458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488
    * The options placement is now strictly enforced! While in theory the
      options for ffmpeg should be given in [input options] -i INPUT [output
      options] OUTPUT order, in practice it was possible to give output options
      before the -i and it mostly worked. Except when it didn't - the behavior was
      a bit inconsistent. In avconv, it is not possible to mix input and output
      options. All non-global options are reset after an input or output filename.
    * All per-file options are now truly per-file - they apply only to the next
      input or output file and specifying different values for different files
      will now work properly (notably -ss and -t options).
    * All per-stream options are now truly per-stream - it is possible to
      specify which stream(s) should a given option apply to. See the Stream
      specifiers section in the avconv manual for details.
    * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
      sense that they're specified after the output filename instead of before,
      like all other options. In avconv this irregularity is removed, all options
      apply to the next input or output file.
    * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
      irregular and highly confusing, they were also redundant. In avconv the -map
      option will create new streams in the output file and map input streams to
      them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
      each stream in the first input file.
    * The -map option now has slightly different and more powerful syntax:
        + Colons (':') are used to separate file index/stream type/stream index
          instead of dots. Comma (',') is used to separate the sync stream instead
          of colon.. This is done for consistency with other options.
        + It's possible to specify stream type. E.g. -map 0:a:2 creates an
          output stream from the third input audio stream.
        + Omitting the stream index now maps all the streams of the given type,
          not just the first. E.g. -map 0:s creates output streams for all the
          subtitle streams in the first input file.
        + Since -map can now match multiple streams, negative mappings were
489
          introduced. Negative mappings disable some streams from an already
490 491 492 493 494 495 496 497 498
          defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
          all the stream in the first input file, except for the second audio
          stream'.
    * There is a new option -c (or -codec) for choosing the decoder/encoder to
      use, which allows to precisely specify target stream(s) consistently with
      other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
      libvorbis sets the codec for the first audio stream and -c copy copies all
      the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
      aliases to -c:v/a/s
499
    * It is now possible to precisely specify which stream should an AVOption
500 501 502
      apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
      -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
      syntax is deprecated and will stop working soon.
503 504 505 506 507
    * -map_chapters now takes only an input file index and applies to the next
      output file. This is consistent with how all the other options work.
    * -map_metadata now takes only an input metadata specifier and applies to
      the next output file. Output metadata specifier is now part of the option
      name, similarly to the AVOptions/map/codec feature above.
508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523
    * -metadata can now be used to set metadata on streams and chapters, e.g.
      -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
      This made -vlang/-alang/-slang options redundant, so they were removed.
    * -qscale option now uses stream specifiers and applies to all streams, not
      just video. I.e. plain -qscale number would now apply to all streams. To get
      the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
      and -aq is now an alias for -q:a.
    * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
      uses stream specifiers. Use -bsf:v/a/s instead of the old options.
    * -itsscale option now uses stream specifiers, so its argument is only the
      scale parameter.
    * -intra option was removed, use -g 0 for the same effect.
    * -psnr option was removed, use -flags +psnr for the same effect.
    * -vf option is now an alias to the new -filter option, which uses stream specifiers.
    * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
    * -vtag/-atag/-stag options are now aliases to the new -tag option.
Sven Hesse's avatar
Sven Hesse committed
524
- XMV demuxer
Carl Eugen Hoyos's avatar
Carl Eugen Hoyos committed
525
- LOAS demuxer
526
- ashowinfo filter added
527
- Windows Media Image decoder
528
- amovie source added
Janne Grunau's avatar
Janne Grunau committed
529
- LATM muxer/demuxer
Compn's avatar
Compn committed
530
- Speex encoder via libspeex
531
- JSON output in ffprobe
532
- WTV muxer
533
- Optional C++ Support (needed for libstagefright)
534
- H.264 Decoding on Android via Stagefright
Elvis Presley's avatar
Elvis Presley committed
535
- Prores decoder
Peter Ross's avatar
Peter Ross committed
536
- BIN/XBIN/ADF/IDF text file decoder
537
- aconvert audio filter added
538
- audio support to lavfi input device added
539
- libcdio-paranoia input device for audio CD grabbing
Maxim Poliakovski's avatar
Maxim Poliakovski committed
540
- Apple ProRes decoder
541
- CELT in Ogg demuxing
542
- G.723.1 demuxer and decoder
543
- libmodplug support (--enable-libmodplug)
544
- VC-1 interlaced decoding
Compn's avatar
Compn committed
545
- libutvideo wrapper (--enable-libutvideo)
546
- aevalsrc audio source added
Kostya Shishkov's avatar
Kostya Shishkov committed
547
- Ut Video decoder
548
- Speex encoding via libspeex
549
- 4:2:2 H.264 decoding support
550
- 4:2:2 and 4:4:4 H.264 encoding with libx264
Luca Barbato's avatar
Luca Barbato committed
551
- Pulseaudio input device
552
- Prores encoder
553
- Video Decoder Acceleration (VDA) HWAccel module.
554
- replacement Indeo 3 decoder
555
- new ffmpeg option: -map_channel
556
- volume audio filter added
557
- earwax audio filter added
558
- libv4l2 support (--enable-libv4l2)
559
- TLS/SSL and HTTPS protocol support
560 561 562 563 564
- AVOptions API rewritten and documented
- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
  AVCodecContext deprecated. Codec private options should be used instead.
- Properly working defaults in libx264 wrapper, support for native presets.
- Encrypted OMA files support
565
- Discworld II BMV decoding support
Derek Buitenhuis's avatar
Derek Buitenhuis committed
566
- VBLE Decoder
567
- OS X Video Decoder Acceleration (VDA) support
568
- compact and csv output in ffprobe
569
- pan audio filter
570
- IFF Amiga Continuous Bitmap (ACBM) decoder
571
- ass filter
Justin Ruggles's avatar
Justin Ruggles committed
572
- CRI ADX audio format muxer and demuxer
573
- Playstation Portable PMP format demuxer
574
- Microsoft Windows ICO demuxer
575
- life source
David Goldwich's avatar
David Goldwich committed
576
- PCM format support in OMA demuxer
Paul B Mahol's avatar
Paul B Mahol committed
577
- CLJR encoder
578
- new option: -report
579
- Dxtory capture format decoder
580
- cellauto source
581
- Simple segmenting muxer
Reinhard Tartler's avatar
Reinhard Tartler committed
582 583
- Indeo 4 decoder
- SMJPEG demuxer
584

585

586
version 0.8:
587

588
- many many things we forgot because we rather write code than changelogs
James Zern's avatar
James Zern committed
589
- WebM support in Matroska de/muxer
Diego Biurrun's avatar
Diego Biurrun committed
590
- low overhead Ogg muxing
591
- MMS-TCP support
James Zern's avatar
James Zern committed
592
- VP8 de/encoding via libvpx
David Conrad's avatar
David Conrad committed
593
- Demuxer for On2's IVF format
Peter Ross's avatar
Peter Ross committed
594
- Pictor/PC Paint decoder
595
- HE-AAC v2 decoder
tipok's avatar
tipok committed
596
- HE-AAC v2 encoding with libaacplus
597
- libfaad2 wrapper removed
598
- DTS-ES extension (XCh) decoding support
599
- native VP8 decoder
600
- RTSP tunneling over HTTP
601
- RTP depacketization of SVQ3
602
- -strict inofficial replaced by -strict unofficial
603
- ffplay -exitonkeydown and -exitonmousedown options added
604
- native GSM / GSM MS decoder
605
- RTP depacketization of QDM2
Peter Ross's avatar
Peter Ross committed
606
- ANSI/ASCII art playback system
607
- Lego Mindstorms RSO de/muxer
608
- libavcore added (and subsequently removed)
609
- SubRip subtitle file muxer and demuxer
610
- Chinese AVS encoding via libxavs
611
- ffprobe -show_packets option added
612
- RTP packetization of Theora and Vorbis
613
- RTP depacketization of MP4A-LATM
614
- RTP packetization and depacketization of VP8
Stefano Sabatini's avatar
Stefano Sabatini committed
615
- hflip filter
616
- Apple HTTP Live Streaming demuxer
617
- a64 codec
618
- MMS-HTTP support
Martin Storsjö's avatar
Martin Storsjö committed
619
- G.722 ADPCM audio encoder/decoder
Zhou Zongyi's avatar
Zhou Zongyi committed
620
- R10k video decoder
621
- ocv_smooth filter
Stefano Sabatini's avatar
Stefano Sabatini committed
622
- frei0r wrapper filter
623
- change crop filter syntax to width:height:x:y
624
- make the crop filter accept parametric expressions
625
- make ffprobe accept AVFormatContext options
626
- yadif filter
627
- blackframe filter
628
- Demuxer for Leitch/Harris' VR native stream format (LXF)
629
- RTP depacketization of the X-QT QuickTime format
Martin Storsjö's avatar
Martin Storsjö committed
630
- SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
631
- cropdetect filter
632
- ffmpeg -crop* options removed
Stefano Sabatini's avatar
Stefano Sabatini committed
633
- transpose filter added
634
- ffmpeg -force_key_frames option added
635
- demuxer for receiving raw rtp:// URLs without an SDP description
636
- single stream LATM/LOAS decoder
637
- setpts filter added
638
- Win64 support for optimized x86 assembly functions
639
- MJPEG/AVI1 to JPEG/JFIF bitstream filter
640
- ASS subtitle encoder and decoder
641
- IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
642
- overlay filter added
643
- rename aspect filter to setdar, and pixelaspect to setsar
Anssi Hannula's avatar
Anssi Hannula committed
644
- IEC 61937 demuxer
Anatoly Nenashev's avatar
Anatoly Nenashev committed
645
- Mobotix .mxg demuxer
646
- frei0r source added
647
- hqdn3d filter added
648
- RTP depacketization of QCELP
Michael Chinen's avatar
Michael Chinen committed
649
- FLAC parser added
650
- gradfun filter added
651
- AMR-WB decoder
652
- replace the ocv_smooth filter with a more generic ocv filter
653
- Windows Televison (WTV) demuxer
Anton Khirnov's avatar
Anton Khirnov committed
654
- FFmpeg metadata format muxer and demuxer
Aurelien Jacobs's avatar
Aurelien Jacobs committed
655
- SubRip (srt) subtitle encoder and decoder
656
- floating-point AC-3 encoder added
657
- Lagarith decoder
658
- ffmpeg -copytb option added
659
- IVF muxer added
Kostya Shishkov's avatar
Kostya Shishkov committed
660
- Wing Commander IV movies decoder added
661
- movie source added
662
- Bink version 'b' audio and video decoder
Peter Ross's avatar
Peter Ross committed
663
- Bitmap Brothers JV playback system
664
- Apple HTTP Live Streaming protocol handler
665
- sndio support for playback and record
666
- Linux framebuffer input device added
667
- Chronomaster DFA decoder
Peter Ross's avatar
Peter Ross committed
668
- DPX image encoder
669
- MicroDVD subtitle file muxer and demuxer
670
- Playstation Portable PMP format demuxer
671
- fieldorder video filter added
672
- AAC encoding via libvo-aacenc
673
- AMR-WB encoding via libvo-amrwbenc
Max Horn's avatar
Max Horn committed
674
- xWMA demuxer
anatoly's avatar
anatoly committed
675
- Mobotix MxPEG decoder
676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701
- VP8 frame-multithreading
- NEON optimizations for VP8
- Lots of deprecated API cruft removed
- fft and imdct optimizations for AVX (Sandy Bridge) processors
- showinfo filter added
- SMPTE 302M AES3 audio decoder
- Apple Core Audio Format muxer
- 9bit and 10bit per sample support in the H.264 decoder
- 9bit and 10bit FFV1 encoding / decoding
- split filter added
- select filter added
- sdl output device added
- libmpcodecs video filter support (3 times as many filters than before)
- mpeg2 aspect ratio dection fixed
- libxvid aspect pickiness fixed
- Frame multithreaded decoding
- E-AC-3 audio encoder
- ac3enc: add channel coupling support
- floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
- H264/MPEG frame-level multi-threading
- All av_metadata_* functions renamed to av_dict_* and moved to libavutil
- 4:4:4 H.264 decoding support
- 10-bit H.264 optimizations for x86
- lut, lutrgb, and lutyuv filters added
- buffersink libavfilter sink added
- Bump libswscale for recently reported ABI break
702
- New J2K encoder (via OpenJPEG)
703 704 705 706 707


version 0.7:

- all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
708 709 710 711


version 0.6:

712
- PB-frame decoding for H.263
713
- deprecated vhook subsystem removed
714
- deprecated old scaler removed
Vitor Sessak's avatar
Vitor Sessak committed
715
- VQF demuxer
716
- Alpha channel scaler
717
- PCX encoder
718
- RTP packetization of H.263
719
- RTP packetization of AMR
720
- RTP depacketization of Vorbis
721
- CorePNG decoding support
722
- Cook multichannel decoding support
723
- introduced avlanguage helpers in libavformat
724
- 8088flex TMV demuxer and decoder
725
- per-stream language-tags extraction in asfdec
726
- V210 decoder and encoder
727
- remaining GPL parts in AC-3 decoder converted to LGPL
Kenan Gillet's avatar
Kenan Gillet committed
728
- QCP demuxer
729
- SoX native format muxer and demuxer
730
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
731
- DPX image decoder
732
- Electronic Arts Madcow decoder
733
- DivX (XSUB) subtitle encoder
734
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
Diego Biurrun's avatar
Diego Biurrun committed
735
- experimental AAC encoder
736
- RTP depacketization of ASF and RTSP from WMS servers
737
- RTMP support in libavformat
738
- noX handling for OPT_BOOL X options
Daniel Verkamp's avatar
Daniel Verkamp committed
739
- Wave64 demuxer
740
- IEC-61937 compatible Muxer
Vitor Sessak's avatar
Vitor Sessak committed
741
- TwinVQ decoder
742
- Bluray (PGS) subtitle decoder
743
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
Diego Biurrun's avatar
Diego Biurrun committed
744
- WMA Pro decoder
Peter Ross's avatar
Peter Ross committed
745
- Core Audio Format demuxer
746
- ATRAC1 decoder
747
- MD STUDIO audio demuxer
748
- RF64 support in WAV demuxer
749
- MPEG-4 Audio Lossless Coding (ALS) decoder
Daniel Verkamp's avatar
Daniel Verkamp committed
750
- -formats option split into -formats, -codecs, -bsfs, and -protocols
751
- IV8 demuxer
Michael Tison's avatar
Michael Tison committed
752
- CDG demuxer and decoder
753
- R210 decoder
754
- Auravision Aura 1 and 2 decoders
755
- Deluxe Paint Animation playback system
Vitor Sessak's avatar
Vitor Sessak committed
756
- SIPR decoder
757
- Adobe Filmstrip muxer and demuxer
758
- RTP depacketization of H.263
Kostya Shishkov's avatar
Kostya Shishkov committed
759
- Bink demuxer and audio/video decoders
760
- enable symbol versioning by default for linkers that support it
Peter Ross's avatar
Peter Ross committed
761
- IFF PBM/ILBM bitmap decoder
762
- concat protocol
Kostya Shishkov's avatar
Kostya Shishkov committed
763
- Indeo 5 decoder
764
- RTP depacketization of AMR
Diego Biurrun's avatar
Diego Biurrun committed
765 766
- WMA Voice decoder
- ffprobe tool
767
- AMR-NB decoder
Martin Storsjö's avatar
Martin Storsjö committed
768
- RTSP muxer
769
- HE-AAC v1 decoder
770
- Kega Game Video (KGV1) decoder
771
- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
772
- RTP depacketization of Theora
773
- HTTP Digest authentication
774
- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
775
- Psygnosis YOP demuxer and video decoder
776
- spectral extension support in the E-AC-3 decoder
777
- unsharp video filter
778
- RTP hinting in the mov/3gp/mp4 muxer
779 780 781 782 783 784
- Dirac in Ogg demuxing
- seek to keyframes in Ogg
- 4:2:2 and 4:4:4 Theora decoding
- 35% faster VP3/Theora decoding
- faster AAC decoding
- faster H.264 decoding
785
- RealAudio 1.0 (14.4K) encoder
786

787

788 789
version 0.5:

790
- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
791
- TechSmith Camtasia (TSCC) video decoder
792
- IBM Ultimotion (ULTI) video decoder
793 794
- Sierra Online audio file demuxer and decoder
- Apple QuickDraw (qdrw) video decoder
795
- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
796
- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
797
- Miro VideoXL (VIXL) video decoder
Mike Melanson's avatar
Mike Melanson committed
798
- H.261 video encoder
799
- QPEG video decoder
Mike Melanson's avatar
Mike Melanson committed
800
- Nullsoft Video (NSV) file demuxer
801
- Shorten audio decoder
802
- LOCO video decoder
803
- Apple Lossless Audio Codec (ALAC) decoder
804
- Winnov WNV1 video decoder
805
- Autodesk Animator Studio Codec (AASC) decoder
Diego Biurrun's avatar
Diego Biurrun committed
806
- Indeo 2 video decoder
807
- Fraps FPS1 video decoder
Diego Biurrun's avatar
Diego Biurrun committed
808
- Snow video encoder/decoder
809
- Sonic audio encoder/decoder
810
- Vorbis audio decoder
811
- Macromedia ADPCM decoder
Diego Biurrun's avatar
Diego Biurrun committed
812 813
- Duck TrueMotion 2 video decoder
- support for decoding FLX and DTA extensions in FLIC files
814
- H.264 custom quantization matrices support
Diego Biurrun's avatar
Diego Biurrun committed
815
- ffserver fixed, it should now be usable again
Diego Biurrun's avatar
Diego Biurrun committed
816
- QDM2 audio decoder
817
- Real Cooker audio decoder
818
- TrueSpeech audio decoder
819 820
- WMA2 audio decoder fixed, now all files should play correctly
- RealAudio 14.4 and 28.8 decoders fixed
821
- JPEG-LS decoder
Diego Biurrun's avatar
Diego Biurrun committed
822 823
- build system improvements
- tabs and trailing whitespace removed from the codebase
824
- CamStudio video decoder
825
- AIFF/AIFF-C audio format, encoding and decoding
826
- ADTS AAC file reading and writing
827
- Creative VOC file reading and writing
828
- American Laser Games multimedia (*.mm) playback system
829
- Zip Motion Blocks Video decoder
830
- improved Theora/VP3 decoder
831
- True Audio (TTA) decoder
832
- AVS demuxer and video decoder
833
- JPEG-LS encoder
834
- Smacker demuxer and decoder
835
- NuppelVideo/MythTV demuxer and RTjpeg decoder
836
- KMVC decoder
837
- MPEG-2 intra VLC support
838
- MPEG-2 4:2:2 encoder
839
- Flash Screen Video decoder
Reimar Döffinger's avatar
Reimar Döffinger committed
840
- GXF demuxer
Diego Biurrun's avatar
Diego Biurrun committed
841
- Chinese AVS decoder
842
- GXF muxer
Baptiste Coudurier's avatar
Baptiste Coudurier committed
843
- MXF demuxer
Diego Biurrun's avatar
Diego Biurrun committed
844
- VC-1/WMV3/WMV9 video decoder
845
- MacIntel support
Diego Biurrun's avatar
Diego Biurrun committed
846
- AviSynth support
847
- VMware video decoder
848 849
- VP5 video decoder
- VP6 video decoder
850
- WavPack lossless audio decoder
Kostya Shishkov's avatar
Kostya Shishkov committed
851
- Targa (.TGA) picture decoder
852
- Vorbis audio encoder
853
- Delphine Software .cin demuxer/audio and video decoder
854
- Tiertex .seq demuxer/video decoder
855
- MTV demuxer
856
- TIFF picture encoder and decoder
857
- GIF picture decoder
858
- Intel Music Coder decoder
859
- Zip Motion Blocks Video encoder
860
- Musepack decoder
861
- Flash Screen Video encoder
862
- Theora encoding via libtheora
863
- BMP encoder
Diego Biurrun's avatar
Diego Biurrun committed
864
- WMA encoder
865
- GSM-MS encoder and decoder
Kostya Shishkov's avatar
Kostya Shishkov committed
866
- DCA decoder
867
- DXA demuxer and decoder
Baptiste Coudurier's avatar
Baptiste Coudurier committed
868
- DNxHD decoder
869
- Gamecube movie (.THP) playback system
870
- Blackfin optimizations
871
- Interplay C93 demuxer and video decoder
872
- Bethsoft VID demuxer and video decoder
Anssi Hannula's avatar
Anssi Hannula committed
873
- CRYO APC demuxer
874
- ATRAC3 decoder
875
- V.Flash PTX decoder
876
- RoQ muxer, RoQ audio encoder
877
- Renderware TXD demuxer and decoder
878
- extern C declarations for C++ removed from headers
879
- sws_flags command line option
880
- codebook generator
Vitor Sessak's avatar
Vitor Sessak committed
881
- RoQ video encoder
Alexis Ballier's avatar
Alexis Ballier committed
882
- QTRLE encoder
883
- OS/2 support removed and restored again
884
- AC-3 decoder
885
- NUT muxer
886
- additional SPARC (VIS) optimizations
David Conrad's avatar
David Conrad committed
887
- Matroska muxer
888
- slice-based parallel H.264 decoding
Kostya Shishkov's avatar
Kostya Shishkov committed
889
- Monkey's Audio demuxer and decoder
Vladimir Voroshilov's avatar
Vladimir Voroshilov committed
890
- AMV audio and video decoder
891
- DNxHD encoder
Carl Eugen Hoyos's avatar
Carl Eugen Hoyos committed
892
- H.264 PAFF decoding
893
- Nellymoser ASAO decoder
894
- Beam Software SIFF demuxer and decoder
895
- libvorbis Vorbis decoding removed in favor of native decoder
Diego Biurrun's avatar
Diego Biurrun committed
896
- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
897
- Ogg (Theora, Vorbis and FLAC) muxer
898
- The "device" muxers and demuxers are now in a new libavdevice library
899 900
- PC Paintbrush PCX decoder
- Sun Rasterfile decoder
901
- TechnoTrend PVA demuxer
Ivo van Poorten's avatar
Ivo van Poorten committed
902
- Linux Media Labs MPEG-4 (LMLM4) demuxer
903
- AVM2 (Flash 9) SWF muxer
904
- QT variant of IMA ADPCM encoder
Ramiro Polla's avatar
Ramiro Polla committed
905
- VFW grabber
906
- iPod/iPhone compatible mp4 muxer
Ramiro Polla's avatar
Ramiro Polla committed
907
- Mimic decoder
908
- MSN TCP Webcam stream demuxer
Sascha Sommer's avatar
Sascha Sommer committed
909
- RL2 demuxer / decoder
910 911
- IFF demuxer
- 8SVX audio decoder
912
- non-recursive Makefiles
Sisir Koppaka's avatar
Sisir Koppaka committed
913
- BFI demuxer
914
- MAXIS EA XA (.xa) demuxer / decoder
Sisir Koppaka's avatar
Sisir Koppaka committed
915
- BFI video decoder
916
- OMA demuxer
Ramiro Polla's avatar
Ramiro Polla committed
917
- MLP/TrueHD decoder
918
- Electronic Arts CMV decoder
919 920
- Motion Pixels Video decoder
- Motion Pixels MVI demuxer
921
- removed animated GIF decoder/demuxer
Peter Ross's avatar
Peter Ross committed
922
- D-Cinema audio muxer
Peter Ross's avatar
Peter Ross committed
923
- Electronic Arts TGV decoder
924
- Apple Lossless Audio Codec (ALAC) encoder
925
- AAC decoder
926
- floating point PCM encoder/decoder
927
- MXF muxer
928
- DV100 AKA DVCPRO HD decoder and demuxer
929
- E-AC-3 support added to AC-3 decoder
930
- Nellymoser ASAO encoder
931
- ASS and SSA demuxer and muxer
932
- liba52 wrapper removed
933
- SVQ3 watermark decoding support
934
- Speex decoding via libspeex
935
- Electronic Arts TGQ decoder
936
- RV40 decoder
937
- QCELP / PureVoice decoder
938
- RV30 decoder
Ben Littler's avatar
Ben Littler committed
939
- hybrid WavPack support
Baptiste Coudurier's avatar
Baptiste Coudurier committed
940
- R3D REDCODE demuxer
941
- ALSA support for playback and record
Peter Ross's avatar
Peter Ross committed
942
- Electronic Arts TQI decoder
943
- OpenJPEG based JPEG 2000 decoder
944
- NC (NC4600) camera file demuxer
945
- Gopher client support
Baptiste Coudurier's avatar
Baptiste Coudurier committed
946
- MXF D-10 muxer
947
- generic metadata API
948
- flash ScreenVideo2 encoder
949

950

Michael Niedermayer's avatar
Michael Niedermayer committed
951 952
version 0.4.9-pre1:

953
- DV encoder, DV muxer
954 955
- Microsoft RLE video decoder
- Microsoft Video-1 decoder
956
- Apple Animation (RLE) decoder
Mike Melanson's avatar
Mike Melanson committed
957
- Apple Graphics (SMC) decoder
958 959 960
- Apple Video (RPZA) decoder
- Cinepak decoder
- Sega FILM (CPK) file demuxer
Mike Melanson's avatar
Mike Melanson committed
961
- Westwood multimedia support (VQA & AUD files)
962
- Id Quake II CIN playback support
Mike Melanson's avatar
Mike Melanson committed
963 964
- 8BPS video decoder
- FLIC playback support
965 966
- RealVideo 2.0 (RV20) decoder
- Duck TrueMotion v1 (DUCK) video decoder
Mike Melanson's avatar
Mike Melanson committed
967
- Sierra VMD demuxer and video decoder
Michael Niedermayer's avatar
Michael Niedermayer committed
968
- MSZH and ZLIB decoder support
969
- SVQ1 video encoder
Michael Niedermayer's avatar
Michael Niedermayer committed
970
- AMR-WB support
Diego Biurrun's avatar
Diego Biurrun committed
971
- PPC optimizations
Michael Niedermayer's avatar
Michael Niedermayer committed
972
- rate distortion optimal cbp support
Diego Biurrun's avatar
Diego Biurrun committed
973
- rate distorted optimal ac prediction for MPEG-4
Michael Niedermayer's avatar
Michael Niedermayer committed
974 975 976
- rate distorted optimal lambda->qp support
- AAC encoding with libfaac
- Sunplus JPEG codec (SP5X) support
Diego Biurrun's avatar
Diego Biurrun committed
977 978
- use Lagrange multipler instead of QP for ratecontrol
- Theora/VP3 decoding support
Michael Niedermayer's avatar
Michael Niedermayer committed
979
- XA and ADX ADPCM codecs
Diego Biurrun's avatar
Diego Biurrun committed
980
- export MPEG-2 active display area / pan scan
Michael Niedermayer's avatar
Michael Niedermayer committed
981 982
- Add support for configuring with IBM XLC
- floating point AAN DCT
Diego Biurrun's avatar
Diego Biurrun committed
983 984
- initial support for zygo video (not complete)
- RGB ffv1 support
Michael Niedermayer's avatar
Michael Niedermayer committed
985 986 987 988 989
- new audio/video parser API
- av_log() system
- av_read_frame() and av_seek_frame() support
- missing last frame fixes
- seek by mouse in ffplay
Diego Biurrun's avatar
Diego Biurrun committed
990 991 992 993 994 995
- noise reduction of DCT coefficients
- H.263 OBMC & 4MV support
- H.263 alternative inter vlc support
- H.263 loop filter
- H.263 slice structured mode
- interlaced DCT support for MPEG-2 encoding
Michael Niedermayer's avatar
Michael Niedermayer committed
996
- stuffing to stay above min_bitrate
Diego Biurrun's avatar
Diego Biurrun committed
997
- MB type & QP visualization
Michael Niedermayer's avatar
Michael Niedermayer committed
998 999 1000 1001
- frame stepping for ffplay
- interlaced motion estimation
- alternate scantable support
- SVCD scan offset support
Diego Biurrun's avatar
Diego Biurrun committed
1002 1003
- closed GOP support
- SSE2 FDCT
Michael Niedermayer's avatar
Michael Niedermayer committed
1004 1005 1006 1007
- quantizer noise shaping
- G.726 ADPCM audio codec
- MS ADPCM encoding
- multithreaded/SMP motion estimation
Diego Biurrun's avatar
Diego Biurrun committed
1008 1009
- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
- multithreaded/SMP decoding for MPEG-2
Michael Niedermayer's avatar
Michael Niedermayer committed
1010 1011
- FLAC decoder
- Metrowerks CodeWarrior suppport
Diego Biurrun's avatar
Diego Biurrun committed
1012
- H.263+ custom pcf support
Michael Niedermayer's avatar
Michael Niedermayer committed
1013
- nicer output for 'ffmpeg -formats'
Diego Biurrun's avatar
Diego Biurrun committed
1014
- Matroska demuxer
Michael Niedermayer's avatar
Michael Niedermayer committed
1015
- SGI image format, encoding and decoding
Diego Biurrun's avatar
Diego Biurrun committed
1016 1017
- H.264 loop filter support
- H.264 CABAC support
1018
- nicer looking arrows for the motion vector visualization
Michael Niedermayer's avatar
Michael Niedermayer committed
1019 1020
- improved VCD support
- audio timestamp drift compensation
Diego Biurrun's avatar
Diego Biurrun committed
1021
- MPEG-2 YUV 422/444 support
Michael Niedermayer's avatar
Michael Niedermayer committed
1022 1023
- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
- better image scaling
Diego Biurrun's avatar
Diego Biurrun committed
1024
- H.261 support
Michael Niedermayer's avatar
Michael Niedermayer committed
1025 1026
- correctly interleave packets during encoding
- VIS optimized motion compensation
Diego Biurrun's avatar
Diego Biurrun committed
1027 1028
- intra_dc_precision>0 encoding support
- support reuse of motion vectors/MB types/field select values of the source video
Michael Niedermayer's avatar
Michael Niedermayer committed
1029 1030 1031
- more accurate deblock filter
- padding support
- many optimizations and bugfixes
1032
- FunCom ISS audio file demuxer and according ADPCM decoding
1033

1034

Fabrice Bellard's avatar
Fabrice Bellard committed
1035 1036
version 0.4.8:

Diego Biurrun's avatar
Diego Biurrun committed
1037
- MPEG-2 video encoding (Michael)
Mike Melanson's avatar
Mike Melanson committed
1038
- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
Mike Melanson's avatar
Mike Melanson committed
1039 1040 1041
- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
  and Mario Brito)
- Xan DPCM audio decoder (Mario Brito)
1042
- Interplay MVE playback subsystem (Mike Melanson)
Mike Melanson's avatar
Mike Melanson committed
1043 1044
- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)

1045

Mike Melanson's avatar
Mike Melanson committed
1046
version 0.4.7:
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1047

Diego Biurrun's avatar
Diego Biurrun committed
1048
- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1049
  (originally from public domain player for Amiga at http://www.honeypot.net/audio)
Diego Biurrun's avatar
Diego Biurrun committed
1050
- current version now also compiles with older GCC (Fabrice)
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1051 1052 1053 1054
- 4X multimedia playback system including 4xm file demuxer (Mike
  Melanson), and 4X video and audio codecs (Michael)
- Creative YUV (CYUV) decoder (Mike Melanson)
- FFV1 codec (our very simple lossless intra only codec, compresses much better
Diego Biurrun's avatar
Diego Biurrun committed
1055 1056 1057
  than HuffYUV) (Michael)
- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1058 1059
  alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
- ffplay has been replaced with a newer version which uses SDL (optionally)
Diego Biurrun's avatar
Diego Biurrun committed
1060
  for multiplatform support (Fabrice)
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1061 1062 1063
- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
  by anonymous
- AMR format has been added (Johannes Carlsson)
Diego Biurrun's avatar
Diego Biurrun committed
1064
- 3GP support has been added (Johannes Carlsson)
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1065 1066
- VP3 codec has been added (Mike Melanson)
- more MPEG-1/2 fixes
Diego Biurrun's avatar
Diego Biurrun committed
1067 1068
- better multiplatform support, MS Visual Studio fixes (various)
- AltiVec optimizations (Magnus Damn and others)
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1069
- SH4 processor support has been added (BERO)
Diego Biurrun's avatar
Diego Biurrun committed
1070 1071 1072
- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
- VOB streaming support (Brian Foley)
- better MP3 autodetection (Andriy Rysin)
Fabrice Bellard's avatar
Fabrice Bellard committed
1073 1074 1075
- qpel encoding (Michael)
- 4mv+b frames encoding finally fixed (Michael)
- chroma ME (Michael)
Diego Biurrun's avatar
Diego Biurrun committed
1076 1077 1078
- 5 comparison functions for ME (Michael)
- B-frame encoding speedup (Michael)
- WMV2 codec (unfinished - Michael)
Fabrice Bellard's avatar
Fabrice Bellard committed
1079
- user specified diamond size for EPZS (Michael)
Mike Melanson's avatar
Mike Melanson committed
1080 1081 1082
- Playstation STR playback subsystem, still experimental (Mike and Michael)
- ASV2 codec (Michael)
- CLJR decoder (Alex)
Fabrice Bellard's avatar
Fabrice Bellard committed
1083

Diego Biurrun's avatar
Diego Biurrun committed
1084
.. And lots more new enhancements and fixes.
Hetz Ben Hamo's avatar
Hetz Ben Hamo committed
1085

1086

Fabrice Bellard's avatar
Fabrice Bellard committed
1087
version 0.4.6:
Fabrice Bellard's avatar
Fabrice Bellard committed
1088

Diego Biurrun's avatar
Diego Biurrun committed
1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100
- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
  from scratch
- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
- fix quantization bug in AC3 encoder
- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
- added prototype ffplay program
- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
- bug fix on MCBPC tables of H.263 (Juanjo)
- bug fix on DC coefficients of H.263 (Juanjo)
- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
- now we can decode H.263 streams found in QuickTime files (Juanjo)
- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1101
- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
Diego Biurrun's avatar
Diego Biurrun committed
1102 1103
- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
- now H.263 picture size is returned on the first decoded frame (Juanjo)
Fabrice Bellard's avatar
Fabrice Bellard committed
1104
- added first regression tests
Diego Biurrun's avatar
Diego Biurrun committed
1105
- added MPEG-2 TS demuxer
Fabrice Bellard's avatar
Fabrice Bellard committed
1106
- new demux API for libav
1107
- more accurate and faster IDCT (Michael)
Diego Biurrun's avatar
Diego Biurrun committed
1108
- faster and entropy-controlled motion search (Michael)
1109 1110 1111 1112 1113
- two pass video encoding (Michael)
- new video rate control (Michael)
- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
- great performance improvement of video encoders and decoders (Michael)
- new and faster bit readers and vlc parsers (Michael)
Diego Biurrun's avatar
Diego Biurrun committed
1114
- high quality encoding mode: tries all macroblock/VLC types (Michael)
1115 1116
- added DV video decoder
- preliminary RTP/RTSP support in ffserver and libavformat
Diego Biurrun's avatar
Diego Biurrun committed
1117 1118 1119 1120 1121
- H.263+ AIC decoding/encoding support (Juanjo)
- VCD MPEG-PS mode (Juanjo)
- PSNR stuff (Juanjo)
- simple stats output (Juanjo)
- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
Fabrice Bellard's avatar
Fabrice Bellard committed
1122

1123

Fabrice Bellard's avatar
Fabrice Bellard committed
1124 1125
version 0.4.5:

1126 1127
- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
- many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
Diego Biurrun's avatar
Diego Biurrun committed
1128 1129
- added configure system (actually a small shell script)
- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
Fabrice Bellard's avatar
Fabrice Bellard committed
1130
  Michael Hipp (temporary solution - waiting for integer only
Diego Biurrun's avatar
Diego Biurrun committed
1131 1132 1133 1134
  decoder)
- fixed VIDIOCSYNC interrupt
- added Intel H.263 decoding support ('I263' AVI fourCC)
- added Real Video 1.0 decoding (needs further testing)
Fabrice Bellard's avatar
Fabrice Bellard committed
1135 1136
- simplified image formats again. Added PGM format (=grey
  pgm). Renamed old PGM to PGMYUV.
Diego Biurrun's avatar
Diego Biurrun committed
1137 1138 1139 1140 1141 1142
- fixed msmpeg4 slice issues (tell me if you still find problems)
- fixed OpenDivX bugs with newer versions (added VOL header decoding)
- added support for MPlayer interface
- added macroblock skip optimization
- added MJPEG decoder
- added mmx/mmxext IDCT from libmpeg2
Fabrice Bellard's avatar
Fabrice Bellard committed
1143
- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1144
  <celer at shell.scrypt.net>)
Diego Biurrun's avatar
Diego Biurrun committed
1145 1146 1147
- added pixel format conversion layer (e.g. for MJPEG or PPM)
- added deinterlacing option
- MPEG-1/2 fixes
1148 1149
- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
- ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
Diego Biurrun's avatar
Diego Biurrun committed
1150
- Windows porting of file converter
1151
- added MJPEG raw format (input/output)
Diego Biurrun's avatar
Diego Biurrun committed
1152
- added JPEG image format support (input/output)
Fabrice Bellard's avatar
Fabrice Bellard committed
1153

1154

Fabrice Bellard's avatar
Fabrice Bellard committed
1155 1156 1157
version 0.4.4:

- fixed some std header definitions (Bjorn Lindgren
1158
  <bjorn.e.lindgren at telia.com>).
Diego Biurrun's avatar
Diego Biurrun committed
1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172
- added MPEG demuxer (MPEG-1 and 2 compatible).
- added ASF demuxer
- added prototype RM demuxer
- added AC3 decoding (done with libac3 by Aaron Holtzman)
- added decoding codec parameter guessing (.e.g. for MPEG, because the
  header does not include them)
- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
  play them (only tested video)
- fixed H.263 white bug
- fixed phase rounding in img resample filter
- add MMX code for polyphase img resample filter
- added CPU autodetection
- added generic title/author/copyright/comment string handling (ASF and RM
  use them)
Fabrice Bellard's avatar
Fabrice Bellard committed
1173
- added SWF demux to extract MP3 track (not usable yet because no MP3
Diego Biurrun's avatar
Diego Biurrun committed
1174 1175
  decoder)
- added fractional frame rate support
Fabrice Bellard's avatar
Fabrice Bellard committed
1176
- codecs are no longer searched by read_header() (should fix ffserver
Diego Biurrun's avatar
Diego Biurrun committed
1177
  segfault)
Fabrice Bellard's avatar
Fabrice Bellard committed
1178

1179

Fabrice Bellard's avatar
Fabrice Bellard committed
1180 1181
version 0.4.3:

1182
- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
Diego Biurrun's avatar
Diego Biurrun committed
1183 1184 1185 1186 1187 1188
- fixed raw yuv output
- added motion rounding support in MPEG-4
- fixed motion bug rounding in MSMPEG4
- added B-frame handling in video core
- added full MPEG-1 decoding support
- added partial (frame only) MPEG-2 support
Fabrice Bellard's avatar
Fabrice Bellard committed
1189
- changed the FOURCC code for H.263 to "U263" to be able to see the
Diego Biurrun's avatar
Diego Biurrun committed
1190 1191 1192 1193
  +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
  this +codec ;) (JuanJo).
- Halfpel motion estimation after MB type selection (JuanJo)
- added pgm and .Y.U.V output format
Fabrice Bellard's avatar
Fabrice Bellard committed
1194 1195 1196
- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
  output.
- added pgmpipe I/O format (original patch from Martin Aumueller
1197
  <lists at reserv.at>, but changed completely since we use a format
Diego Biurrun's avatar
Diego Biurrun committed
1198
  instead of a protocol)
Fabrice Bellard's avatar
Fabrice Bellard committed
1199

1200

Fabrice Bellard's avatar
Fabrice Bellard committed
1201 1202
version 0.4.2:

Diego Biurrun's avatar
Diego Biurrun committed
1203 1204
- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
  (for OpenDivX) is almost complete: 8x8 MVs and rounding are
Fabrice Bellard's avatar
Fabrice Bellard committed
1205
  missing. MSMPEG4 support is complete.
Diego Biurrun's avatar
Diego Biurrun committed
1206 1207
- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
  can decode ffmpeg MPEGs :-)).
Fabrice Bellard's avatar
Fabrice Bellard committed
1208 1209
- added libavcodec API documentation (see apiexample.c).
- fixed image polyphase bug (the bottom of some images could be
Diego Biurrun's avatar
Diego Biurrun committed
1210
  greenish)
Fabrice Bellard's avatar
Fabrice Bellard committed
1211
- added support for non clipped motion vectors (decoding only)
Diego Biurrun's avatar
Diego Biurrun committed
1212 1213 1214 1215
  and image sizes non-multiple of 16
- added support for AC prediction (decoding only)
- added file overwrite confirmation (can be disabled with -y)
- added custom size picture to H.263 using H.263+ (Juanjo)
Fabrice Bellard's avatar
Fabrice Bellard committed
1216

1217

Fabrice Bellard's avatar
Fabrice Bellard committed
1218 1219
version 0.4.1:

Diego Biurrun's avatar
Diego Biurrun committed
1220 1221
- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
  of AVI and ASF to DIV3.
Fabrice Bellard's avatar
Fabrice Bellard committed
1222 1223 1224
- added -me option to set motion estimation method
  (default=log). suppressed redundant -hq option.
- added options -acodec and -vcodec to force a given codec (useful for
Diego Biurrun's avatar
Diego Biurrun committed
1225 1226 1227 1228
  AVI for example)
- fixed -an option
- improved dct_quantize speed
- factorized some motion estimation code
Fabrice Bellard's avatar
Fabrice Bellard committed
1229

1230

Fabrice Bellard's avatar
Fabrice Bellard committed
1231 1232
version 0.4.0:

Diego Biurrun's avatar
Diego Biurrun committed
1233 1234
- removing grab code from ffserver and moved it to ffmpeg. Added
  multistream support to ffmpeg.
Fabrice Bellard's avatar
Fabrice Bellard committed
1235
- added timeshifting support for live feeds (option ?date=xxx in the
Diego Biurrun's avatar
Diego Biurrun committed
1236
  URL)
Fabrice Bellard's avatar
Fabrice Bellard committed
1237
- added high quality image resize code with polyphase filter (need
1238
  mmx/see optimization). Enable multiple image size support in ffserver.
Diego Biurrun's avatar
Diego Biurrun committed
1239
- added multi live feed support in ffserver
Fabrice Bellard's avatar
Fabrice Bellard committed
1240 1241
- suppressed master feature from ffserver (it should be done with an
  external program which opens the .ffm url and writes it to another
Diego Biurrun's avatar
Diego Biurrun committed
1242 1243 1244
  ffserver)
- added preliminary support for video stream parsing (WAV and AVI half
  done). Added proper support for audio/video file conversion in
Fabrice Bellard's avatar
Fabrice Bellard committed
1245
  ffmpeg.
Diego Biurrun's avatar
Diego Biurrun committed
1246 1247 1248 1249 1250 1251
- added preliminary support for video file sending from ffserver
- redesigning I/O subsystem: now using URL based input and output
  (see avio.h)
- added WAV format support
- added "tty user interface" to ffmpeg to stop grabbing gracefully
- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1252
  (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
Diego Biurrun's avatar
Diego Biurrun committed
1253 1254 1255 1256
- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
- added new motion estimation algorithms, log and phods (Juanjo)
- changed directories: libav for format handling, libavcodec for
  codecs
Fabrice Bellard's avatar
Fabrice Bellard committed
1257

1258

Fabrice Bellard's avatar
Fabrice Bellard committed
1259 1260
version 0.3.4:

Diego Biurrun's avatar
Diego Biurrun committed
1261
- added stereo in MPEG audio encoder
Fabrice Bellard's avatar
Fabrice Bellard committed
1262

1263

Fabrice Bellard's avatar
Fabrice Bellard committed
1264 1265 1266 1267 1268
version 0.3.3:

- added 'high quality' mode which use motion vectors. It can be used in
  real time at low resolution.
- fixed rounding problems which caused quality problems at high
Diego Biurrun's avatar
Diego Biurrun committed
1269
  bitrates and large GOP size
Fabrice Bellard's avatar
Fabrice Bellard committed
1270

1271

Fabrice Bellard's avatar
Fabrice Bellard committed
1272 1273
version 0.3.2: small fixes

Diego Biurrun's avatar
Diego Biurrun committed
1274
- ASF fixes
Fabrice Bellard's avatar
Fabrice Bellard committed
1275 1276
- put_seek bug fix

1277

Fabrice Bellard's avatar
Fabrice Bellard committed
1278 1279
version 0.3.1: added avi/divx support

Diego Biurrun's avatar
Diego Biurrun committed
1280 1281
- added AVI support
- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
Fabrice Bellard's avatar
Fabrice Bellard committed
1282 1283
- added sound for flash format (not tested)

1284

Fabrice Bellard's avatar
Fabrice Bellard committed
1285
version 0.3: initial public release