BiFrost

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(Redirect)
m (Category:Redirects)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
 
#REDIRECT [[Bifrost]]
 
#REDIRECT [[Bifrost]]
 
+
[[Category:Redirects]]
{{FilterCat|External_filters|Restoration_filters|Rainbow & Dot Crawl Removal}}
+
{{Filter
+
| {{Author/Myrsloik}}, dubhater [v2.0]
+
| v2.0
+
| [http://github.com/dubhater/vapoursynth-bifrost/releases/download/v2.0-avs/avisynth-bifrost-v2.0.7z Bifrost]
+
| Rainbow & Dot Crawl Removal
+
|
+
* YV12
+
|
+
|}}
+
<br>
+
== 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: ====
+
:- AviSynth 2.5.8 or later
+
:- Supported color formats: [[YV12]]
+
<br>
+
 
+
== Syntax and Parameters ==
+
:{{Template:FuncDef|Bifrost (clip, clip "altclip", float "luma_thresh", int "variation", bool "conservative_mask", bool "interlaced", int "blockx", int "blocky")}}
+
<br>
+
::{{Par|altclip|clip|}}
+
:::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.
+
<br>
+
::{{Par|luma_thresh|float|10.0}}
+
:::Blocks where the luma changes less than this are considered static and may be processed.
+
<br>
+
::{{Par|variation|int|5}}
+
:::Controls how big a chroma change must be in order to be considered a rainbow. Increasing this can reduce false positives.
+
<br>
+
::{{Par|conservative_mask|bool|false}}
+
:::If true, only pixels detected as rainbows will be processed. Otherwise, pixels that have rainbows above and below them will also be processed.
+
<br>
+
::{{Par|interlaced|bool|true}}
+
:::If true, [[SeparateFields]] and [[Weave]] will be invoked in order to process the top and bottom fields separately.
+
<br>
+
::{{Par|blockx|int|4}}
+
::{{Par|blocky|int|4}}
+
:::The dimensions of the blocks. Smaller is probably better. The default 4×4 should be good enough.
+
::::'''Note:''' If the dimensions of the image aren't divisible by blockx and blocky, the right and/or bottom edges won't be processed. Pad or crop the input clip before using Bifrost.
+
<br>
+
 
+
== 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:
+
<br>
+
  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.
+
<br>
+
<br>
+
====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)
+
<br>
+
====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
+
<br>
+
== Changelog ==
+
  Version 2.0
+
      - This version now works by processing blocks rather than whole frames. Static rainbows can now be processed even if there is lots of motion in other parts of the image.
+
      - The "scenelumathresh" parameter was renamed to "luma_thresh" and it's default value is now 10.0
+
      - The "conservativemask" parameter was renamed to "conservative_mask".<br>
+
  Version 1.1
+
      - 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>
+
 
+
== Links ==
+
:[http://forum.doom9.org/showthread.php?t=169758 Doom9 Forum] - Discussion about Bifrost v2.0
+
:[http://github.com/dubhater/vapoursynth-bifrost/releases GitHub] - Source code repository
+

Latest revision as of 03:11, 11 December 2015

  1. REDIRECT Bifrost
Personal tools