ExactDedup
From Avisynth wiki
Abstract | |
---|---|
Author | Steve Melenchuk, Arick Chan, StainlessS |
Version | v0.0.7Beta |
Download | ExactDedup_25_26_x86_x64_dll_v0-07Beta_20210604.zip |
Category | Duplicate frame detectors |
License | GPLv3 |
Discussion | Doom9 Thread - update, TASVideos Thread |
Contents |
Description
ExactDedup is a filter intended to remove frames that are exact duplicates of each other, leaving only the first and (optionally) last frames of a run intact, and generates a Matroska v2 timecodes file with timing information for the ensuing stream.
Due to the particulars of the AviSynth API, ExactDedup requires two passes to function efficiently. It could theoretically be designed to run with one pass, but this would result in a very long startup delay while the plugin precomputes all of the duplicate frame information and timecodes.
Requirements
- [x86]: AviSynth+ or AviSynth 2.6
- [x64]: AviSynth+
- Supported color formats: RGB24, RGB32, Y8, YV12, YV16, YV24
- AviSynth+: High bit-depth colorspaces are supported.
- *** vcredist_x86.exe is required for ExactDedup-x86
- *** vcredist_x64.exe is required for ExactDedup-x64
Syntax and Parameters
- ExactDedup (clip, bool "firstpass", string "dupinfo", string "times", int "maxdupcount", bool "_keeplastframe", bool "show")
- clip =
- Input clip.
- clip =
- bool firstpass = true
- Controls which pass the plugin is running.
- The first pass generates a mapping of output frames to input frames (stored in the file specified by dupinfo) and Matroska v2 timecodes (stored in the file specified by times); seeking during this pass is impossible.
- bool firstpass = true
- string dupinfo = "dupinfo.txt"
- The name of a temporary file generated by the first pass and read by the second pass; each line corresponds to a frame in the output video stream, and specifies the frame number of the frame in the input stream that will be used as that output frame.
- string dupinfo = "dupinfo.txt"
- string times = "times.txt"
- The name of the Matroska v2 timecodes file that will be output by the first pass.
- string times = "times.txt"
- int maxdupcount = 20
- The number of maximum consecutive duplicate frames corresponding to a single frame of the output; i.e. a maximum of (maxdupcount - 1) frames will be removed from a run of duplicates before another frame is kept.
- int maxdupcount = 20
- bool _keeplastframe = false
- Keeps the last frame of a run of duplicates. If a run of duplicates is larger than maxdupcount, this keeps only the last frame of the entire run, not of the individual maxdupcount-size blocks.
- bool _keeplastframe = false
- bool show = false
- Default false. If True, shows a little info on second pass..
- bool show = false
Examples
ExactDedup with default settings:
AviSource("Blah.avi") ExactDedup(firstpass=true, dupinfo="dupinfo.txt", times="times.txt", maxdupcount=20, _keeplastframe=false, show=false)
Changelog
Version Date Changes
v0.0.7 2021-06-04 - Mod by StainlessS - Switched to DDigit v2.0 Metrics renderer for Show=true. - Added HBD for Avs+ [all colorspaces, Avs+ frame Properties NOT supported nor passed to next filter]
v0.0.6 2019-02-15 - Mod by StainlessS - see discussion - Fixed M$ broken relative pathnames.
v0.0.5 2017-05-17 - Mod by StainlessS - see discussion - Using AviSynth+ Header. - Convert to VS2008, x64 compile. - AviSynth v2.6 and AviSynth+ x32/x64 only.
v0.0.4 2017-02-16 - Mod by StainlessS - see discussion - Fixed number of bugs. - AviSynth v2.6 plugin. - Added Support for v2.6 Planar (also added U & V chroma scan for YV12, only scanned luma). - Added Show Arg. - Write times and dupinfo files at end of scan,so you don't have to edit script in text editor before second pass.
v0.0.3 2011/12/18 - primarily incorporates changes from Aktan to fix some incompatibilities with AviSynth's Crop() function (and likely other AviSynth functions) and some VirtualDub usage patterns. - 64-bit binary courtesy of Velitha.
v0.0.2 2011/11/18 - fixes a bug resulting in incorrect timecodes being output for some framerates (such as NTSC NES), and also outputs timecodes to nanosecond precision (as opposed to the microsecond precision of 0.01).
v0.0.1 2011/11/16 - initial release
Archived Downloads
External Links
- TASVideos Forum - ExactDedup discussion.
Back to External Filters ←