It’s not just a DCP profile that makes the difference, it’s what’s in it. I haven’t torn apart the particular profile in play here, but I’ll bet it uses a lookup table (LUT) transform instead of a matrix.
With a matrix transform, all the algorithm knows to do is to deposit out-of-gamut colors just inside the destination gamut, without any concern for giving them some gradation that approximates what they had “out there” in the original space. A well-constructed LUT will provide the information to do just that, approximate a gradation in the destination colorspace.
Making a LUT camera profile takes a bit more information than what you get from a ColorChecker target shot. I’ve tried an IT8 target and the LUT profiles from it work better, but not as well as using spectral data measured from the camera. dcamprof will make LUT-based DCP or ICC profiles from either target shots or spectral data.
The above is just a rehash/synopsis of all the crap I wrote about it here:
- https://discuss.pixls.us/t/the-quest-for-good-color-1-spectral-sensitivity-functions-ssfs-and-camera-profiles/18002
- https://discuss.pixls.us/t/the-quest-for-good-color-2-spectral-profiles-on-the-cheap/18286
- https://discuss.pixls.us/t/the-quest-for-good-color-3-how-close-can-it8-come-to-ssf/18689
- https://discuss.pixls.us/t/the-quest-for-good-color-4-the-diffraction-grating-shootout/19984/75
#3 talks about using large-patchnumber targets.