Professional Documents
Culture Documents
===================================================================================
=
#
# ICOptions.txt
#
# Note this file is hierarchical. Options defined later in the file (or other
files)
# override earlier settings.
# There are a limited set of positive conditinals that can be used in if/endif
pairs.
# Any undefined conditional will evaluate to 0, and the block will be skipped.
#
#
===================================================================================
=
#
===================================================================================
=
#
# logging and debug options
# -------------------
# debug
if qProfile
breakOnAsserts 0
endif
# -------------------
# debug HUD
# -------------------
# logging
#
===================================================================================
=
#
# optimaization options
#
===================================================================================
=
#
# general threading options
#
===================================================================================
=
#
# JPEG options
# whether to use the passed tile thread (1) or the thread pool (0)
jpegUseTiledThread 1
#
===================================================================================
=
#
# VM options
# set the percent of memory to flush down to when we need to allocate a new tile
scratchVMLimitPercent 100
# set the percent of memory to flush down to when we're low on memory
scratchVMLimitPercentForced 30
# vm tile size (in bytes), 0 for default >256K (266112), <256 (261888),
=256(262144)
tileSize 262144
#
===================================================================================
=
#
# render options
# -------------------
# ACR pipe
# pipe buffer bytes (in KB), default 256K, one per processor
pipeBufferBytes 256
# pipe buffer multiplier, overrides existing tile size in most renders, multiplied
# by render scale, 0 disables, default 384
pipeBufferMultiplier 384
# -------------------
# Imagecore CPU render
# this is the level of the preview render (-1 for off, for pixel doubling set to 1)
renderPreviewLevel 2
# this is the level of the draft render (-1 for off, for pixel doubling set to 0)
renderDraftLevel 1
targetCPUViewMinimumPreviewFramerate 15
# -------------------
# proxy DNG options
if qImagecoreObsolete
# The threshold is used to avoid generating proxies when they wouldn't save
enough
# relative to the original. A threshold of zero represents no threshold.
proxyDNGJPEGThreshold 0
proxyDNGNonJPEGThreshold 0
endif
# -------------------
# Current process version and set it to the desired process version.
currentProcessVersion 2013
if qPSX
currentProcessVersion 2013
endif
# -------------------
# lens and camera profile options
# Enable or disable lens profile use in parameter used with ICImageView renders for
# debugging or testing purposes. If enabling, it will use whatever is set in the
# apiLensProfileEnable parameter for render. If disabling, it will override that
# parameter to 0.
# Shipping builds should always set enableLensProfiles to 1.
enableLensProfiles 1
# Enable use of camera profile in parameter used with ICImageView renders for
debugging
# or testing purposes. If disabling, the default camera profile for the negative
will
# be used since it's not possible to completely disable use. Note that the default
may
# vary depending on what profiles are available on the device.
# Shipping builds should always set it to 1.
enableCameraProfiles 1
# -------------------
# gpu
# -------------------
# Color space to render for display
# Only supported with gpuView 0
# 0 = sRGB
# 1 = DisplayP3
# 2 = Automatic, either sRGB or DisplayP3, based on the device.
displayRenderColorSpace 2
# Optionally set GPU screen preview size by specifying the "minimum long side".
# This value should be a power of 2 (e.g., 512, 1024, ...) and will be IGNORED if
it isn't.
#previewMinLongSidePixelsGPU 512
# Optionally set Host (CPU) screen preview size by specifying the "minimum long
side".
# This value should be a power of 2 (e.g., 512, 1024, ...) and will be IGNORED if
it isn't.
#previewMinLongSidePixelsHost 256
# -------------------
# Bit depth per channel or component to render for display
# Use 8-, 16-bit 32-bit only.
# 0 makes it dependent on the color space.
# This option value is checked in ic_init, but not applied by the imagecore lib.
# The ic_test app uses this option to configure tests of specific render bit-
depths.
# All ic_render ("CPU View")" are 8-bit unless using DisplayP3, which are 16-bit.
displayRenderBitDepth 0
#
===================================================================================
=
#
# resource options
#
===================================================================================
=
#
# optimaization test options - these should be moved to ICOptions_Test once the
test is
# removed from imagecore initialization for non-shipping builds.
# generate the tests for the SIMD layer, paste into glue layer
testSIMDGenerate 0
#
===================================================================================
=
#
# platform override options (qiPhone, qiPhoneSimulator, qMacOS)
# see default above for descriptions of vars
if qiPhone
percentMemory 20
maxMemory 512
endif
if qAndroid
addAppDirForProfiles 1
percentMemory 50
maxMemory 1024
endif
if qMacOS
percentMemory 30
maxMemory 2560
endif
if qWinOS
if q64Bit
percentMemory 30
maxMemory 2560
endif
if !q64Bit
percentMemory 30
maxMemory 512
endif
endif
if qLinux
addAppDirForProfiles 1
percentMemory 30
maxMemory 2560
endif
# this works well with winphones with 1GB or 2GB RAM when we have set the App as
higher memory limit typed.
# see
http://msdn.microsoft.com/en-US/library/windowsphone/develop/jj681682(v=vs.105).asp
x
#if we need to support 512MB phones, then this might cause out-of-memory while
opening larger images
# we can however reduce the memory for such devices, if needed
if qWinPhone
percentMemory 20
maxMemory 512
endif
if qiPhone
# device options (start with d)
if diPad
if diPad1
endif
if !diPad1
endif
endif
if diPhone
if diPhone4
endif
endif
if diPod
if diPod4
endif
endif
endif
# -------------------
# force the simulator to emulate a given platform
if qiPhoneSimulator
if diPad3
limitThreads 2
maxMemory 204
endif
if diPad2
limitThreads 2
maxMemory 102
endif
if diPhone3
oneThread 1
maxMemory 51
endif
if diPhone4
limitThreads 2
maxMemory 102
endif
endif
# -------------------
# force the simulator to emulate a given platform
# only has 1 actual thread, max of 880MB memory
# max out the memory to run faster
if qAndroidSimulator
maxMemory 512
percentMemory 50
endif
# -------------------
# can override settings for the ship build
if qShip
endif
endif
endif
# -------------------
# render
if 0
pipeBufferBytes 0 # will use 400
pipeBlockSizeX 0 # will use 512
pipeBlockSizeY 0
pipeBufferMultiplier 384
endif
# IC
#vm
if 1
# vm - 20x block size
tileSize 1314720 # +4K of slop, 5 channel max
fixedBlockSizeX 256
fixedBlockSizeY 256
endif
# render
if 1
# overide defaults, speeds up renders and loads by 39MP (40s -> 25s), 18MP (19s
-> 10s)
# render - allow denoise to run with tile of 256x256 @5000 (34s) or 128x128
@3000 (60s) for 18MP image
# denoise runs much faster with 6000, wichita w/o denoise uses 2200
pipeBufferBytes 6000
pipeBlockSizeX 256
pipeBlockSizeY 256
pipeBufferMultiplier 0
endif
# turns off mask cache for Local correction, this is based on discussion with
Krishna, we should keep this off on mobile.
disableLocalCorrectionsCache 0
#
===================================================================================
=