Dogway / Avisynth-Scripts

AviSynth+ 3.7.3+ Filters
GNU General Public License v3.0
92 stars 13 forks source link

QTGMC+ outputs non-deterministic random garbage colors when: Preset="Very Slow", ChromaNoise=true, Sbb=2 #91

Open JohnstonJ opened 3 months ago

JohnstonJ commented 3 months ago

Describe the bug

When QTGMCp is called with Preset="Very Slow", ChromaNoise=true, Sbb=2, it outputs garbage colors. Note that this can also be done with Placebo preset, but I narrowed it down to Sbb=2 or Sbb=3. Sbb=1 or Sbb=0 does not cause the problem. Also, using Sbb=2 seems to work ok if ChromaNoise is false. It is the combination of these parameters that seems to create a problem.

Note that I have not observed this problem in regular QTGMC, so this seems like it might be a regression in QTGMC+.

To Reproduce

  1. Download this MKV file, containing a few frames of lossless FFV1: qtgmc-purple.zip
  2. Save this AVS file as qtgmc-purple.mkv.avs, update your paths as needed:
    
    plugin_dir = "C:\VideoProject\Software\AviSynth-plugin\"

LoadPlugin(plugin_dir + "BWDIF.dll") LoadPlugin(plugin_dir + "LSMASHSource.dll") LoadPlugin(plugin_dir + "masktools2.dll") LoadPlugin(plugin_dir + "mvtools2.dll") LoadPlugin(plugin_dir + "neo-fft3d.dll") LoadPlugin(plugin_dir + "NNEDI3CL.dll") LoadPlugin(plugin_dir + "RgTools.dll") LoadPlugin(plugin_dir + "vsTCanny.dll") Import(plugin_dir + "ExTools.avsi") Import(plugin_dir + "QTGMC+.avsi") Import(plugin_dir + "ResizersPack.avsi") Import(plugin_dir + "SMDegrain.avsi")

LWLibavVideoSource("C:\VideoProject\Johnston1\qtgmc-purple\qtgmc-purple.mkv") AssumeTFF() QTGMCp(Preset="Very Slow", ChromaNoise=true, Sbb=2)


3.  Run `ffmpeg -i qtgmc-purple.mkv.avs -c:v huffyuv purple.avi`
4.  Open `purple.avi` in VirtualDub and inspect for garbage frames.  Sometimes everything is fine, sometimes... very much not ok.
5.  If the results looked OK, keep rerunning step 3 until they do not.

Alternative: open the AVS file in AvsPmod and preview it there.  This makes the non-deterministic nature especially apparent, because you'll get different results for every frame simply scrolling back and forth, and/or pressing F5 to keep reloading the preview.

**Expected behavior**

Colors should not be severely distorted/garbage data.

**Files**

Sample input file: [qtgmc-purple.zip](https://github.com/user-attachments/files/16579627/qtgmc-purple.zip)

**System:**
 - OS:  Windows 10
 - Version: all plugins are the latest version as of approximately Aug 10, 2024.

**Additional context**

Example garbage frames that illustrate the problem.

In this frame, notice the magenta and green ghosting on the guard's shoe, thigh, as well as the wreath / flowers behind the guard.  None of this is in the input video.

![image](https://github.com/user-attachments/assets/25d3239e-c0a9-4516-8f3a-4c27d95fae9b)

This frame has two faint vertical magenta lines that span the entire height of the frame:

![image](https://github.com/user-attachments/assets/da8a422e-8777-49c4-b7f2-5784088b8e23)

And occasionally, some complete garbage shows up:

![image](https://github.com/user-attachments/assets/4694a6b0-8ded-4e6f-bce6-ccb14eba12c7)