User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
isp:brightness [2023/09/10 19:17] – [Algorithm] Igor Yefmovisp:brightness [2023/09/10 20:56] – [Algorithm] Igor Yefmov
Line 11: Line 11:
 Here's the algorithm to follow, assuming \(R, G, B \in [0..4095]\) and \(br \in [-1024..+1023]\): Here's the algorithm to follow, assuming \(R, G, B \in [0..4095]\) and \(br \in [-1024..+1023]\):
   - calculate luminosity   - calculate luminosity
-  - figure out the slope for each components based on whether luma is below or above 50% +  - adjust the brightness additively and clamp the value to range \([0..4095]\) 
-  - figure out if the new luma is going to cross the 50% boundary +  - figure out the slope for each components based on whether luma is below or above 50% and set chroma components to values that correspond to that 50% luma 
-  - if luma does cross the 50% boundary figure out the knee point's value (chroma component for luma at 50%) and assign it to chroma component +  - figure out if the new luma is going to cross the 50% boundary and if so "flip the slopes"
-    recalculate the slope based on new range +
-  - just adjust the brightness additively and clamp the value to range \([0..4095]\)+
   - recalculate RGB components   - recalculate RGB components
  

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information