Selur's Little Message Board

Full Version: SCXvid filter crash
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I tried


clip = core.scxvid.Scxvid(clip)
clip = core.wwxd.WWXD(clip)

the Scxvid dll available in Hybrid crash, while WWXD is not crashing but I don't see any significant improvement.

If they are working on your side, try them on the attached clip and let me know.

# Imports
import vapoursynth as vs
# getting Vapoursynth core
import sys
import os
core = vs.core
# Import scripts folder
scriptPath = 'F:/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# loading plugins
# Import scripts
import validate
# Source: 'C:\Users\Selur\Desktop\TeresaBrewerBW-1.mp4'
# Current color space: YUV420P8, bit depth: 8, resolution: 640x480, frame rate: 23.976fps, scanorder: progressive, yuv luminance scale: limited, matrix: 709, transfer: bt.709, primaries: bt.709
# Loading C:\Users\Selur\Desktop\TeresaBrewerBW-1.mp4 using DGSource
clip = core.dgdecodenv.DGSource("J:/tmp/mp4_a6d85c75532f229195b00c3988bb09c8_853323747.dgi")# 23.976 fps, scanorder: progressive
frame = clip.get_frame(0)
# Setting detected color matrix (709).
clip = core.std.SetFrameProps(clip=clip, _Matrix=1)
# setting color transfer (709), if it is not set.
if validate.transferIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Transfer=1)
# setting color primaries info (to 470), if it is not set.
if validate.primariesIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Primaries=5)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=1)
# making sure frame rate is set to 23.976fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
# making sure the detected scan type is set (detected: progressive)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=0) # progressive


clip = core.scxvid.Scxvid(clip, log="", use_slices=True)

# adjusting output color from: YUV420P8 to YUV420P10 for NVEncModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited")
# set output frame rate to 23.976fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
# output
VSPipe.exe -c y4m c:\Users\Selur\Desktop\test.vpy NUL
I get:
Output 1323 frames in 3.90 seconds (338.83 fps)
I get no crash, when using the 'log'-parameter the output file is properly created.

Ah, vsviewer crashes. (no clue why) Hybrid does use libscxvid for chunked encoding where vsViewer isn't used.

Cu Selur

Ps.: I split this from the original thread, since it does not seem to be really related.
Scxvid need libxvidcore.dll that probably is installed on your PC.
I searched and libxvidcore.dll is only in the Hybrid/64bit-folder and in no global folder (same for xvidcore.dll), so it is still unclear why it works with vspipe, but crashes with vsViewer. (both residing in the Hybrid/64bit/Vapoursynth-folder)
Renaming libxvidcore.dll to xvidcore.dll and placing it next to libscxvid.dll doesn't change this.
Iirc. xvidcore.dll is only needed to compile the filter.
In effect it seems that the "dll" has not dependencies on xvid.
But on my side it is crashing both with vsViewer than vspipe.
It could be a problem related to the version of Vapoursynth.

If is working on your side try it with the clip that I attached in my previous post.

Any scene change detection function that I tried fail to find any scene change with this clip.

So before spend ti time to get SCXvid working on my side, I'd like to know if this function is good enough to handle this clip.

I'll do some testing after work an report back.