Answers.Body: <p>Here's what all these settings do, typically. Some pieces of software define or apply them differently, but this should give a general idea.</p>
  <ul>
  <li><strong>Brightness</strong> simply changes the brightness value of each pixel, by increasing or decreasing the red, green, and blue values equally. For example, when brightness is increased, blacks may become a dark gray and white or near-white pixels may &quot;clip&quot; and become completely white. It affects the entire image uniformly, and applies the same adjustment to each pixel.</li>
  <li><strong>Gamma</strong> is similar to brightness, except it adjusts the values on a curve. So, how bright the pixels were initially determines how much they will change in brightness, but the red, green, and blue channels are still adjusted together. How exactly this modifies your image depends on the gamma curve that your software is using. Gamma adjustment is typically used to make colors look more true to life when there's a mismatch between how a camera captures video and a monitor displays it.</li>
  <li><strong>LUT</strong> stands for &quot;Look Up Table&quot;. It applies modifications to each pixel depending on their original color, and does not change the red, green, and blue channels uniformly. It sounds like in your software it has a built-in LUT, and you're simply changing its intensity. Different LUTs will create different image looks, for example some may enhance certain colors or change the tint of the entire image.</li>
  </ul>
  <p>When you increase your brightness, images start to lose their color because of clipping- a red pixel, for example, may be fully red. Increasing the brightness on this red pixel would make it seem less saturated because you're increasing the green and blue channels, but not the red channel since it's already fully on. As colors get brighter, they simply get closer to white. This makes the image seem duller.</p>
  <p>When you increase the saturation, it moves each pixel &quot;further&quot; from white. You can visualize this by looking at a color wheel. Saturation essentially places every pixel of your image on a color wheel, and then moves them radially outward towards a more extreme color. So, if a color approaches white when you turn the brightness up, you get some color back by increasing the saturation because this undoes the clipping effect of the brightness.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-05-28T17:26:29.237Z
