Skip to content

Releases: FFMS/ffms2

5.0

28 May 19:53
Compare
Choose a tag to compare
  • Fixed all issues with FFmpeg 6.1 which is now the minimum requirement
  • Fixed av1 decoding
  • Added HDR10+ and DolbyVision metadata
  • Fixed audio decoding that could otherwise get stuck in an infinite loop on certain files
  • Fixed framerate in Avisynth when using VFR=>CFR mode
  • Dropped VapourSynth API3 support
  • Indexer now has a configurable progress update interval
  • Alpha planes are now correctly marked as being full range
  • The full set of demuxer options can now be passed using the FFMS2 API
  • Now sets channel layout in Avisynth+
  • Removed the unfixable and always broken rffmode from Avisynth source

5.0-RC4

08 May 20:09
a3c6e25
Compare
Choose a tag to compare
5.0-RC4 Pre-release
Pre-release

Probably the last RC
A large number of seeking fixes
RFF mode removed since it was never correct anyway

5.0-RC3

07 Mar 20:14
Compare
Choose a tag to compare
5.0-RC3 Pre-release
Pre-release

Compiled with a more full features FFmpeg this time.
Known issues:

  • Interlaced h264 broken
  • rff handling broken
  • vc1 probably a bit broken

5.0-RC2

27 Feb 18:42
Compare
Choose a tag to compare
5.0-RC2 Pre-release
Pre-release

Fix delay calculation for sliced thread
Fix frame drops/duplication in CFR mode when forcing a multiple of the source framerate

5.0-RC1

26 Feb 22:18
Compare
Choose a tag to compare
5.0-RC1 Pre-release
Pre-release
Update changelog and version number

2.40

22 Aug 11:29
Compare
Choose a tag to compare
  • 2.40
    • Avisynth+ linux support (qyot27)
    • Added LastEndTime track property to make it possible to take the last frame's duration into account (Myrsloik)
    • Removed several deprecated functions and enums from the API (Myrsloik)
    • No longer assumes sub 1 fps framerates are invalid (Myrsloik)
    • Added support for floating point format output in VapourSynth and Avisynth+ (Myrsloik)
    • Fixed issue with dropped/repeated frames in vc1 with multiple b-frames after seeking (Myrsloik)
    • Fixed issue with dropped/repeated frames in h264 when the reorder buffer size is too small (Myrsloik)
    • Improved seeking in mpeg and mpegts streams (Myrsloik)
    • Added rgb(a)p and several additional formats as output to Avisynth+ (Myrsloik)
    • Added VP9 support (Daemon404)
    • Fixed incorrectly reporting the output as limited range when it's in fact unknown and likely to be full range (Myrsloik)
    • Added mastering display metadata output (Myrsloik)
    • VapourSynth source now defaults to not outputting alpha (Myrsloik)
    • Removed the now unused demuxer, dumpmask, audiofile and utf8 arguments from the source filters (Myrsloik)
    • Removed ability to dump audio tracks (Myrsloik)
    • Fixed incorrect colorimetry metadata reported when converting the output to another colorspace (Myrsloik)
    • Sources now simply reference the index instead of copying large parts of it (Myrsloik)
    • Use new FFmpeg decoding API (Myrsloik)
    • Fixed several bugs in output format selection (Myrsloik)
    • FFMSIndex will now properly error out with invalid arguments (Myrsloik)
    • Add rotation metadata export (Myrsloik)
    • Add stereoscopic metadata export (Myrsloik)
    • Created new Visual Studio 2017 projects (Myrsloik)
    • Removed old mingw version support (Myrsloik)
    • Removed support for old FFmpeg versions (Myrsloik)
    • Removed libav support (Myrsloik)
    • Discontinuous Timestamp Support (Daemon404)
    • Add FFMS_Deinit (Daemon404)
    • Fix mid-stream parameter changes (Daemon404)
    • Fix decoding H.264 PAFF files with one field per packet (Daemon404)
    • Fix delay calculations for H.264 PAFF files (Daemon404)
    • Fix frame rate calculation for fields with one field per packet (Daemon404)

2.23.1

