Log in

View Full Version : My first filter: Super8Equal


Belgabor
18th March 2003, 00:14
After requesting the Filter SDK I feel oblieged to publish my filter, although it is probably of low interest for most people ;)


Overview:
One problem of the transfer of Super8 films to digital media is the inhomogenous
brightness produced by projectors. Usually the brighness drops in a circular
fashion from the center to the rim. This filter was written to counteract this
problem. (Alternatively it can be used to create the same flair ;) )


Usage:

Super8Equal(clip, center[float, 1.0], rim[float, 0.0], min[float, 0.0], max[float, 2.0])

center, rim: The brightness of pixels is multiplicated by a factor calculated
by linear interpolaration from the center factor to the rim factor,
dependant on the distance from the center of the picture.
The rim factor is reached in the corners of the picture.
min, max: These are cut off values. The factor will never go below min or
above max.

The filter is for AviSynth 2.5.x and works in all color spaces (the brightness alteration
is a bit diffrent between the RGB color spaces and YUY2/YV12).


Many thanks to Simon Walters for his sample on which this was built :)

Edit:
Download it here (www.geocities.com/belgabor/avs).

Cheers
Belgabor

mf
18th March 2003, 14:13
Wouldn't it have been easier to port neuron2's HotSpot filter (http://shelob.mordor.net/dgraft/hotspot/hotspot.html) ?

frank
18th March 2003, 17:14
Und wo ist der Download Link?

Guest
18th March 2003, 17:43
Originally posted by mf
Wouldn't it have been easier to port neuron2's HotSpot filter (http://sauron.mordor.net/dgraft/hotspot/hotspot.html) ? Please update your links to my site as below (shelob rather than sauron).

My Hotspot filter uses a mask directly obtained from the projector and therefore exactly matches the luminance discontinuities. I also found that both multiplicative and additive adjustments were required for best results.

Belgabor
19th March 2003, 11:25
Doh! I should have known you made such a filter Donald, knowing you did an anti flicker filter. Anyhow mine's at least AviSynth ;)
To its working condition I have to say I didnt yet test it on footage. I wrote it for my dad who wants to cap all his old super8 films but he hasnt done any real captureing yet.

The file is attached to my first post, but either its not been moderated yet or the forum's been funky on it. I'll see if I can put it somewhere else when I get home this evening.

Cheers

Guest
19th March 2003, 11:51
@Belgabor

I've no problem at all with you making such a filter for Avisynth, or VirtualDub for that matter. :)

I just thought you might find some useful ideas from the earlier work.

Belgabor
19th March 2003, 12:05
Originally posted by neuron2
@Belgabor

I've no problem at all with you making such a filter for Avisynth, or VirtualDub for that matter. :)

I just thought you might find some useful ideas from the earlier work.

Thats how I understood you ;)
I certainly will have a look at your sources when I have some footage to play with (well, from the pics on your page I already got the idea to add options to move the center, something that hadn't occured to me.)
In fact my first implementaton idea was to calculate a mask first and apply that, but then I found out that you can't access frame dimensions from the filters constructor (have I overlooked something there?)

sh0dan
19th March 2003, 12:21
@Belgabor: Use vi.height & vi.width to access frame dimensions.

Belgabor
19th March 2003, 12:30
Doh! Looking for GetHeight() and GetWidth() like in Clip I overlooked those ^^'

sh0dan
19th March 2003, 12:48
Just writing a "speech", so it can be put up on avisynth.org:

VideoInfo is considered the "constant" video info. This can not in any way change. The information such as width, height and colorspace cannot change. So the information you get from this can be trusted to be the same from all frames you recieve. If you change the VideoInfo you have recieved it will not change the frames you recieve, but a modified 'VideoInfo vi' can be sent to env->NewVideoFrame(vi) and a new frame with the changed parameters will be created. Only your own filter can modify the VideoInfo given to your filter.

PVideoFrame contains information about a particular frame you requested. Height and Rowsize should not change (this can be considerd a bug). Pitch can change, so you cannot rely on pitch being the same for all frames you recieve.

Belgabor
20th March 2003, 04:47
Original post updated with a link to the file.

lex3
20th March 2003, 11:13
Hi, everybody.

There is a nice VirtualDub filter - Radial Luminance Correction

It can be found here:
http://web.tiscali.it/minomala/virtualdub/filters.htm

mf
20th March 2003, 12:40
Originally posted by neuron2
Please update your links to my site as below (shelob rather than sauron).

Rather mail google and tell them to remove sauron, or just add a "permanently moved" http redirect to shelob. Usually I type in urls from my address bar (like "shelob.mordor.net/dgraft" or "roeder.goe.net/koepi") but this time I was too lazy and used google.
Anyway, I edited my post. Could you enlighten me on why the new url, and why they both still co-exist, and not updated on google yet ?

Guest
21st March 2003, 18:17
Originally posted by mf
Could you enlighten me on why the new url, and why they both still co-exist, and not updated on google yet? The people I want to find me will do so. :)

My site is contributed by Chris Mauritz. I do not administer it. One day sauron died and the site was restored to shelob. That is all I know. I will ask Chris to make a redirect. Thank you for pointing out the inconvenience this causes.

Don (safely back from India after Lufthansa re-routed around the Gulf)

th3obr0
30th June 2009, 14:17
Sorry for the bump. I was going through AVISynth.org's Section 3 and found this. Any possibilities of getting the Super8Equal files? Google didn't help.