codeberg Line-fr/Vship v4.0.0
VSHIP 4.0.0 : Color conversion on GPU and CVVDP Metric!

latest releases: v5.0.0, v4.1.0, v4.0.2...
3 months ago

The number of commit between last release and this one is 25% of the whole total commits to Vship. This release comes with some fixes bug will also potentially introduce new bugs on obscure videos that I have not tried. Don't hesitate to report them in Issues if you see one! I will probably be able to fix them without too much trouble.

  • /!\ Breaking changes

    • Vship API changed a lot because vship handles color conversion internally now which means it is easier to integrate to a project but required breaking changes to the API which previously had ugly "-Uint16 float" functions for the 2 types. This is over and represented by a unified structure
    • vship.so/dll is now renamed as libvship.so/dll This is better for linking vship API and more coherent with what vship is today. This can create issues when installing the new version on Linux with conflicting dll. To uninstall the previous version before installing the new one you can use make uninstallOld
    • Some nice and weird colorspaces which used to work in FFVship (thanks to zimg color conversion) will not work anymore. But if you encounter such case, don't hesitate to create an issue. The code structure makes it easy to add a new supported colorspace. The list of supported colorspace can be seen in src/VshipColor.h
  • New in Vship4

    • CVVDP Metric! I implemented https://github.com/gfxdisp/ColorVideoVDP in Vship. It is up to 8x faster than the original and fixes a lot of their issues (especially for the fact that they do not parse the metadata of the source). Where SSIMULACRA2 tries measures how bad artifacts are and butteraugli tries to measure the distance required to differentiate 2 sources, CVVDP tries to see the percentage of people who would select the lower quality source. CVVDP scores impressively high on independent benchmark research papers. CVVDP is also the first actually temporal Metric we get to see in Vship which means a single score per video is returned unlike others.
    • Butteraugli QNorm -> you can specify (--qnorm in FFVship) the norm used by butteraugli to allow arbitrarily strict severity on bad pixels for the resulting score.
    • No Zimg dependency -> Thanks to GPU Color conversion, we can remove this dependency. However, on GPU bottlenecked situation, you might see a slowdown in SSIMU2 computation speed but a lower CPU usage since the load of the color conversion is on GPU instead of CPU now.
    • Cropping support in FFVship. There are new options (check FFVship --help) that allows to crop the source or the encoded video easily
  • BugFix

    • bad aligned memory for zimg on windows making random crashes
    • default transferFunction is sRGB when having an RGB Matrix
    • fix vapoursynth crash when cropping before passing to vship

This clearly is the biggest release I did so far and it was a lot of work but I am glad it is done now. I hope not too many bugs will have stepped in silently and I hope you will like this new CVVDP!
Happy christmas in advance ahah
Line

Don't miss a new Vship release

NewReleases is sending notifications on new releases.