Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 15th March 2005, 03:27   #201  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
if you remember, I got geforce2 MX400, I can't do squat. T_T
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)
DarkFoon is offline   Reply With Quote
Old 15th March 2005, 06:12   #202  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
DarkFoon,
The first thing in my "to do" list is full rewrote to implement fixed overlapped size (for speed increasing). But it will take some time.

What is variable sigma? per block or per frame?
The are Authothreshold in Vaguedenoiser, for example.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 15th March 2005, 07:00   #203  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
Though it may slow things down considerably, I was thinking variable sigma per block. Per frame would be too inaccurate and result in worse quality.
Maybe trying out the autothresholder from VagueDenoiser would be good first test of the idea.

[Edit]
Maybe the autothresholder's values could be normalized(?) or averaged or scaled to be relative to the user set value. For example, if the user-set value is 3, and the autothresholder wants to use a sigma of 10 for a block, it would be averaged (or normalized, or whatever) to a more reasonable value like 5, so it stays relative to the user value (it is still below it, just not so far off). Or lets say the autothresholder wants to use a value of .25, but average that against the user value, and the result is 2.25, a better value. Basically, the values are "gaussian distributed" (I stole that from the BlockBuster README) around a user value. Meaning, sure a 10 could be used, but it would be once in a thousand. much more likely, however, would be a 2 or a 4 (still assuming that the user value is 3).
This all assumes that the autothresholder would be turned on with a boolean argument. Like auto=true/false.
Of course, you could ignore all this too, because it doesn't make much sense to me, and I bet it doesn't make much sense to you either. (I'm tired )

I hope it made sense, though. In some way.
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)

Last edited by DarkFoon; 15th March 2005 at 07:45.
DarkFoon is offline   Reply With Quote
Old 15th March 2005, 07:03   #204  |  Link
Backwoods
ReMember
 
Backwoods's Avatar
 
Join Date: Nov 2003
Posts: 416
Or have an option for "per frame" or "per block".
Backwoods is offline   Reply With Quote
Old 16th March 2005, 00:23   #205  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
leonid_makarovsky,
Version 0.8.3, March 16, 2005 - fixed sharpen mode (bt=-1) for YUY2.

DarkFoon,
Not now. May be later. May be not. There are no good algo to estimate noise.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 19th March 2005, 06:04   #206  |  Link
LordIntruder
Registered User
 
Join Date: Jan 2003
Posts: 109
Hi,


I would like to know if adding "measure=true" help to improve the general encoding speed?

Thanks.
LordIntruder is offline   Reply With Quote
Old 19th March 2005, 18:22   #207  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
yes it does.
measure=true basically gives the FFT the time it needs to find the optimum equation (or operation, something like that) for your bh/bw and CPU. turning it off means that when you load your script, it loads faster, but overall it is less efficient than if you had measure=true. It just slows down (about 1-2 seconds on a PIII 800Mhz) how fast your script initially loads. (when you drag it into VirtualDub, for example, the video wont display for a second or two)
This has no effect on the filter's ability to filter, and it has no effect on the quality of video, it just makes it faster legally

Hope that helps (kinda a lot there... sorry)
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)
DarkFoon is offline   Reply With Quote
Old 21st March 2005, 04:37   #208  |  Link
LordIntruder
Registered User
 
Join Date: Jan 2003
Posts: 109
Hi,


Thanks for the answer

Well I encoded a 10000 video frames to see what gain I could expect and with this parameter for FFT:
'FFT3DFilter(sigma=3, bt=3, measure=true)'

Without FFT:

1st Pass = 13 min
2nd Pass = 37 min

FFT Measure True:

1st Pass = 53 min
2nd Pass = 80 min

FFT Measure OFF:

1st Pass = 59 min
2nd Pass = 82 min

So the impact of 'measure=true' option is light but on a a full DVD encode, the gain should be (for my machine a 2400+ with 1Gb Ram) roughly 1 hour minimum for the first pass (and the 1st pass should take around 11 hours ).

In my example I selected the heaviest solution with latest XviD beta: Qpel, GMC, VHQ4, VHQ for bframes, Chroma motion, etc...

On the few short tests I did, what surprises me is the compression gain you get with this filter. I need to encode a full movie with and without this filter to confirm it but my first feelings are amazing. Thanks to this filter I could rise the resolution on difficult movies to encode. I currently have a movie (a bit grainy) that I encoded in 640 x 464 and the result is very good, after a compression test using FFT it appears I could encode this movie in 720 x 564 with similar quality. I will see that this week. Of course the drawback is the awful slowness of this filter but I tested the GPU version and this one is amazingly fast.

Thanks and cheers for the excellent work on this filter.
LordIntruder is offline   Reply With Quote
Old 21st March 2005, 08:49   #209  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
@Fizick
since avisynth filters are open source, isnt is possible that you could take the algorithm from PeachSmoother used to estimate noise? That one is very good. (actually, before FFT3d, that was my temporal filter of choice)
Just a thought that occured to me.

