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 |
15th August 2018, 17:22 | #21 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
I have vscube ported to Avisynth+ and have successfully applied a 3D LUT using an Avisynth+ script. I have to properly implement the parameters and test thoroughly before I can give it to y'all. Meanwhile, I have a few questions:
1. In Vapoursynth, this gives me a red clip: clip = core.std.BlankClip(width=640,height=480,format=vs.RGB24, length=1000, keep=True, color=[255, 0, 0]) but this gives me a black clip: clip = core.std.BlankClip(width=640,height=480,format=vs.RGB48, length=1000, keep=True, color=[255, 0, 0]) So is it a bug or am I missing something? 2. Can anyone give me a HDR10 PQ->SDR 3D LUT that I can test with? Thank you. |
15th August 2018, 17:27 | #22 | Link | |
Registered User
Join Date: Sep 2007
Posts: 5,345
|
Quote:
|
|
16th August 2018, 01:32 | #24 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
bit depth, cant suggest anything better, but is still horrible.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 16th August 2018 at 01:42. |
|
16th August 2018, 02:55 | #25 | Link | |
Registered User
Join Date: Oct 2012
Posts: 7,903
|
Quote:
you can create 3D lut from what ever source profile with what ever target nit you want with this tool. |
|
16th August 2018, 06:22 | #26 | Link |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
DaVinci Resolve 15 (including free version) has a series of HDR ST 2084 (300 - 4000 nits) <-> Gamma (2.4, 2.6, 2.8) conversion LUT's (cube). I've not tested any of them outside of Resolve though.
With the program installed, the folder location is C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\LUT\HDR ST 2084.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 16th August 2018 at 06:27. |
16th August 2018, 11:23 | #28 | Link | |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
Quote:
|
|
16th August 2018, 15:49 | #29 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
Here is a test version of 3D LUT support for Avisynth+. I will provide source code when it is tested OK. Please refer to the user document for usage details. Your feedback will be appreciated.
http://rationalqm.us/misc/avscube_1.0.rar |
17th August 2018, 03:11 | #30 | Link |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Done a few quick tests - applied a few color grade 3D cube LUT's (created in Resolve) with avscube to some (linear) Rec709 HD test footage and greyscale ramps - and it looks to be working as expected. Excellent.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 17th August 2018 at 04:11. |
17th August 2018, 13:59 | #31 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
|
It works as expected.
By the way, you wrote to use avsresize to convert to RGB 16bit, but you can convert without using it like so: Code:
video3=DGDecode_MPEG2Source("I:\Production\RAW\424-430\427.d2v") audio3=FFAudioSource("I:\Production\RAW\424-430\427 T81 2_0ch 224Kbps DELAY -134ms.ac3") AudioDub(video3, audio3) tfm(mode=1,pp=5,slow=2,micmatching=2,clip2=tdeint(mode=2,type=3)) tdecimate() ConvertFPS(23.976) trim(0, 500) Crop(4, 0, -4, -0) Spline64Resize(848, 480) ConvertBits(16) ConvertToPlanarRGB() Cube("BT601_to_BT709.cube") Converttoyuv420() I don't really do BT601 to BT709 conversion using a LUT 'cause I generally use ColorMatrix for 8bit and Dither_Tools for 16bit, but in order to test your new plugin, I did and it was fine. Thank you very much indeed. |
17th August 2018, 18:23 | #32 | Link |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quick question for ye high bit-depth AVS processing experts (me not being one).
I have some 10-bit 422 DNxHD.mov clips with 'full range' (0-1023 in 10-bit) luma. I want to test a 3D LUT.cube (created with DaVinci Resolve) that applies a 'soft clip' i.e. clips 'Full' to 'Limited' range (64 - 940) but with a soft roll-off - offers an alternative to 'hard-clipping' (clamping) or compression when constraining full range material to 'broadcast safe' range. Came up with this basic script, but I'm not sure what 'colorspace_op' string expressions to apply in z_ConvertFormat so that 'Full' (PC.709) range coefficients are applied in the conversion to RGBP16 and then 'Limited' (Rec.709) range coefficients are applied in the output conversion to YV16: Code:
LSMASHVideoSource("{Path}:\Test_DNxHD_10bit_422_Full_Range.mov", format="YUV422P10") ConvertFromDoubleWidth(bits=10) z_ConvertFormat(pixel_type="RGBP16",colorspace_op ="?????") Cube("{Path}:\Soft_Clip_64_940_20.cube") z_ConvertFormat(pixel_type="YV16",colorspace_op ="?????") Thanks.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 17th August 2018 at 18:56. |
17th August 2018, 19:13 | #33 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
https://forum.doom9.org/showthread.p...47#post1784247
One thing I am not clear on is whether the 3D LUT expects linear RGB. If so, then maybe something like: z_ConvertFormat(pixel_type="RGBP16",colorspace_op="709:709:709:l=>rgb:linear:709:f") Cube("{Path}:\Soft_Clip_64_940_20.cube") z_ConvertFormat(pixel_type="YV16",colorspace_op="rgb:linear:709:f=>709:709:709:l") But the cube name suggests it is for limited range, so wouldn't you want to keep it limited and set fullrange=false for Cube()? Just a thought, I'm probably more clueless than you about this stuff. Thanks, guys, for your testing and feedback. Last edited by videoh; 17th August 2018 at 19:15. |
17th August 2018, 20:37 | #34 | Link |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Thanks for reference link. It's clear now. Works as expected. Example:
Code:
LSMASHVideoSource("{Path}:\GSRamp_DNxHD_10bit_422_Full_Range.mov", format="YUV422P10") ConvertFromDoubleWidth(bits=10) z_ConvertFormat(pixel_type="RGBP16",colorspace_op ="709:709:709:f=>rgb:709:709:f") Cube("{Path}:\Soft_Clip_64_940_20.cube") z_ConvertFormat(pixel_type="YV16",colorspace_op ="rgb:709:709:l=>709:709:709:l") # LanczosResize(720,720) TurnRight() Histogram(mode="classic") Resolve actually has a dedicated tool for creating custom Soft-Clip LUT's but they are 1D LUT's with a proprietary file extension (.olut) for in-program use only - as far as I know they cannot be converted externally. Only workaround is to apply the Soft-Clip LUT to a clip (full range greyscale ramp) on the timeline and generate an exportable 3D Cube LUT from that. But it works. Cool.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 27th August 2018 at 19:57. |
17th August 2018, 21:42 | #35 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
Thanks for the feedback, WorBry. And FranceBB. Great to hear it is working as expected.
@all I added the source code to the linked file. It's just one new file and the Avs+ headers added to the vscube directory. Maybe sekrit-twc can absorb it. Otherwise I will link it at my website. |
27th August 2018, 19:55 | #37 | Link | |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
As mentioned earlier:
Quote:
__________________
Nostalgia's not what it used to be Last edited by WorBry; 27th August 2018 at 20:23. |
|
30th August 2018, 03:32 | #38 | Link |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
I think a .cube_shaperlut is just some internal system intermediary. If you look in:
C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support ....you'll see that there are two folders, LUT and .LUT The LUT folder is where the actual 3D.cube and ID (.ilut/.olut) files reside and where externally created 3D cube LUT's should be placed for import. The .LUT folder is a private system folder. In it you'll see there is a corresponding .cube_shaperlut extension file and a .cube_shaperlut.png for each 3D.cube LUT found in the LUT folder. For each ID (.ilut/.olut) LUT in the LUT folder however there is a like-named file (but with no extension) and .png file. Looks like these files are generated automatically when the LUT Listing is updated. Edit: There was some suggestion that other programs (Nuke) are able to read these .cube_shaperlut files, when the extension is changed to .cube. https://www.liftgammagain.com/forum/...lorspace.5644/ Out of curiosity, I put that to the test. Copied the .cube_shaperlut file corresponding to one of the 3D.cube LUT's that I had tested earlier, changed the extension to .cube and tried it with AVSCube. No chance - 'Unhandled C ++ Exception'. The file size was also smaller (421kb) than the bone-fide .cube LUT (971 kb). Also tried placing the .cube_shaperlut file (with extension changed to .cube) in the Support> LUT folder. After updating the LUT listing, the file did appear in the 3D LUT drop down menu and LUT gallery, but applying it to a clip had absolutely no effect. I don't think these .cube_shaperlut files hold any value outside of Resolve. Incidentally, the .png file that is created in the .LUT folder is the stock thumbnail image that is presented in the LUT Gallery with the LUT effect applied. Maybe these .cube_shaperlut files are operators for that.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 4th September 2018 at 05:17. |
23rd November 2018, 21:06 | #39 | Link |
Registered User
Join Date: Dec 2017
Posts: 90
|
This plugin is amazing, works very fine. Thank you.
Any way you could implement an alternate function that, instead of a path to a .cube file, accepts a HALD CLUT? For reference, it's this: http://www.quelsolaar.com/technology/clut.html Now, I know I can just convert a CLUT to a CUBE file, but what I would really wanna do is be able to load a non-static CLUT. Imagine this: Your friend is working on the same project as you and has done a color correction on an entire movie. You wanna continue his work, but dont want to send terabytes of data around. So your friend simply renders his corrections into a Lagarith RGB HALD CLUT AVI and you simply load it over the source material and BAM, you have all his corrections, no matter what software he used. Could also play around with that a lot and create funny effects I'm sure. Shouldn't be too difficult to implement, right? It would just have to accept a 16bit RGB 4096x4096 clip. That could come from an Image (ImageSource) or from a video, it wouldn't matter. |
24th January 2019, 01:36 | #40 | Link |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Thanks for the plugin videoh I got a black screen when I set fullrange=false. It works okay with fullrange=true.
Code:
LoadPlugin("C:\HDTV Tools\DGDecNV\DGDecodeNV.dll") LoadPlugin("C:\HDTV Tools\avscube\x64\vscube.dll") DGSource("00005.dgi").crop(0,114,-0,-114).ConvertBits(16) ConvertToPlanarRGB(matrix="PC.709").crop(0,1,0,-1) Cube("C:\HDTV Tools\avscube\U-CANON-C-LOG-V1-LTR.cube", fullrange=true) ConvertToYUV420(matrix="PC.709").ConvertBits(8, dither = 0) |
Tags |
3dl, cube, hdr, lut, sdr |
Thread Tools | Search this Thread |
Display Modes | |
|
|