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
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th September 2011, 17:54   #1481  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
Quote:
Originally Posted by StainlessS View Post
MVTools v2.5.11.2

Other MVTools functions return planar YUY2 when given them
as source, however MFlowInter returns Interleaved, surely not right.

Is this a bug or am I doing something stupid ?
Its a bug ( (a typo in the variable init - thanks cretindesalpes).
Fixed today in v2.5.11.3
__________________
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 12th October 2011, 17:46   #1482  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,361
What's the deal with pel=2 and assumeframebased()? I read people use it for more speed but documentation only states it is necessary when feeding field based material.

Quote:
Originally Posted by Didée View Post
This is equivalent to squaring the normalized SAD weighting - in places where a simple MDegrain would achieve 40% denoising, you will now get only 16% denoising (0.4*0.4=0.16)
Then couldn't you just revert the effect? At the mask level, where mdegrain is going to denoise 40%, that is value 102 in the mask, I would get 16% of denoising. So by modifying the mask and converting value 102 to 40.8 I can get back to 40% of denoising

sad6.mt_lut("x x 255 / *")

In theory I mean, because mdegrain denoising is limited to the internal mask that is already passed, so we can not get back the denoising we have just lost. What could be done is make the internal mask a more flexible element where masktools can work with, or in the other hand by now find a correlation of the above code and try to match in the internal mask creation (through thSAD, lambda, etc)
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread

Last edited by Dogway; 13th October 2011 at 00:44.
Dogway is offline   Reply With Quote
Old 27th October 2011, 23:52   #1483  |  Link
Dragonshadow
Registered User
 
Join Date: Jul 2010
Posts: 4
Is there a way to increase the performance of this, or is my flow entirely wrong? :

Quote:
AVISource("intermediary.avi", audio=false)

ConvertToYV12()

super = MSuper(pel=4)
backward_vectors = MAnalyse(super, search = 3, isb = true, lsad = 1500, lambda=1500, truemotion=true)
forward_vectors = MAnalyse(super, search = 3, isb = false, lsad = 1500, lambda=1500, truemotion=true)
MFlowBlur(super, backward_vectors, forward_vectors, blur=200, prec=1)

super2 = MSuper(pel=4)
backward_vectors2 = MAnalyse(super2, search = 3, isb = true, lsad = 1500, lambda=1500, truemotion=true)
forward_vectors2 = MAnalyse(super2, search = 3, isb = false, lsad = 1500, lambda=1500, truemotion=true)
MFlowFPS(super2, backward_vectors2, forward_vectors2, num=30000, den=1001)
I'm using it to take a 60p source, add motion estimated blur, and smoothly reduce the framerate to 29.97. Problem is even on my i7 I only render at about 0.14 fps (Rendering as x264 with medium preset, crf 18, high profile unrestricted). This makes a 20 minute video take upwards of a day and a half to render, and that's unacceptable.

It may be worthy to note I'm using MeGUI 2050 x86, and if my script looks funny, that's because I barely understand what I'm doing with it.

Last edited by Dragonshadow; 27th October 2011 at 23:59.
Dragonshadow is offline   Reply With Quote
Old 28th October 2011, 00:33   #1484  |  Link
Redsandro
Unregistered User
 
Redsandro's Avatar
 
Join Date: Jul 2008
Location: Netherlands
Posts: 133
I experienced similar slow times, but I thought that was pretty normal. After all, compensating is a slow process and MflowBlur creates "many copies of partially compensated pixels at intermediate time moments in some blurring interval around current frame".
__________________
avi + m2t -> Vdub + DGIndex -> AE CS3 -> x264 -> Hell On Earth
Woop, woop! That's the sound of the police!
Redsandro is offline   Reply With Quote
Old 28th October 2011, 02:56   #1485  |  Link
gyth
Registered User
 
Join Date: Sep 2011
Posts: 86
You aren't interpolating any frames, so use SelectEven instead of MFlowFPS.
gyth is offline   Reply With Quote
Old 28th October 2011, 08:04   #1486  |  Link
Dragonshadow
Registered User
 
Join Date: Jul 2010
Posts: 4
Quote:
Originally Posted by gyth View Post
You aren't interpolating any frames, so use SelectEven instead of MFlowFPS.
Wouldn't that end up with a worse quality, since I'm not blending the blended frames together? (Or are you saying decimate it first, THEN blur? That wouldn't make sense either)

Also, how would I selecteven to 29.97 from 60p? It's literally 60fps, not 59.94.
Dragonshadow is offline   Reply With Quote
Old 28th October 2011, 17:04   #1487  |  Link
Redsandro
Unregistered User
 
Redsandro's Avatar
 
Join Date: Jul 2008
Location: Netherlands
Posts: 133
Playback 30fps at 99,9% speed? Reflowing the entire video will definitely throw away valuable information per frame, and flow predictions aren't perfect.
__________________
avi + m2t -> Vdub + DGIndex -> AE CS3 -> x264 -> Hell On Earth
Woop, woop! That's the sound of the police!
Redsandro is offline   Reply With Quote
Old 28th October 2011, 17:25   #1488  |  Link
Dragonshadow
Registered User
 
Join Date: Jul 2010
Posts: 4
Quote:
Originally Posted by Redsandro View Post
Playback 30fps at 99,9% speed? Reflowing the entire video will definitely throw away valuable information per frame, and flow predictions aren't perfect.
I don't understand what you mean, throwing away information? I'm going to be uploading this to youtube, and last I recall they convert everything to 29.97. If I do it myself ahead of time then I avoid possible encoding and audio sync issues. If mflowfps isn't the best way to reduce from 60fps to 29.97fps, then what is? (Likewise, if mflowblur isn't the best way to add motion estimated blur, what is?)

Last edited by Dragonshadow; 28th October 2011 at 17:31.
Dragonshadow is offline   Reply With Quote
Old 28th October 2011, 17:49   #1489  |  Link
Redsandro
Unregistered User
 
Redsandro's Avatar
 
Join Date: Jul 2008
Location: Netherlands
Posts: 133
Quote:
Originally Posted by Dragonshadow View Post
I don't understand what you mean, throwing away information?
The frames in your original movie contain real data. If you reflow the entire video, regenerate every frame with motion vector distorted replacements of actual frames, you're throwing away real information and replacing it with an error-prone substitute.

To convert 24 fps cinema movies to 25 fps DVD's, the studio's just play the movies 4% faster instead of messing with the frames. To go from 30 fps to 29.97, you could to the same and go 1% slower in stead of regenerating the frames.

Quote:
I'm going to be uploading this to youtube, and last I recall they convert everything to 29.97.
Not sure, but I thought youtube converts everything above 30fps to 29,97 fps. You could just SelectEven() and upload to youtube as private video to see if the result is indeed clean 30fps.
__________________
avi + m2t -> Vdub + DGIndex -> AE CS3 -> x264 -> Hell On Earth
Woop, woop! That's the sound of the police!
Redsandro is offline   Reply With Quote
Old 28th October 2011, 19:00   #1490  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Small point but 30FPS to 29.97FPS is a reduction of 0.1% not 1.0%.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 28th October 2011, 19:17   #1491  |  Link
gyth
Registered User
 
Join Date: Sep 2011
Posts: 86
Quote:
Originally Posted by Dragonshadow View Post
If mflowfps isn't the best way to reduce from 60fps to 29.97fps, then what is?
SelectEven()
AssumeFPS("ntsc_video", sync_audio=true)

Quote:
Originally Posted by Dragonshadow View Post
(Likewise, if mflowblur isn't the best way to add motion estimated blur, what is?)
It is probably the best way. But are you sure you want motion blur?
Be sure to try with/without to make sure it is an effect you want.
gyth is offline   Reply With Quote
Old 28th October 2011, 20:20   #1492  |  Link
Redsandro
Unregistered User
 
Redsandro's Avatar
 
Join Date: Jul 2008
Location: Netherlands
Posts: 133
Quote:
Originally Posted by StainlessS View Post
Small point but 30FPS to 29.97FPS is a reduction of 0.1% not 1.0%.


That's probably a good point.

Quote:
Originally Posted by gyth View Post
SelectEven()
AssumeFPS("ntsc_video", sync_audio=true)
That's it. That's how they do it in Hollywood.

Quote:
are you sure you want motion blur?
Be sure to try with/without to make sure it is an effect you want.
Indeed. Without, you get a more cinema-like shutter effect which is actually kinda popular amongst cinematographers. I remember HDV camera's were hip when they supported 25p instead of 50i, because of the shutter effect.
__________________
avi + m2t -> Vdub + DGIndex -> AE CS3 -> x264 -> Hell On Earth
Woop, woop! That's the sound of the police!
Redsandro is offline   Reply With Quote
Old 31st October 2011, 10:57   #1493  |  Link
Dragonshadow
Registered User
 
Join Date: Jul 2010
Posts: 4
What exactly is the "temporal" flag actually used for with MAnalyse? I'm not sure if I need it or not for blending, and it's the only thing stopping me from going multi-threaded.

Right now I'm trying to figure out what's causing my audio to be out of sync no matter what I do. I'm using megui so the audio is encoded with nero aac encoder before the video is encoded.

Last edited by Dragonshadow; 1st November 2011 at 02:55.
Dragonshadow is offline   Reply With Quote
Old 3rd November 2011, 17:44   #1494  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,733
Does MDegrainx require levels=0 in MSuper or will levels=1 do?
__________________
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 3rd November 2011, 17:55   #1495  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Mdegrain does not require any specific levels in Msuper. But MAnalyse does.

Therefore

- if you use the same 'super' clip for both MAnalyse and MDegrain, then you need all levels. (Or as much as you want to be used in MAnalyse.)

- if you use separate 'super' clips for MAnalyse and MDegrain, then you need all (or as much as...) levels for the super clip of MAnalyse, but can use minimal levels (1) for the super clip of MDegrain.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 5th November 2011, 17:15   #1496  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,733
A small bug noticed: MShow doesn't support 32-pixel blocks. It shows only green borders around the video.
__________________
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 5th November 2011, 17:54   #1497  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,733
Seems more like there is something wrong with 32-pixel blocks.

Using this script:
Code:
DGSource("2001.dgi")
Crop(0,112,-0,-112,true)

prefilt=FFT3DFilter(sigma=3,bt=3)
superanalyse=MSuper(prefilt,pel=1)
supermdg=MSuper(pel=1,levels=1)
fv1=MAnalyse(superanalyse,blksize=32,dct=5,isb=false,delta=1)
bv1=MAnalyse(superanalyse,blksize=32,dct=5,isb=true,delta=1)

MDegrain1(supermdg,bv1,fv1,thsad=200)
I get this result:

The next frame is overlaid there. If I use blksize=16, there's no problem. The issue occurs at scene changes only.
__________________
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 6th November 2011, 11:38   #1498  |  Link
cretindesalpes
͡҉҉ ̵̡̢̛̗̘̙̜̝̞̟̠͇̊̋̌̍̎̏̿̿
 
cretindesalpes's Avatar
 
Join Date: Feb 2009
Location: No support in PM
Posts: 712
Indeed, it looks like the SATD calculation (at least dct=5 and 6, maybe the other SATD modes too) goes totally wrong when blksize=32. I'll take a closer look at this issue soon.
__________________
dither 1.28.1 for AviSynth | avstp 1.0.4 for AviSynth development | fmtconv r30 for Vapoursynth & Avs+ | trimx264opt segmented encoding

Last edited by cretindesalpes; 6th November 2011 at 11:50.
cretindesalpes is offline   Reply With Quote
Old 6th November 2011, 17:30   #1499  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,733
While testing various settings, I noticed that I have to use the same pel for the super clips used in MAnalyse and MDegrain (otherwise I only get a crash). Is this intentional?
__________________
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 6th November 2011, 19:34   #1500  |  Link
cretindesalpes
͡҉҉ ̵̡̢̛̗̘̙̜̝̞̟̠͇̊̋̌̍̎̏̿̿
 
cretindesalpes's Avatar
 
Join Date: Feb 2009
Location: No support in PM
Posts: 712
Vectors must have been generated with the same pel setting as the superclip used in the utility functions (MDegrain, MCompensate, etc). Anyway it should definitely output an error message instead of crashing in case of inconsistency.
__________________
dither 1.28.1 for AviSynth | avstp 1.0.4 for AviSynth development | fmtconv r30 for Vapoursynth & Avs+ | trimx264opt segmented encoding
cretindesalpes is offline   Reply With Quote
Reply


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 10:26.


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