Looks like you came to the right place Skaven...
Pages 1
You are not logged in. Please login or register.
SmoothVideo Project → Posts by Nick 3DvB
Pages 1
Looks like you came to the right place Skaven...
Same here... I will ask some devs on mtbs about it, hopefully we can still use SVP as the input.
@Chainik, thanks for splitting the thread, please explain what files need editing to add custom "decrease frame size" to 640x800 ?
That video is very cool, I think it is actually running in the Skyrim game!
On an "IMAX size" flat screen you will only have very limited movement, because you don't want to zoom in too much, but even a small amount of movement is very important, normally when you watch a movie on a HMD (with no tracking) you must keep your head very still, if you move your head then the screen will move with your eyes and it makes you feel sick. This is because your balance sense tells your brain you are moving but your eyes have no motion reference, its a common problem and another good reason we need to get pan & scan working.
SVP colour bars give you a good reason to move your head, to see why they happened! But when you hit the side of the screen it will just stop, but maybe we can add a special effect to this, like the iPhone menu bounce! Another idea is to warp the screen outward so it "wraps around" your vision, like a projector cave, the head-tracking then pans your view around this curved screen, but on most normal movies you will miss important things, and your neck will get very tired!
I don't actually think we need to recalculate the light bars in real time, I think it will be ok to always calculate them from the outside edge of the base video, the difference is so small you will not notice it. This is true for the top and bottom bars anyway, which have to be very large because of the aspect-ratio of the Rift screen (4:5). I think to create the side bars we could just apply a "frosted glass" effect to the base video because it will fill the whole horizontal axis anyway, but we can still use SVP for the sides if it looks better to match the other bars.
ps - Do you have an experience with the Direct3D video renderers? I have only ever seen them used in media players to stop tearing problems.
I don't have a prototype yet, but someone is helping me test in the MTBS3D forum, I posted the link for you to look at before. I was hoping we can still use SVPFlow together with a Direct3D renderer in "2D mode", maybe that will be fast enough to give smooth panning. The base texture is just the movie zoomed by 20%, the overlay texture is the SVP color bars output (with an alpha channel "screen window" in the middle) then we just move the relative positions with the head-tracking input. Really it will be four textures (two for each eye) but lets not worry about that yet! Sadly I am not a DirectX developer, but there are already a few people working on making "virtual cinemas" using a video texture map like this:
http://www.youtube.com/embed/9pIZZi0JRks
But watching a movie inside a whole virtual world is a very different type of experience, my idea is more like being IN the movie, well maybe not - more like being the camera man shooting the movie! The head-tracking interface is not so hard, the rift tracker will be perfect for this because its gyros are very fast, and we don't really want to map all head translations anyway, it might be cool to have a zoom effect but lateral head motions would produce an uncomfortable stereoscopic effect. It will be great to have the color bars to watch normal 3D movies on the Rift, if we can also have head-tracking to it would really be amazing, but as you said the hardest thing is making the frame pan smoothly, if it is jerky then the magic will be broken...
Thanks I found the thread about custom profile but I have not been able to get it working yet, I will keep trying, for the Rift we just need a profile for half the horizontal resolution reported by the display (because it is side by side). But that is an easy fix, the main thing I need help with is the pan & scan idea, just changing the aspect ratio of the color bars in real time will not work, because the "screen" will follow your eyes when you move your head! We need to "zoom in" the video about 20%, to overlay the color bars to make a frame that is 20% smaller than the video resolution, it is this frame that has to move over the video as you move you head. I think we can do it using the crop feature but it has to be much faster to work with head-tracking, I really don't know where to start with this so any ideas you can give me would be very helpful.
EDIT: This is a photo taken through one "eye" of an early Rift prototype, it should give you an idea.
Note - It looks very bad for several reasons: the image is not filling the LCD (aspect ratio problem) the lens is too far from the screen, the camera is not in the correct eye position, and there is very strong moire pattern, don't worry the pixels will not look that bad in the final rift.
I don't think audio sync will be a problem, more that the camera view for each eye I will be in the wrong position / time, even small errors will cause problems with the stereoscopic effect. I agree that software like Vegas / FinalCut / Premier are not very robust about strange input formats, much better to fix it with something else first.
I think he wants to use the audio stream as a reference, to lock the positions of the "real" frames, because it is very important to keep the left and right eyes in sync for 3D. It might be easier to do some tests with SVP, if he uses DirectShowSource in the avisynth script he is using for DeFish warping then SVP manager should intercept it automatically, it has an option for "variable frame-rate repair" so maybe that would work? It is just an idea though, it is probably better to do it in a separate step using the script you posted for MVTools 2.5.
PS - Have you had any time to think about my idea in the 3D support thread?
Please let me know if I can explain anything better, about how the Rift HMD works etc.
thanks
Yes the Oculus Rift. I am in the same boat as you - I don't have mine yet either (don't worry from what I hear the delays will be worth the wait!). No I'm not really a developer, I have played around a bit over the years but I'm more what John Carmack might call "one of the hack / maker crowd". I've been working on some head-tracking ideas on MTBS3D and should be getting one of the first run of 100 DIY kits very soon.
In the mean time someone is helping me test SVP with a home-brew Rift design. It is working quiet well already but what we really need is a custom "Decrease Frame Size" option because non of the current presets will fit and I can't work out how to add one to the SVP profile files, any ideas? The fact that Stereoscopic player can't re-adjust the frame size automatically is also a big problem for the color bars even if the ffdshow thing is fixed, there doesn't seem to be a render delay command line option either so I've been trying to work out another solution.
I have done some quick tests with head-tracking for pan & scan on my CRT by mapping MPC's shortcut keys but it is not very smooth, I'm hoping SVP can do a much better job of that. The pan & scan effect I want is quiet hard to describe; when watching a 3D movie through SVP on the Rift with head-tracking enabled it should be just like looking through glasses that have a semi-transparent frosted border around the lenses, the 3D movie world appears stable because the color bars form a window that smoothly pans across the stereo scene as you move your head (even a few mm) I hope that makes sense...? It should look awesome at 60fps but for your brain to buy it we HAVE to get the panning just as smooth as the SVP interpolation video framerate. Lets make it happen!
Hi, I got it working! I could not get any side bars for a long time with the script you posted, I am not very experienced with avisynth but in the end I worked out it was an aspect ratio problem, then I had to find a way to over-ride super's smoothfps_params to set both aspect ratios. It is hard to find the correct balance for both on different video / screen resolutions, maybe you could add some sliders to the GUI in a future release? I am still doing some tests to find the best way to blur / soften the hard edges, but if you have any ideas on that it would be helpful.
Also, to make the Rift HMD head-tracking work with SVP we will need an interface to control zoom/crop and pan & scan from SVP itself, because we only want to effect the video window, so we can not use the player's controls or this will also include the colored bars. I posted some quick videos, but they are very low quality, and you will probably think it looks very strange! The warping and video aspect ratio are not 100% correct yet but this is actually the kind of output we need to watch "normal" 2D/3D video through the Rift HMD optics:
http://www.youtube.com/watch?v=nFlRHRXdHqw
http://www.youtube.com/watch?v=FU-9D9ATQps
I will also be posting updates in the MTBS thread if you are interested:
http://www.mtbs3d.com/phpBB/viewtopic.p … 825#p86825
thanks
Good idea, I will do some tests when I get home, thanks again for all your help so far.
Great, I am on a work PC at the moment but will try it out ASAP.
What do you think about the blended mirror overlay idea to soften the edges?
SHV = Super HiVision (NHK form of 8K) But I know this is a long way off!
My main worry today is artifact free MVC for 3D on my poor old AMD box.
If LAV filters can't do MVC on CUDA then my CPU will be in trouble...
3D (MVC), 4K, SHV, 120Hz etc
Cool, that looks ok! I was worried we might have 4 black squares! If we can soften the frame edges a bit that should be fine, maybe we can mirror the bars effect back over the video frame itself, but the mirrored side would need more fading (get much lighter towards the center) but this still would not work in the corners right? Can you post the usage syntax for the above? Thanks again for testing it.
So OpenCL is not magic after all, I suppose we just need to wait for faster CPUs, finally something to make use of all those cores.
Thanks, I thought maybe this effect was done with a different avisynth plugin, but now I can see the light: {
I'm glad that it should be possible with two instances, I wonder what is the best way to deal with the missing corners problem?
We might not need colour bars on the sides if we can warp the image inwards (to look like a curved projector screen)
and then use head-tracking for active pan&scan, then maybe just color bar at the top / bottom will work ok,
it is hard to tell at the moment but I should have my Rift soon so I will be able to test it for real.
I thought SVPflow did both 1 & 2, there must still be some elements of these that can no be off-loaded to OpenCL.
ok, is the color back bars effect done by SVP internally, I coundn't find any scripts for it?
I can't work out if there is any way to "zoom out" (to add colored black side bars without cropping)
It would also be good to have some control of blending / dithering the hard screen edges somehow.
Hopefully you can added some features needed for the Rift in the a future version.
thanks
So what is eating all these CPU cycles ?! What else is left - AVIsynth?
I don't think there is any chance of porting that to OpenCL any time soon!
For 3D bluray it doesn't really matter which decoder we use, as long as it can use CUDA, even then SVP performance with MVC will be half SBS 3D! Maybe this has been asked before but I was wondering if you could use DGDecNV to fully CUDA accelerate the all the non-avisynth stuff? Would it help reduce CPU usage much, has anyone tried it?
http://neuron2.net/dgdecnv/dgdecnv.html
Nick 3DvB
SVP uses LAV Filters with hardware decoding. LAV CUVID decoder has the same algo as in neuron's DGDecNV.
So DGDecNV is really no faster than LAV / CoreAVC CUDA decoding, to speed things up now we need SVPflow porting to CUDA / OpenCL, but I think we need some time for that... I was hoping for 60fps on my old AMD Phenom II 4GHZ, but I'll be happy to live with 48fps for MVC 3D blurays.
Thanks for replying, the problem is that the Rift HMD is designed for games and so it has a huge FOV, so compared to HMDs designed for movies (like the Sony HMZ1 etc) the movie screen is actually too big! For normal video content we have to scale it down onto a "smaller" virtual screen, but it will still be IMAX size! I want to try and use an AmbiLght type effect to fill the rest of the FOV (peripheral vision) and SVP seems perfect for this.
Hi all, does any one know if the LAV filters support MVC yet? or will you be using the bundled CoreMVC decoder, or something else?
Will we still need something like SlySoft AnyDVD HD to play real 3D blurays through SVP in Stereoscopic player?
Also, I just discovered the colored black-bars "AmbiLight" feature, it works great in 2D on my 4:3 aspect-ratio projector!
Is there any news on a fix for this feature in 3D yet? I think it could work really well for the Oculus Rift HMD video player:
http://www.mtbs3d.com/phpBB/viewtopic.p … 825#p86825
Keep up the good work guys!
Pages 1
SmoothVideo Project → Posts by Nick 3DvB
Powered by PunBB, supported by Informer Technologies, Inc.