1

(2 replies, posted in Using SVP)

It seems I fixed my own problem after reading the terminal output a number of times. The fact that SVP could only read a couple of the config files suggested that they are the ones the license details are stored in, and they weren't being updated. I forgot to install QT 5.5 or later at first (I was not expecting it to still not included in Wily) and gave an error. I must have been in a root terminal at the time and still created some of the config files despite the error. Anyway, deleting these config files solved it!
I hope this helps anyone who also triggers this problem somehow.

2

(2 replies, posted in Using SVP)

So I decided to try out SVP 4 on Linux today. Everything went smoothly up to the point when you enter your email address and registration key into the activation window. The details were accepted (no invalid email/registration key message) and the registration shows up in my license manager. However, upon pressing the "Activate now!" button SVP restarts and shows the exact same activation window.

My system details are as follows:
CPU: Intel Core i7 3770
GPU: Nvidia Geforce GTX 970
RAM: 8GB
OS: Ubuntu Gnome 15.10 64bit

This is a fresh installation with all system packages up to date, and I have the latest NVidia drivers (364.12).
Before installing SVP I had installed SMplayer, MPV, Vapoursynth, Mediainfo as described on this page:
https://www.svp-team.com/wiki/SVP:Linux
I installed the latest QT (5.6) using the installer on this page: http://www.qt.io/download-open-source
I then ran SVP with this command: LD_LIBRARY_PATH=/opt/Qt/5.6/gcc_64/lib ./SVPManager

I'm not sure whether there is any application dump, but I can give the terminal output and opencl log.
This is after starting SVP and pressing "Activate now!" :

thomasliddiard@Ubuntu-Desktop:~$ LD_LIBRARY_PATH=/opt/Qt/5.6/gcc_64/lib ./SVP\ 4/SVPManager
Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: 
    QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-screen factors. 
    QT_SCREEN_SCALE_FACTORS to set per-screen factors. 
    QT_SCALE_FACTOR to set the application global scale factor.
18:38:40.668 [i]: Main: starting up SVP 4 Linux Preview [4.0.0.72]... 
18:38:40.668 [i]: Main: working dir is /home/thomasliddiard/SVP 4/
18:38:40.668 [i]: Main: data dir set to /home/thomasliddiard/.local/share/SVP4/
18:38:40.669 [E]: Settings: loading reg.cfg FAILED: read-only file
18:38:40.669 [E]: Settings: loading main.cfg FAILED: read-only file
18:38:40.669 [W]: Settings: creating ui.cfg with default values
18:38:40.669 [i]: Settings: loading ui.cfg OK
18:38:40.669 [W]: Settings: creating frc.cfg with default values
18:38:40.669 [i]: Settings: loading frc.cfg OK
18:38:40.669 [W]: Settings: creating profiles.cfg with default values
18:38:40.669 [i]: Settings: loading profiles.cfg OK
18:38:40.669 [i]: Settings: loading custom.cfg OK
18:38:40.669 [W]: Settings: creating lights.cfg with default values
18:38:40.669 [i]: Settings: loading lights.cfg OK
18:38:40.669 [i]: Main: system locale is [en-GB]
18:38:40.669 [i]: Main: setting language file to en.qm...
18:38:40.670 [i]: Main: module 'plugins/libsvpflow1_vs64.so': 4.0.0.132
18:38:40.671 [i]: Main: module 'plugins/libsvpflow2_vs64.so': 4.0.0.132
18:38:40.671 [i]: Main: running OpenCL info...
18:38:40.674 [i]: Main: collecting system information...
18:38:40.676 [i]: OS: Linux 4.2.0-34-generic #39-Ubuntu SMP Thu Mar 10 22:13:01 UTC 2016 x86_64
18:38:40.714 [i]: Display manager: /usr/sbin/gdm | / gnome
18:38:40.715 [i]: CPU: Intel Core i7-3770 [base frequency 2062 MHz, 8 threads]
18:38:40.737 [i]: Video: 1 GPU OpenCL device(s) on NVIDIA CUDA [OpenCL 1.2 CUDA 8.0.0] (NVIDIA Corporation)
18:38:40.740 [i]: Video 1: device name 'GeForce GTX 970' (NVIDIA Corporation, ver.364.12) [gpuID=11]: OK
18:38:40.740 [i]: Memory:  7952  MB total,  6020 MB free
18:38:40.740 [i]: System: initializing network...
18:38:40.773 [i]: Screens: updating information, 1 screen(s) found
18:38:40.773 [i]: Screens: screen 0 (HDMI-0) - 1920x1080 @60.000 Hz, x1.0 [55 DPI]
18:38:40.773 [i]: Screens: primary screen is 0
18:38:40.774 [i]: Power: AC is ON [1]
qt.network.ssl: 18:38:52.141 [W]: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: 18:38:52.141 [W]: QSslSocket: cannot resolve SSLv2_server_method
18:38:52.428 [i]: Registration: OK!
18:38:52.435 [i]: Main: finished cleaning resources
Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: 
    QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-screen factors. 
    QT_SCREEN_SCALE_FACTORS to set per-screen factors. 
    QT_SCALE_FACTOR to set the application global scale factor.
