Knee / control point specification for Xavier ISP

The Sensor Software Driver Programming Guide gives an example for how control points are to be specified to the Xavier ISP for decompressing a PWL input. In the example, the first control_point_0 is explicitly specified as (0,0) in the DT. Is that required or does the Xavier ISP automatically fill in (0,0) as a first point? If it is required to be always specified, we lose one of the 9 control points.

I ask because some imagers assume (0,0) as a default. When setting their registers, control_point_0 would be unequal to (0,0) and start wirth the first non-zero one.


we’re running with the first one (“control_point_{x,y}_0”) != (0, 0) and the images look ok, so it looks like it’s working with the (0, 0) implied.

Take imx185 as example looks like (0,0) much include in it.

Thanks @ShaneCCC . Would it be possible to verify whether that is absolutely required? I.e., should we expect the same performance when omitting the (0,0) (is it filled in by the Nvidia ISP as well)?
That would give us another control point to use (9 instead of 8 with the forced 0,0)

Just confirm PWL support 9 control points and first point should be set to 0, 0 for correct functionality.

1 Like