From Avisynth wiki
Jump to: navigation, search
Author Donald Graft
Version 2022/08/20
Download DGCube.zip
Category Adjustment Filters
License Closed source
Discussion DG Tools Support Forum



AviSynth+ plugin to load and apply Adobe 3D LUTs to a clip. DGCube is a CUDA version of the AVSCube filter.


Syntax and Parameters

DGCube (clip, string "cube", bool "expand_in", bool "compress_out", string "interp", int "device")

clip   =
Input clip; the filter receives and delivers either RGBP16 or YUV420P16 color space.

string  cube = ""
Full path of the 3D LUT file. This must be an Adobe *.cube file.

bool  expand_in = false
Expand the input from limited range to full range. Default is false.

bool  compress_out = false
Compress the output from full range to limited range. Default is false.

string  interp = "tetrahedral"
String specifying the interpolation method: "tetrahedral" (default) or "trilinear".

int  device = 255
GPU device number to use. If device is 255 (default), then the GPU device will be automatically selected.


Apply 3D LUT to clip obtained from BlankClip:

BlankClip(pixel_type="RGBP16", color=$ff0000)

Apply 3D LUT to HDR10 PQ clip obtained from DGSource using internal YUV<->RGB conversions:

# Source
DGSource("THE GREAT WALL.dgi")
# Load and apply "PQ_to_BT709_slope" cube. Input and output is Limited Range YUV420P16 DGCube("PQ_to_BT709_v1.cube", expand_in=true, compress_out=true, interp="tetrahedral")

Apply 3D LUT to HDR10 PQ clip obtained from DGSource using external conversions to RGBP16:

# Source
DGSource("THE GREAT WALL.dgi")
# From 4:2:0 10bit planar Limited Range to RGB Planar 16bit Full Range z_ConvertFormat(pixel_type="RGBP16", colorspace_op="2020:st2084:2020:limited=>rgb:st2084:2020:full", dither_type="error_diffusion")
# Load and apply "PQ_to_BT709_slope" cube DGCube("PQ_to_BT709_v1.cube", expand_in=false, compress_out=false, interp="tetrahedral")
# From RGB 16bit planar Full Range to YUV420 10bit planar Limited Range with dithering z_ConvertFormat(pixel_type="YUV420P10", colorspace_op="rgb:709:709:full=>709:709:709:limited", dither_type="error_diffusion")


Version         Date            Changes
                2022/08/20      - "full_range" parameter removed.
                                - Faster cube loading.
                2022/08/19      - Added "expand_in" and "compress_out" parameters.
                                - "full_range" parameter ignored.
                2022/08/17      - Add support for YUV420P16.
                2022/08/11      - VapourSynth support.
                                - 'device' parameter to select GPU device.
                                - Updated user manual.
                2022/08/10      - Added tetrahedral interpolation.
                2022/08/08      - Ability to open any size cube file, no longer limited to 65.
                2022/08/07      - Initial release

Archived Downloads

Version Download Mirror
2022/08/20 DGCube.zip
2022/08/11 DGCube.zip

External Links

Back to External Filters

Personal tools