or Connect
AVS › AVS Forum › Video Components › Home Theater Computers › Avisynth Script for doubling video frame rates
New Posts  All Forums:Forum Nav:

Avisynth Script for doubling video frame rates - Page 2

post #31 of 1968
Quote:
Originally Posted by sodaboy581 View Post

No, all Reclock does is make sure the video is perfectly in sync with your display. Eliminating judder.

It doesn't add extra frames to make the motion look more smooth.

i see. thanks for the info SODA. soda, do you watch all your videos with this motion smoothing?
post #32 of 1968
Quote:
Originally Posted by blazed View Post

watch all your videos with this motion smoothing?

Nah, I turn it on once in a while. The novelty of the whole thing wore off pretty fast with the artifacting that it causes every now and again.

It's pretty cool for watching things like Star Trek The Next Generation, most of the time, but when someone walks in the very front of the screen, (like say, in Ten Forward) there's some ugly outlining going on and kind of annoys me.

MVTools really wasn't designed to be used in real-time and it's only because CPUs are so fast that we can do it, but with the settings on low.

Maybe some day when I can use MVTools with the highest settings and still be able to real-time "motion flow" the image, I'll perhaps use it all the time, 'cuz I do like smooth movement.
post #33 of 1968
Thread Starter 
I use it all the time. Guys I got the new hardware and am testing settings this weekend. Right now I'm trying to get LPCM over HDMI...
post #34 of 1968
Quote:
Originally Posted by sodaboy581 View Post

Nah, I turn it on once in a while. The novelty of the whole thing wore off pretty fast with the artifacting that it causes every now and again.

It's pretty cool for watching things like Star Trek The Next Generation, most of the time, but when someone walks in the very front of the screen, (like say, in Ten Forward) there's some ugly outlining going on and kind of annoys me.

MVTools really wasn't designed to be used in real-time and it's only because CPUs are so fast that we can do it, but with the settings on low.

Maybe some day when I can use MVTools with the highest settings and still be able to real-time "motion flow" the image, I'll perhaps use it all the time, 'cuz I do like smooth movement.

i also watch dvds normal, but sometimes i watch it with the script you provided. sometimes i get the feeling of "soap opera" or cheap home made video on some dvds... do you ever get this feeling?

my pc isnt strong enough, but i would like to watch a 720p mkv files with motion smoothing. have you checked out any HD material with motion smoothing on? how does it look?

what is your current htpc set up?

in the ffdshow set up under "deinterlace" do you select "bypass" or are you choosing another setting?
are you also using blur and denoise?

sorry for all the dumb questions man.
post #35 of 1968
Quote:
Originally Posted by Bahn Yuki View Post

I use it all the time. Guys I got the new hardware and am testing settings this weekend. Right now I'm trying to get LPCM over HDMI...

NICE!!! let us know how it goes.
post #36 of 1968
with this, now I love my Media Player Classic. hehehe! When I tried 720p mkv files and skip videos using seek time, the audio is not sync with the video. I dunno why. I tried normal avi's and looks just fine.

P.S This is better than TrimensionDNM.
post #37 of 1968
Quote:
Originally Posted by sodaboy581 View Post

Nah, I turn it on once in a while. The novelty of the whole thing wore off pretty fast with the artifacting that it causes every now and again.

Exactly the same feeling...well I guess wait and see whats next.
post #38 of 1968
Thread Starter 
This is Kevin again. Been playing with Steve's quad core system. This thing is silly, it seems to have no problems adding in extra frames to get it to 72fps running 720p content, although I have to set the number of threads quite high (16-24) to get it to not hitch every now and then.
Script I'm using:
Code:
SetMtmode(2,24)
global idx1 = 10
global source=ffdshow_source()
source=changefps(source,source,true)
# assume progressive PAL 25 fps or NTSC Film 23.976 source
idx1 = idx1 + 1
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=idx1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=idx1)
source.MVFlowFps(backward_vec, forward_vec, num=3*FramerateNumerator(source), den=FramerateDenominator(source), mask=0, idx=idx1)
distributor()
Make sure that "Add ffdshow video source" is unchecked, or things don't run right. Also, set the back buffers to 0, and with 24 threads I have to set the ahead buffer to 12.
post #39 of 1968
thanks for all the info guys. i tried these settings on my friends pc, and it works pretty good for 720p mkv files.

