Yes, postprocessing code (after raw data read/unpack) is completely imported from dcraw without much improvement in functions.
Both 1D and 3D luts looks easy to implement assuming you've working code that replaces pixel value in place.
Assuming you're working in linear space in 'camera color', the best place to implement your code is convert_to_rgb_loop() function. It gets linear profile (out_cam[3][4]) that converts from camera space to output rgb. You may replace it with your code.
This function is already 'virtual', so it is very easy to implement any color conversion in derived class.
Yes, postprocessing code (after raw data read/unpack) is completely imported from dcraw without much improvement in functions.
Both 1D and 3D luts looks easy to implement assuming you've working code that replaces pixel value in place.
Assuming you're working in linear space in 'camera color', the best place to implement your code is convert_to_rgb_loop() function. It gets linear profile (out_cam[3][4]) that converts from camera space to output rgb. You may replace it with your code.
This function is already 'virtual', so it is very easy to implement any color conversion in derived class.