This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

SCXvid filter crash
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.


Attached Files
.zip (Size: 3,5 MB / Downloads: 3)
# 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.
Hmm,.. SCXvid, does create a log file, but from the looks of it, it does not set '_SceneChangeNext' Confused
So better stick with misc.SCDetect, mv.SCDetection and wwxd.WWXD (this one uses different props).
(core.misc.SCDetect is probably the one I would choose)

Cu Selur
I have the same opinion.
The problems with scene change detection usually are due when in the clip are used the transitions to change from one scene to another.
In this case, since usually the algorithm for scene change detection compares the previous frame with the current, fails to detect the scene change.
I will develop an extended version of SCDetect where it will be possible to specify the frame lag for the comparison (*) , in this way the transitions should be detected.


(*)  in case of lag=1 it will be used directly misc.SCDetect

Forum Jump:

Users browsing this thread: 1 Guest(s)