thomasliddiard@Ubuntu-Desktop:~$ 18:38:52.505 [i]: Main: starting up SVP 4 Linux Preview [4.0.0.72]... 
18:38:52.506 [i]: Main: working dir is /home/thomasliddiard/SVP 4/
18:38:52.506 [i]: Main: data dir set to /home/thomasliddiard/.local/share/SVP4/
18:38:52.506 [E]: Settings: loading reg.cfg FAILED: read-only file
18:38:52.506 [E]: Settings: loading main.cfg FAILED: read-only file
18:38:52.506 [W]: Settings: creating ui.cfg with default values
18:38:52.506 [i]: Settings: loading ui.cfg OK
18:38:52.506 [W]: Settings: creating frc.cfg with default values
18:38:52.506 [i]: Settings: loading frc.cfg OK
18:38:52.506 [W]: Settings: creating profiles.cfg with default values
18:38:52.506 [i]: Settings: loading profiles.cfg OK
18:38:52.506 [i]: Settings: loading custom.cfg OK
18:38:52.506 [W]: Settings: creating lights.cfg with default values
18:38:52.506 [i]: Settings: loading lights.cfg OK
18:38:52.506 [i]: Main: system locale is [en-GB]
18:38:52.507 [i]: Main: setting language file to en.qm...
18:38:52.507 [i]: Main: module 'plugins/libsvpflow1_vs64.so': 4.0.0.132
18:38:52.508 [i]: Main: module 'plugins/libsvpflow2_vs64.so': 4.0.0.132
18:38:52.508 [i]: Main: running OpenCL info...
18:38:52.511 [i]: Main: collecting system information...
18:38:52.513 [i]: OS: Linux 4.2.0-34-generic #39-Ubuntu SMP Thu Mar 10 22:13:01 UTC 2016 x86_64
18:38:52.537 [i]: Display manager: /usr/sbin/gdm | / gnome
18:38:52.538 [i]: CPU: Intel Core i7-3770 [base frequency 2491 MHz, 8 threads]
18:38:52.555 [i]: Video: 1 GPU OpenCL device(s) on NVIDIA CUDA [OpenCL 1.2 CUDA 8.0.0] (NVIDIA Corporation)
18:38:52.556 [i]: Video 1: device name 'GeForce GTX 970' (NVIDIA Corporation, ver.364.12) [gpuID=11]: OK
18:38:52.556 [i]: Memory:  7952  MB total,  6020 MB free
18:38:52.556 [i]: System: initializing network...
18:38:52.582 [i]: Screens: updating information, 1 screen(s) found
18:38:52.582 [i]: Screens: screen 0 (HDMI-0) - 1920x1080 @60.000 Hz, x1.0 [55 DPI]
18:38:52.582 [i]: Screens: primary screen is 0
18:38:52.582 [i]: Power: AC is ON [1]

Opencl log:

Number of platforms                               1
  Platform Name                                   NVIDIA CUDA
  Platform Vendor                                 NVIDIA Corporation
  Platform Version                                OpenCL 1.2 CUDA 8.0.0
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts
  Platform Extensions function suffix             NV

  Platform Name                                   NVIDIA CUDA
