There is no standard input profile; they’re all camera specific.
With respect to the color transform, all raw processors work this way:
-
The ingested raw image is assigned a camera profile unique to that camera’s spectral capabilities. It may be a matrix, it may be a LUT, but it’s purpose is to describe how that camera’s data should be transformed to XYZ for the first color transform. This assignment doesn’t actually do anything, just associates the profile with the image data.
-
Then, somewhere down the pipe, the camera data is transformed into a defined colorspace. This may be done once for output, as in dcraw, or it may be done multiple times for different purposes. For example, in rawproc the way I’ve been doing it is to transform camera > display repeatedly during the editing process, then camera > output when I finally save the file. What most raw processors do is camera > working once, then working > display repeatedly during editing and working > output at file-save time.
Meant to post this last night; it might help: Article: Color Management in Raw Processing