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 |
4th September 2011, 02:26 | #101 | Link |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Version 0.8 release
This build offers no real shiny new features, but a *lot* of behind the scenes improvements, refactoring and overall changes in the rendering path. The most noticeable improvements should be significantly better depth/range conversion logic and some further speed improvements. I'm also starting to experiment with smaller 3dluts for lower requirement devices, specifically a 4-bit LUT (16x16x16) can get you surprisingly good results if interpolated, with only some very significant banding issues, far less than initially expected. You will still suffer from aliasing until I can match the gamma curve, unfortunately, but I can't really do that unless the .3dlut format includes it sooner or later (or I do ugly detection hacks like madVR does). It's still surprisingly higher quality than what I expected. The most notable “issue” right now is that you have to tag .3dluts manually using tag3dlut if you change any of the depth or range settings with changedepth, at least until .3dlut version 2 comes out, which I'm hoping to develop within a reasonable timespace. Download link for version 0.8: http://www.mediafire.com/?e5mqe0u3dllhuj9 Changes in first post.
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management |
4th September 2011, 20:08 | #103 | Link |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Yes. I don't plan on adding gamut mapping or color space aware 3dluts until at least version 0.9 or maybe even 0.10, since I'm waiting for ongoing changes in the .3dlut format.
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management |
6th September 2011, 04:59 | #104 | Link |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Version 0.9 released
Instead of waiting for the ever-so-slow authors of the .3dlut format, I've decided to branch it into a new, .3dl2 format. As such, you shouldn't ever need to use tag3dlut when making changes to .3dluts within my programs. Do note that other programs, eg. madVR, do not support .3dl2 yet - luckily, I've added a conversion utility to convert a .3dl2 into a .3dlut, this is done by running: tag3dlut -i somefile.3dl2 -o somefile.3dlut --legacy If you want madVR to support .3dl2 natively, go bug madshi. Download link for version 0.9: http://www.mediafire.com/?fd05yivc5i50dd1 Changes in the first post as usual.
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management |
6th September 2011, 10:28 | #105 | Link |
Registered User
Join Date: Nov 2003
Posts: 1,281
|
Ok, silly question. How do you get .3dl2 files. I can only seem to save .3dlut files.
edit: nevermind, I paid more then 2 seconds attention to the first post. This is coming along nicely btw too.
__________________
http://www.7-zip.org/ Last edited by Audionut; 6th September 2011 at 10:31. |
6th September 2011, 12:22 | #106 | Link |
Registered User
Join Date: Sep 2006
Posts: 2,197
|
so this tool is only a front end to ycms (and other lut creating progs), right? does it have any additional functionality ycms does not have, or the other way round?
are there any bugs which for example are not included when I'd use ycms instead, without this frontend? or would creating a 3dlut file for madvr currently result in exactly the same output file?
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack) |
6th September 2011, 13:44 | #107 | Link | |||
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Big news
Coming with version 0.10 I will be adding full support for ICC profiles, using LittleCMS as a back-end for these. A quick comparison: http://screenshotcomparison.com/comparison/78631 The yCMS .3dlut was generated using the .ti3 file and make3dlut.exe (which uses sRGB primaries). The LittleCMS .3dlut was generated using the ArgyllCMS-generated .icc profile, attached to the sRGB profile in absolute colorimetric mode. Quote:
Everything else is significantly outside the scope of yCMS and is all implemented using my own logic. yCMS and this toolset sort of complement each other. yCMS is a tool for color space conversions, and this is a tool for .3dlut manipulation - yCMS does none of what this tool does, and this tool aims to do none of what yCMS does (functionally). What it does do, however, is parse .ti3 files and input their primaries into yCMS, which is something that yCMS cannot do natively and what originally gave this project its name. Right now I'd estimate that the yCMS front-end constitutes about 1%-5% of the total toolset. Quote:
There are zero additional bugs introduced to the yCMS front-end components. It is possible that there may be /some/ bugs in the utilities I create myself (changedepth, lutscript, and so on) but I generally do a lot of testing before I publish releases to make sure they work as advertised. Quote:
I have not included .3dl2 support to the TI3ParserGUI whatsoever because it does not use my 3dLut classes, it is simply a front-end for yCMS and nothing more.
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 6th September 2011 at 14:03. |
|||
6th September 2011, 15:09 | #108 | Link | |
Registered User
Join Date: Sep 2006
Posts: 2,197
|
Quote:
regarding that converter tag3dlut, is it already a part of your tool? if not would it be possible to add such a conversion of .3dl2 to .3dlut so that we wouldnt have to use more additional tools? edit: whats littlecms btw?
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack) |
|
6th September 2011, 15:17 | #109 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Haha. You're just coming at a bad time. yesgrey is taking a break for personal reasons. And I'm taking a madVR break, working on my money-earning job for once. I'd appreciate if we could do a common extended 3dlut format together once yesgrey is back online. Of course it's possible that we'll like your extended format just as it is. But maybe we have suggestions or wishes for changes. But that's going to take some time...
Last edited by madshi; 16th September 2012 at 12:30. |
6th September 2011, 15:21 | #110 | Link | ||||
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
My current implementation is flexible enough for me to easily change such things, so me implementing the fork already is not a hindrance. Quote:
Quote:
Quote:
It's basically an alternative to yCMS in that it calculates transformations by using ICC profiles, which are more accurate as a 3d LUT than the primary / grayscale measurements yCMS uses - which defeat the whole point of using a 3dlut in the first place by dumbing everything down to matrix + transfer function. In general, it is to be expected for ICC profiles containing 3D LUTs to be more accurate than yCMS. Apart from that, I find that yCMS introduces *more* banding than LittleCMS does, which provides a somewhat smoother gradient (and less gray tone deviation), as shown in the screenshot comparison I linked above (make sure you view it on a color-dumb browser like opera or chrome since firefox/safari will apply their own corrections).
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 6th September 2011 at 15:43. |
||||
6th September 2011, 18:43 | #111 | Link |
Replicant
Join Date: Jan 2007
Location: strasbourg
Posts: 49
|
thank;
A quick comparison: http://screenshotcomparison.com/comparison/78631 ,Why such a big difference. you already finished version 0,10 ? Last edited by alph@; 6th September 2011 at 18:48. |
6th September 2011, 19:21 | #112 | Link | |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
Version 0.10 is partially done on my PC but I'm not uploading it yet until I have better integration. I also still need to support YCbCr LUTs for ICC profiles, I'm also probably adding support for RGB -> XYZ + ICC integration, and auto-application of calibration data within an .icc profile before I release v0.10.
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 6th September 2011 at 19:24. |
|
7th September 2011, 21:50 | #113 | Link |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
I'm going to upload version 0.10 as-is for now. I haven't done any comprehensive testing yet but linkicc.exe should work. Just make sure you're combining the correct ICC profile types. I'm going to be revising the color pipeline a lot now, especially in regards to LutScript, but I don't want those changes to hold up the release of version 0.10, so I'm scheduling those for 0.11 instead.
Download link for v0.10: http://www.mediafire.com/?w4elng942d4g927 I will start posting the changelog in the release posts instead since I've hit the length cap for the first message. Code:
Version 0.10: ! Added basic support for ICC profiles + Color space information is extracted from the ICC profiles and written into the resulting .3dl2 + New program: linkicc.exe + New LutScript function: IccTransform(String, String, Intent), intents: Perceptual, Relative, Saturation or Absolute + New LutScript function: !Filetype(Type), possible values: 3DL2 or 3DLUT + New LutScript function: !Parameters(String), overrides the parameters data (not recommended for 3DLUT filetype) + Added support for LZO compression (CompressionMethod=1). This is used by default. ? Note: Legacy LUTs do not support compression, it will always be disabled when using --legacy mode in tag3dlut + Added a --compression (-c) flag to tag3dlut, valid values are: None, LZO + New LutScript function: !Compression(Method), possible values: None, LZO + LutScript now computes the intermediate gamut after each step (this changes when using eg. IccTransform()) It is recommended to *NOT* set the !Input_Primaries or !Output_Primaries tags when performing gamut mapping! LutScript will auto-detect these correctly for you, eg. when mapping together multiple ICC profiles ~ LutScript now defaults to Limited range when not specified, since it just makes more sense for video content ? Changelog v0.9 was flawed, !Input_Primaries did not accept a string but an /enum/ (eg. “!Input_Primaries(BT709)” and not “!Input_Primaries("BT709")”)
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 7th September 2011 at 21:54. |
7th September 2011, 23:46 | #114 | Link |
Registered User
Join Date: Nov 2003
Posts: 1,281
|
How to get a .3ls file? The first post links to the 0.7 release, with no mention of it.
What should the 'input' and 'device' icc profiles be in linkicc? There are numerous tools to create 3dl2 files. Should one apply each tool and then merge3dlut function?
__________________
http://www.7-zip.org/ |
8th September 2011, 01:24 | #115 | Link | |||
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
In the meantime, it's now possible (in v0.11) to do monitor /proofing/ (preview what input would look like on /another/ monitor): Code:
!Filetype(3DLUT) !Pixel({ IccTransform("sRGB.icc") # RGB -> XYZ IccTransform("monitor.icm") # XYZ -> RGB IccTransform("monitor.icm") # RGB -> XYZ IccTransform("previewm.icm") # XYZ -> RGB }) linkicc -i sRGB.icc -d monitor.icm -o lut1.3dl2 linkicc -i monitor.icm -d previewm.icm -o lut2.3dl2 merge3dlut -o output.3dl2 lut1.3dl2 lut3.3dl2 Quote:
“input” should be the ICC profile of the input color space, eg. BT.709 for HD video, or sRGB for computer imagery. Quote:
What you want to do is create one 3dlut and then /modify/ it using the tools such as changedepth, swapchan or applycal. The LutScript facility is sort of presented as an alternative to all of the individual programs. If you need to do a lot of complex processing, you can combine all of these steps into a single LutScript file (.3ls) instead of generating and modifying a .3dl2 a bunch of times. One should note that LutScript will be /more precise/ because it doesn't round the output down to 16-bit precision between each step, it keeps the 64-bit pipeline until the very end. (Or you could just use a 64-bit .3dl2, for example using linkicc -b 64. Make3dlut relies on yCMS and therefore has a limit of 32 bit precision)
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 8th September 2011 at 02:06. |
|||
8th September 2011, 02:36 | #116 | Link | ||
Registered User
Join Date: Nov 2003
Posts: 1,281
|
Thanks for your response nand chan.
I would like to be able to use the information from Argyll to generate the necessary 3dlut for madvr. Alot of the new additions to your program are over my head though, and I am getting lost about what process should be used to accomplish that. I understand I can use make3dlut and then tag3dlut to convert from 3dl2 to 3dlut for madvr, but I would like to use the tools provided to get the best out of it that I can. I'm guessing that I would be better served by using linkicc. But I cannot find a BT.709 icc profile. Do I have to roll my own. I have my display calibrated with SRGB/BT.709 chromaticity coordinates, and a relative tone curve of gamma 1.9, as my display has a gamma of around 1.9, and I'm lead to believe that it's best to calibrate for the display gamma as to minimise banding. Quote:
Quote:
__________________
http://www.7-zip.org/ |
||
8th September 2011, 02:50 | #117 | Link | ||
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
It seems like you will have to create a BT.709 RGB profile yourself :P (LittleCMS /does/ provide a function for this, I'll upload a BT.709 profile in a moment) Quote:
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management |
||
8th September 2011, 03:05 | #118 | Link |
Registered User
Join Date: Nov 2003
Posts: 1,281
|
Cheers.
One final question. Should I use gamma processing in madvr. Or does everything get taken care of in the 3dlut creation?
__________________
http://www.7-zip.org/ |
8th September 2011, 03:33 | #119 | Link | |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
Here is a BT.709 .icc profile which /should/ work fine. <link deleted> Edit: I should mention that I just noticed a bug in tag3dlut. When using --legacy, you have to specify --compression none, as it will (mistakenly) attempt to apply compression to a .3dlut that does not support it. This is fixed in the next version, just notifying. Edit 2: The profile I uploaded seems to have incorrect primaries information due to a bug in LittleCMS. (You can still fix it manually by tagging the resulting LUT with BT.709 primaries using tag3dlut -7, or just use the fixed profile below)
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 8th September 2011 at 05:20. |
|
8th September 2011, 05:18 | #120 | Link |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Fixed BT.709 profile: <upload pending, LOL MEDIAFIRE IS DOWN>
In the meantime, have a base64 representation of the file: Code:
AAACYGxjbXMEIAAAbW50clJHQiBYWVogB9sACQAIAAQACQAuYWNzcE1TRlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA PbWAAEAAAAA0y1sY21zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALZGVzYwAAAQ gAAAA2Y3BydAAAAUAAAABOd3RwdAAAAZAAAAAUY2hhZAAAAaQAAAAsclhZWgAAAdAAAAAUYlhZWgAAAeQAAAAUZ1hZWgA AAfgAAAAUclRSQwAAAgwAAAAQZ1RSQwAAAhwAAAAQYlRSQwAAAiwAAAAQY2hybQAAAjwAAAAkbWx1YwAAAAAAAAABAAAA DGVuVVMAAAAaAAAAHABSAEcAQgAgAGIAdQBpAGwAdAAtAGkAbgAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAADIAAAAcA E4AbwAgAGMAbwBwAHkAcgBpAGcAaAB0ACwAIAB1AHMAZQAgAGYAcgBlAGUAbAB5AAAAAFhZWiAAAAAAAADzUgABAAAAAR a+c2YzMgAAAAAAAPSf///6GQAAEDH///jBAAECiwAABWMAAAMn///6vwABVJdYWVogAAAAAAAB7pYAAQAAAAAV1FhZWiA AAAAAAAKQDgABAAAADfqpWFlaIAAAAAAAAIQlAAEAAAAAJ0JwYXJhAAAAAAAAAAAAAlmacGFyYQAAAAAAAAAAAAJZmnBh cmEAAAAAAAAAAAACWZpjaHJtAAAAAAADAAAAAKPsAABU2QAATyYAAJlWAAAlZgAADpg=
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 8th September 2011 at 05:29. |
Tags |
3dlut, argyllcms, color management, icc, madvr, ti3, ycms |
Thread Tools | Search this Thread |
Display Modes | |
|
|