Number of devices                                 1
  Device Name                                     GeForce GTX 970
  Device Vendor                                   NVIDIA Corporation
  Device Vendor ID                                0x10de
  Device Version                                  OpenCL 1.2 CUDA
  Driver Version                                  364.12
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Topology (NV)                            PCI-E, 01:00.0
  Max compute units                               13
  Max clock frequency                             1316MHz
  Compute Capability (NV)                         5.2
  Device Partition                                (core)
    Max number of sub-devices                     1
    Supported partition types                     None
  Max work item dimensions                        3
  Max work item sizes                             1024x1024x64
  Max work group size                             1024
  Preferred work group size multiple              32
  Warp size (NV)                                  32
  Preferred / native vector sizes                 
    char                                                 1 / 1       
    short                                                1 / 1       
    int                                                  1 / 1       
    long                                                 1 / 1       
    half                                                 0 / 0        (n/a)
    float                                                1 / 1       
    double                                               1 / 1        (cl_khr_fp64)
  Half-precision Floating-point support           (n/a)
  Single-precision Floating-point support         (core)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  Yes
  Double-precision Floating-point support         (cl_khr_fp64)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Address bits                                    64, Little-Endian
  Global memory size                              4292313088 (3.998GiB)
  Error Correction support                        No
  Max memory allocation                           1073078272 (1023MiB)
  Unified memory for Host and Device              No
  Integrated memory (NV)                          No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       4096 bits (512 bytes)
  Global Memory cache type                        Read/Write
  Global Memory cache size                        212992
  Global Memory cache line                        128 bytes
  Image support                                   Yes
    Max number of samplers per kernel             32
    Max size for 1D images from buffer            134217728 pixels
    Max 1D or 2D image array size                 2048 images
    Max 2D image size                             16384x16384 pixels
    Max 3D image size                             4096x4096x4096 pixels
    Max number of read image args                 256
    Max number of write image args                16
  Local memory type                               Local
  Local memory size                               49152 (48KiB)
  Registers per block (NV)                        65536
  Max constant buffer size                        65536 (64KiB)
  Max number of constant args                     9
  Max size of kernel argument                     4352 (4.25KiB)
  Queue properties                                
    Out-of-order execution                        Yes
    Profiling                                     Yes
  Prefer user sync for interop                    No
  Profiling timer resolution                      1000ns
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            No
    Kernel execution timeout (NV)                 Yes
  Concurrent copy and kernel execution (NV)       Yes
    Number of async copy engines                  2
  printf() buffer size                            1048576 (1024KiB)
  Built-in kernels                                
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Device Extensions                               cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  NVIDIA CUDA
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [NV]
  clCreateContext(NULL, ...) [default]            Success [NV]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No platform

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.2.7
  ICD loader Profile                              OpenCL 1.2

As you can imagine this problem is very annoying, how can I fix this?
Thanks in advance!

3

(64 replies, posted in Using SVP)

After some further analysis I would like to address a couple of errors in my previous post:

1. The setting "analyse.main.search.coarse.type" is in fact "analyse.main.search.type" (an easy mistake to make) which cannot be modified in any way in the settings of SVP 3 and SVP 4 and the default values are again 4 and 2 respecively. This has a slightly different effect of changing the search type of the finest level of interpolation instead of the coarse levels.

2. I somehow overlooked comparisons of several consecutive frames from the same source material which revealed frames that did not match, due to another script parameter. This was surprising since I managed to select 3 test frames from different source materials which did match, amongst the pool of matching and mismatching frames in each source material.

The parameter in question is "scene.mode" and in fact made another large difference in artifacting on those frames which did not match. The value used (with the profile settings given previously) in SVP 3 is 3 and in SVP 4 is 1. This is very strange since according to the documentation this controls the overall interpolation mode and should be set to 1 to force 1m mode and 3 to force adaptive mode. However one can alternatively keep adaptive mode and change the threshold values for switching from uniform to m1 and m2 in order to force 1m, 2m, 1.5m modes (see documentation on "scene.limits" for info on this.) SVP 3 and SVP 4 already have the threshold values both set to zero which forces 1.5m mode, but it appears that the value of 1 used for "scene.mode" in SVP 4 overrides this to m1 mode (more artifacts).

Therefore for now the value of 3 must also be specified for "scene.mode" in the override.js script to prevent SVP 4 from using 1m mode instead of 1.5m.

This appears to be an error in how SVP 4 generates scripts using 1.5m mode and should be fixed by the developers. It would also be nice if the "search range" had more options which correspond to smaller steppings in the value of "analyse.main.search.coarse.distance", such as a slider like on the main screen. This would allow, without much added confusion, better tuning that can allow us to get the same settings for SVP 3 "medium" and "large".

Home this helps! smile

4

(64 replies, posted in Using SVP)

Ok, I have now experimented with the setup I described previously using the exact settings as shown in the screenshots below (those used by Fabulist for SVP 3.)

http://s8.postimg.org/sds6xnbpx/SVP3_Settings.pnghttp://s21.postimg.org/j183d8u2v/SVP4_Settings.png

I tested Ant Man and many other video clips and can verify the difference in quality you are experiencing.
I have got to the root of the difference but I did not do a qualitative analysis to do this.
I generated images showing where pixel colours differed between interpolated frame screenshots.
This was a VERY slow process, and I compared those interpolated by SVP 3/SVP 4 with default scripts and also edited SVP 4 scripts (to bring it closer to the SVP 3 script.)
The result: At least in the case with Fabulist's settings, modifying the two parameters (those I mentioned previously) to the values in SVP 3 is sufficient to achieve zero difference between the SVP 3 and SVP 4 screenshots.

These are:
"analyse.main.search.coarse.distance" change -8 to -10
"analyse.main.search.coarse.type" change 2 to 4 (default SVPflow setting)

The major factor that changed the amount of artifacting is the "analyse.main.search.coarse.distance" setting which completely changed how sharp and large the artifacts in interpolated frames were.

