People don't realise how much stuff the ISP does. It took me over a week to make an extremely basic profile for a new camera chip. And I had all the tools and the documents OEMs use. There is a 100 page long procedure I had to follow taking multiple pictures of calibration standards illuminated with various calibrated lights. Then at the end it still looks like crap, but it is pretty true looking. Then the work to make it look good really starts. I had no idea before I started.
There are simple things like debayer, but even just talking about exposure and gain control based on illumination is a pretty complex subject in itself. First you need to define parameters when to change exposure and when to leave it alone and just use camera gain. Then you need a set of parameters for when to use analog gain and when to use digital gain as communicated to the sensor. Then you have another two sets of parameters one for adjusting gain on the ISP (as opossed to all the previous stuff that feeds in to the camera chip) and some ISPs I'm told also have more advanced builtin correction based on curves. All this and we haven't even touched on how you measure the Illumination of the scene. At the very least you need one profile for back-lit and one for front-lit scenes. Then you need parameters for how the isp decides which profile to apply automatically and so on.
Mind that this is just brightness, we haven't even started talking about color correction, white balance, denoise, sharpen and 13 other ISP blocks that are there. BTW, you need another profile for every resolution your camera outputs too.
I don't know a lot about different ISPs. I only worked with one, but it gave me enough of an understanding to know why there is no way one profile will work for two camera chips. Or one profile will not work with two different versions of ISP hw.
That's why I hope libcamera succeeds. They try to standardise all the isp control, but it is a huge task especially when every single isp is different.