7#if defined(WITH_OPENCOLORIO)
21 OCIO_NAMESPACE::ConstConfigRcPtr ocio_config_;
22 OCIO_NAMESPACE::ConstColorSpaceRcPtr ocio_color_space_;
24 std::string clean_description_;
25 StringRefNull interop_id_;
26 bool is_invertible_ =
false;
30 mutable bool is_info_cached_ =
false;
31 mutable bool is_scene_linear_ =
false;
32 mutable bool is_srgb_ =
false;
34 CPUProcessorCache to_scene_linear_cpu_processor_;
35 CPUProcessorCache from_scene_linear_cpu_processor_;
38 LibOCIOColorSpace(
int index,
39 const OCIO_NAMESPACE::ConstConfigRcPtr &ocio_config,
40 const OCIO_NAMESPACE::ConstColorSpaceRcPtr &ocio_color_space);
42 StringRefNull
name()
const override
45 return ocio_color_space_->getName();
47 StringRefNull description()
const override
49 return clean_description_;
52 StringRefNull interop_id()
const override
57 bool is_invertible()
const override
59 return is_invertible_;
62 bool is_scene_linear()
const override;
63 bool is_srgb()
const override;
65 bool is_data()
const override
67 return ocio_color_space_->isData();
70 bool is_display_referred()
const override
72 return ocio_color_space_->getReferenceSpaceType() == OCIO_NAMESPACE::REFERENCE_SPACE_DISPLAY;
75 const CPUProcessor *get_to_scene_linear_cpu_processor()
const override;
76 const CPUProcessor *get_from_scene_linear_cpu_processor()
const override;
80 MEM_CXX_CLASS_ALLOC_FUNCS(
"LibOCIOColorSpace");
83 void ensure_srgb_scene_linear_info()
const;
Read Guarded memory(de)allocation.