51 (edited by GregZone 02-06-2025 04:56:56)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

dawkinscm wrote:

It could be argued that 4XVR is the best VR solution because it allows you to play full 3D rips without re-encoding. But the same thing can be done with Virtual Desktop and  MPC-BE which I think is a more flexible solution and allows you to play full Atmos audio through an audio receiver. MPC-BE is not the best, that would be MPV, but MPV requires time and work while MPC-BE just works and is more than good enough for a great 3D virtual experience smile

Yes, as I noted, 4xVR does MVC 3D playback quite nicely in Quest 3 standalone.  I think "full 3D rips without re-encoding" has already been estabilished as the prerequsite. Original MVC 3D quality playback is the starting point!

However, although Quest 3 supports 120fps playback, delivering integer multiple consistent film-rate motion, you still experience the 24fps motion limitation.  This I still find a little uncomfortable in the VR environment (although significantly better than frame-rate mismatch judder).

My testing has shown me: Virtual Desktop + SVP + MPC-BE provides the best Quest experience (even considering the 4xVR native App convenience).

I have a 120Hz 4K desktop, and whether I also use 120fps VR Virtual Desktop refresh rate, or switch to 90fps Quest / Virtual desktop refresh rate, as long as I have SVP set to match the VR refresh rate, I get nice smooth motion video playback (without the 24fps motion limitation that I still see in 4xVR).

So, although I do agree that 4xVR is the best standalone VR solution, I only agree on the basis of  the need for a standalone player.  Where the best quality smooth motion video playback (and great Theater Environments) are the priority, then I'd definately say that Virtual Desktop + SVP + MPC-BE currently rules.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey GregZone,

I just wanted to say thanks for documenting your process of getting SVP working with BD3D MVC decoded video.
I'm about to attempt it for use with a 3d projector using frame sequential output via PotPlayer. I'll let you know if I have any success getting it to work without the single eye stretched video output.
I had a similar problem with stretched single eye video output before and I found switching between the intermediary frame buffering modes then stopping and starting the video resolved it.
This wasn't with using SVP, I am about to embark on trying to get that working.
I don't think MPC-BE supports frame sequential output unless I'm mistaken so I think PotPlayer is probably my best chance for smooth 3d with SVP via frame sequential output.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

r75cq wrote:

Hey GregZone,
I'm about to attempt it for use with a 3d projector using frame sequential output via PotPlayer. I'll let you know if I have any success getting it to work without the single eye stretched video output.

Thanks. I'm really interested to hear your findings.  I'm due a Valerion Max (3D capable projector) in a couple of months, and I have every intention of experimenting with PC output, compared to my stand-alone Zidoo Z9X option, for MVC playback.

54 (edited by r75cq 10-06-2025 00:21:36)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey Greg,

I saw a post a month ago that detailed how to get "half 4k 3d" resolution on many 3d capable 4k projectors using a custom resolution with ToastyX CRU tool.
I can't find the original post I read, but I found a similar post that is pretty good.
You may want to check it out, getting the pixel clock and timings just right is difficult otherwise you can get tearing.
If I were buying a new 4k 3d capable projector I would definitely try that with SVP and see if you can get amazing results smile
half resolution 4k at 60 hz for 3D would be something special I have no doubt smile
https://www.avsforum.com/threads/setup- … r.3291217/
I didn't get a chance to try SVP just yet as I'm waiting for a period where I will have a few days to take full advantage of the 1 week trial to try and get it working right!
EDIT:
I think I found the original link I had read I'll post it here for completeness (it's by the same guy who would have guessed this guy is pretty rigorous in his documentation just like you).
https://www.avsforum.com/threads/playin … e.3289889/

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey Greg,

Just to update you I was unable to get 60hz 4k to display properly.
The comment by Bob3D was accurate in my case. As soon as it engages 3D mode in the DLP chipset it disables pixelshift.
So the result you got was the equivalent of just sending 1080p half SBS or 1080p half TAB
My projector I'm testing on is a Xgimi Aura Pro.
Now for the good news. I was able to add a custom monitor profile using CRU based on the post here.
https://www.mtbs3d.com/phpbb/viewtopic.php?t=26494

