From: Good Guy Date: Mon, 22 Jan 2024 19:23:54 +0000 (-0700) Subject: Credit Andrea - fixups and Histogram changes for no clipping X-Git-Tag: 2024-01~3 X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=9471bd2f16f091f5b2c353d79e9e3e39da3af2f8;p=goodguy%2Fcin-manual-latex.git Credit Andrea - fixups and Histogram changes for no clipping --- diff --git a/parts/Developer.tex b/parts/Developer.tex index 4f522d0..34d355f 100644 --- a/parts/Developer.tex +++ b/parts/Developer.tex @@ -227,6 +227,7 @@ Optional Features: --enable-openjpeg build openjpeg (auto) --enable-libogg build libogg (auto) --enable-libsndfile build libsndfile (auto) + --enable-libsvtav1 build libsvtav1 (no) --enable-libtheora build libtheora (auto) --enable-libuuid build libuuid (yes) --enable-libvorbis build libvorbis (auto) diff --git a/parts/Plugins.tex b/parts/Plugins.tex index 822792a..a689bfe 100644 --- a/parts/Plugins.tex +++ b/parts/Plugins.tex @@ -1387,6 +1387,8 @@ The most common use cases (but can be adapted to virtually any situation) of the \item Create a Stylized look. \end{itemize} +When using the X11 graphics driver and RGBA-FLOAT color model, this plugin allows for greater than (0 - 1.0f) values. This does not work when using X11-OpenGL because it is an 8-bit limited driver. Both the Color wheels and the Saturation and Value sliders will make it possible to work with HDR video. + \subsection{Color Balance}% \label{sub:color_balance} \index{color balance} @@ -1845,7 +1847,16 @@ The histogram allows an immediate view of the contrast amplitude of an image wit \label{fig:histogram} \end{figure} -The Histogram is always performed in floating point RGB regardless of the project color space. The histogram has two sets of transfer parameters: the \textit{input transfer} and the \textit{output transfer}. The input transfer has value on the horizontal axis of $x$; it is a normalized scale of values ranging from 0 - 1.0 (which for a depth color of 8 bits corresponds to the range 0 - 255, for 10 bits corresponds to 0 - 65536, etc). The output transfer (the $y axis$) represents the height of the column where a given value $x$ appears. A higher column ($y$ greater) indicates that many pixels have the corresponding value $x$; a lower column indicates that fewer pixels have that value. On the left we have the minimum value $0$, which is the black point. On the right we have the maximum value $1.0$ which is the white point. The intermediate values pass smoothly from one extreme to the other. The three important points (including the midtones) are indicated by cursors (small triangles) at the base of the histogram. You can adjust them to change the values of the three points if you want. Acting on the white or black point involves horizontal shifts only; acting on the midtones triangle also involves vertical movements leading to a "gamma" correction of the curve (Linear to Log or Reverse Log or vice versa). Further down is an additional bar with related cursors and textboxes. It is used to adjust input and output values (on the vertical). +The Histogram is always performed in floating point RGB regardless of +the project color space, but with clipping at 1.0. When using the X11 +graphics driver and RGBA-FLOAT color model, Histogram allows you to +display greater than (0 - 1.0f) values to accomodate HDR. This does +not work when using X11-OpenGL because it is an 8-bit limited driver. +The display will stop at +110\%, but there is no clipping. By lowering +the brightness all out-of-range values become visible, even those +initially above 110\%. + +The histogram has two sets of transfer parameters: the \textit{input transfer} and the \textit{output transfer}. The input transfer has value on the horizontal axis of $x$; it is a normalized scale of values ranging from 0 - 1.0 (which for a depth color of 8 bits corresponds to the range 0 - 255, for 10 bits corresponds to 0 - 65536, etc). The output transfer (the $y axis$) represents the height of the column where a given value $x$ appears. A higher column ($y$ greater) indicates that many pixels have the corresponding value $x$; a lower column indicates that fewer pixels have that value. On the left we have the minimum value $0$, which is the black point. On the right we have the maximum value $1.0$ which is the white point. The intermediate values pass smoothly from one extreme to the other. The three important points (including the midtones) are indicated by cursors (small triangles) at the base of the histogram. You can adjust them to change the values of the three points if you want. Acting on the white or black point involves horizontal shifts only; acting on the midtones triangle also involves vertical movements leading to a "gamma" correction of the curve (Linear to Log or Reverse Log or vice versa). Further down is an additional bar with related cursors and textboxes. It is used to adjust input and output values (on the vertical). There are 4 possible histograms in the histogram viewer. The red, green, blue histograms show the input histograms for red, green, blue and multiply them by an input transfer to get the output red, green, blue. Then the output red, green, blue is scaled by an output transfer. The scaled red, green, blue is converted into a value and plotted on the value histogram. The value histogram thus changes depending on the settings for red, green, blue. The value transfers are applied uniformly to R, G, B after their color transfers are applied. Mathematically, it is said that the values of $x$ are linked to the values of $y$ by a transfer function. This function, by default, is represented by a line that leaves the values of $x$ and $y$ unchanged, but we can intervene by modifying this line with the cursors or the textboxes. @@ -3468,6 +3479,15 @@ This effect applies a traditional \textit{darkroom} technique, the so called \te Videoscope summarizes intensity and color on a calibrated display. The Videoscope can be used in conjunction with other \CGG{} plugins such as \textit{Color 3 Way}, \textit{YUV}, \textit{Brightness}, \textit{Color Balance} or \textit{Histogram} to accurately correct video for contrast, clarity, conformance (to normalize various videos shot under different light settings), or for cinematic purposes. The human eye is not specialized to match precise level of light and color, but Videoscope is. Videoscope contains three displays: the waveform scope and the vectorscope, plus the histograms (figure~\ref{fig:videoscope01}). Instead of applying the plugin to the tracks/edits we want to examine, we can use the Videoscope buttons in the Composer and Viewer windows. \includegraphics[height=\baselineskip]{scope.png} In this way the monitors act on the frame indicated by the insertion point, without taking into account the stack of tracks or on which edits to apply the plugin. +\begin{figure}[hbtp] + \centering + \includegraphics[width=1.0\linewidth]{videoscope01.png} + \caption{GUI of the Videoscope. You see Histogram, RGB Parade and Vectorscope} + \label{fig:videoscope01} +\end{figure} + +When using the X11 graphics driver and RGBA-FLOAT color model, Videoscope allows you to display greater than (0 - 1.0f) values to accomodate HDR. This does not work when using X11-OpenGL because it is an 8-bit limited driver. The display will stop at -10\% or +110\%, but there is no clipping. For example, by varying the brightness all out-of-range values become visible on Waveform, even over 110\%. However you must disable the "smooth" option which always causes clipping. + The Videoscope menu window has many options. \paragraph*{Scopes:} we can choose between two histograms: @@ -3488,13 +3508,6 @@ and two vectorscopes: \item \textit{VectorWheel} \end{itemize} -\begin{figure}[hbtp] - \centering - \includegraphics[width=1.0\linewidth]{videoscope01.png} - \caption{GUI of the Videoscope. You see Histogram, RGB Parade and Vectorscope} - \label{fig:videoscope01} -\end{figure} - \paragraph*{Settings:} It is divided into two sections. The upper section contains two items: \begin{description} @@ -3550,15 +3563,15 @@ On the left is shown waveform RGB: instead of the color shadows as in figure~\re If we left-click on the graph with the mouse, we will see a crosshair that we can place exactly where we want to measure. We can read the precise values of X and Luminance (Value) in the pop-up box that appears at the bottom right (figure~\ref{fig:videoscope03}). -The Waveform scope helps correct image light levels for contrast range or for conforming light levels on various scenes originally shot on different light settings. The same can be done with Waveform RGB or the convenient overlapping representation (Waveform Ply). - \begin{figure}[hbtp] - \centering - \includegraphics[width=1.0\linewidth]{videoscope03.png} - \caption{Examples of waveform (with crosshair and the coordinates' box), waveform RGB and waveform Ply} - \label{fig:videoscope03} + \centering + \includegraphics[width=1.0\linewidth]{videoscope03.png} + \caption{Examples of waveform (with crosshair and the coordinates' box), waveform RGB and waveform Ply} + \label{fig:videoscope03} \end{figure} +The Waveform scope helps correct image light levels for contrast range or for conforming light levels on various scenes originally shot on different light settings. The same can be done with Waveform RGB or the convenient overlapping representation (Waveform Ply). + \subsubsection*{Adjusting luminance}% \label{ssub:adjusting_luminance}