18 Oct 17:29
Compare
Choose a tag to compare
  • Updated FFmpeg APIs used (Daemon404)
  • Added new API that can read/write indexes to a memory buffer (Daemon404)
  • Added support for high bitdepth output in Avisynth+ (Myrsloik)
  • vapoursource: Add nfMakeLinear flag to better performance in most cases (Myrsloik)
  • Remove bad colorspace matrix guessing for YUV (Myrsloik)
  • Tell libavformat to discard packets we don't want (Daemon404)
  • Restore original FFCopyrightInfringement behavior (Myrsloik)
  • Make FFMS_Init threadsafe (Daemon404)
  • Support latest libav* APIs (Daemon404)

2.22

12 Oct 21:30
Compare
Choose a tag to compare
  • Fix possible off by 1 frame until first seek issue introduced in 2.21 (Myrsloik)
  • avisynth: Make FFMS2 a shorter alias for FFmpegSource2 to save some typing (Myrsloik)
  • avisynth: Moved all source functions in ffms2.avsi into the actual plugin (Myrsloik)
  • avisynth: Use 2.6 RC API and add output support for all new colorspaces (Myrsloik)
  • vapoursource: Fix swapped RGB channels bug introduced in 2.21 (Myrsloik)
  • swscale: Drop pointless and slow bitexact flag from resizer settings (kodabb)
  • Add support for files with gaps between the audio packets (Plorkyeran)

2.21

16 May 21:16
Compare
Choose a tag to compare

Mostly maintenance bug fixes and a much newer FFmpeg version, but there's also new API stuff for indexing files to support files with more than 32 tracks. The non-FFmpeg Matroska, MPEG-TS and OGM parsers have been dropped since these days libavformat's are good enough (and sometimes better).

  • Add missing constants for log levels (Myrsloik)
  • Fix bad decoder flush that discards the palette of raw video (Myrsloik)
  • Remove the SWScale function from Avisynth since SWScale is useless (Myrsloik)
  • Fix common framerate correction (Myrsloik)
  • vapoursource: The framerate and frame durations are now normalized (Myrsloik)
  • vapoursource: Add support for outputting the alpha channel too (Myrsloik)
  • vapoursource: Fix resizer selection so bicubic isn't always used (Myrsloik)
  • vapoursource: Set chroma location and full colorspace information (Myrsloik)
  • Add support for indexing files with more than 32 tracks and the possibility to skip indexing of video tracks (Myrsloik)
  • The Avisynth plugin now sets all per frame variables in all modes to avoid ugly and slow FFInfo() errors (Myrsloik)
  • vapoursource: Fix crash on single frame files (Myrsloik)
  • Remove the Matroska and Haali demuxers (qyot27, Plorkyeran)
  • Fix adjustments for positive audio delay (tophf)
  • Don't try to index video tracks in unsupported formats (Daemon404)
  • Don't use scientific notation in timecode files (Daemon404)
  • Fix utf8 support in FFVideoSource (nixxquality)
  • Improve handling of files where only some packets have timestamps (Plorkyeran)
  • Fix memory leaks in the VapourSynth error handling (Plorkyeran)

ICL version is typically ~10% faster on Intel CPUs, but is less tested.

FFMS 2.20

20 Jun 16:12
2.20
Compare
Choose a tag to compare
  • Add support for Opus in MKV when ffmpeg/libav are built with libopus (qyot27)
  • vapoursource: Provide _AbsoluteTime metadata (Daemon404)
  • Fix a pile of small things found by Coverity (Daemon404)
  • Add support for HEVC in MKV (qyot27)
  • Fix infinite loop on garbage data at the beginning of AAC files (Plorkyeran)
  • Deal with the never-ending bitrot from FFmpeg/Libav API changes (Daemon404, Plorkyeran)
  • Make indexes not arch-specific and trivially smaller (Plorkyeran)
  • Fix bug where the first b-frame was replaced with the frame before it with open-gop h.264 (Plorkyeran)
  • Fix seeking issues with open-gop h.264 (Plorkyeran)
  • Fix corruption when seeking in interlaced h.264 (Plorkyeran)
  • Add support for multiple frames per audio packet as FFmpeg seems to have started doing that (Plorkyeran)
  • Fix seeking in Y4M files (Plorkyeran)
  • Fix dumping audio while indexing files
  • Add support for Matroska files with extremely large CodecPrivate sections
  • Speed up indexing Matroska files a bit

The ICL version is approximately 10% faster on Intel CPUs, while the MSVC version is probably faster on AMD CPUs (but I do not have any available to test with).