Bifrost
m (restore working AVS version) |
(add x64 version and archived downloads section) |
||
Line 1: | Line 1: | ||
− | {{ | + | {{FilterCat5|External_filters|Plugins|Plugins_x64|Restoration_filters|Rainbow & Dot Crawl Removal}} |
{{Filter3 | {{Filter3 | ||
− | | {{Author/Myrsloik}}, dubhater [v2.0+] | + | |1={{Author/Myrsloik}}, dubhater [v2.0+] |
− | | v2.0 | + | |2=v2.0 |
− | | [ | + | |3=[https://www.dropbox.com/s/z2fbmi0fhvr8c8y/bifrost-v2.0.7z?dl=1 bifrost-v2.0.7z] |
− | | Rainbow & Dot Crawl Removal | + | |4=Rainbow & Dot Crawl Removal |
− | | Open Source | + | |5=Open Source |
|6=[https://forum.doom9.org/showthread.php?t=169758 Doom9 Thread]}} | |6=[https://forum.doom9.org/showthread.php?t=169758 Doom9 Thread]}} | ||
Line 13: | Line 13: | ||
<br> | <br> | ||
== Requirements == | == Requirements == | ||
− | * AviSynth 2.5.8 or [https://sourceforge.net/projects/avisynth2/ greater] | + | * [x86]: [[AviSynth+]] or AviSynth 2.5.8 or [https://sourceforge.net/projects/avisynth2/ greater] |
+ | * [x64]: [[AviSynth+]] | ||
* Supported color formats: [[YV12]] | * Supported color formats: [[YV12]] | ||
+ | <br> | ||
+ | * [https://www.microsoft.com/en-us/download/details.aspx?id=40784 Microsoft Visual C++ 2013 Redistributable Package (x86 / x64)] | ||
+ | :<span style="color:red">***</span> <tt>vcredist_x86.exe</tt> is required for <tt>Bifrost-x86</tt> | ||
+ | :<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>Bifrost-x64</tt> | ||
<br> | <br> | ||
== [[Script variables|Syntax and Parameters]] == | == [[Script variables|Syntax and Parameters]] == | ||
Line 68: | Line 73: | ||
== Changelog == | == Changelog == | ||
− | Version Date | + | Version Date Changes<br> |
− | + | 2.0 2013/11/09 - Developer: dubhater | |
− | + | - This version now works by processing blocks rather than whole frames. | |
− | + | Static rainbows can now be processed even if there's lots of motion | |
− | + | in other parts of the image. | |
− | + | - The "scenelumathresh" parameter was renamed to "luma_thresh" and its | |
− | + | default value is now 10.0 | |
− | + | - The "conservativemask" parameter was renamed to "conservative_mask".<br> | |
− | + | v1.1 2007/03/04 - Developer: Myrsoik | |
− | + | - Corrected several bad assumptions about pitch and no longer requests | |
− | + | frames out of range which makes it compatible with avisynth 2.5.7. | |
− | + | - Uses the whole image and not just the upper half to determine if there | |
− | + | is too much motion, this reduces artifacts greatly in certain clips but | |
− | + | the scenelumathresh argument now has to be twice as big as in previous | |
− | + | versions for the same effect. | |
− | + | - Processes the image borders properly instead of just ignoring them. | |
− | + | - Can look two frames in either direction instead of just one frame in both. | |
+ | This makes it possible to remove rainbows in frames right before and after | ||
+ | scenechanges. | ||
+ | <br> | ||
+ | == Archived Downloads == | ||
+ | {| class="wikitable" border="1"; width="500px" | ||
+ | |- | ||
+ | !!width="100px"| Version | ||
+ | !!width="150px"| Download | ||
+ | !!width="150px"| Mirror | ||
+ | |- | ||
+ | !v2.0 (x86/x64) | ||
+ | |[https://www.dropbox.com/s/z2fbmi0fhvr8c8y/bifrost-v2.0.7z?dl=1 bifrost-v2.0.7z] | ||
+ | |[https://forum.doom9.org/attachment.php?attachmentid=14792&d=1431713088 bifrost-v2.0.7z] | ||
+ | |- | ||
+ | !v1.1 | ||
+ | |[http://ivtc.org/avisynth/bifrost-1.1.zip bifrost-1.1.zip] | ||
+ | |[https://web.archive.org/web/20171111144115/http://ivtc.org/avisynth/bifrost-1.1.zip bifrost-1.1.zip] | ||
+ | |} | ||
+ | * x86/x64 version compiled with Microsoft Visual Studio C++ 2013 by [https://forum.doom9.org/showthread.php?p=1721946#post1721946 l33tmeatwad]. | ||
+ | |||
<br> | <br> | ||
Revision as of 16:05, 13 May 2020
Abstract | |
---|---|
Author | Myrsloik, dubhater [v2.0+] |
Version | v2.0 |
Download | bifrost-v2.0.7z |
Category | Rainbow & Dot Crawl Removal |
License | Open Source |
Discussion | Doom9 Thread |
Contents |
Description
Bifrost is a temporal derainbowing filter created by Fredrik Mellbin.
The original Bifrost v1.1 worked on the whole frame or not at all. This version now works on blocks, making it possible to process static rainbows even if there is lots of motion in other parts of the image.
Requirements
- *** vcredist_x86.exe is required for Bifrost-x86
- *** vcredist_x64.exe is required for Bifrost-x64
Syntax and Parameters
- Bifrost (clip, clip "altclip", float "luma_thresh", int "variation", bool "conservative_mask", bool "interlaced", int "blockx", int "blocky")
- clip =
- Input clip.
- clip =
- clip altclip =
- Bifrost will copy from this clip the chroma of the blocks it can't process. This allows moving blocks to be processed with some other filter.
- altclip must have the same format, dimensions, and length as the input clip.
- clip altclip =
- float luma_thresh = 10.0
- Blocks where the luma changes less than this are considered static and may be processed.
- float luma_thresh = 10.0
- int variation = 5
- Controls how big a chroma change must be in order to be considered a rainbow. Increasing this can reduce false positives.
- int variation = 5
- bool conservative_mask = false
- If true, only pixels detected as rainbows will be processed. Otherwise, pixels that have rainbows above and below them will also be processed.
- bool conservative_mask = false
- bool interlaced = true
- If true, SeparateFields and Weave will be invoked in order to process the top and bottom fields separately.
- bool interlaced = true
- int blockx = 4
- int blocky = 4
- int blockx = 4
Types of Rainbows
When dealing with telecined material you must determine if the rainbows were added before or after the telecine process. Find a scene with clearly visible rainbows and use the following:
MPEG2Source("YourSource.d2v") SeparateFields() SelectEven()
If the rainbows change every frame, they were added after telecine. If there is a duplicate every five frames, they were added before.
Rainbows added after telecine
In this case, Bifrost should be used in interlaced mode, right after the source filter:
MPEG2Source("rainbows2.d2v") Bifrost(interlaced=true) # IVTC here
Rainbows added before telecine
First you must fix the telecine, then use Bifrost in progressive mode:
MPEG2Source("rainbows1.d2v") TFM(order=1) TDecimate() Bifrost(interlaced=false)
Changelog
Version Date Changes
2.0 2013/11/09 - Developer: dubhater - This version now works by processing blocks rather than whole frames. Static rainbows can now be processed even if there's lots of motion in other parts of the image. - The "scenelumathresh" parameter was renamed to "luma_thresh" and its default value is now 10.0 - The "conservativemask" parameter was renamed to "conservative_mask".
v1.1 2007/03/04 - Developer: Myrsoik - Corrected several bad assumptions about pitch and no longer requests frames out of range which makes it compatible with avisynth 2.5.7. - Uses the whole image and not just the upper half to determine if there is too much motion, this reduces artifacts greatly in certain clips but the scenelumathresh argument now has to be twice as big as in previous versions for the same effect. - Processes the image borders properly instead of just ignoring them. - Can look two frames in either direction instead of just one frame in both. This makes it possible to remove rainbows in frames right before and after scenechanges.
Archived Downloads
Version | Download | Mirror |
---|---|---|
v2.0 (x86/x64) | bifrost-v2.0.7z | bifrost-v2.0.7z |
v1.1 | bifrost-1.1.zip | bifrost-1.1.zip |
- x86/x64 version compiled with Microsoft Visual Studio C++ 2013 by l33tmeatwad.
External Links
- Doom9 Forum - Bifrost v2.0 discussion.
- GitHub - Source code repository
Bifrost v1.1
Bifrost v1.1 documentation.
Back to External Filters ←