The "analyse.main.search.coarse.distance" setting is controlled directly by the "Search radius" setting but the values used by SVP 4 and SVP 3 for each setting differ as follows:

                                  SVP 4      SVP 3   
Small and fast:             -6            -6        Also: "analyse.main.search.coarse.satd" set to false, "analyse.main.search.coarse.type" set to 2
Small:                          -6            -6
Average:                      -8            -10
Large:                          -12          -14

The "analyse.main.search.coarse.type" setting can only be controlled partly by the "Search radius" (as mentioned above for "Small and fast").  This makes no difference for SVP 4 since it is set to 2 by default, but it does for SVP 3 since it is set to 4 by default.

Now, this wouldn't be a problem if these settings were controllable through the "all settings" screen but unfortunately they are not.
Therefore to change these settings the simplest way is as follows:
1. Run notepad/wordpad as administrator.
2. Open "override.js" file found in SVP 4 program folder, inside the script folder (you will have to select all files from the drop down list to see it.)
3. Search for each of the settings mentioned before and do the following:
4. Remove the double foward slash at the beginning of the line.
5. Change the values: 4 for "analyse.main.search.type", -10 for "analyse.main.search.coarse.distance".
6. Save and test.
The values have only been tested specifically with the profile settings used by Fabulist, but editing these values should work the same way with different profile settings.

This may still not be enough to achieve the same interpolated video quality because with one of my computers I was having issues with Avisynth MT 2.6 and Avisynth+ that can be used by SVP 4. Frames were being skipped/repeating with no indication in the EVR information overlay and was hard to percieve using 1.5m interpolation mode (I had to use uniform mode.) This made some interpolated frames remain on screen for twice as long, which makes them more noticable compared to using Avisynth 2.5 MT used by defualt with SVP 3. This problem did not exist on my other computer so I cannot recommend a definate fix if you have a similar problem to this.

I would also like to recommend trying these settings which I use on a regular basis and give me minimal artifacts in SVP 4 by default. It also (as far as I can tell) gives smoother motion because of uniform interpolation mode and uses a lot less CPU resources.

http://s10.postimg.org/ym2633cax/My_Settings.png

Hope this helps! smile

5

(64 replies, posted in Using SVP)

Hello,

I am sorry I could not provide frame comparisons for the films you listed, which is why I described it as a quick comparison. I had none on hand at the time and this was the best I had available (which was a 1080p copy, though I was aware the original film source was not.) I alsorealised that the test may have been effected by the use of the same version of Avisynth or the use of MadVR as the renderer. There are differences between the Developer and Pro versions of SVP but I'm not sure how much this extends beyond the naming and the available components for install.


Therefore I will try the test again when I have time, primarily with Ant Man (when I can get hold of a copy.) I will compare SVP 3.1.7a and SVP 4 Pro using EVR renderer with no image enhancements and the versions of Avisynth installed by default for SVP 3 and 4 (unless anybody has a better suggestion?)

Also, are there one or two other movies that would be especially insteresting to test? I also need three or more points in the movie that I can seek to for the most meaningful comparisons.

MistahBonzai
mashingan has covered your question, but I would like to add that the documentation is present here: https://www.svp-team.com/wiki/Plugins:_SVPflow though you need to look for it under the table for SVSuper.

6

(64 replies, posted in Using SVP)

Hello,

I have looked through this thread and decided to look into this issue thoroughly.
I compared both SVP 3.1.7a and SVP 4.0.0.56 developer biuld.

I first checked the AVS scripts generated by identical settings in both versions. The settings are those used by Fabulist, except artifacts masking was turned off and 16px grid step used for both. The only differences were parameters used for analyse_params:
"distance", -10 in SVP 3 and -8 in SVP 4
"type", default setting of 4 in SVP 3 and 2 in SVP 4
The generated scripts are attached, with modifications (needed for compatability with Avisynth+) seperated by ##### on top and bottom.

I then did a quick direct frame comparison of interpolated frames using these scripts with the corresponding versions of svpflow1.dll and svpflow2.dll used with each version. I chose the opening sequence of Home Alone 2 (2:15 to 2:50) where people are rushing around in the house and there are several camera pans centred on moving people.
This did not show any significant discrepancies as shown in the attached screenshots.

I then decided to count the number of artifacted frames over the given fixed interval of time. A good indicator for every interpolated frame in a camera pan is slight frame tearing on the screen edge, so I looked for severely distorted background patterns in these frames. This was also identical as far as I could tell, with about a third of the frames having artifacts.

So I could not reproduce any significant differences even with close comparison of the two versions. My only explanation is that the latest developer build has addressed these issues and is in the pipeline for official release (which I hope is correct.)

Hope this helps!