Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
Thread Tools | Search this Thread | Display Modes |
7th August 2022, 19:22 | #101 | Link |
Registered User
Join Date: Mar 2003
Location: Germany
Posts: 215
|
I'm having a lut which when using ffmpeg produces the expected behaviour, but when using the cube function returns unexpected things.
The following image shows the result, on the right part there are these waves which are unexpected, and are also not there using ffmpeg. However when using ffmpeg I'm getting this: Here are all files I am using: hlg_test.7z The command for ffmpeg is: ffmpeg -i GreyRamp16bits.png -vf lut3d=lut_4000_3.0.cube -pix_fmt rgb48be GreyRamp16bits_converted.png What is going on here, why the different results? Last edited by ErazorTT; 20th August 2022 at 20:03. |
7th August 2022, 19:56 | #103 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,377
|
For reference, avs version , vpy version that it's based on , and Adobe get similar results
The difference is the default interpolation type for ffmpeg (tetrahedral) . Trilinear , pyramid, prism all produce the pattern to an extent eg. ffmpeg -i GreyRamp16bits.png -vf lut3d=lut_4000_3.0.cube:interp=trilinear -pix_fmt rgb48be GreyRamp16bits_converted_trilinear.png Last edited by poisondeathray; 7th August 2022 at 20:00. |
8th August 2022, 16:38 | #106 | Link | |
Registered User
Join Date: Mar 2003
Location: Germany
Posts: 215
|
Quote:
Last edited by ErazorTT; 8th August 2022 at 16:50. |
|
8th August 2022, 17:46 | #108 | Link | |
Registered User
Join Date: Sep 2007
Posts: 5,377
|
Quote:
But having more options is always welcome You can try submitting a feature request https://github.com/sekrit-twc/timecube/issues |
|
10th August 2022, 16:07 | #110 | Link | |
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,582
|
Quote:
__________________
@turment on Telegram |
|
22nd August 2022, 18:05 | #116 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,905
|
Probably cause old x86 OS like my beloved XP don't really have drivers for modern NVIDIA GPUs so the DG plugins would have nowhere to run except for the old not so powerful NVIDIA GPUs...
I wish NVIDIA kept releasing drivers for XP x86 but it didn't happen, so nowadays I do most of my stuff via RDP from my XP to the remote Windows Server 2019 instance, especially after Tormento made me upgrade my stable Windows 10 Enterprise workstation to the unstable crap called Windows 11 Enterprise which one day upgraded itself only to end up blue screening in loop, thus making me lose every program installed. Last edited by FranceBB; 22nd August 2022 at 18:07. |
22nd August 2022, 18:29 | #117 | Link | |
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,582
|
Quote:
You use crappy hardware and you blame me. Windows 11 Enterprise x64 here since day 1 (on Insider Channel too) and no major hiccups.
__________________
@turment on Telegram |
|
26th August 2022, 17:38 | #119 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,905
|
Hi there Donald,
currently it isn't possible to pick which kind of interpolation is used to produce the result in Cube() (I'm talking about the CPU version). Would it be possible to introduce an option in Cube() like String Interpolation where it can have one of the following values Interpolation="Tricubic", Interpolation="Trilinear", Interpolation="Tetrahedral", where the default is Tetrahedral? So I imagine the usage to be like: Code:
Cube("myLUT.cube", fullrange=true, Interpolation="Tetrahedral") The reason is that I'm currently dealing with a brand new BBC LUT for HLG to BT709 SDR. I used to use the 8a, which performs clipping, but some majors want me to use the new 9c which works in Studio RGB (Limited TV Range) and preserves overshootings (so the BT709 will have out of range whites and blacks and it won't clip them). The issue I have with it is that the interpolation Cube() is doing is different from the interpolation the major is using and they will therefore reject the result. AVS Script: Code:
LWLibavVideoSource("D:\4K_Ama\05_DI SERVIZIO - EBU UHD HDR COLOR BARS\EBU_HDR_COLOUR_BARS_2160p_v210.mov") propClearAll() #From 4:2:2 16bit planar Narrow Range to RGB Planar 16bit Narrow Range z_ConvertFormat(pixel_type="RGBP16", colorspace_op="2020:std-b67:2020:limited=>rgb:std-b67:2020:limited", resample_filter_uv="spline64", dither_type="error_diffusion", use_props=0) #From HLG to BT709 with 16bit precision Cube("A:\avdb\Server\encoder\encoder\Processors\avs_plugins\LUTs\9c_HLG_BT709_Type3_Display_DownMapping_SuperWhite_nocomp-v1_5.cube", fullrange=true) #From RGB 16bit planar Narrow Range to YUV420 8bit planar Narrow Range with dithering z_ConvertFormat(pixel_type="YUV420", colorspace_op="rgb:709:709:limited=>709:709:709:limited", resample_filter_uv="spline64", dither_type="error_diffusion", use_props=0) Here's the result (Left interpolation done by Cube() - Right interpolation done by the major who's selling us the content): https://i.imgur.com/hyky5sZ.png Before you say "CUDA!" please note that our workflows are based on 100+ scalable VMs in the cloud that are shut down and only woken up when they need to perform a job and then they're shut down and they're CPU only, so we have no way to use CUDA other than on the legacy MAM on prem which will be discontinued soon-ish. Thank you in advance, Frank |
1st December 2022, 01:55 | #120 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,156
|
DGCube 22/09/30
https://rationalqm.us/misc/DGCube.zip |