Skip to content

Major Bug Fixes for 2.0.0

Compare
Choose a tag to compare
@patrickenfuego patrickenfuego released this 25 Jun 04:24
· 86 commits to main since this release

What's New

This release is meant to address a few fairly significant bugs from the previous release, as well as some minor enhancements to new features and one existing feature.

Bug Fixes

Updated VMAF

When I initially added VMAF support, I forgot about re-scaling. Now upscaled/downscaled comparisons are working as expected.

I also added a new parameter, -LogFormat, where you can choose json, csv, xml, or sub. Previously, json was the hardcoded default, and is still the default if you don't pass a parameter value.

Fix DivideByZero Exception with Encoder Progress Bar

There was an edge case I found where regex was returning 0 while capturing the total number of frames in the source. This was causing a rather cryptic DivideByZero terminating error when setting the progress bar. This should be fixed.

Fix Incorrect Value for -Resolution Parameter

The parameter was not being set properly, and was always using a default value based on the source resolution. This was causing some wacky behavior with scaling, and has been fixed.

Fix Ctrl+C Intercept Behavior

One of the new, behind-the-scenes features of the previous release is the interception of the Ctrl+C command so that the script can exit gracefully if terminated early. In situations where it was not exiting gracefully, PowerShell was no longer detecting the key combination. This should now be fixed.

Updates

Improved Parsing for User-Defined Parameters with -GenerateMKVTagFile

I added some additional parsing for certain multi-valued properties like genres, which would have been returned as an object instead of a string before the change; this created some non-terminating errors, but the real issue was those metadata fields would be skipped over during tag file creation.

Subtitle Enhancements

New Language Codes

To start, I've added several new ISO 639-2 language codes for better subtitle support. New codes:

  • Arabic (ara)
  • Indonesian (ind)
  • Turkish (tur)
  • Vietnamese (vie)
  • Slovenian (slv)
  • Hindi (hin)
  • Hebrew (heb)
  • Bulgarian (bul)

Some languages have more than 1 ISO code, so I added a few extra to the argument list. Existing languages with new secondary codes:

  • Chinese (zho)
  • Greek (ell)
  • Dutch (nld)

See the wiki for a full list.

Language Negation

I've found myself wanting this feature many times in the past but kept pushing it off. Now, you can tell FFEncoder to copy all languages except the language you specify by prefixing the language code with a !. For example, !eng will copy all subtitles except English.