@LoadIntruder
I can't wait for your full results. But thanks for the ones you have posted. They are a welcome justification.
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)
DarkFoon is offline   Reply With Quote
Old 21st March 2005, 10:38   #210  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
Peach is not GPL
Wilbert is offline   Reply With Quote
Old 21st March 2005, 10:43   #211  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
well don't that beat all (i.e. damn!)
I wonder why, though...
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)
DarkFoon is offline   Reply With Quote
Old 21st March 2005, 14:21   #212  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,718
Has anybody been able to contact Lindsey Dubb? I remember that someone was looking for the sources and Richard Berg (who ported the filter to AVS2.5 and does have them) said he would ask Lindsey if they could be released. IIRC Lindsey had earlier said that if he disappeared for a long time, they should be made available.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 27th March 2005, 09:09   #213  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
@fizick
I noticed a strange problem with FFT3D when filtering anime with seperatefields() before it.
The lines in the anime are made really jaggedy and look terrible. Is there anyway to put a special "fields mode" into FFT3d, so that it compensates for field jitter (which is what I suspect is the problem)
What I had in mind was that it would shift the even field up one line, so that it matches the odd field on the time axis.
an example:
normal operation with seperate fields
Code:
o
 e                         
o                         o e
 e  --fields to frames--> o e         [[FFT3D]]
o                         o e 
 e                        o e
o                         --time axis-->
 e
Thus, the lines (as in the drawings in the frame, not the interlacing) appear to 'jitter' to FFT3d when it compares the fields, so it destroys them, trying to remove noise.


Operation with seperate fields and compensation
Code:
o e
                         
o e                       o e
    --fields to frames--> o e         [[FFT3D]]
o e                       o e 
                          o ^
o e                         e
  ^                       --time axis-->

... hmmm.
well that example sucks, but do you know what I am saying? I could take screenshots if that would help. (I'm really bad at describing this kind of thing. It makes sense in my mind)
Let me know if I need to clarify.
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)

Last edited by DarkFoon; 27th March 2005 at 09:46.
DarkFoon is offline   Reply With Quote
Old 27th March 2005, 20:20   #214  |  Link
Backwoods
ReMember
 
Backwoods's Avatar
 
Join Date: Nov 2003
Posts: 416
I've noticed some jaggies on live action video with SeparateFields() also.
Backwoods is offline   Reply With Quote
Old 27th March 2005, 22:10   #215  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
http://www.avisynth.org/InterlacedSmoothing


But is your anime really interlaced?
I never see any anime
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 27th March 2005, 22:36   #216  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
Thanks for the link Fizick, it was exactly what I had in mind!
But it makes the filter run slower. And it looks like less noise is removed with the function...
Here are some examples!

With plain Seperatefields()

Look closely at the diagonal lines on the suit of armor. (The more diagonal the line, the worse the jaggies are)


With Interlaced Function

see? No jaggies at all!

I don't feel like posting the script right now. I will if somebody asks me to, however.

Yes, it is interlaced, because its a TV capture.
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)
DarkFoon is offline   Reply With Quote
Old 28th March 2005, 01:32   #217  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally posted by DarkFoon
Yes, it is interlaced, because its a TV capture.
No, it's interlaced because it was telecined from 23.976 to 29.97 FPS.

If you record something straight from TV here in PAL land and it was a movie to begin with it's progressive...

Even if it were interlaced, the non-moving parts would still look progressive, after all - and I don't think Ed and Al were moving much in that scene...

np: Rhythm & Sound with Willi Williams - See Mi Yah (See Mi Yah)
Leak is offline   Reply With Quote
Old 29th March 2005, 04:54   #218  |  Link
DarkFoon
Awakened to video Dec2003
 
DarkFoon's Avatar
 
Join Date: Dec 2003
Location: US West
Posts: 191
@Leak
Alas, I live in the land of NTSC, yes there weren't moving much in that scene, nonetheless, the video was captured interlaced and when Al bent his arm down about 15 frames after the example, there is interlacing. If I don't use some sorta of field splitting and just FFT3D on the image, it really messes up the image. It blends the lines and such.
I don't like running IVTC on my anime, it takes too long to get it perfect (like weeding out frames detcted wrong). If it would work the way I want it to, I would run Telecine(), then FFT3D(), and finally Weave() to keep my interlacing, but that wouldn't always work. I don't think.. maybe I should try it... hmmm.
Gotta go, Gonna try that now..
__________________
Mac killed my inner-child

My Quant Matrices:
Caerulea
For MPEG-2 DVD Destination Anime

Simple Lo
General Purpose MPEG-2 (tested with anime only)
DarkFoon is offline   Reply With Quote
Old 4th April 2005, 21:03   #219  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
So, I at last release version 0.9, April 4, 2005 - variable overlaping size ow, oh for more fast processing
Doubled overlap sizes must be not great than block sizes
In the all previous version I used fixed overlap size = (block size)/2
Now default is (block size)/4 as more fast.



Try!
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 4th April 2005, 21:07   #220  |  Link
leonid_makarovsky
Registered User
 
Join Date: Oct 2004
Posts: 129
A question. I have a clip of size 704x576. The output clip, however, should be 352x576. I would like to run it through FFT denoiser to donoise and sharpen. What's the best way?

PixdieDust()
fft3dfilter(sigma = 2, bt = 3, sharpen = 1.0)
LanczosResize(352, 576)

Or would it be better:
PixdieDust()
LanczosResize(352, 576)
fft3dfilter(sigma = 2, bt = 3, sharpen = 1.0)

Thanks.

--Leonid
leonid_makarovsky is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 19:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.