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 |
23rd August 2011, 11:04 | #21 | Link |
Registered User
Join Date: Nov 2003
Posts: 1,281
|
No problems opening the original TI3 file I originally opened, but trying to process any other TI3 file is giving me this error.
Getting the same error message with, genscript: make3dlut: parseti3:
__________________
http://www.7-zip.org/ Last edited by Audionut; 23rd August 2011 at 11:07. |
23rd August 2011, 19:20 | #23 | Link |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Big update, version 0.4 is out
See the original post for a full list of changes Download link: http://www.mediafire.com/?5f7mid5m131rjxb The main new addition is that of gen3dlut.exe, which allows the creation of custom 3dluts. Currently, only two modes are supported - flat (output=input) and grayscale (output=luminosity). Some fun things: gen3dlut.exe --grayscale -o test.3dlut: http://img189.imageshack.us/img189/3889/bnwp.jpg or gen3dlut.exe --grayscale -o - | swapchan --invert -i - -o test.3dlut: http://img641.imageshack.us/img641/5039/invertgray.jpg Note: This utility also allows you to create generic .3dluts that just include calibration data from a .cal, eg. like so: gen3dlut.exe -o - | applycal -i - -o output.3dlut calibration.cal
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 23rd August 2011 at 19:29. |
23rd August 2011, 23:31 | #24 | Link |
Registered User
Join Date: Nov 2003
Posts: 1,281
|
Here are 5 of my results.
http://www.mediafire.com/?szmzpi50gao1mco Version 0.4 can open the ones that weren't working before. And I can see what the problem is. Luminance values are screwed. From what I can see, the consistancy between the ones that don't work are that they have greyscale values going up in incriments of 5 where I have created my own testchart file. The one that works, from memory I just selected the large testchart.
__________________
http://www.7-zip.org/ |
23rd August 2011, 23:36 | #25 | Link | |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management |
|
23rd August 2011, 23:42 | #26 | Link |
Registered User
Join Date: Nov 2003
Posts: 1,281
|
VK266H 2011-08-22 80cdm˛ 0.3127x 0.3291y 0.35cdm˛ native 1.85 LQ-HQ 1xCurve+MTX
__________________
http://www.7-zip.org/ |
24th August 2011, 00:04 | #27 | Link |
Kid for Today
Join Date: Aug 2004
Posts: 3,482
|
OMG, he's unstoppable! So I can take a 0-255 gamut mapping 16bit LUT from cr3dlut, merge it w/ a .cal file and output a 8bit LUT to feed rgb3dlut() in ffdshow?
I'm asking instead of trying coz my .net crapola is not up to date I'm afraid...but if that's the case I might have an urgent need for a "reset CLUT while playing" in mVR But I guess you can't get it to output a YUY2 LUT, can you? |
24th August 2011, 00:16 | #28 | Link | |||
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
Note: This would obviously only work for the /output/ bit-depth of a LUT. Changing the input bit depth is unfeasible because anything about 3x8-bit would take such obscene amounts of storage that you couldn't even load it. For example, a fully 10-bit .3DLUT will take 4 GB of memory, more than the average video card can handle. A 16-bit LUT will take several petabytes. However, what you can do is transform a 8->16 bit LUT down to a 8->8 bit LUT (or the reverse), though at the cost of precision (in the former). But yes, you can basically take a 8->16 bit LUT gamut mapping (like the type madVR uses) and apply .cal data to it. Quote:
Quote:
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 24th August 2011 at 02:49. |
|||
24th August 2011, 02:39 | #29 | Link | |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
All 3dlut processing is now done using 64-bit floating point calculations at every step, and they are only converted to/from their appropriate lower-bit-depth representations when saving/loading to memory. The .3dlut processing pipeline now only accepts functions that use normalized 0-1 doubles. This has the advantage of: 1. Allowing for seamless interaction of .3dluts with any bit-depth and 2. level detection is now done in the .3dlut library instead of in the program, and the .3dlut lib correctly compensates for full or limited range values when pulling down the levels to 0-1 doubles. It also removes about 70% of the code size, which was previously full of “Transform16, Transform8, Transform32” or “Pullup16, Pullup8, Pullup32” and so forth. All of these duplicate versions have now been removed and replace by generic versions that work on any-bitdepth. Which means that I am now being bottlenecked by the limited capacity of the .3dlut file standard, even though my code is perfectly capable of processing something irregular like 10-bit LUTs (as opposed to 8, 16 or 32). Edit: For the curious, a comparison of 16-bit LUT vs 8-bit LUT (to make madVR load it, I first converted it down to 8-bit and then converted that back up to 16-bit which is simply a bit-shift, the same way madVR converts levels). You can clearly see the advantage of greater-than-8-bit precision processing even on 8-bit devices. So if you want to use a .3dlut with avisynth be wary of this difference: http://screenshotcomparison.com/comparison/75573 If you do want to create an 8-bit 3dLUT for avisynth etc, you can do something like this: gen3dlut -o - -b 8 | applycal -i - -o output.3dlut calibration.cal
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 24th August 2011 at 02:48. |
|
24th August 2011, 07:18 | #30 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Yeah, an 8bit 3dlut is probably not good enough. yCMS also internally uses 64bit floats for calculation and then rounds that down to 16bit integer for output. I wouldn't use anything less than 16bit integer output. It's debatable, though, whether input must be 8bit. madVR/yCMS can also use 7bit or 6bit input, to save space and improve performance, on the cost of a very small (probably not visible) drop in quality.
|
24th August 2011, 08:01 | #31 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Can you add more format support for applycal?
CAL data from a TI3 file (Argyll Device Calibration State)? Calibration Tester's 0-65535 format? An ICC profile vctg tag? The currently loaded CLUT? applycal from version 0.4 is now extremely slow. Is that because of working in 64-bit floating point or is it a bug? After 30 minutes went by I just gave up and killed it. If it's going to be that slow, I hope you can optimize or multi-thread it. Maybe you could port it to OpenGL GLSL shader code and run it on the GPU. Just don't use a 6bit 3dlut with applycal or you'll get crappy results. |
24th August 2011, 11:57 | #33 | Link | ||||||
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
Note: As a “feature” of the current coding, all you have to do is change the first line of a .ti3 file to “CTI3” to “CAL” and applycal will accept it. Quote:
Quote:
Quote:
Quote:
Quote:
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 24th August 2011 at 12:28. |
||||||
24th August 2011, 12:54 | #35 | Link |
Registered User
Join Date: Jan 2008
Posts: 589
|
Last edited by e-t172; 24th August 2011 at 13:02. |
24th August 2011, 13:51 | #36 | Link | ||
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Anyway, not relavant to this thread, but here are some comparison screenshots for you madshi: http://www.mediafire.com/?74lk6yli3l7n7cx The random noise + pattern image with 6 semi-transparent colored blocks overlayed, is just something I made on-the-fly as a torture test for the 6-bit lut. Quote:
The layout is always the same. "#GammaRamp" on first line identifying the format. 0-255 in first column, RED, GREEN, BLUE. Code:
#GammaRamp 0 1599 1305 1270 1 2161 1923 1791 2 2722 2538 2310 3 3280 3150 2825 4 3835 3760 3338 5 4383 4365 3846 6 4908 4949 4342 7 5398 5494 4813 8 5847 5991 5256 9 6255 6439 5667 10 6629 6843 6047 11 6976 7211 6402 12 7300 7550 6734 13 7605 7864 7050 14 7894 8159 7350 15 8171 8440 7639 16 8438 8709 7919 17 8696 8967 8191 18 8945 9217 8454 19 9187 9459 8712 20 9423 9697 8963 21 9653 9929 9206 22 9879 10155 9448 23 10102 10377 9683 24 10319 10596 9916 25 10531 10812 10143 26 10741 11026 10368 27 10949 11237 10590 28 11155 11446 10809 29 11359 11653 11027 30 11562 11858 11243 31 11763 12063 11457 32 11962 12268 11668 33 12162 12474 11880 34 12362 12680 12093 35 12562 12887 12306 36 12762 13093 12519 37 12962 13299 12732 38 13162 13505 12945 39 13362 13711 13156 40 13561 13918 13367 41 13757 14127 13578 42 13954 14338 13786 43 14152 14548 13995 44 14351 14759 14206 45 14550 14970 14416 46 14749 15182 14627 47 14949 15392 14836 48 15149 15603 15046 49 15350 15812 15256 50 15552 16019 15466 51 15755 16226 15676 52 15958 16430 15885 53 16164 16635 16095 54 16369 16841 16303 55 16576 17050 16514 56 16784 17261 16724 57 16996 17474 16936 58 17211 17689 17152 59 17429 17904 17369 60 17651 18118 17587 61 17873 18333 17805 62 18097 18549 18023 63 18321 18765 18242 64 18546 18982 18459 65 18772 19199 18678 66 18998 19417 18900 67 19224 19636 19120 68 19451 19854 19343 69 19677 20074 19564 70 19904 20292 19787 71 20132 20508 20011 72 20358 20722 20232 73 20584 20935 20453 74 20808 21147 20675 75 21032 21360 20897 76 21256 21572 21118 77 21480 21783 21342 78 21703 21996 21565 79 21927 22209 21787 80 22151 22424 22011 81 22374 22640 22236 82 22599 22859 22462 83 22824 23079 22689 84 23049 23300 22917 85 23275 23522 23144 86 23500 23744 23370 87 23724 23965 23596 88 23947 24188 23820 89 24169 24410 24043 90 24391 24633 24268 91 24612 24855 24492 92 24834 25077 24717 93 25057 25299 24940 94 25281 25521 25164 95 25506 25746 25389 96 25732 25972 25616 97 25962 26202 25847 98 26196 26432 26080 99 26432 26665 26315 100 26672 26898 26551 101 26913 27133 26787 102 27154 27370 27026 103 27397 27608 27266 104 27639 27846 27505 105 27879 28080 27742 106 28115 28312 27976 107 28347 28540 28208 108 28577 28767 28440 109 28804 28992 28668 110 29031 29217 28899 111 29259 29444 29130 112 29487 29671 29360 113 29717 29898 29591 114 29948 30126 29823 115 30179 30355 30054 116 30411 30582 30286 117 30643 30809 30518 118 30876 31036 30752 119 31110 31264 30987 120 31344 31492 31221 121 31578 31719 31456 122 31812 31947 31692 123 32046 32175 31929 124 32280 32404 32168 125 32513 32632 32404 126 32745 32861 32643 127 32977 33091 32881 128 33208 33322 33123 129 33441 33557 33366 130 33676 33794 33610 131 33914 34032 33856 132 34151 34271 34101 133 34389 34510 34347 134 34627 34751 34593 135 34867 34991 34840 136 35108 35234 35089 137 35351 35477 35339 138 35595 35721 35590 139 35841 35964 35840 140 36087 36209 36090 141 36333 36454 36342 142 36578 36699 36593 143 36823 36943 36844 144 37069 37187 37093 145 37314 37432 37343 146 37561 37676 37593 147 37807 37921 37841 148 38053 38165 38089 149 38298 38409 38337 150 38541 38651 38580 151 38782 38891 38822 152 39021 39129 39061 153 39258 39365 39299 154 39494 39601 39538 155 39729 39835 39776 156 39967 40072 40014 157 40205 40309 40254 158 40444 40546 40494 159 40685 40784 40734 160 40926 41024 40977 161 41168 41264 41219 162 41411 41505 41464 163 41656 41749 41711 164 41903 41996 41960 165 42153 42246 42212 166 42408 42502 42468 167 42667 42764 42729 168 42931 43030 42993 169 43197 43298 43259 170 43466 43566 43526 171 43735 43833 43794 172 44005 44100 44063 173 44277 44367 44332 174 44549 44635 44602 175 44819 44901 44869 176 45087 45165 45136 177 45351 45426 45398 178 45609 45682 45657 179 45862 45932 45912 180 46110 46177 46164 181 46357 46418 46413 182 46602 46657 46661 183 46844 46894 46909 184 47086 47131 47156 185 47329 47369 47404 186 47573 47610 47655 187 47817 47852 47905 188 48062 48097 48157 189 48308 48346 48409 190 48554 48596 48663 191 48799 48847 48917 192 49045 49099 49171 193 49293 49354 49428 194 49542 49611 49685 195 49792 49871 49942 196 50041 50133 50199 197 50291 50396 50455 198 50541 50659 50710 199 50792 50921 50965 200 51043 51183 51219 201 51295 51445 51470 202 51549 51708 51722 203 51807 51973 51974 204 52068 52237 52226 205 52331 52500 52479 206 52596 52762 52730 207 52861 53024 52982 208 53125 53283 53232 209 53387 53540 53480 210 53646 53794 53727 211 53904 54044 53975 212 54159 54292 54223 213 54414 54540 54472 214 54667 54788 54720 215 54920 55036 54972 216 55175 55289 55225 217 55431 55544 55481 218 55690 55802 55738 219 55950 56065 55996 220 56211 56329 56252 221 56471 56595 56506 222 56732 56861 56760 223 56991 57128 57010 224 57249 57392 57258 225 57510 57656 57504 226 57772 57920 57751 227 58035 58187 57998 228 58297 58453 58244 229 58559 58717 58489 230 58820 58981 58734 231 59080 59243 58980 232 59339 59506 59226 233 59598 59770 59474 234 59854 60034 59722 235 60110 60299 59971 236 60364 60564 60220 237 60619 60829 60469 238 60872 61094 60719 239 61124 61357 60968 240 61377 61620 61217 241 61629 61881 61465 242 61881 62144 61716 243 62134 62407 61966 244 62386 62670 62216 245 62639 62932 62465 246 62892 63194 62713 247 63144 63455 62963 248 63397 63716 63212 249 63648 63978 63462 250 63899 64239 63712 251 64150 64500 63961 252 64399 64762 64211 253 64648 65023 64461 254 64897 65284 64712 255 65146 65535 64963 It's just a normal ArgyllCMS .cal file, so 256. Process monitor appears to show applycal apparently stuck in a loop reading the .cal file around 1,600 times per second. Last edited by cyberbeing; 24th August 2011 at 14:11. |
||
24th August 2011, 14:00 | #37 | Link | |||
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
Oh well, my version will work for .ti3 files, .cal files and those funky calibration tester formats. Quote:
Quote:
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management |
|||
24th August 2011, 14:22 | #39 | Link | |
( ≖‿≖)
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
|
Quote:
Do you know a way around this limitation? I haven't been able to find out the correct functions for loading a monitor-specific gamma ramp other than the DirectX ones. Either way, you can use CalibrationTester to save the CLUT to a file and applycal will be able to apply it.
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management Last edited by nand chan; 24th August 2011 at 14:37. |
|
24th August 2011, 14:48 | #40 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
You probably forgot to specify a hardware device context. The following I assume are the relevant imported functions for what you want to do, since all lut loaders contain them.
User32.dll GetMonitorInfoA EnumDisplayMonitors MonitorFromWindow GDI32.dll CreateDCA GetICMProfileA SetDeviceGammaRamp GetDeviceGammaRamp DeleteDC |
Tags |
3dlut, argyllcms, color management, icc, madvr, ti3, ycms |
Thread Tools | Search this Thread |
Display Modes | |
|
|