-
Notifications
You must be signed in to change notification settings - Fork 3.2k
GPU Next vs GPU
Niklas Haas edited this page Mar 17, 2022
·
37 revisions
Disclaimer: This is a very incomplete, WIP list.
-
--blend-subs(#9870) --gamma-auto-
--cscale: currently,gpu-nextuses the--scalefilter for everything, without the ability to tune it by plane type; subject to change by popular request -
--dither=error-diffusion(#9415) -
libmpvintegration (#9475) - Presentation feedback
-
--fbo-format: the best we can currently do is disable FBOs (--gpu-dumb-mode=yes) or force 8-bit FBOs (option not yet implemented) -
--icc-force-contrast: ICC/3DLUT color management is currently in a state of flux and will be rewritten soon, no idea what will happen to this option as a result
-
--sharpen: Very low quality and easily replaced by (better) custom shaders (#9387, #9845) -
ewa_lanczossharp/ewa_lanczossoft: Easily replicated by tuningewa_lanczos(see below for further justification) -
haasnsoft: Easily replicated by tuningewa_lanczos -
--tone-mapping-max-boost: crutch for bad tone-mapping functions and lack of black point handling -
--vf=format:light=...: OOTFs are tied to the EOTF ingpu-next, and can no longer be adjusted independently -
--scaler-resizes-only: enabled by design ingpu-next, so the option does nothing
-
gpu-nextshould be generally faster across the board, owing to refactors and rewrites of many key algorithms (EWA scaling, frame interpolation, color management, PRNG/debanding, etc.) -
gpu-nextaggressively merges shader passes wherever possible, leading to a significant reduction in the number of full-screen draw calls required per frame; in addition to this it also more aggressively reuses internal frame caches -
gpu-next, unlikegpu, performs black point compensation during color management, leading to subtly different results for many of the tone mapping-related options -
gpu-nextgenerally defaults tobt.1886instead ofgamma2.2for the display output, due to the better/different black point handling -
gpu-nextdoesn't rotate/flip frames until the final output pass, whereasgpuapplied this during the main scaling pass. This generally makes it more robust when combining custom user shaders with rotated videos
-
ewa_lanczosdefaults to using radius 3.2383... ingpu-next, rather than the radius 3.0 ofgpu. Note that the (deleted)ewa_lanczossharpprefix also used the 3.2383 radius instead of 3.0, which was the main reason for the difference between those two presets in the first place. So, sinceewa_lanczosnow uses the larger radius by default, the difference between it and the "sharper" preset is almost nonexistant. -
--tone-mapping=auto: chooses betweenspline,bt.2446aandbt.2390, instead of always pickingbt.2390 -
--tone-mapping=gamma: scaling of the parameter has been changed slightly -
--tone-mapping=bt.2390: knee point is now tunable, defaulting to 1.0 instead of the hard-coded 0.50 fromgpu -
--tone-mapping=linear: is now perceptually linear instead of linear light -
--tone-mapping-mode=auto: chooses the new modelumaby default, in most circumstances -
--tone-mapping-mode=hybrid: uses a different hard-coded tradeoff function -
--gamut-mapping-mode=auto: picks the new modedarkenby default -
--gamut-mapping-mode=warn: makes out-of-gamut pixels magenta, instead of inverting them -
--hdr-compute-peak:gpu-nextgenerally uses frame-exact results, rather than delaying detected peaks by a frame -
--scale=boxis no longer resizable, but see: -
--scalecan now be used directly on window functions, removing the need for--scale-window+--scale=boxcombo; in addition, a few new functions are available while others have been removed
-
TEXTURE_rotis no longer needed (it still exists for compatibility, but it's defined as an identity matrix) - The distinction between
MAINandMAINPRESUBno longer exists - either name can be used to refer to the same texture - Two new macros
linearizeanddelinearizeare available in all shader stages, resolving to GLSL functions for going back and forth between the video's native color space and linear light
- Support for Dolby Vision content (reshaping only)
--interpolation-preserve-
--lut,--image-lut,--target-lut -
--target-colorspace-hint: cross-platform HDR passthrough, with metadata forwarding and automatic tone-mapping --tone-mapping=bt.2446a--tone-mapping=spline--inverse-tone-mapping--tone-mapping-crosstalk--tone-mapping-mode=luma--allow-delayed-peak-detect
- #8223
- #9863
- #5727
- lots more that I forgot about