ofcourse there is a bit of blurring around people in fast scenes, but i see it happen on my brothers xbr5 too.

for some odd reason, i cant get these settings to work on wmv-hd files.
post #40 of 1968
Quote:
Originally Posted by Bahn Yuki View Post

This is Kevin again. Been playing with Steve's quad core system. This thing is silly, it seems to have no problems adding in extra frames to get it to 72fps running 720p content, although I have to set the number of threads quite high (16-24) to get it to not hitch every now and then.
Script I'm using:
Code:
SetMtmode(2,24)
global idx1 = 10
global source=ffdshow_source()
source=changefps(source,source,true)
# assume progressive PAL 25 fps or NTSC Film 23.976 source
idx1 = idx1 + 1
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=idx1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=idx1)
source.MVFlowFps(backward_vec, forward_vec, num=3*FramerateNumerator(source), den=FramerateDenominator(source), mask=0, idx=idx1)
distributor()
Make sure that "Add ffdshow video source" is unchecked, or things don't run right. Also, set the back buffers to 0, and with 24 threads I have to set the ahead buffer to 12.

Doesn't work properly on my E8400 c2d. I guess it's for c2q only.
post #41 of 1968
Thread Starter 
Turn your settings way way down. The threads should be about 12...I have an e6300 @ 2.8. I'm going to put Vista SP1 on it real soon and believe me, I'll be doing some testing on that rig as well.
post #42 of 1968
Quote:
Originally Posted by Bahn Yuki View Post

Turn your settings way way down. The threads should be about 12...I have an e6300 @ 2.8. I'm going to put Vista SP1 on it real soon and believe me, I'll be doing some testing on that rig as well.

Still unstable playing 720p mkv files. This is my current settings, what did I miss?

post #43 of 1968
I almost forgot to tell that every time I play 720p using mkv files, it always frame skipping the video.
post #44 of 1968
@Bahn Yuki

It looks like your first script on first page worked for me but every time I close MPC, it will become unresponsive.
post #45 of 1968
The concept behind this is great, but there're still problems:

MVTools isnt fast enough to do 1920x1080p, even on a Quad-core.
We are using the lowest quality settings for MVTools, so there is still artifacting.

It works okay for 720p or non-HD resolutions though, but I resize all my videos to 1920x1080.

So for now I am sticking to speeding up 24fps material to 25fps @ 50Hz using ReClock. At least it looks the same as it does in the movie theater.

Looking forward to somebody making a breakthrough in quality/speed of MVTools or any other similar filter, so that 1920x1080 is doable with decent quality using most PCs.
post #46 of 1968
Media Player crashes every time I run it. Have I done something wrong with MVtools? Where do I place the DLLs?
Nevermind, I got it. Just hadn't registered avisynth.dll properly. LOL this is trippy...
post #47 of 1968
Hey Petros how did u stop media player from crashing? I'm having the same problem.. thanks
post #48 of 1968
also if someone could please tell me where to paste the script... i'm very new to this and having a difficult time.. sorry.. is there a tutorial for this?
post #49 of 1968
OK.. here's an update kinda... I was able to achieve that Samsung " auto motion plus" look with a 1080p downloaded version of Transformers. I don't think it was due to the Avisynth script though. I say that because when using MPC with the Avisynth box checked... the player crashes every time i hit the play button.. unchecked everything works fine. I don't know what i'm doing wrong as far as the plugins go but i must be doing something right in order to get that smooth video effect on HD content. who knows.. i'll keep playing around with avisynth to see if i can get it to play with the box checked...
post #50 of 1968
I recently bought a Toshiba 40RF350u and lamented the fact that it doesn't have 120Hz processing..it seems to make a big difference in the picture.

