Skip to content

Commit d81d1bf

Browse files
committed
Add a way to access internal transform pipelines. For read only.
1 parent 66ef119 commit d81d1bf

7 files changed

Lines changed: 643 additions & 1 deletion

File tree

include/lcms2.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1890,6 +1890,10 @@ CMSAPI cmsContext CMSEXPORT cmsGetTransformContextID(cmsHTRANSFORM hTransf
18901890
CMSAPI cmsUInt32Number CMSEXPORT cmsGetTransformInputFormat(cmsHTRANSFORM hTransform);
18911891
CMSAPI cmsUInt32Number CMSEXPORT cmsGetTransformOutputFormat(cmsHTRANSFORM hTransform);
18921892

1893+
// Access the optimized pipeline and gamut-check pipeline inside a transform.
1894+
CMSAPI cmsPipeline* CMSEXPORT cmsGetTransformPipeline(cmsHTRANSFORM hTransform);
1895+
CMSAPI cmsPipeline* CMSEXPORT cmsGetTransformGamutCheckPipeline(cmsHTRANSFORM hTransform);
1896+
18931897
// For backwards compatibility
18941898
CMSAPI cmsBool CMSEXPORT cmsChangeBuffersFormat(cmsHTRANSFORM hTransform,
18951899
cmsUInt32Number InputFormat,
Lines changed: 286 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,286 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|ARM64">
5+
<Configuration>Debug</Configuration>
6+
<Platform>ARM64</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Debug|Win32">
9+
<Configuration>Debug</Configuration>
10+
<Platform>Win32</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Debug|x64">
13+
<Configuration>Debug</Configuration>
14+
<Platform>x64</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|ARM64">
17+
<Configuration>Release</Configuration>
18+
<Platform>ARM64</Platform>
19+
</ProjectConfiguration>
20+
<ProjectConfiguration Include="Release|Win32">
21+
<Configuration>Release</Configuration>
22+
<Platform>Win32</Platform>
23+
</ProjectConfiguration>
24+
<ProjectConfiguration Include="Release|x64">
25+
<Configuration>Release</Configuration>
26+
<Platform>x64</Platform>
27+
</ProjectConfiguration>
28+
</ItemGroup>
29+
<ItemGroup>
30+
<ClInclude Include="..\..\include\lcms2_fast_float.h" />
31+
<ClInclude Include="..\..\src\fast_float_internal.h" />
32+
</ItemGroup>
33+
<ItemGroup>
34+
<ClCompile Include="..\..\src\fast_16_tethra.c" />
35+
<ClCompile Include="..\..\src\fast_8_curves.c" />
36+
<ClCompile Include="..\..\src\fast_8_matsh.c" />
37+
<ClCompile Include="..\..\src\fast_8_matsh_sse.c" />
38+
<ClCompile Include="..\..\src\fast_8_tethra.c" />
39+
<ClCompile Include="..\..\src\fast_float_15bits.c" />
40+
<ClCompile Include="..\..\src\fast_float_15mats.c" />
41+
<ClCompile Include="..\..\src\fast_float_cmyk.c" />
42+
<ClCompile Include="..\..\src\fast_float_curves.c" />
43+
<ClCompile Include="..\..\src\fast_float_lab.c" />
44+
<ClCompile Include="..\..\src\fast_float_matsh.c" />
45+
<ClCompile Include="..\..\src\fast_float_separate.c" />
46+
<ClCompile Include="..\..\src\fast_float_sup.c" />
47+
<ClCompile Include="..\..\src\fast_float_tethra.c" />
48+
</ItemGroup>
49+
<ItemGroup>
50+
<None Include="..\..\COPYING.GPL3" />
51+
</ItemGroup>
52+
<ItemGroup>
53+
<ProjectReference Include="..\..\..\..\Projects\VC2022\lcms2_static\lcms2_static.vcxproj">
54+
<Project>{71dede59-3f1e-486b-a899-4283000f76b5}</Project>
55+
</ProjectReference>
56+
</ItemGroup>
57+
<PropertyGroup Label="Globals">
58+
<ProjectGuid>{AD9FF79B-CF6E-4971-A7CF-DAA47D636676}</ProjectGuid>
59+
<Keyword>Win32Proj</Keyword>
60+
<RootNamespace>fast</RootNamespace>
61+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
62+
</PropertyGroup>
63+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
64+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
65+
<ConfigurationType>StaticLibrary</ConfigurationType>
66+
<UseDebugLibraries>true</UseDebugLibraries>
67+
<CharacterSet>Unicode</CharacterSet>
68+
<PlatformToolset>v145</PlatformToolset>
69+
</PropertyGroup>
70+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
71+
<ConfigurationType>StaticLibrary</ConfigurationType>
72+
<UseDebugLibraries>true</UseDebugLibraries>
73+
<CharacterSet>Unicode</CharacterSet>
74+
<PlatformToolset>v145</PlatformToolset>
75+
</PropertyGroup>
76+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
77+
<ConfigurationType>StaticLibrary</ConfigurationType>
78+
<UseDebugLibraries>true</UseDebugLibraries>
79+
<CharacterSet>Unicode</CharacterSet>
80+
<PlatformToolset>v145</PlatformToolset>
81+
</PropertyGroup>
82+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
83+
<ConfigurationType>StaticLibrary</ConfigurationType>
84+
<UseDebugLibraries>false</UseDebugLibraries>
85+
<WholeProgramOptimization>true</WholeProgramOptimization>
86+
<CharacterSet>Unicode</CharacterSet>
87+
<PlatformToolset>v145</PlatformToolset>
88+
</PropertyGroup>
89+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
90+
<ConfigurationType>StaticLibrary</ConfigurationType>
91+
<UseDebugLibraries>false</UseDebugLibraries>
92+
<WholeProgramOptimization>true</WholeProgramOptimization>
93+
<CharacterSet>Unicode</CharacterSet>
94+
<PlatformToolset>v145</PlatformToolset>
95+
</PropertyGroup>
96+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
97+
<ConfigurationType>StaticLibrary</ConfigurationType>
98+
<UseDebugLibraries>false</UseDebugLibraries>
99+
<WholeProgramOptimization>true</WholeProgramOptimization>
100+
<CharacterSet>Unicode</CharacterSet>
101+
<PlatformToolset>v145</PlatformToolset>
102+
</PropertyGroup>
103+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
104+
<ImportGroup Label="ExtensionSettings">
105+
</ImportGroup>
106+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
107+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
108+
</ImportGroup>
109+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
110+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
111+
</ImportGroup>
112+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
113+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
114+
</ImportGroup>
115+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
116+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
117+
</ImportGroup>
118+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
119+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
120+
</ImportGroup>
121+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
122+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
123+
</ImportGroup>
124+
<PropertyGroup Label="UserMacros" />
125+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
126+
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
127+
<IntDir>$(Platform)\fast_float_plugin_$(Configuration)\</IntDir>
128+
<OutDir>..\..\..\..\Lib\MS\</OutDir>
129+
</PropertyGroup>
130+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
131+
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
132+
<IntDir>$(Platform)\fast_float_plugin_$(Configuration)\</IntDir>
133+
</PropertyGroup>
134+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
135+
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
136+
<IntDir>$(Platform)\fast_float_plugin_$(Configuration)\</IntDir>
137+
<OutDir>..\..\..\..\Lib\MS\</OutDir>
138+
</PropertyGroup>
139+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
140+
<IntDir>$(Platform)\fast_float_plugin_$(Configuration)\</IntDir>
141+
<OutDir>..\..\..\..\Lib\MS\</OutDir>
142+
</PropertyGroup>
143+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
144+
<IntDir>$(Platform)\fast_float_plugin_$(Configuration)\</IntDir>
145+
</PropertyGroup>
146+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
147+
<IntDir>$(Platform)\fast_float_plugin_$(Configuration)\</IntDir>
148+
<OutDir>..\..\..\..\Lib\MS\</OutDir>
149+
</PropertyGroup>
150+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
151+
<ClCompile>
152+
<PrecompiledHeader>
153+
</PrecompiledHeader>
154+
<WarningLevel>Level4</WarningLevel>
155+
<Optimization>Disabled</Optimization>
156+
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
157+
<AdditionalIncludeDirectories>..\..\include;..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
158+
<FloatingPointModel>Fast</FloatingPointModel>
159+
</ClCompile>
160+
<Link>
161+
<SubSystem>Windows</SubSystem>
162+
<GenerateDebugInformation>true</GenerateDebugInformation>
163+
</Link>
164+
</ItemDefinitionGroup>
165+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
166+
<ClCompile>
167+
<PrecompiledHeader>
168+
</PrecompiledHeader>
169+
<WarningLevel>Level4</WarningLevel>
170+
<Optimization>Disabled</Optimization>
171+
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
172+
<AdditionalIncludeDirectories>..\..\include;..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
173+
<FloatingPointModel>Fast</FloatingPointModel>
174+
</ClCompile>
175+
<Link>
176+
<SubSystem>Windows</SubSystem>
177+
<GenerateDebugInformation>true</GenerateDebugInformation>
178+
</Link>
179+
</ItemDefinitionGroup>
180+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
181+
<ClCompile>
182+
<PrecompiledHeader>
183+
</PrecompiledHeader>
184+
<WarningLevel>Level4</WarningLevel>
185+
<Optimization>Disabled</Optimization>
186+
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
187+
<AdditionalIncludeDirectories>..\..\include;..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
188+
<FloatingPointModel>Fast</FloatingPointModel>
189+
<CompileAs>CompileAsC</CompileAs>
190+
</ClCompile>
191+
<Link>
192+
<SubSystem>Windows</SubSystem>
193+
<GenerateDebugInformation>true</GenerateDebugInformation>
194+
</Link>
195+
</ItemDefinitionGroup>
196+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
197+
<ClCompile>
198+
<WarningLevel>Level4</WarningLevel>
199+
<PrecompiledHeader>
200+
</PrecompiledHeader>
201+
<Optimization>MaxSpeed</Optimization>
202+
<FunctionLevelLinking>true</FunctionLevelLinking>
203+
<IntrinsicFunctions>true</IntrinsicFunctions>
204+
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
205+
<AdditionalIncludeDirectories>..\..\include;..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
206+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
207+
<BrowseInformation>false</BrowseInformation>
208+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
209+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
210+
<OmitFramePointers>true</OmitFramePointers>
211+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
212+
<FloatingPointModel>Fast</FloatingPointModel>
213+
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
214+
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
215+
</ClCompile>
216+
<Link>
217+
<SubSystem>Windows</SubSystem>
218+
<GenerateDebugInformation>true</GenerateDebugInformation>
219+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
220+
<OptimizeReferences>true</OptimizeReferences>
221+
</Link>
222+
<Bscmake>
223+
<PreserveSbr>true</PreserveSbr>
224+
</Bscmake>
225+
</ItemDefinitionGroup>
226+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
227+
<ClCompile>
228+
<WarningLevel>Level4</WarningLevel>
229+
<PrecompiledHeader>
230+
</PrecompiledHeader>
231+
<Optimization>MaxSpeed</Optimization>
232+
<FunctionLevelLinking>true</FunctionLevelLinking>
233+
<IntrinsicFunctions>true</IntrinsicFunctions>
234+
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
235+
<AdditionalIncludeDirectories>..\..\include;..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
236+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
237+
<BrowseInformation>false</BrowseInformation>
238+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
239+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
240+
<OmitFramePointers>true</OmitFramePointers>
241+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
242+
<FloatingPointModel>Fast</FloatingPointModel>
243+
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
244+
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
245+
</ClCompile>
246+
<Link>
247+
<SubSystem>Windows</SubSystem>
248+
<GenerateDebugInformation>true</GenerateDebugInformation>
249+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
250+
<OptimizeReferences>true</OptimizeReferences>
251+
</Link>
252+
<Bscmake>
253+
<PreserveSbr>true</PreserveSbr>
254+
</Bscmake>
255+
</ItemDefinitionGroup>
256+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
257+
<ClCompile>
258+
<WarningLevel>Level4</WarningLevel>
259+
<PrecompiledHeader>
260+
</PrecompiledHeader>
261+
<Optimization>MaxSpeed</Optimization>
262+
<FunctionLevelLinking>true</FunctionLevelLinking>
263+
<IntrinsicFunctions>true</IntrinsicFunctions>
264+
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
265+
<AdditionalIncludeDirectories>..\..\include;..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
266+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
267+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
268+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
269+
<OmitFramePointers>true</OmitFramePointers>
270+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
271+
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
272+
<FloatingPointModel>Fast</FloatingPointModel>
273+
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
274+
<CompileAs>CompileAsC</CompileAs>
275+
</ClCompile>
276+
<Link>
277+
<SubSystem>Windows</SubSystem>
278+
<GenerateDebugInformation>true</GenerateDebugInformation>
279+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
280+
<OptimizeReferences>true</OptimizeReferences>
281+
</Link>
282+
</ItemDefinitionGroup>
283+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
284+
<ImportGroup Label="ExtensionTargets">
285+
</ImportGroup>
286+
</Project>
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup>
4+
<Filter Include="Header Files">
5+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
6+
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
7+
</Filter>
8+
<Filter Include="Source Files">
9+
<UniqueIdentifier>{7d5b1769-2be4-46f2-9e35-6260eea79d7f}</UniqueIdentifier>
10+
</Filter>
11+
<Filter Include="doc">
12+
<UniqueIdentifier>{012df308-35db-4909-b035-b1cd5fd1ee5b}</UniqueIdentifier>
13+
</Filter>
14+
</ItemGroup>
15+
<ItemGroup>
16+
<ClInclude Include="..\..\include\lcms2_fast_float.h">
17+
<Filter>Header Files</Filter>
18+
</ClInclude>
19+
<ClInclude Include="..\..\src\fast_float_internal.h">
20+
<Filter>Source Files</Filter>
21+
</ClInclude>
22+
</ItemGroup>
23+
<ItemGroup>
24+
<ClCompile Include="..\..\src\fast_float_15bits.c">
25+
<Filter>Source Files</Filter>
26+
</ClCompile>
27+
<ClCompile Include="..\..\src\fast_float_curves.c">
28+
<Filter>Source Files</Filter>
29+
</ClCompile>
30+
<ClCompile Include="..\..\src\fast_float_separate.c">
31+
<Filter>Source Files</Filter>
32+
</ClCompile>
33+
<ClCompile Include="..\..\src\fast_float_sup.c">
34+
<Filter>Source Files</Filter>
35+
</ClCompile>
36+
<ClCompile Include="..\..\src\fast_float_tethra.c">
37+
<Filter>Source Files</Filter>
38+
</ClCompile>
39+
<ClCompile Include="..\..\src\fast_float_15mats.c">
40+
<Filter>Source Files</Filter>
41+
</ClCompile>
42+
<ClCompile Include="..\..\src\fast_float_matsh.c">
43+
<Filter>Source Files</Filter>
44+
</ClCompile>
45+
<ClCompile Include="..\..\src\fast_float_cmyk.c">
46+
<Filter>Source Files</Filter>
47+
</ClCompile>
48+
<ClCompile Include="..\..\src\fast_8_curves.c">
49+
<Filter>Source Files</Filter>
50+
</ClCompile>
51+
<ClCompile Include="..\..\src\fast_8_tethra.c">
52+
<Filter>Source Files</Filter>
53+
</ClCompile>
54+
<ClCompile Include="..\..\src\fast_16_tethra.c">
55+
<Filter>Source Files</Filter>
56+
</ClCompile>
57+
<ClCompile Include="..\..\src\fast_8_matsh_sse.c">
58+
<Filter>Source Files</Filter>
59+
</ClCompile>
60+
<ClCompile Include="..\..\src\fast_8_matsh.c">
61+
<Filter>Source Files</Filter>
62+
</ClCompile>
63+
<ClCompile Include="..\..\src\fast_float_lab.c">
64+
<Filter>Source Files</Filter>
65+
</ClCompile>
66+
</ItemGroup>
67+
<ItemGroup>
68+
<None Include="..\..\COPYING.GPL3">
69+
<Filter>doc</Filter>
70+
</None>
71+
</ItemGroup>
72+
</Project>

0 commit comments

Comments
 (0)