dudul
I am using 3.1.2
Hmm... Can you look at video memory use in GPU-Z while work with SVP?
Normally video memory must allocated when playing and released when close video.

3Dmark 11
It is not stress test. Stress tests are: linpack for CPU and memtest86+ for memory.

Skaven252
I checked how works QTInput. It works good with different value of mode parameter.
QTInput with mode=0 works good. Frame # 2108 is copy of 2107 in second clip and FramesCount is 5111.

QTInput("wide ipd test cam2 t02.mov", vfrFPS=29.95)

This script gives perfect sync with true length.

But with used by You mode=3 I can't see duplicate frame in the region of #2107 frame. This mode is not frame accurate. It potentially can lead to lose synchro.

Hello, vayra
1. Look at performance graphs window. How many memory used by player while it crashes?
2. Please show your additional info: SVP tray menu - Information - Additional info?

dudul

unable to init FlowLib [code 0x3FFFB]

It looks like you have old version of SVP with video memory leaks troubles (about 0x3FFFB error).
You need to install latest version of SVP 3.1.2. Download page.

I changed the supported thread from "Auto" to 4, and video lagged, so i changed to 2 and still lagged, then changed again to "Auto". Guess what? It doesn't lagged and crashed anymore
Of course. Any change lead to script reinitialization. You can do 10-20 reinitializations before crash. Free video memory not released. It is error 0x3FFFB.

  48 fps - vectors search:        N/A
  Real-life:                      N/A
  48 fps - [SVP] simple 1:        N/A
  Real-life:                      N/A
  60 fps - [SVP] high:            N/A

Congratulations! Your system is unstable sad
Now you must to test your CPU, your memory and your video with stress tests to find bad working device in your system.

dudul
Intel Core i5 750 @2673 MHz
NVIDIA GeForce GTX 560 Ti [ver.306.23]

Is your system so stable to able to pass SVPmark without errors (N/A) 3 times consecutively?

Skaven252
Um, "pointing the framerate", I presume, doesn't do the same as AssumeFPS?
No. It is different things. If you open video with wrong FPS you will lose original frames or will get unwanted duplicates. For example opening 30 fps video with framerate 1 frame/sec will lead to losing 29 frames each second. And AssumeFPS in this case can't help absolutely.

Skaven252
when AviSynth does the "convertfps", will it correct the drops by duplicating frames so that the hard drop doesn't throw the clips off sync?
Yes. In your case it will be added no one duplicate frames to the first clip and only one to the second clip.