1920x2205 (1080*2+45) which is the resolution for frame packed HDMI 3d signals.
I was able to get it to send to the projector at 60 hz.
And then I was able to engage the projectors 3D mode and it stripped out the 45 pixel blanking region and assigned them to the eyes properly.
So I was getting Full HD at 60 hz per eye.
The only issue remains is that windows "3d mode" automatically sets the computer to frame packed 24 hz mode.
So you need to just play the video in full TAB mode. But then because of the 45 hz left right frame packed spacing interval you get a 22 pixel vertical difference between the left and right views.
I will need to use a vapoursynth script or avisynth script to re-align them before display (which shouldn't be an issue).
I haven't gotten to the actual part of trying to use the rife frame generation yet that will be next week probably.

There's a really good youtube channel I found that discusses how to modify the vapoursynth scripts for different software like SVP to get optimal results and speed.
You may want to check his channel out he's promised me he will make an update to date video at some point for using MPV.
https://www.youtube.com/@displaytalk

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey Greg,

One other update, regarding PotPlayer there is actually an installer script written by ThreeDeeJay
https://github.com/ThreeDeeJay/PotPlayer3D/releases
In his 1.2 release notes he said the following.
"""Updated PotPlayer to 240315(1.7.22128) (32-bit, as required by SVP) - ⚠️ Version 240509+ broke 3D SBS layout detection so SBS view looks quadrupled and manually changing it doesn't work, so avoid updating unless it was fixed, though you can always just run the script again to downgrade."""
This issue sounds similar to what you described as your problem with PotPlayer, you may want ot try downgrading to 240315(1.7.22128) (32-bit) and see if that fixes your issue (I havent tried it just yet).

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey Greg,

Afew updates. I think I reproduced your issue with PotPlayer only showing one of the two eyes when VapourSynth is enabled.
I used side-by-side mode. I had all settings set to full side by side, input, mvc transition buffer, output. and I only get a single eye stretched to 3840x1080 when I enable VapourSynth for SVP.
Interestingly if I change the mvc intermediate render buffer to "half-sbs" it renders fine.
As such I suspect that whatever detection the SVP stuff is using to determine SBS something isn't quite right when it receives full side-by-side or full top-and-bottom as it seems to stretch a single view over where both left and right eyes should go.
I might try to look at the SVP vapoursynth script to see if I can spot where it is going wrong as I suspect it is in there.
I didn't have time to try using the older PotPlayer version 240315 but if I get a chance i will.

Also I'm curious what's your video card. I have a 3060 12GB attached via EGPU enclousure, and using RIFE TensorRT the best I can get stable output for is 1920x1080 and 24 -> 48 fps (2x). If i try to get 24 -> 60 fps (2.5x) it stutters and can't keep up.
I'm pretty sure there's no way I'm going to be able to run at 3840x1080 (2.5x) which I had hoped I might, I'm curious if a 4080 or 5080 would be fast enough. I did a quick analysis on the number of cuda cores.
```
GPU Model    CUDA Cores
RTX 3060 12GB    3,584
RTX 5060    3,840
RTX 5070    6,144
RTX 5070Ti    8,960
RTX 5080    10,752
RTX 4080    9,728
```
It seems like I would probably need a 4080 or a 5080 (around 10000 cuda cores assuming it scales in performance roughly linearly) (which is too expensive right now, so I think preprocessing my files is probably the way to go for now).
Do you know if any of the SVP preprocessing tools can process 3D videos? I seem to recall reading they couldn't and 3D was only supported for real-time decoding.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Downgrading to PotPlayer 64bit 1.7.22129 as per the ThreeDeeJay PotPlayer site didn't fix the issue.
I am able to get it working properly with PotPlayer VapourSynth script if I do the following.
Set the MVC 3D Transfer Mode to "Synthesized View: TAB/SBS at half resolution" followed by stopping restarting the video, then once the video is playing selecting Input Source "Full Resolution" twice (the first time it doesn't seem to work).
I don't like this solution because it means it's going to be generating a synthetic half resolution video before stretching it back (thus defeating the point).
But it just goes to show it works.
I looked into the vapuursynth script and I made some minor changes.
Irregardless of whether one selects half/full for "Synthesized View: SBS at half/full resolution" the "clip.width" seen by base.py is always 1920.
It should I believe be getting a clip.width of 3840 when Synthesized View: SBS at full resolution" is selected, but it is not....

I did the same test with avisynth and I get the same issue it shows 1920 as the width regardless of if Synthesized view is full or half width.
```
input2 = input.Subtitle("Width: " + String(input.Width()), size=60)  # Display the width
interpolate(input2)
```

Now for the interesting part.
For AVISynth If I disable the entries in "filter control" "custom filter manager".
And just add a simple subtitle to show the clip width in the inline avisynth logic it prints out the correct width 3840 for synthesized full width and 1920 for synthesized half width.
```
input = potplayer_source()
input2 = input.Subtitle("Width: " + String(input.Width()), size=60)  # Display the width
input2
```

And also for VapourSynth, same thing a custom added script properly shows the correct clip width and height for full and half transfer sizes.
```
import vapoursynth as vs

core = vs.core
clip = video_in
text = f"Width: {clip.width}"  # Get the width
clip = core.text.Text(clip, text, scale=6)  # Display the width with a larger font

clip.set_output()
```

Looking at the generated vapoursynth script the issue seems to be that.
```clip = VpsFilterSource.std.Trim(length=5000000)``` is getting a clip which always has 1920 irregardless of the transfer type half/full.
Meanwhile internal vapour_synth scripts to potplayer itself get a clip width that correctly matches the transfer type half/full.

I tried to load the script into potplayers varpoursynth plugin script location that change "clip = video_in". Then I proceeded to try and empty base.py in hopes that maybe it would work. But for whatever reason PotPlayer crashed, perhaps because SVP was still trying to load the second VapourSynth script and causing problems, or perhaps because the DLL cannot be loaded from within a VapourSynth script typed directly into PotPlayer..

At this point I'm at a bit of a loss. If the author of SVP wants to chime in and let me know why he thinks.
VpsFilterSource.std.Trim(length=5000000) is returning a different width from what the internal scripts get from "video_in"
I'm happy to try testing afew more things until my 30 day trial runs out.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Whats interesting is if I change the code so that VSP generates an empty temp vapoursynth script in "AppData\Roaming\SVP4\Scripts" then manually copy the following script into PotPlayers native VapourSynth script area.
```
import vapoursynth as vs

core = vs.core
clip = video_in
text = f"Width: {clip.width}"  # Get the width
clip = core.text.Text(clip, text, scale=6)  # Display the width with a larger font

clip.set_output()
```
Then I check to enable the "VapourSynth" in "Filter Control" -> "Filter Priority (overall)"
It shows the correct width of 3840 for "full width" transfer mode.
But the image is incorrect, it shows one eye stretched horizontally to fill the full 3840 width.
If I then go an uncheck to disable "VapourSynth" in "Filter Control" -> "Filter Priority (overall)"
It shows the correct width of 3840 for "full width" transfer mode.
And the image is now correct.
So there is something about using the internal "VapourSynth" vs the one packaged with SVP.
In addition to "VpsFilterSource.std.Trim(length=5000000)" returning the wrong width.
The VapourSynth to pot player is returning a different "video_in" image than the one returned when using the VapourSynth that is packaged with SVP and imported via "Filter Control" -> "Filter Priority (overall)".
All I can think is that internally PotPlayer is pre-modifying video_in when there internal VapourSynth implementation is used (perhaps via some kind of monkey patch).

Is there anyway we can get an internal PotPlayer script to communicate/work with SVP without enabling "Filter Control" -> "Filter Priority (overall)"

60 (edited by r75cq 16-07-2025 04:58:45)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

My trial expired so I have now purchased a copy of SVP as I want to try to still fix this issue.
I spent a bit more time fiddling with settings but I haven't had any luck.

The issue appears to be on PotPlayers side I think but I have no way to fix it.
it only happens when I use the non built in AVISynth or VapouSynth, so they must be preconditioning the 3d video source if you use there built in vapoursynth and avisynth in a way that doesn't happen with SVP.

I really hoped to use SVP to play 3d full side by side content (not half width) at 48 or 60 fps with RIFE.
If I select "MVC 3D Transfer Mode" "Synthesized View: SBS at Half Resolution" then it will work properly as the frame buffer contains the left and right eye properly.
But then I lose half the resolution.

MPC-BE has far less output options. It won't support Frame Sequential (aka pageflipped), It also doesn't support side-by-side. It only supports top and bottom.
I'm curious how everyone else is actually watching 3d content without losing half the resolution by using an intermediary half-sbs or half-tab image?
Is there some tool to capture the output buffer of MPC-BE in it's full TAB and convert it to SBS or reformat it....

I just sent PotPlayer and email regarding this issue and linking to this thread. I will post back here if they respond to me.

61 (edited by narkohol 16-07-2025 06:38:02)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

r75cq wrote:

EDIT:
I think I found the original link I had read I'll post it here for completeness (it's by the same guy who would have guessed this guy is pretty rigorous in his documentation just like you).
https://www.avsforum.com/threads/playin … e.3289889/

I am Bombadil at AVSforum, the author of those posts. Still using the same NexiGo Aurora Pro 3D projector, but switched from DmitriRender to SVP RIFE, and I am using Frame Packing 3D mode now that SuperDepth3D supports that mode since a few weeks ago.

My projector only supports Full 3D in Frame Packing and Frame Sequential modes, while SBS and TaB/OU are Half resolution.

What I do to be able to use Full 3D is create a Custom Resolution in Nvidia Control Panel with these settings:

https://i.postimg.cc/CFGspZ87/image.png

So Windows gets a resolution with a proper 16:9 aspect ratio, while the Active Pixels output to the projector is the correct 1920x2205 for Frame Packing (vertically stacked 1920x1080 per eye + 45 pixels blank in-between)


r75cq wrote:

I'm curious how everyone else is actually watching 3d content without losing half the resolution by using an intermediary half-sbs or half-tab image?
Is there some tool to capture the output buffer of MPC-BE in it's full TAB and convert it to SBS or reformat it....

I'm on the same boat here.

3D MKV rips work fine. Just watched a 1920x2160 rip of 'The Avengers' yesterday  and it worked great with SVP RIFE in Frame Packing mode, just adding a little zoom to compensate for the 45 pixel blank space that made a bad effect on the top and bottom edges.

The file has these video settings:
https://i.postimg.cc/TwD79cRF/image.png

But SVP doesn't work with .iso files or untouched rips (MakeMKV) from them.

Without VapourSynth, .iso files play ok:
https://i.postimg.cc/RF8whrKn/image.png

but once VapourSynth is enabled only one eye is displayed:
https://i.postimg.cc/YjcrhRd3/image.png

I tried installing other versions of VapourSynth but they either do the same or don't even start playing.

So my solution so far is using MPC-BE with DmitriRender in Full OU format with Frame Packing mode on the projector.
I normally use PotPlayer for everything, but this combo only works at Half Resolution in PotPlayer, and crashes when using Full Resolution:
https://i.postimg.cc/nrxsWHJZ/image.png



I would love to use SVP RIFE instead, but sacrificing half the resolution is just too much. I'm already forced to downscale to 1440p to be able to maintain stable 60fps with SVP RIFE, while DmitriRender works at full 2160p resolution without problem (because no AI).

Maybe

Chainik wrote:

Chainik

can shed some light on this VapourSynth issue?

62 (edited by r75cq 16-07-2025 09:22:56)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Ok well I have some bad news, not only are they not going to fix it, they are planning to entirely remove 3d support from PotPlayer very soon wink....
And this is why not having an open source package to fix it myself and not lose all this functionality blows.

My Inquiry:
```
Unfortunately there is an issue where when using the external version of VapourSynth or AVISynth as used by SVP, PotPlayer only works when "MVC 3D Transfer Mode" is set to "Synthesized View: TAB/SBS at half resolution". If one sets it to "Synthesized View: TAB/SBS at full resolution" only a single left or right frame is served up to the AVISynth or VapourSynth script.

This forum thread has images and discusses the intricacies of the issue.
https://www.svp-team.com/forum/viewtopi … 824#p86824

To be clear if one uses the built in location to supply an AVISynth or VapourSynth script the scripts there receive the correct dimension of 3840x1080 or 1920x2160.

But it fails to get the correct video frame (with both left and right eyes) when the script is loaded using "Filter Priority (Overall)"->"Add Registered Filter" as required by SVP and other tools externally as described here.
https://www.svp-team.com/wiki/SVP:Daum_PotPlayer

Setting the "MVC 3D Transfer Mode" to "Synthesized View: TAB/SBS at half resolution" means that the frame buffer exposed to external VapourSynth and AVISynth scripts correctly contains both the left and right eyes, but we lose half of the resolution.

If there is anyway to fix it I would very much appreciate it.

There is I believe a related issue which may cause this issue but can be witnessed without needing to use external AVISynth and VapourSynth filters.

Basically if one uses "MVC 3D Transfer Mode" set to "Synthesized View: TAB/SBS at full resolution", then one uses "Output Mode" "side-by-side" The default aspect ratio control over compensates for the side by side nature of the video and squishes it giving you two 32:9 image frames left and right side by side. Somewhat non intuitively, if you set a custom aspect ratio of 32:9 and enable it it causes it to squish them back to the correct aspect ratio. I think the auto determined aspect ratio you are using by default is being double multiplied by some compensation factor when "MVC 3D Transfer Mode" set to "Synthesized View: TAB/SBS at full resolution". The opposite issue happens when using top-and-bottom. The images are half width for some reason so you need to override and set an aspect ratio of "4:9" to cause it to correct them.

Hopefully you can fix the above issue I have mentioned if you have any questions please don't hesitate to ask!
```

PotPlayer Response:
```
That is unable~~

Please note that PotPlayer's 3D playback feature will be removed in the near future.
```

PotPlayer Second Response (after I told them I was very sad to hear they were removing 3d functionality).
```
The 3D feature is no longer being developed and will gradually be forgotten.
Also, the internal code is very messy due to the very complex implementation within PotPlayer, so it is no longer possible to improve it.
Therefore, it is difficult to maintain the issue any longer and it will be removed in the future.
```

I just realized MPC-BE was open source maybe I can try to add my required output format to it.

Hey Chainik,

Given PotPlayer is abandoning 3D support *apparently*, I will need to use an older version of PotPlayer with SVP anyways. Can you tell us the last working version of 64 bit PotPlayer you are aware of that doesn't have the issue myself and GregZone are encountering. You said you thought they had broken something. Are you aware if this ever worked in the past? Or perhaps it only worked from the beginning when the user selected "MVC 3D Transfer Mode" is set to "Synthesized View: TAB/SBS at half resolution". I'm more than happy to use an old version of the software if it will work.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

narkohol wrote:

3D MKV rips work fine. Just watched a 1920x2160 rip of 'The Avengers' yesterday  and it worked great with SVP RIFE in Frame Packing mode, just adding a little zoom to compensate for the 45 pixel blank space that made a bad effect on the top and bottom edges.

...

So my solution so far is using MPC-BE with DmitriRender in Full OU format with Frame Packing mode on the projector.
I normally use PotPlayer for everything, but this combo only works at Half Resolution in PotPlayer, and crashes when using Full Resolution:
...

I would love to use SVP RIFE instead, but sacrificing half the resolution is just too much. I'm already forced to downscale to 1440p to be able to maintain stable 60fps with SVP RIFE, while DmitriRender works at full 2160p resolution without problem (because no AI).

Hey narkohol,

Thanks so much for contributing with your experience. I tried something similar in PotPlayer with a "zoom" (actually it was a custom aspect ratio of 1920x2205) to create a fake 45 pixel spacing between the top and bottom frames it worked pretty good (another reason why PotPlayer was one of the only options for full frame 60hz 3d on projectors.

I'm curious how you do the same zoom in MPC-BE to get the 45 pixel dead space between them. I may try to make a hacked version of MPC-BE that adds another mode called over-under-with-45-pixel-gap.

Also if I understand what you are saying correctly your VapourSynth is not working with MPC-BE so you can't use SVP RIFE TensorRT is that right?
I don't have that issue my TensorRT runs properly (albeit my computer is currently too slow).
Also the performance of MPC-BE seems much more jittery and laggy than what I experience in PotPlayer but I don't know why.
I would suggest you uninstall any VapourSynth packages you have installed in windows and just set the path to use the one included with SVP.
I had some issue with "Cannot find VapourSYnth API 4.0" or something before and it was because I had another version of VapourSynth installed that was taking precidence over the SVP native version.
I haven't tried playing a BluRay directly from MPC-BE but if it can do that and I can manually add support for my required "frame sequential (page flipping)" and "frame packed with 45 pixel gap" then it may be an option for me to use.

I did some reading online and I think perhaps the 45 pixel gap can be added to MPC-BE by using a custom HSLS shader without too much difficulty.
There is already one HSLS shader built into the software by default to convert HalfOverUnder_to_Interlace
https://github.com/Aleksoid1978/MPC-BE/ … rlace.hlsl
So I'm guessing even without needing to put it in the menu one might be able ot add such a shader manually.
I just need to test it to see if it works if you add it manually or not. Perhaps it needs be added at a certain point in the render pipeline or something...

As for frame sequential, I'm guessing it probably isn't going to be possible easily with a shader (unless there is a way to force it to generate a new frame at vsync some how but I have no idea how one would do that...)
I really wish PotPlayer was open source so I didn't need to re-invent this functionality in MPC-BE. I wonder if perhaps reshade can hook into MPC-BE or maybe I can use WibbleWobble to generate the frame sequential.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

r75cq wrote:

I'm curious how you do the same zoom in MPC-BE to get the 45 pixel dead space between them. I may try to make a hacked version of MPC-BE that adds another mode called over-under-with-45-pixel-gap.

It didn't seem to need it with 'stretch to window' mode in the test I did yesterday with 'Winter Soldier', but if it does in any case, I think a bit of zoom would solve it like in PotPlayer.

r75cq wrote:

Also if I understand what you are saying correctly your VapourSynth is not working with MPC-BE so you can't use SVP RIFE TensorRT is that right?

It works, but it displays only one eye, not both. Same as it does in PotPlayer.

I have several versions of avisynth and vapoursynth installed, but you can easily switch between them just registering one filter or the other. Normally I use the one from SVP.

r75cq wrote:

I did some reading online and I think perhaps the 45 pixel gap can be added to MPC-BE by using a custom HSLS shader without too much difficulty.

If you know how to code that or someone that does, I guess it should be simple enough to do that kind of transformation.

r75cq wrote:

As for frame sequential, I'm guessing it probably isn't going to be possible easily with a shader (unless there is a way to force it to generate a new frame at vsync some how but I have no idea how one would do that...)

My projector also supports Frame Sequential, but I never managed to get it working with anything.

r75cq wrote:

I really wish PotPlayer was open source so I didn't need to re-invent this functionality in MPC-BE. I wonder if perhaps reshade can hook into MPC-BE or maybe I can use WibbleWobble to generate the frame sequential.

You can use ShaderGlass ( https://github.com/mausimus/ShaderGlass ) and apply Reshade to it. Sounds a bit cumbersome but maybe it works.

65 (edited by r75cq 16-07-2025 21:04:09)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

narkohol wrote:

t works, but it displays only one eye, not both. Same as it does in PotPlayer.

I don't have that issue, I am able to play an MVC H264, specifically this one 3D_IMAX_Countdown.3D.MVC.mkv https://drive.google.com/file/d/1hGOmRT … ZBgZe/view
Is your MPC-BE having difficulty locating the Intel Media SDK with the H264 MVC decoder? It sounds like that may be whats happening if you are only getting one eye.
My SVP is properly receiving the full TAB video from MPC-BE and then splitting it (I presume) applying RIFE scaling then merging them again and MPC-BE is showing both eyes TAB format 1920x2160.

narkohol wrote:
r75cq wrote:

I did some reading online and I think perhaps the 45 pixel gap can be added to MPC-BE by using a custom HSLS shader without too much difficulty.

If you know how to code that or someone that does, I guess it should be simple enough to do that kind of transformation.

I found the relevant file and portion of code to modify it's here.
https://github.com/Aleksoid1978/MPC-BE/ … r.cpp#L582
I think the hard part will be setting up a build environment I will try in the coming weeks.
I looked into using HSLS shaders to achieve the same thing, but it won't work that way without losing quality due to downsampling and then upsampling again as the video resolution frame is 1920x2160 not 1920x2205 so you need to zoom out then use the shaders to add the black space then scale it back up. This means your going to lose quality (if I understand correctly, theres a chance it might not, but it seems that way to me).
Also I think there may be some issue with adding the 45 pixel gap prior to passing it to SVP, I will also need to modify hte SVP RIFE template vapoursynth script to strip out the 45 pixel gap before passing it to RIFE and then re-layout the frame interpolated output videos on the frame with 45 pixel gap.

narkohol wrote:

You can use ShaderGlass ( https://github.com/mausimus/ShaderGlass ) and apply Reshade to it. Sounds a bit cumbersome but maybe it works.

"MPC-BE -> ShaderGlass -> WW" Does definitely work but it is very cumbersome as you need to have 3 windows open all with various settings to allow pass through of clicking and fullscreen vs not fullscreen. Also since MPC-BE determines the render surface size you might need to run it in fullscreen not to lose resolution, but I guess you'de have to make sure it was "windowed" fullscreen so as not to prevent WW running. If one could make a macro (AutoHotKey) or the like to launch it all that would be the way to go I guess.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Can you tell us the last working version of 64 bit PotPlayer you are aware of that doesn't have the issue

ok, looking through the archive: https://www.videohelp.com/software/PotP … d-versions
the last working version was 220706

---
nope, it doesn't work with the released AVSF version either
big_smile

at least I can fix AVSF to work with Pot up to 220706
try the attached one

---
(update SVP in a usual way)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey Chainik,

Thanks a bunch for digging this up. I will give it a try and see if I can get full side by side or full top and bottom working.
Am I correct to understand that I only need to find and rename the installed "avisynth_filter_64.ax" in "Program Files (x86)/SVP 4/avsf" and just replace it with this one.
I haven't tried yet but I wonder if a custom vapoursynth 64 would be necessary to work with the tensor rt variants of rife.

Thanks again for digging this up and custom compiling a compatible AVSF filter I think it will be a big help smile.
I tried to get software page flipping working with a custom VapourSynth script that increased the framerate to 120hz then shifted back and forth between the top and bottom half of the frame with 2x scaling.
My PC wasn't fast enough to reliably do the 120hz frame doubling on the 1920x2160. As such I think the software page flipping built into PotPlayer which presumably uses some texture it shifts back and forth is the most reliable option still.

I'll report back here with my results in afew days!

Chainik wrote:

Can you tell us the last working version of 64 bit PotPlayer you are aware of that doesn't have the issue

ok, looking through the archive: https://www.videohelp.com/software/PotP … d-versions
the last working version was 220706

---
nope, it doesn't work with the released AVSF version either
big_smile

at least I can fix AVSF to work with Pot up to 220706
try the attached one

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey Chainik,

Thanks again for trying to help.
So it appears that using 220706 has some other bug that makes it unusable to decode MVC video on a PC with an nvidia gpu.

For some reason the Video Codec "OpenCodec(Intel Media SDK MVC Decoder)" is not being used by PotPlayer when I have the EGPU installed.
But this only happens on PotPlayer versions up until 230207, of which the version you suggested to use 220706 is below.

On any PotPlayer version prior to 230207 if I remove my NVidia GPU it will properly use the Intel Card as the Render Device, and that allows it to use the "OpenCodec(Intel Media SDK MVC Decoder)" to decode the MVC video.
If I put the nvidia card back in though it starts using the built in ffmpeg DXVA decoder by default and there is no way to force it back to use the "OpenCodec(Intel Media SDK MVC Decoder)" code. I spent like 3 hours trying.
If I upgrade to any version after 230207 it will properly use the "OpenCodec(Intel Media SDK MVC Decoder)" irregardless of what video card I have installed (assuming I tell it to).
So they must have fixed that bug with their  230207 release.

Unfortunately the 230207 release has the AVISynth issue where it drops the second frame when you do Full Side By Side or Full Top And Bottom. Presumably only the older release you suggested 220706 doesn't have this issue and they introduced the bug after.

If I connect my EGPU while the video is playing I can get it to keep using the correct "OpenCodec(Intel Media SDK MVC Decoder)" codec for decode whilst updating the render target to the Nvidia EGPU.
But it isn't practical to start playing a movie then plug in an EGPU every time I want to watch a movie, and make sure i don't stop the movie.

I think it's a catch-22 I can't have working AVISynth filters, or I can't have MVC decoding. Unless I remove my GPU, which is what i need to make SVP upscale with RIFE smile

All I can think is that perhaps there is some way to force the application not even know there is an nvidia gpu and try and use "220706".
I tried this by enabling powersaving mode for just that app, but I couldn't get it to work.

If anyone has any ideas or wants to try on their system to see if they hit the same issue I'de be curious what people fine.
Otherwise I'de say it's time to figure out how to get MPC-BE to render with page flipping output in a performance way.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Intel Media SDK MVC Decoder doesn't need Intel CPU to work

you're probably messing up with filters and somehow adding "intel decoder" manually?
don't do that, "video -> 3d video mode -> use built-in MVC decoder" is enough.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Yeah I enabled that on both versions, "OpenCodec(Intel Media SDK MVC Decoder)" won't be used on the system unless the Render Device is automatically set to the Intel Integrated GPU with version 220706.
And the only way to get the Intel Integrated GPU to be available and selected as the active Render Device is by removing the NVidia GPU for me.
With version 230207 the "OpenCodec(Intel Media SDK MVC Decoder)" works fine with the nvidia GPU installed and auto selected as the Render Device.

Using version 220706 when playing an MVC encoded 3d movie if you press tab, and look at the render device and the codec.
Are you able to confirm it is using the "OpenCodec(Intel Media SDK MVC Decoder)" codec even with an NVIdia GPU as the render device?
If so I'm really curious what is going on. I was testing with the Portable version as well as the non portable version.
Neither would use the "OpenCodec(Intel Media SDK MVC Decoder)" codec when the EGPU was connected and the NVidia GPU was available as a render device.
They would both let me select "use built-in MVC decoder" and they would both appear to show a 3D video except the left and right view ports would be identical and both show the primary h264 stream and neither show the secondary one.
And if you press TAB to see details it will show it is using hte ffmpeg internal decoder and not the "OpenCodec(Intel Media SDK MVC Decoder)" codec.
That was my experience at least. I'm curious to hear what exactly your experience was if you have time.

I didn't add the MVC intel decoder manually it is only installed via OpenCodec, and it works fine in the newer versions or if I pull out the NVIDIA GPU.
But I would be more than happy if you have found some workaround that forces PotPlayer 220706 to use the "OpenCodec(Intel Media SDK MVC Decoder)" codec when an nvidia GPU is connected and detected as the Render Device.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

> "OpenCodec(Intel Media SDK MVC Decoder)" won't be used on the system unless the Render Device is automatically set to the Intel Integrated GPU with version 220706

I don't have "Intel Integrated GPU" cause I'm on an AMD rig with NV card, and still MVC decoder works as expected wink

Post's attachments

pot.jpg, 158.9 kb, 979 x 290
pot.jpg 158.9 kb, 8 downloads since 2025-07-23 

72 (edited by r75cq 23-07-2025 12:59:29)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Chainik this is really interesting to me.
It must be something funny going on specifically with my setup.
Maybe the fact I'm using an eGPU.... Or maybe because I have an Intel CPU with Integrated Graphics it's doing something strange.
I have another AMD laptop I can try it on, but I'll have to remove one of the nvme ssd's and use one of those external pci riser cables to test it with an nvidia gpu to see if it works or not.
That probably won't happen for another month but i will report back here if I try it.
Your result does at least give me hope though that when/if I build my desktop PC with an AMD cpu and Nvidia GPU it may just work using 220706.
One last thing, can you just confirm was this with the portable version or the installed version?
Also if anyone else wants to try PotPlayer 220706 and report back if MVC decoding works it would be cool.
UPDATE: I just tried testing with VapourSynth instead of AVISynth and I can confirm it seems ot require a back ported version of vapoursynth_filter_64.ax . With the current version it shows the same green stretched distorted image as with the original avisynth_filter_64.ax before I added your patched version.
If you provide one I'll try to test that and at least confirm the vapoursynth pipeline can properly receive full resolution TAB 3d content with 220706 (I can test with regular interpolation still I just can't use my nvidia gpu with it for the reasons I said above).
Thanks agian for being willing to help me debug this!!!

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

> One last thing, can you just confirm was this with the portable version or the installed version?

portable
(though it's not good cause it wants to run as admin, and then it won't work with SVP unless you run SVP as admin too...)

---
just pushed an update to the server, with Vapoursynth Filter also updated
you can update SVP now

74 (edited by r75cq 24-07-2025 00:31:42)

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Hey Chainik,

I got it largely working now. The key is when using 220706 I need to use "extend desktop" and I need to have at least one display visible that shows a screen running on the laptops integreated graphics. If I have that it doesn't matter whether the nvidia GPU is connected, the render GPU is set NVIDIA and the video can play on either screen with seemingly no performance penalty.

The vapursynth_filter_64.ax you provided with the new release works great I've tested it. I also tried a slightly later release 221215 just to confirm the full frame SBS and TAB wasn't working properly (I also tried with 220831 and it didn't work at all it just crashed when trying ot use the external filters for VS or AVIS) so it does indeed seem that 220706 is one of the last releases to support it.

I was unable to get the latest Portable version of 220706 to use the av_synth or vapour_synth scripts provided with SVP. It didn't seem to want to connect to them. I tried adding them via "Filter Priority (Overall)" using both "Registered Filter" and also "External Filter" neither seemed to work for either filter. It all works fine when using the non portable version. Did you need to do anything special to get the portable version to correctly use the external avi_synth and vapour_synth filters? I tried to look at the PATH variables of the PortablePotPlayer64 process using SysInternals ProcExp. But it didn't show any path variables, I was suspecting it might be missing the python path used by vapour synth, but similarly avi synth didn't seem to connect or load so I don't think it was path related.

It would be nice to be able to use the Portable version so I can keep it separate from the normal install (but honestly I'm just happy to have figured out how to force this old version to properly use the OpenCodecs MVC decoder when my nvidia GPU is connected). Hopefully someone else will find this information useful. Also I didn't have to set the GPU to use integrated only, it didn't care, all it needed was "extend desktop" instead of using the desktop only on the nvidia EGPU.

Re: Howto: play BD3D with SVP using MPC-BE or Daum PotPlayer

Chainik wrote:

(though it's not good cause it wants to run as admin, and then it won't work with SVP unless you run SVP as admin too...)