All Projects → ledoge → novideo_srgb

ledoge / novideo_srgb

Licence: other
Calibrate monitors to sRGB or other color spaces on NVIDIA GPUs, based on EDID data or ICC profiles

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to novideo srgb

noncerpro-nimiq-cuda
Nimiq CUDA miner
Stars: ✭ 23 (-89.64%)
Mutual labels:  nvidia
linux nvidia jetson
Allied Vision CSI-2 camera driver for NVIDIA Jetson Systems. Currently supporting Nano, TX2, AGX Xavier, and Xavier NX. Support for TX2 NX coming soon.
Stars: ✭ 68 (-69.37%)
Mutual labels:  nvidia
nvtx-rs
A safe Rust FFI binding for the NVIDIA® Tools Extension SDK (NVTX).
Stars: ✭ 28 (-87.39%)
Mutual labels:  nvidia
BatchAIHorovodBenchmark
Benchmarking Horovod and TF on Batch AI
Stars: ✭ 25 (-88.74%)
Mutual labels:  nvidia
gpufetch
Simple yet fancy GPU architecture fetching tool
Stars: ✭ 66 (-70.27%)
Mutual labels:  nvidia
MinerLamp
Qt GUI for ethminer
Stars: ✭ 40 (-81.98%)
Mutual labels:  nvidia
qe-gpu
GPU-accelerated Quantum ESPRESSO using CUDA FORTRAN
Stars: ✭ 50 (-77.48%)
Mutual labels:  nvidia
coreos-gpu-installer
Scripts to build and use a container to install GPU drivers on CoreOS Container Linux
Stars: ✭ 21 (-90.54%)
Mutual labels:  nvidia
vdpau-va-driver-vp9
Experimental VP9 codec support for vdpau-va-driver (NVIDIA VDPAU-VAAPI wrapper) and chromium-vaapi
Stars: ✭ 68 (-69.37%)
Mutual labels:  nvidia
RTX-2080Ti-Vs-GTX-1080Ti-CIFAR-100-Benchmarks
No description or website provided.
Stars: ✭ 16 (-92.79%)
Mutual labels:  nvidia
GapFlyt
GapFlyt: Active Vision Based Minimalist Structure-less Gap Detection For Quadrotor Flight
Stars: ✭ 30 (-86.49%)
Mutual labels:  nvidia
play with tensorrt
Sample projects for TensorRT in C++
Stars: ✭ 39 (-82.43%)
Mutual labels:  nvidia
hashcatbenchmark
Benchmark in Hashcat for diferents GPU's
Stars: ✭ 19 (-91.44%)
Mutual labels:  nvidia
Nvidia-Intel
Setup Nvidia & Intel services
Stars: ✭ 21 (-90.54%)
Mutual labels:  nvidia
ONNX-Runtime-with-TensorRT-and-OpenVINO
Docker scripts for building ONNX Runtime with TensorRT and OpenVINO in manylinux environment
Stars: ✭ 15 (-93.24%)
Mutual labels:  nvidia
Autodesk-Fusion-360-for-Linux
This is a project, where I give you a way to use Autodesk Fusion 360 on Linux!
Stars: ✭ 810 (+264.86%)
Mutual labels:  nvidia
aws-virtual-gpu-device-plugin
AWS virtual gpu device plugin provides capability to use smaller virtual gpus for your machine learning inference workloads
Stars: ✭ 115 (-48.2%)
Mutual labels:  nvidia
nvidia gpu exporter
Nvidia GPU exporter for prometheus using nvidia-smi binary
Stars: ✭ 85 (-61.71%)
Mutual labels:  nvidia
zabbix-nvidia-smi-integration
The Zabbix template for monitoring Nvidia graphics cards.
Stars: ✭ 22 (-90.09%)
Mutual labels:  nvidia
lane detection
Lane detection for the Nvidia Jetson TX2 using OpenCV4Tegra
Stars: ✭ 15 (-93.24%)
Mutual labels:  nvidia

Download latest release

About

This tool uses an undocumented NVIDIA API, supported on Fermi and later, to convert colors before sending them to a wide gamut monitor to effectively clamp it to sRGB (alternatively: Display P3, Adobe RGB or BT.2020), based on the chromaticities provided in its EDID. AMD supports this as a hidden setting in their drivers, but NVIDIA doesn't because ???.

ICC profiles are also supported and can be used in two different ways. By default, only the primary coordinates from the ICC profile will be used in place of the values reported in the EDID. This is useful if you want to use a profile created by someone else without taking their gamma/grayscale balance data into account, as that can vary a lot between units. If you enable the Calibrate gamma to checkbox, a full LUT-Matrix-LUT calibration will be applied. This is similar to the hardware calibration supported by some monitors and can be used to achieve great color and grayscale accuracy on well-behaved displays.

Usage

Extract release.zip somewhere and run novideo_srgb.exe. To enable/disable the sRGB clamp for a monitor, simply toggle the "Clamped" checkbox. For using ICC profiles and configuring dithering, click the "Advanced" button.

Notes for use with EDID data

  • If the checkbox for a monitor is locked, it means that the EDID is reporting the sRGB primaries as the monitor's primaries, so the monitor is either natively sRGB or uses an sRGB emulation mode by default. If this is not the case, complain to the manufacturer about the EDID being wrong, and try to find an ICC profile for your monitor to use instead of the EDID data.

  • The reported white point is not taken into account when calculating the color space conversion matrix. Instead, the monitor is always assumed to be calibrated to D65 white.

Notes for use with ICC profiles

  • For the gamma options to work properly, the profile must report the display's black point accurately. DisplayCAL's default settings, e.g. with the sRGB preset, work fine.
  • Since the color space conversion is done on the GPU side, the ICC profile must not be selected/loaded in Windows or any other application. If you want, you can do another profiling run on top of the active calibration and then use this profile in applications that support color management to achieve even better color accuracy.
  • To achieve optimal results, consider creating a custom testchart in DisplayCAL with a high number of neutral (grayscale) patches, such as 256. With that, a grayscale calibration (setting "Tone curve" to anything other than "As measured") should be unnecessary unless your display lacks RGB gain controls, but can lead to better accuracy on poorly behaved displays. The number of colored patches should not matter much. Additionally, configuring DisplayCAL to generate a "Curves + matrix" profile with "Black point compensation" disabled should also result in a lower average error than using an XYZ LUT profile. This advice is based on what worked well for a handful of users, so if you have anything else to add, please let me know.
  • The option "Disable 8-bit color optimization" can be used to get better color accuracy in true 10-bit workflows at the cost of 8-bit accuracy. Only enable this if you really know you're working with 10-bit color.
  • Only the VCGT (if present), TRC and PCS matrix parts of an ICC profile are used. If present, the A2B1 data is used to calculate (hopefully) higher quality TRC and PCS matrix values.

Dithering

Applying any kind of calibration on the GPU-level usually results in banding unless dithering is used. By default, NVIDIA GPUs do not apply dithering to full range RGB output. Therefore, it is recommended that you use the dither controls to enable and configure dithering. "Bits" should be set to match the bit depth of your GPU output, and "Mode" can be set to whatever looks best to you. Note that "Temporal" works by rapidly switching between colors, which some people's eyes are sensitive to.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].