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)"