Bifrost v1.1
Abstract | |
---|---|
Author | Myrsloik |
Version | v1.1 |
Download | bifrost-1.1.zip |
Category | Rainbow & Dot Crawl Removal |
License | Closed source |
Discussion |
Back to Bifrost v2.0 ←
Contents |
Description
Bifrost is a temporal derainbower for avisynth that works in the YV12 colorspace and is intended for region 1 anime DVDs (hasn't been tested with anything else). The advantage of a temporal derainbower is that it can actually recover detail and doesn't just smooth the image and cause color bleeding. The bad part is that it's only possible to process static parts of the image which is why an alternative derainbowing method can be used with the altclip parameter. The most similar filter is probably the temporal processing part of the DotCrawl VirtualDub filter but with considerably less checks for artifacts.
Requirements
- AviSynth 2.5.8 or later
- Supported color formats: YV12
Syntax and Parameters
- Bifrost(clip, clip "altclip", float "scenelumathresh", int "variation", bool "conservativemask", bool "interlaced")
- clip =
- Input clip.
- clip =
- clip altclip =
- Altclip is the clip to return frames from when scenelumathresh is passed. This allows rainbows to be removed even in high motion scenes with other processing.
- Returns the first clip if none is specified.
- clip altclip =
- float scenelumathresh = 3.0
- Scenelumathresh is how much every pixel in the frame/field may change on average and still be processed.
- float scenelumathresh = 3.0
- int variation = 5
- Variation determines how much the chroma must change for it to be considered a rainbow. Increasing it decreases false detection in some cases.
- int variation = 5
- bool conservativemask = false
- Conservativemask determines if the area around pixels that are considered rainbows also are processed. Can reduce miscoloring a little when there's both movement and rainbows.
- bool conservativemask = false
- bool interlaced = true
- Interlaced changes between field based and frame based decisions for scenelumathresh and is equivalent to using SeparateFields and Weave.
- bool interlaced = true
Rainbow Types
When dealing with telecined material you first have to determine if the rainbows were added before or after it was telecined. To do this use SeparateFields().SelectOdd() on the source. Find a frame with lots of rainbowing and see if they change every frame or if there's a duplicate every 5 frames. If you find duplicates it's type 2 rainbows and you have to perform perfect IVTC in YATTA and force the right pattern over the entire source clip and then finally use "Decimation by pattern" in the project to finish it. If you find no duplicates (type 1) the process is much simpler and you just put Bifrost() right after the source
Type 1:
Mpeg2source("fruits_basket_r1.d2v") Bifrost() Telecide(order=1) Decimate()
Type 1 using altclip and SSIQ:
Mpeg2source("gsc_r1.d2v") Bifrost(scenelumathresh=1.5,altclip=SSIQ(11,100,true),interlaced=true) Telecide(order=1) Decimate()
Type 2:
Using Bifrost multiple times on type 2 rainbows can improve the results.
Mpeg2source("trigun_r1.d2v") Telecide(order=1,ovr="trigun.tel.txt") Decimate(ovr="trigun.dec.txt") Bifrost(interlaced=false)
Type 2 using altclip and SSIQ:
Mpeg2source("bgc_r1.d2v") Telecide(order=1,ovr="bgc.tel.txt") Decimate(ovr="bgc.dec.txt") Bifrost(scenelumathresh=2,altclip=SSIQ(11,300,false),interlaced=false)
Changelog
Version Date Developer Changes
v1.1 2007/03/04 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.
External Links
- Doom9 Forum - Original post by Myrsloik.
- Doom9 Forum - Discussion about Bifrost v0.9.
Back to Bifrost v2.0 ←