Answers.Text: Thank you. Very informative and easy to understand. If I want to know specifics about ffmpeg's LUT filter, I'll ask about that specifically. I can see how color adjustment could be a specialty, with all this info here.
Answers.UserDisplayName: user3643
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-05-28T17:34:49.930Z
Answers.Text: I wonder now if I can design my own lut, that fits my typical needs...
Answers.UserDisplayName: user3643
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-05-28T17:57:15.287Z
Answers.Text: [You absolutely can](https://massive.io/tutorials/how-to-create-your-own-lut/)!
Answers.UserDisplayName: Cam
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-05-23T08:25:47.783Z
Answers.LastActivityDate: 2024-05-23T08:25:47.783Z
Answers.UserDisplayName: Cam
Body: <p>I get videos that were recorded at a conference, which I have to edit and produce. Usually there is only modest casual lighting, so no production or studio level lighting. During record, the tech has <em>already</em> used some software settings to better the capture<sup>1</sup>, in addition to the typical iris and gain settings on the camera.</p>
  <p>I usually brighten them with ffmpeg using the simple eq filter <code>eg=brightness=0.1</code>, which kind of robs the colors, so I bring them back with <code>eg=brightness=0.1:saturation=1.5</code>. Not always those exact numbers, but that's my starting point and I don't usually change it.</p>
  <p>I was thinking that there might be a better way, and I found <code>lut</code> and <code>gamma</code>. In some experimentation, I ran the following three:</p>
  <ul>
  <li><code>lut=val*1.2,eq=saturation=1.5</code></li>
  <li><code>eq=gamma=1.2:saturation=1.5</code></li>
  <li><code>eq=brightness=0.1:saturation=1.5</code></li>
  </ul>
  <p>All of them get the job done, but with nuanced quality differences. <code>lut</code> produced the best, <code>brightness</code> the worst, and <code>gamma</code> was somewhere in between. Primarily, <code>brightness</code> kind of puts a screen on the video, like wearing tinted glasses, except instead of changing color it makes it appear brighter but also just kind of whiter. <code>gamma</code> does it also, but less noticeably. <code>lut</code> probably also does it, but it's not very noticeable to me. I wonder if I fiddled more, I'd prefer gamma or brightness over lut, but for now, lut is the clear winner.</p>
  <p>Here's the thing: I don't really know what these do behind the scenes. If we start off with a color value on a given pixel, what does <code>brightness=0.1</code> do to it, for example? Also, why do all of them diminish all the colors, making me want to use <code>saturation</code> as well?</p>
  <hr />
  <p>Footnote</p>
  <ol>
  <li><p>They are recorded in vMix at 1920x1080. The settings that were changed are in the &quot;Colour Adjust&quot; tab (for individual inputs). The &quot;Black Stretch&quot; and &quot;White Stretch&quot; were raised and lowered, respectively, and the &quot;Saturation&quot; was raised. Was this wrong? Should records that <em>will</em> need color correction only be corrected in post, because of loss of information or something?</p>
  </li>
  <li><p>And in making sure I don't post a duplicate question, <a href="https://video.stackexchange.com/a/30203/3643">I just discovered curves</a>, which is purportedly more friendly to changing pixel formats. That is a concern, since sometimes I mix in jpeg and png images of all kinds of varieties.</p>
  </li>
  </ol>
  
Tags: <ffmpeg><filter><color-correction>
Title: What are brightness, gamma, and lut filters doing to my video? What's the difference, which should I prefer?
UserDisplayName: user3643
ThreadText: # What are brightness, gamma, and lut filters doing to my video? What's the difference, which should I prefer?
  
  (Asked by: username_0 on 2024-05-22)
  
  I get videos that were recorded at a conference, which I have to edit and produce. Usually there is only modest casual lighting, so no production or studio level lighting. During record, the tech has *already* used some software settings to better the capture1, in addition to the typical iris and gain settings on the camera.
  
  I usually brighten them with ffmpeg using the simple eq filter `eg=brightness=0.1`, which kind of robs the colors, so I bring them back with `eg=brightness=0.1:saturation=1.5`. Not always those exact numbers, but that's my starting point and I don't usually change it.
  
  I was thinking that there might be a better way, and I found `lut` and `gamma`. In some experimentation, I ran the following three:
  
  * `lut=val*1.2,eq=saturation=1.5`
  * `eq=gamma=1.2:saturation=1.5`
  * `eq=brightness=0.1:saturation=1.5`
  
  All of them get the job done, but with nuanced quality differences. `lut` produced the best, `brightness` the worst, and `gamma` was somewhere in between. Primarily, `brightness` kind of puts a screen on the video, like wearing tinted glasses, except instead of changing color it makes it appear brighter but also just kind of whiter. `gamma` does it also, but less noticeably. `lut` probably also does it, but it's not very noticeable to me. I wonder if I fiddled more, I'd prefer gamma or brightness over lut, but for now, lut is the clear winner.
  
  Here's the thing: I don't really know what these do behind the scenes. If we start off with a color value on a given pixel, what does `brightness=0.1` do to it, for example? Also, why do all of them diminish all the colors, making me want to use `saturation` as well?
  
  ---
  
  Footnote
  
  1. They are recorded in vMix at 1920x1080. The settings that were changed are in the "Colour Adjust" tab (for individual inputs). The "Black Stretch" and "White Stretch" were raised and lowered, respectively, and the "Saturation" was raised. Was this wrong? Should records that *will* need color correction only be corrected in post, because of loss of information or something?
  2. And in making sure I don't post a duplicate question, [I just discovered curves](https://video.stackexchange.com/a/30203/3643), which is purportedly more friendly to changing pixel formats. That is a concern, since sometimes I mix in jpeg and png images of all kinds of varieties.
  
  **Tags:** ffmpeg, filter, color-correction
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2024-05-23. Score: 2 | Accepted answer
  
  Here's what all these settings do, typically. Some pieces of software define or apply them differently, but this should give a general idea.
  
  * **Brightness** simply changes the brightness value of each pixel, by increasing or decreasing the red, green, and blue values equally. For example, when brightness is increased, blacks may become a dark gray and white or near-white pixels may "clip" and become completely white. It affects the entire image uniformly, and applies the same adjustment to each pixel.
  * **Gamma** is similar to brightness, except it adjusts the values on a curve. So, how bright the pixels were initially determines how much they will change in brightness, but the red, green, and blue channels are still adjusted together. How exactly this modifies your image depends on the gamma curve that your software is using. Gamma adjustment is typically used to make colors look more true to life when there's a mismatch between how a camera captures video and a monitor displays it.
  * **LUT** stands for "Look Up Table". It applies modifications to each pixel depending on their original color, and does not change the red, green, and blue channels uniformly. It sounds like in your software it has a built-in LUT, and you're simply changing its intensity. Different LUTs will create different image looks, for example some may enhance certain colors or change the tint of the entire image.
  
  When you increase your brightness, images start to lose their color because of clipping- a red pixel, for example, may be fully red. Increasing the brightness on this red pixel would make it seem less saturated because you're increasing the green and blue channels, but not the red channel since it's already fully on. As colors get brighter, they simply get closer to white. This makes the image seem duller.
  
  When you increase the saturation, it moves each pixel "further" from white. You can visualize this by looking at a color wheel. Saturation essentially places every pixel of your image on a color wheel, and then moves them radially outward towards a more extreme color. So, if a color approaches white when you turn the brightness up, you get some color back by increasing the saturation because this undoes the clipping effect of the brightness.
  
  > **Comments:**
  > **username_0**: Thank you. Very informative and easy to understand. If I want to know specifics about ffmpeg's LUT filter, I'll ask about that specifically. I can see how color adjustment could be a specialty, with all this info here.  
  > **username_0**: I wonder now if I can design my own lut, that fits my typical needs...  
  > **username_1**: [You absolutely can](https://massive.io/tutorials/how-to-create-your-own-lut/)!  
  
  ---
  
  