I didn't really think that 120Hz televisions were using a 120Hz refresh rate, maybe they are, I'm not sure. I figured it was the processing that made the difference, so I thought maybe someone has found a way to do it with ffdshow, did a google search and here I am!

I've hooked it up and it works great!!!
I made a couple of mistakes the first time I did the install so I figured I'd spell it out here.
(Links are given to make things easier, some of these can be found in other places)
  1. Install ffdshow ( I used rev 1977 ): http://www.afterdawn.com/software/vi...rs/ffdshow.cfm
  2. Install AVISynth 2.5.7 http://sourceforge.net/project/showf...group_id=57023
  3. Install MVTools for AVISynth:
  4. Install MT (multi-threading plug-in) for AVISynth:
    • Download: http://avisynth.org/mediawiki/MT
    • Place MT.dll into the avisynth/plugins folder
    • Overwrite c:/windows/system32/avisynth.dll with the avisynth.dll found in the the MT archive
  5. Configure FFDShow:
    • Enable avisynth for ffdshow
    • copy and paste the script from earlier in this thread into the script window
    • uncheck the RGB24 and RGB32 checkboxes
    • uncheck add ffdshow video source (anyone comment as to why? I read this somewhere)
    • configure codecs: (Is there a way to just process all video without changing codecs, esp. in vista media center?)
      • Select codecs in ffdshow.
      • For DVD: Change MPEG2 to libmpg2 and select the DVD decoding checkbox
      • For DVR-MS?
If you are playing video and the ffdshow icons don't show up in the tray, it isn't working.

If you are using Media player classic, you may have to disable some of the internal filters to get ffdshow to do the processing for you.
post #51 of 1968
Hey GOWRY.. Thanks for that tutorial.. i'll set it up as soon as i make it home from work today!! Does everything run smoothly?
post #52 of 1968
Thanks! I'll be very glad if the tutorial helps anyone.

As to the question on smoothness, it all depends on what I'm playing. I've tried to playback dvr-ms and can't get it to work very well...but it could be because the dvr-ms files are 1080i taken from a QAM tuner.

For DVD and some older television, the results are great! I have an E6300 running in my media center and it seems to keep up with the DVD's ok. I've only tried a couple, though.

I'd like to pre-render an HD source and see what it looks like. I think I can do it with AVISynth and some other program maybe.

Gowry
post #53 of 1968
HD video running at 59.940fps

One of my test videos seemed to gain no benefit from the processing. I looked at the script and the source material and found that the clip was running at 59.940 fps. I read on one forum that it was likely that it was frame doubled. I modified one of the scripts so that it became:

SetMtmode(2,24)
source=ffdshow_source()
source=changefps(source,29.970,true)
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
source.MVFlowFps(backward_vec, forward_vec,0,0, mask=0, idx=1)
distributor()

The key call was to changefps to convert it to half it's normal fps by discarding frames.

Gowry
post #54 of 1968
wow thanks for all the pics. just one question, what do you guys use for deinterlace? just leave it unchecked?
post #55 of 1968
Quote:
Originally Posted by 8:13 View Post

blazed,

For movies you don't need deinterlacing. Sometimes documentaries, asian films, or anime do need to be deinterlaced.
When you need to deinterlace, you should use powerdvd and hw acceleration, not ffdshow.

Also, in some movies I need to uncheck avisynth in ffdshow so I can see the root menu.
Once the movie starts I just recheck avisynth to get the fps at 60.

Sometimes when I pause the movie then restart it the fps is at 30, to fix this I pause for once second then play again, or seek to a different part of the movie and it works again. This is with media player classic.


thank you very much sir! jsut one last question, what is the difference between your script, and the script that bahn yuki pasted? will they both do the job with similiar performance?

