RELEASE_NOTES 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. ┌───────────────────────────────────────────┐
  2. │ RELEASE NOTES for FFmpeg 2.3 "Mandelbrot" │
  3. └───────────────────────────────────────────┘
  4. The FFmpeg Project proudly presents FFmpeg 2.3 "Mandelbrot", a major
  5. release with all the great features committed during the three-month period
  6. since the release of FFmpeg 2.2.
  7. In this release, there are lots of internal overhauls that make FFmpeg a
  8. more accessible project for new developers. Many important new
  9. optimizations and features like QTKit and AVFoundation input devices are
  10. committed. Contributions done by Libav such as a new native Opus decoder
  11. are also merged.
  12. Because of the increasing difficulty to maintain and lack of maintainers,
  13. we are very sorry to say that we have removed all Blackfin and SPARC
  14. architecture assembly optimizations with the cleanups done. If you are
  15. interested in maintaining optimization for these two architecture, feel
  16. free to contact us and we will restore the code!
  17. Oh, and since this release, this modern-looking release note is provided in
  18. addition to the old-style Changelog file, to make it easier for you to
  19. focus on the most important features in this release.
  20. Enjoy!
  21. ┌────────────────────────────┐
  22. │ * API Information │
  23. └────────────────────────────┘
  24. FFmpeg 2.3 is completely source-compatible to the FFmpeg 2.2 series. There
  25. are however some API deprecations that you need to take care of. Use `git
  26. diff n2.2 n2.3 doc/APIchanges` to show the list of added and deprecated
  27. APIs. FFmpeg 2.3 includes the following library versions:
  28. • libavutil 52.92.100
  29. • libavcodec 55.69.100
  30. • libavformat 55.48.100
  31. • libavdevice 55.13.102
  32. • libavfilter 4.11.100
  33. • libswscale 2. 6.100
  34. • libswresample 0.19.100
  35. • libpostproc 52. 3.100
  36. Please refer to the doc/APIChanges file for more information.
  37. ┌────────────────────────────┐
  38. │ New Optimization │
  39. └────────────────────────────┘
  40. We are excited to announce that we have committed new x86 assembly
  41. optimization for HEVC, and FFmpeg's audio resampler libswresample. ARM
  42. users will get a boost in MLP/TrueHD decoding thanks to new optimization.
  43. Decoding Huffyuv also got a major boost from optimization on the C code.
  44. Of special interest for Microsoft Visual Studio users, we have also
  45. converted some preexisting x86 assembly to NASM/Yasm format compatible
  46. with MSVC setup, especially in the area of audio resampling.
  47. Another major feature in this release is the introduction of AArch64
  48. (ARMv8) assembly optimization. AArch64 is another name for the first
  49. 64-bit ARM architecture, used by Apple A7 SoC inside iPhone 5S. Some
  50. 32-bit ARM assembly has already been ported to AArch64, but more work is
  51. underway.
  52. ┌────────────────────────────┐
  53. │ Native Opus decoder │
  54. └────────────────────────────┘
  55. Opus is an open audio format jointly developed by Xiph.Org, Mozilla,
  56. Skype/Microsoft, and Broadcom. It combines the features of the Skype Cilk
  57. speech codec and the Xiph.Org CELT music codec into one low-latency
  58. codec. Decoding Opus is already possible since FFmpeg 1.0 using the
  59. libopus library, but the new Opus native decoder brings a higher level of
  60. stability and speed.
  61. ┌────────────────────────────┐
  62. │ QTKit and AVFoundation │
  63. └────────────────────────────┘
  64. For OS X users, the new QTKit and AVFoundation devices allow you to use
  65. the integrated camera on Macs. AVFoundation is a newer API only available
  66. on OS X 10.7 "Lion" or newer. For users with older OS X systems, the
  67. QTKit device using the older OS X API is for you.
  68. ┌────────────────────────────┐
  69. │ API Additions │
  70. └────────────────────────────┘
  71. In this release, stream side data are introduced as AVStream.side_data as
  72. a way to store miscellaneous stream-wide information. The format is
  73. similar to the previously anonymous structure AVPacket.side_data (now
  74. named as AVPacketSideData). With this change, audio ReplayGain
  75. information and video rotation matrix are now exported through this API,
  76. if available in the demuxer.
  77. We also have improved libswresample's Doxygen API documentation, so new
  78. developers wishing to use FFmpeg's excellent libraries can get started
  79. more easily and faster.
  80. ┌────────────────────────────┐
  81. │ Last But Not Least │
  82. └────────────────────────────┘
  83. Other interesting new features including hqx video filter, a pixel art
  84. scaling filter; a fixed-point AC-3 decoder contributed by Imagination
  85. Technologies; an On2 TrueMotion VP7 video decoder; an HTML5 WebVTT
  86. subtitle encoder that allows creation of WebVTT from any text-based
  87. subtitles; and an 1-bit Direct Stream Digital audio decoder.
  88. ┌────────────────────────────┐
  89. │ ★ List of New Features │
  90. └────────────────────────────┘
  91. ┌────────────────────────────┐
  92. │ Command line tools │
  93. └────────────────────────────┘
  94. • Support for decoding through DXVA2 in ffmpeg
  95. ┌────────────────────────────┐
  96. │ libavcodec │
  97. └────────────────────────────┘
  98. • AC3 fixed-point decoding
  99. • VP7 video decoder
  100. • Alias PIX image encoder and decoder
  101. • Improvements to the BRender PIX image decoder
  102. • Improvements to the XBM decoder
  103. • Improvements to OpenEXR image decoder
  104. • Support decoding 16-bit RLE SGI images
  105. • Direct Stream Digital (DSD) decoder
  106. • On2 AVC (Audio for Video) decoder
  107. • Native Opus decoder
  108. • WebVTT encoder
  109. ┌────────────────────────────┐
  110. │ libavdevice │
  111. └────────────────────────────┘
  112. • QTKit input device
  113. • GDI screen grabbing for Windows
  114. • AVFoundation input device
  115. ┌────────────────────────────┐
  116. │ libavformat │
  117. └────────────────────────────┘
  118. • subfile protocol
  119. • Phantom Cine demuxer
  120. • Alternative rendition support for HTTP Live Streaming
  121. • Magic Lantern Video (MLV) demuxer
  122. • Image format auto-detection
  123. • LRC lyric file demuxer and muxer
  124. • Samba protocol (via libsmbclient)
  125. • WebM DASH Manifest muxer
  126. ┌────────────────────────────┐
  127. │ libavfilter │
  128. └────────────────────────────┘
  129. • shuffleplanes filter
  130. • libbs2b-based stereo-to-binaural audio filter
  131. • showcqt multimedia filter
  132. • zoompan filter
  133. • signalstats filter
  134. • hqx filter (hq2x, hq3x, hq4x)
  135. • flanger filter
  136. • libfribidi support in drawtext
  137. ┌────────────────────────────┐
  138. │ ⚠ Behaviour changes │
  139. └────────────────────────────┘
  140. • libx264 reference frames count is now limited depending on level chosen
  141. • Because of the new image format auto-detection feature, you don't need to
  142. specify image format when decoding an image with no extension.