SVP3:Technical insights

From SmoothVideo Project
Jump to navigation Jump to search

This is a legacy SmoothVideo Project (SVP) ver.3 user manual.

Here you can find the technical details of the different sections of the manual, the order of the individual sections does not make sense and is not important.

Anyone can live without this knowledge :), but curious SVP users may be satisfied with some answers to their questions.

See also detailed info about:

Hidden settings

All SVP settings file, most of which is not editable from the Manager menu.

To edit: open the settings file (menu entry Information -> Hidden settings), change something, save the file and restart the Manager.

Black fields lighting parameters

General principle - the illumination system emulates hardware LED backlight like Ambilight (см. SVPlight), when the edges of the screen is equipped with a limited amount of "light bulbs" (LEDs), each of which shows the color and brightness, averaged over a certain area of ​​the frame.

Illumination is defined:

1. How to enframe the video frame with colored stripes - see. Manager:

Svp-lighting-types-en.png

2. How to to exactly paint every colored stripe, use a window that opens from the menu Outer lighting -> Lighting type -> Custom....

Here the following 4 parameters are set:

  • Light sources count - how many "bulbs" will be emulated along every frame edge.
  • Averaging depth - thickness or depth of color averaging. This means that having the thickness of 100 pixels the "bulbs" will average 100 pixels wide stripe along the frame edge.
  • Light sources size - color averaging width, how much of the stripe length is used for one "bulb". 100% - the frame width will be evenly distributed between the "bulbs". More than 100% means that the neighbored "bulbs" will "overlap".
  • Flare length - "power" of the bulbs, the strength they "shine" in percents of the black stripe width. 100% means, that having a totally white frame the lighting will turn to black exactly on the screen border.

Stereo-pair tags

The Manager attempts to automatically detect files in 3D-format (stereo pairs) in two ways:

  • by special tags in the file name, which is usually contained in the files downloaded from the Internet, type "sbs", "hou", etc. Tags are set by hidden settings StereoTag_HOU, StereoTag_HSBS, StereoTag_?, StereoTag_bounds, which can be sorted out easily by anyone familiar with regular expressions.
  • by the ratio of the width to the height of the frame (disabled by default). Can be enabled in hidden setting StereoMode_AutoDetect

Thread count

The thread count in the Manager menu sets the parallelism level inside the Plugins: SVPflow plugins.

  • optimal count for CPU- and GPU-mode differ, for CPU-mode it equals the CPU core count, and for GPU-mode, due to the thread synchronization features it is equal to <CPU core count>*1.8
  • using a special version of avisynth.dll, delivered with SVP, the video player memory consumption is directly proportional to the number of threads, that is why in some cases it makes sense to reduce the amount of threads below the optimal value in order to keep the players RAM usage below the allowed memory usage limits for 32-bit applications (i.e. on a system equipped with a very multi-core CPU over 12 cores or to save up memory size to watch a video in 4K format)

Generation of the AVS-script

Manager takes user defined parameters and generates an Avisynth-script which realizes the FRC algorithm.

On start of video playback:

  • The Manager choose the most suitable profile
  • All profile parameters and the setting of the Manager will be stored in .ini-files in one directory
  • using the Windows Scripting Host (WSH) the script generate.js will be launched (from the SVP installation directory), which task is to generate the Avisynth script text including the settings of all SVPflow plugins

Although the text generate.js is easily editable by any professional programmer, for a simpler override of FRC parameters there is a special file override.js. When executed the the objects levels, analyse and smooth, representing the parameters of SVSuper, SVAnalyse и SVSmoothFps functions are already preset. The simplest way to override a parameter is to remove the comment sign from any line in the file and specify a custom value.

An example of a more complex modification, showing an addition of a new parameter in profile window and its usage in the final script can be viewed in this forum thread.

x-m modes

Special FRC modes are defined in profile parameters as 1m, 1.5m, 2m, storing all the original frames.

  • 1m - it is the alternation of the original and interpolated frames, which displays all the original frames once, and between them are the interpolated frames.

If the enhanced smoothness is chosen as 24->60, then with uniform interpolation mode every second source frame is discarded, instead being completed 4 new interpolated frames.

The 1m mode saves all source frames, but on playback one of the frames is being displayed with a small delay. This is why the video quality enhances and the motion becomes less uniform. Also if the GPU boos is disabled the CPU load decreases.

So, for conversion 24->60 the following frame sequence will be built:

<frame 1> - <frame 1 + 33%> - <frame 1 + 66%> - <frame 2> - <frame 2 + 50%> - <frame 3> - ...
  • 2m mode is similar, but every source frame is being shown twice:
<frame 1> - <frame 1> - <frame 1 + 50%> - <frame 2> - <frame 2> - <frame 3> - ...