im pretty new to this whole ffdshow thing, so i wasnt sure if i was supposed to change other settings, like deinterlace, sharpen, blur, noise, etc.
post #56 of 1968
Quote:
Originally Posted by 8:13 View Post

"Changefps will introduce judder itself which cannot be undone by mvtools nor motion.dll." - scharfis_brain

"the realtime interpolation quality of motion.dll is much better than the one of mvtools.dll." - scharfis_brain

Link

The scripts in this thread that use MVTools, us changefps.
By doing this, there will be judder.
If you use Motion.dll and do not use MT or Changefps, then there will be no problem.

The script I posted was by scharfis_brain.


THANKS for taking the time to help, i really do appreciate it. lots of info in the link too.
post #57 of 1968
Quote:
Originally Posted by 8:13 View Post

If your going to use MVTools instead of motion.dll. use this code.

ffdshow_source()
global idx1 = 10 # global hint by IanB
MT("""
idx1 = idx1 + 1
# different threads for top and bottom half of frame must have different idx (trick by Foxishadis)
backward_vec = MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=idx1)
forward_vec = MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=idx1)
last.MVFlowFps(backward_vec, forward_vec, num=2*FramerateNumerator(ffdshow_source()), \\
den=FramerateDenominator(ffdshow_source()), mask=0, idx=idx1)
""",2) # number of threads.



- The above code will only get you 48fps on a ntsc mpeg-2 dvd. Because of the pulldown.
In order to get the fps to match the refresh rate, you will need the code below instead.
Note, it does not use MT, that's because it causes problems with this particular script. It makes the screen suffer from horizontal tearing.

ffdshow_source()
backward_vec = MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
forward_vec = MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
last.MVFlowFps(backward_vec, forward_vec, num=75, \\
den=1, mask=0, idx=1)



- This code is for a 60Hz monitor, note I'm using a num=75. That makes 60fps.
mvtools only takes whole numbers for num.
Follow the multiplcation method I showed with the motion.dll config to calculate what you should set num to.

8:13, if you had to choose which to use, you would choose it without MVtools, right? also have you tried this motion smoothing on any hd content?
i'm thinking about building a htpc, what specs do you think would work for motion smoothing hd mkv files?
post #58 of 1968
Curious if anyone has compared this to actual REAL 120Hz TV motion processing for Blu Ray 1080p movies?

I have a Sammy 750, and if this works as good, I wouldn't mind saving a few bucks to downgrade.

Anyone?
post #59 of 1968
Quote:
Originally Posted by 8:13 View Post

...

A lot of the lcd tv's that have 120Hz refresh rates only use this for tv mode, not when hdmi is the input using hdmi mode. For hdmi mode the tv's that say they are 120Hz actually use 60Hz. I know I bought one. I bought into the 120Hz hype only to be sad when I used reclock and it showed me the actual refresh rate was half what I thought it was.

So, if you buy a 120Hz tv, make sure it goes 120Hz in hdmi mode, not just tv mode.

I'm not sure what you mean by "120 Hz TV mode". The panel itself is always 120Hz, but the input is 60Hz regardless of what source you are getting it from. This is to bypass the 3:2 cadence and do native 5:5 pulldown for less judder as result of it. The frame interoplation software works off this basis, as there is NO available 120Hz HDMI feed. Judging from the impressions you are getting on 1080p software frame doubling, the algorithm still needs a lot of tweeking and isn't as mature as the TV frame interpolators. That and you need some big time cpu power (4.0ghz quad core Yorkfield perhaps?).
post #60 of 1968
ok i would like to build a new htpc, and use the scripts here for smoothing out 720p &1080 mkv files.

right now i have saved up about $700. if you guys had $700 set aside for a htpc, what would you build? what cpu/gpu? motherboard?
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Home Theater Computers
AVS › AVS Forum › Video Components › Home Theater Computers › Avisynth Script for doubling video frame rates