Try to open MOVs by DirectShowSource. If it works then it is nice (on my system it can't open MOVs, I don't know why.., I'm searching hmm ).
Otherwise point in QTSource right framerate (29.95). And with only one hard-drop you can forget about sync issue wink

Skaven252
Ough! Yes! I was wrong about floating VFR.
It is constant framerate with a little deviation and one hard drop in second clip.

        sampleCount[919] = 2 (0x00000002)
        sampleDelta[919] = 100 (0x00000064)
        sampleCount[920] = 1 (0x00000001)
        sampleDelta[920] = 200 (0x000000c8)
        sampleCount[921] = 1 (0x00000001)
        sampleDelta[921] = 100 (0x00000064)

Base framerate is 29.95 fps (or 29.95048 to be precise).
You can open it and work with it as CFR:

DirectShowSource("[filename]", fps=29.95, convertfps=true)

After that you can get synchro by 0.003 sec (3 msec) wink

Later I will tell about how I checked it.

Continue of second analyze MOV-(yamb)->MP4-(mp4dump)->TXT (only part of body).
What about timecodes of each frame. It is floating framerate. sad

wide ipd test cam1 t02.vfr:

      type stts
       version = 0 (0x00)
       flags = 0 (0x000000)
       entryCount = 2136 (0x00000858)
        sampleCount = 2 (0x00000002)
        sampleDelta = 100 (0x00000064)
        sampleCount[1] = 1 (0x00000001)
        sampleDelta[1] = 101 (0x00000065)
        sampleCount[2] = 8 (0x00000008)
        sampleDelta[2] = 100 (0x00000064)
        sampleCount[3] = 1 (0x00000001)
        sampleDelta[3] = 101 (0x00000065)
        sampleCount[4] = 1 (0x00000001)
        sampleDelta[4] = 99 (0x00000063)
        sampleCount[5] = 1 (0x00000001)
        sampleDelta[5] = 101 (0x00000065)
        sampleCount[6] = 4 (0x00000004)
        sampleDelta[6] = 100 (0x00000064)
        sampleCount[7] = 1 (0x00000001)
        sampleDelta[7] = 101 (0x00000065)
        ...

wide ipd test cam2 t02.vfr:

      type stts
       entryCount = 2229 (0x000008b5)
        sampleCount = 1 (0x00000001)
        sampleDelta = 100 (0x00000064)
        sampleCount[1] = 1 (0x00000001)
        sampleDelta[1] = 101 (0x00000065)
        sampleCount[2] = 6 (0x00000006)
        sampleDelta[2] = 100 (0x00000064)
        sampleCount[3] = 1 (0x00000001)
        sampleDelta[3] = 101 (0x00000065)
        sampleCount[4] = 1 (0x00000001)
        sampleDelta[4] = 100 (0x00000064)
        sampleCount[5] = 1 (0x00000001)
        sampleDelta[5] = 101 (0x00000065)
        sampleCount[6] = 2 (0x00000002)
        sampleDelta[6] = 100 (0x00000064)
        sampleCount[7] = 1 (0x00000001)
        sampleDelta[7] = 101 (0x00000065)
        ...

Real interframe delays are 99, 100 and 101 of 1/3000 sec. It is not strange that synchro is missing if we not using VFR info.

Results of second analyze MOV-(yamb)->MP4-(mp4dump)->TXT (only part of header)
wide ipd test cam1 t02.txt:

type moov
  type mvhd
   timeScale = 600 (0x00000258)
   duration = 102408 (0x00019008)
   type mdia
    type mdhd
     timeScale = 3000 (0x00000bb8)
     duration = 512041 (0x0007d029)

wide ipd test cam2 t02.txt:

type ftyp
type moov
  type mvhd
   timeScale = 600 (0x00000258)
   duration = 102390 (0x00018ff6)
   type mdia
    type mdhd
     timeScale = 3000 (0x00000bb8)
     duration = 511951 (0x0007cfcf)

Put it into the table and calculate real duration in h:m:s,00 = duration / timeScale.

http://www.svp-team.com/forum/misc.php?item=1973

Good. Both video has identical length. Difference in 0.03 sec is very minimal to notice. But frameCount is different: 5111 and 5109 (from first log).

Skaven252
what happens when you VFR->CFR?
it will duplicate previous frames to fill the gaps, so that the length of the video stays the same?
Exactly wink

It is not all. I'd like to understand what is inside MOVs. Constant framerate by intervals with multiplied index from base framerate or real fluent variable framerate.

First results of analyze MOV-(gdsmux)->MKV-(mkv2vfr)->VFR
wide ipd test cam1 t02.vfr:

# timecode format v1
Assume 23.976
0,552,29.9518
553,553,31.2500
554,1105,29.9512
1106,1467,29.9471
1468,1468,31.2500
1469,4109,29.9498
4110,5111,29.9516

wide ipd test cam2 t02.vfr:

# timecode format v1
Assume 23.976
0,2106,29.9498
2107,2107,14.9254
2108,2341,29.9501
2342,2342,31.2500
2343,3873,29.9497
3874,3874,31.2500
3875,4266,29.9511
4267,5109,29.9478

As you can see base framerate is not constant (intervals with bolded values). It is from 29.9471 to 29.9518 fps.
I think it is not precisely (maybe) because standard is 29.97 fps. I will make another analyze to confirm it.

Skaven252
"3. replace drops" part is done by SVP, then?
Yes.

After VFR->CFR opening, how does SVP know which frames have been dropped and need to be interpolated?
By straight comparing each current frame to next frame.

Nick 3DvB
Do you have an experience with the Direct3D video renderers?
Unfortunately no.

Skaven252
those movies are in QuickTime so I'm using QTSource. I suppose that one does not support convertfps=true?
Yes. You are right. It just combines all frames together without real interframe delays. I'm not sure it is IMHO.

The DeFish plugin can be added to the AviSynth script to follow after the SVF framerate conversion, I suppose?
Do you mean VFR?
VFR=variable frame rate smile

Yes. You can combine filters in avisynth as you wish. In this case for example:
1. open with VFR->CFR conversion
2. apply DeFish
3. replace drops

Of course. I have sent my email to you in PM.

It is interesting to me. smile

variants:
- via gmail.com
- via any cloud storage service
- peer-to-peer by uTorrent

Skaven252
I have two .mov video files
Can you share it to me? Public or private. As you wish. If it is not top secret video of-course. wink

left camera video.mov - 29,951 fps; length 2:50,680
right camera video.mov - 30,928 fps; length 2:50,655

It is average framerate. You need to know base framerate to convert VFR to CFR without losing of quality and to save original speed.

They are the same length, and play in sync if inserted into a Vegas project
This is good.

They will not pair into a stereoscopic subclip because of too much framerate difference in the media files
I need to look to video.

If I re-encode the files with VirtualDub to just simply force them into the same framerate (29,970), they will drift off sync because of the rate difference
Something wrong with open or with conversion.

Does AviSynth have frame resampling options built in?
Yes. It does, see DirectShowSource(convertfps=true). It converts VFR to CFR.

I also need to apply a fisheye removal to the video
You can process video in avisynth without removing fisheye. I think it will be better to work with source than with Vegas (wrong/buggy) output. It gives better chance to repair drops.

Nick 3DvB
Thank you for this link. Idea with screen in the forest is nice too smile

The base texture is just the movie zoomed by 20%
What must happen when user turn its head more than 20%?

overlay texture is the SVP color bars output (with an alpha channel "screen window" in the middle)
It is will be slow to compute color bars in SVP because processing on CPU and delays with bars recalculating while move will be very noticeable.

dudul
Thank you for error logs. Now I see it is not memory issue.

830 MB memory usage while playing
It is normal value. It is mean 830 MB of RAM not Video memory.
Try to reinstall nVidia drivers to 306.97 WHQL.

Nick 3DvB
Thank you for picture. You already have prototype? hmm

I think it is not easy to implement. Tracking data from glasses must be handled and translated to x,y coordinates for video shift. It is the hardest thing because we can't use SVP or avisynth for this. You must have 3D-simulator with virtual screen wall in it. And this 3D-simulator must be fast to display all 60 fps from SVP on its virtual screen. In this case Borderlight will be fixed around screen and will not moving with heads moves. Otherwise Borderlight must be implemented inside 3D-simulator, not in SVP or avisynth.

You need to find source or samples of such 3D-simulator that must be video player's renderer at once. Do you know about something like this?

4,247

(42 replies, posted in Using SVP)

THX-UltraII

what do you mean with this?

I mean 24 px. Large 2 + Disabled like here.

Nick 3DvB
You ask me to think about your idea. I think it is good idea smile
As I understand You are waiting for device. You already have custom option to decrease frame size. Thanks to Chainik.
What you expect from me? wink

As I know, any VFR video can be loaded in avisynth with conversion to CFR. And audio sync stay perfect. It is not the trouble.
I wonder if so huge soft as Vegas can't open it correctly.

Skaven252
How does it know which frames are missing?
Automatically. By compare every two consequent frames.

Can it use the audio track as the "measuring stick"?
Not for now. Why you ask it? You told audio is perfect. Without any missed chunks.
Or I don't understand you. Please upload sample with drops and I will take a look to "out of sync" you are talking about.

Do you think there might be any problems...
I think we need to try script first. And only after that we can answer wink

It is not hard to start. Give me samples with drops I will help you.