Andrea reorganization of manual
[goodguy/cin-manual-latex.git] / parts / Plugins.tex
index 1dca209752a24c0d8bc340e6d3d2c731f5ea9ac9..995b773681e19d9ff25767243a3c813c70f3d553 100644 (file)
@@ -31,10 +31,10 @@ Note that when you change the plugin icons, your session will automatically save
     \node (img1) [yshift=0cm, xshift=0cm, rotate=0] {\includegraphics[width=0.5\linewidth]{plugin-icons.png}};
     \node [yshift=-6mm, xshift=-1cm,anchor=east] at (img1.north west) (Preferences) {Preferences Window};
     \node [yshift=-14mm, xshift=-1cm,anchor=east] at (img1.north west) (Tab) {Tab section};
-    \node [yshift=-35mm, xshift=-1cm,anchor=east] at (img1.north west) (Icon) {Plugin icon choices};
+    \node [yshift=-34mm, xshift=-1cm,anchor=east] at (img1.north west) (Icon) {Plugin icon choices};
     \draw [->, line width=1mm] (Preferences) edge  ([yshift=-6mm] img1.north west);
     \draw [->, line width=1mm] (Tab) edge  ([yshift=-14mm] img1.north west);
-    \draw [->, line width=1mm] (Icon) edge    ([yshift=-35mm] img1.north west);
+    \draw [->, line width=1mm] (Icon) edge    ([yshift=-34mm] img1.north west);
     \end{tikzpicture}
     \caption{Screencast showing the screen to change your plugin icons set}
     \label{fig:plugin-icons}
@@ -104,6 +104,15 @@ Two other effect types available in the Attach Effect dialog are \textit{Shared
     \item The insertion point or selected region must start inside the other effects.
 \end{itemize}
 
+Before going into further detail about how to use \textit{Shared effects}, an easier
+alternative method of application which is especially useful for Audio tracks is
+available.  In this method, all you have to do is use the \textit{Audio} pulldown and
+choose \textit{Attach effect}, highlight the effect you would like and make sure the
+default of \textit{Attach single standalone and share others} is checked on.  It will
+automatically be a "Shared Effect" on all audio tracks (be sure to disarm any audio
+tracks that you do not want to have the effect shared on).  This method also works for
+Video tracks using the \textit{Video} pulldown choice of \textit{Attach effect}.
+
 In the case of a shared track, there must be another track on the timeline of the same type as the track you are applying an effect to. If you right clicked on a video track to attach an effect, there will not be anything in the shared tracks column if no other video track exists. The same applies equally to audio tracks in that another audio track must exist. Shared tracks are often used as layers for titles, curves and keyframes.
 
 If shared effects or shared tracks are available, they appear in the shared effects and shared tracks columns when you used the \textit{Attach effect} option (RMB on a track). When the green colored checkmark is clicked OK, anything highlighted in the column is attached under the current track.
@@ -135,11 +144,11 @@ A Presets button on the plugin bar to the left of the Controls and On/Off button
     \begin{tikzpicture}[scale=1, transform shape]
     \node (img1) [yshift=0cm, xshift=0cm, rotate=0] {\includegraphics[width=0.6\linewidth]{preset02.png}};
     \node [yshift=-20mm, xshift=-1cm,anchor=east] at (img1.north west) (Green) {A user preset Green};
-    \node [yshift=-68mm, xshift=-1cm,anchor=south east,text width=10em, inner ysep=-3mm] at (img1.north west) (Textbox) {Textbox to type in the title for the chosen preset or name for a new preset.};
-    \node [yshift=-80mm, xshift=-1cm,anchor=north east,text width=10em,inner ysep=-3mm] at (img1.north west) (Save) {Use the Delete, Save or Apply button for operation.};
+    \node [yshift=-67mm, xshift=-1cm,anchor=south east,text width=10em, inner ysep=-3mm] at (img1.north west) (Textbox) {Textbox to type in the title for the chosen preset or name for a new preset.};
+    \node [yshift=-79mm, xshift=-1cm,anchor=north east,text width=10em,inner ysep=-3mm] at (img1.north west) (Save) {Use the Delete, Save or Apply button for operation.};
     \draw [->, line width=1mm] (Green) edge  ([yshift=-20mm] img1.north west);
-    \draw [->, line width=1mm] (Textbox.south east) --  ([yshift=-68mm] img1.north west);
-    \draw [->, line width=1mm] (Save.north east) --    ([yshift=-80mm] img1.north west);
+    \draw [->, line width=1mm] (Textbox.south east) --  ([yshift=-67mm] img1.north west);
+    \draw [->, line width=1mm] (Save.north east) --    ([yshift=-79mm] img1.north west);
     \end{tikzpicture}
     \caption{Screencast shows 4 Factory presets as preceded by an *.}
     \label{fig:preset02}
@@ -721,7 +730,8 @@ export LADSPA_PATH=/usr/lib/ladspa
 
 LV2 is an open standard for audio plugins using a simple interface with extensions which add functionality to support audio software. These plugins were written by external developers and provide additional audio effects to \CGG{} audio without having to change \CGG{} every time. Because the LV2 plugins are separate from \CGG{} Infinity, if one fails or does not perform as expected, \CGG{} should stay running and you will have to contact the programmers responsible for that plugin for a fix.
 
-Typically, a user OS has specialized package groups installed. It is difficult to create one build of \CGG{} to accommodate all potential LV2 plugins. Specifically for the \textit{Calf-Studio LV2 plugins}, you should install the \textit{Calf Plugins} package. The user’s computer must have \textit{gtk-2-runtime} installed, which seems to be automatically done already for most distros. For users doing their own builds, you can build \CGG{} without LV2 support by including \texttt{-{}-without-lv2} in the configure step. The default build is \texttt{-{}-with-lv2=yes} and requires that \textit{GTK-2-devel} must be installed or the build will fail and notify you.
+Typically, a user OS has specialized package groups installed. It is difficult to create one build of \CGG{} to accommodate all potential LV2 plugins. Specifically for the \textit{Calf-Studio LV2 plugins}, you should install the \textit{Calf Plugins} package. The user’s computer must have \textit{gtk-2-runtime} installed, which seems to be automatically done already for most distros. For users doing their own builds, you can build \CGG{} without LV2 support by including \texttt{-{}-without-lv2} in the configure step. The default build is \texttt{-{}-with-lv2=yes} and requires that \textit{GTK-2-devel} must be installed or the build will fail and notify you. In addition for some newer distros, you will need to install
+\textit{lv2-calf-plugins-gui}; for example Fedora version 32.
 
 LV2 plugins have their own category in the \textit{Audio Plugins Visibility} as lv2. There is a simple text interface which is available via the usual \textit{Show controls} button when the plugin is attached to the audio track. This window has a Reset button to get back to the default settings. To change a value of one of the parameters, highlight that parameter and type in the new value in the topmost text box and then hit Apply to take effect -- the reason for requiring hitting apply is so that the audio is not moving all over the place while you are still typing a value. More easily, you can just move the \textit{pot dial} or the \textit{slider} bar which take effect automatically.
 
@@ -776,6 +786,13 @@ Note the UI button in the upper right hand corner above the Reset button (figure
 
 When the glitzy ui is up, the simple text window remains up also since it is the \CGG{} side and keeps track of the value changes so they remain in effect for further usage of the plugin. Changes to one or the other will occur in both with the exception of certain features in the glitzy window which are not communicated correctly back to \CGG{}; for example a reset button -- the simple interface Reset button must be used instead. To change values in the glitzy window you use the mouse and move up or down unlike a knob that turns! (Figure~\ref{fig:calf02})
 
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.8\linewidth]{calf02.png}
+       \caption{Screencast with a Calf plugin glitzy window that appears when clicking the simple interface UI button.}
+       \label{fig:calf02}
+\end{figure}
+
 In order to test a particular plugin without bringing up \CGG{}, especially for ones that do not operate, it is possible to manually display an lv2ui gui with: \\
 \texttt{/cin-path/lv2ui <lv2-uri>} \\
 For example:
@@ -784,12 +801,6 @@ For example:
 /tmp/cinelerra-5.1/bin/lv2ui http://calf.sourceforge.net/plugins/Flanger
 \end{lstlisting}
 
-\begin{figure}[htpb]
-    \centering
-    \includegraphics[width=0.8\linewidth]{calf02.png}
-    \caption{Screencast with a Calf plugin glitzy window that appears when clicking the simple interface UI button.}
-    \label{fig:calf02}
-\end{figure}
 
 \section[Video Effects --- Native]{Video Effects -- Native}%
 \label{sec:video_effects_native}
@@ -1030,21 +1041,51 @@ This is a Gaussian type blur. Other blur plugins -- \textit{Linear}, \textit{Mot
     \item[Blur alpha, red, green, blue] specifies which color channels is to be blurred.
 \end{description}
 
+\subsection{BoxBlur}%
+\label{sub:boxblur}
+Based on ffmpeg’s boxblur, this is a very fast algorithm which can be used to blur horizontal,
+vertical, and at a power level.  Simplest usage is to just blur the entire image but with
+the following parameters, you can create a specific rectangular section to blur instead.  
+
+\begin{description}
+    \item[X/Y:] point coordinates of a rectangular box to be blurred. X and Y of 0 are in the
+upper left hand corner.  Default to be blurred is the entire image.
+    \item[Drag:] is used when you want to create just a rectangular area to be blurred rather
+than the enire image. If you used keyframes to cover a moving area and had left the Drag box
+enabled, you can remove the drag box with \textit{Allow keyframe spanning} whose use is
+described in \nameref{sec:allow_keyframes_spanning}.
+    \item[W/H] the values in these 2 boxes specify the width and height of the drag area box
+measured in pixels as shown in the compositor window. You can set these manually and if you
+can not see the location of your box, set them to zero because $0$ sets it to the same as the
+width/height of the project.
+    \item[Horiz:] slider goes from $0\, to\, 100$. Increasing this \textit{horizontal} number,
+increases the blurriness in the horizontal direction. The default value is 2. You can also use
+the mouse wheel to scroll the slider.  There is a clear button on the right to set the value to 0.
+    \item[Vert:] slider goes from $0\, to\, 100$. Increasing this \textit{vertical} number,
+increases the blurriness in the vertical direction.  The default value is 2. You can also use
+the mouse wheel to scroll the slider. There is a clear button on the right to set the value to 0.
+    \item[Power:] the way \textit{Power} works is like stacking up the blur multiple times.
+For example, a power of 3 would be like blurring once, then blurring that again, and finally
+blurring that a third time. The slider varies from 1 to 10 with 2 being the default value. There
+is a clear button on the right to set the value to 1.
+    \item[Reset:] button to revert to the default values and turn off Drag if it is on.
+\end{description}
+
 \subsection{Brightness/Contrast}%
 \label{sub:brightness_contrast}
 
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.6\linewidth]{brightness.png}
+       \caption{How it works Brightness and Contrast}
+       \label{fig:brightness}
+\end{figure}
+
 To brighten a dark shot, or add light, use this plugin. Do not overuse the effect or you risk degrading your video quality.
 The \textit{Brightness} slider moves up or down the values of the entire channel and corresponds to the \textit{Master Offset} of the various grading programs.
 The \textit{Contrast} slider expands or narrows the brightness values of the entire channel; corresponds to the use of the \textit{cursors} (small triangles) in the \textit{Histogram} plugin. Clear icons are present to reset its slider to default without affecting others.
 Use the effect along with keyframing to brighten a long shot that is dark at the beginning but bright at the end. Generally you will want to change the brightness and contrast about the same amount (for example -- brightness $28$, contrast $26$) so that your original colors are kept intact. This effect is also keyframable (figure~\ref{fig:brightness}).
 
-\begin{figure}[htpb]
-    \centering
-    \includegraphics[width=0.6\linewidth]{brightness.png}
-    \caption{How it works Brightness and Contrast}
-    \label{fig:brightness}
-\end{figure}
-
 \subsection{BurningTV}%
 \label{sub:burningtv}
 
@@ -1184,7 +1225,7 @@ Together with \textit{Histogram Bezier / Curves} Color 3 Way is the main tool of
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.8\linewidth]{color3way.png}
+    \includegraphics[width=1.0\linewidth]{color3way.png}
     \caption{Color 3 Way control window}
     \label{fig:color3way}
 \end{figure}
@@ -1246,7 +1287,7 @@ color space  or range so that you can fix it.
 
 \begin{figure}[hbtp]
     \centering
-    \includegraphics[width=0.45\linewidth]{colorspace.png}
+    \includegraphics[width=0.6\linewidth]{colorspace.png}
     \caption{ColorSpace control window}
     \label{fig:colorspace}
 \end{figure}
@@ -1271,7 +1312,7 @@ To start, if not already checked, turn on drag. In the composer window select an
     \item[X, Y:] points coordinate.
     \item[Buttons:] \textit{New} to create a new point, \textit{Up/Dn} to move highlighted point up or down \textit{Del} to delete the highlighted point.
     \item[Threshold:] slider goes from $0\, to\, 1$. Increasing the threshold, increases the area to be filled or masked. You can also use the mouse wheel to scroll the slider.
-    \item[Drag:] for ease of use.
+    \item[Drag:] for ease of use. If you need to clear the Drag enabled, you can easily do this with \textit{Allow keyframe spanning} whose use is described in \nameref{sec:allow_keyframes_spanning}.
     \item[Reset:] button to revert to only the default middle point with all others being deleted.
     \item[ListBox:] "E" for Enabled with $*$ marking that; "X" is the point’s $x$ coordinate; "Y" is the point’s $y$ coordinate; "T" is the threshold value of $X,Y$ point; \textit{Tag} represents the \# of the selected
     point.
@@ -1292,14 +1333,14 @@ Figure~\ref{fig:crikey01} and figure~\ref{fig:crikey02} shows how moving the Thr
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.8\linewidth]{crikey01.png}
+    \includegraphics[width=0.7\linewidth]{crikey01.png}
     \caption{The screenshot shows the compositor with some default settings in the controls window.}
     \label{fig:crikey01}
 \end{figure}
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.8\linewidth]{crikey02.png}
+    \includegraphics[width=0.7\linewidth]{crikey02.png}
     \caption{same screenshot with moving Threshold}
     \label{fig:crikey02}
 \end{figure}
@@ -1351,7 +1392,7 @@ Figure~\ref{fig:descratch01} shows a list of the parameter descriptions:
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.8\linewidth]{descratch02.png}
+    \includegraphics[width=0.5\linewidth]{descratch02.png}
     \caption{Various parameters of DeScratch}
     \label{fig:descratch02}
 \end{figure}
@@ -1564,7 +1605,7 @@ incorrect linearization, etc.
 \begin{figure}[htpb]
     \centering
     \includegraphics[width=1.0\linewidth]{gamma01.png}
-    \caption{settting \textit{Maximun} to $0.5900$}
+    \caption{settting \textit{Maximun} to $0.6900$}
     \label{fig:gamma01}
 \end{figure}
 
@@ -1639,7 +1680,7 @@ The histogram allows an immediate view of the contrast amplitude of an image wit
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.8\linewidth]{histogram.png}
+    \includegraphics[width=0.9\linewidth]{histogram.png}
     \caption{Master Histogram and RGB Histogram}
     \label{fig:histogram}
 \end{figure}
@@ -1666,7 +1707,7 @@ The input graph is edited by adding and removing any number of points. Click and
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.8\linewidth]{bezier.png}
+    \includegraphics[width=0.9\linewidth]{bezier.png}
     \caption{Histogram Bezier / Curves}
     \label{fig:bezier}
 \end{figure}
@@ -1701,7 +1742,7 @@ Curves are generally adjusted by introducing several control points, some to be
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.75\linewidth]{ex-bezier.png}
+    \includegraphics[width=0.8\linewidth]{ex-bezier.png}
     \caption{Gain Up/Down; clamp; S-Shaped curve and Luma Key}
     \label{fig:ex-bezier}
 \end{figure}
@@ -1751,7 +1792,7 @@ Uses a Bayer filter algorithm to interpolate (estimate) missing color informatio
 \subsubsection*{Theory}
 \label{ssub:theory}
 
-Each video has its own framerate. If we want to change it (for \textit{timelapse} or \textit{slowmotion}) the best thing is to shoot the scene with suitable framerate. But even in post production we can do something. The simplest method is to remove some frames to speed up the movie or add some to slow it down (from now on, for simplicity we will consider only the timelapse). Needless to say, the result is not smooth and the viewer will notice it immediately. A better method is to use the interpolation, mediating the pairs of frames that alternate. For example, if we have a sequence of frames $1, 2, 3, 4, 5, 6, 7, 8\dots$ we can make a timelapse mixing frames $1$ and $2$, $3$ and $4$, $5$ and $6$, $7$ and $8$ and so on. So we will have a new sequence of $4$ frames instead of the initial $8$: $\underline{12, 34, 56, 78}\dots$ We will get $50\%$ acceleration but it will always be of bad quality because of the too rough blending between the pairs of frames. Blending can be improved by weighing it differently by $50\% frame 1 + 50\% frame 2$, but the result is still unsatisfactory. Further improvements can be achieved by using $logarithmic$ or $exponential$ interpolation instead of $linear$ interpolation. But the most sophisticated methods that lead to better results are based on \textit{optical flow analysis}. These analyses the movement of circumscribed areas over a given period of time. With this method the intermediate frames do not derive from an approximate blending, but from the calculation of the \textit{vector} of the motion between two frames that determines the displacement (\textit{warping}) of the moving figure in the new intermediate frame. \textit{Interpolate Video} works this way.
+Each video has its own framerate. If we want to change it (for \textit{timelapse} or \textit{slow motion}) the best thing is to shoot the scene with suitable framerate. But even in post production we can do something. The simplest method is to remove some frames to speed up the movie or add some to slow it down (from now on, for simplicity we will consider only the timelapse). Needless to say, the result is not smooth and the viewer will notice it immediately. A better method is to use the interpolation, mediating the pairs of frames that alternate. For example, if we have a sequence of frames $1, 2, 3, 4, 5, 6, 7, 8\dots$ we can make a timelapse mixing frames $1$ and $2$, $3$ and $4$, $5$ and $6$, $7$ and $8$ and so on. So we will have a new sequence of $4$ frames instead of the initial $8$: $\underline{12, 34, 56, 78}\dots$ We will get $50\%$ acceleration but it will always be of bad quality because of the too rough blending between the pairs of frames. Blending can be improved by weighing it differently by $50\% frame 1 + 50\% frame 2$, but the result is still unsatisfactory. Further improvements can be achieved by using $logarithmic$ or $exponential$ interpolation instead of $linear$ interpolation. But the most sophisticated methods that lead to better results are based on \textit{optical flow analysis}. These analyses the movement of circumscribed areas over a given period of time. With this method the intermediate frames do not derive from an approximate blending, but from the calculation of the \textit{vector} of the motion between two frames that determines the displacement (\textit{warping}) of the moving figure in the new intermediate frame. \textit{Interpolate Video} works this way.
 
 \subsubsection*{Practice}
 \label{ssub:practice}
@@ -1905,7 +1946,7 @@ Motion tracking parameters:
     \item[Translation search steps] Ideally the search operation would compare the translation block with every other pixel in the translation search radius. To speed this operation up, a subset of the total positions is searched. Then the search area is narrowed and re-scanned by the same number of search steps until the motion is known to $\frac{1}{4}$ pixel accuracy.
     \item[Block X, Y] These coordinates determine the center of the translation block based on percentages of the width and height of the image. The center of the block should be part of the image which is visible at all times.
     \item[Maximum absolute offset] The amount of motion detected by the motion tracker is unlimited if this is $100$. If it is under $100$ the amount of motion is limited by that percentage of the image size.
-    \item[Settling speed] The motion detected between every frame can be accumulated to form an absolute motion vector. If the settling speed is $100$ the absolute vector is added to the next frame. If the settling speed is less than $100$ the absolute vector is downscaled by the settling amount before being added to the next frame.
+    \item[Settling speed] The motion detected between every frame can be accumulated to form an absolute motion vector. Settling speed determines how fast the accumulated translation fades away, and the image resettles to its actual appearance. If the settling speed is 0\% the total absolute vector is added to the next frame. So every frame that is processed accumulates the whole motion of the past. If the settling speed is 100\% the absolute vector is cancelled completely, adding no past translation to the next frame. If the settling speed is intermediate between 0\% and 100\% the absolute vector is downscaled by (100 - settling amount) before being added to the next frame.
     \item[Track rotation] Enables rotation operations. The motion tracker tracks rotation in the master layer and adjusts rotation in the target layer.
     \item[Rotation block size] For rotation operations a single block is compared to equally sized blocks, each rotated by a different amount. This is the size of the rotation block.
     \item[Rotation search radius] This is the maximum angle of rotation from the starting frame the rotation scanner can detect. The rotation scan is from this angle counterclockwise to this angle clockwise. Thus the rotation search radius is half the total range scanned.
@@ -1926,10 +1967,33 @@ Since it is a very slow effect, there is a method to applying the motion tracker
 
 Enable which of translation motion or rotation motion vectors you want to track. By watching the compositor window and adjusting the \textit{Block x,y} settings, center the block on the part of the image you want to track. It is advisable to choose elements that have evident edges in the $x$ and $y$ directions because the calculations are made on these coordinates. Then set \textit{search radius}, \textit{block size} and \textit{block coordinates} for translation and rotation.
 
-Once this is configured, set the calculation to \textit{Save coords} and do test runs through the sequence to see if the motion tracker works and to save the motion vectors. Next, disable playback for the track, disable \textit{Draw vectors}, set the motion action to perform on the target layer and change the calculation to \textit{Load coords}. Finally enable playback for the track.
+Once this is configured, set the calculation to \textit{Save coords} and do test runs through the sequence to see if the motion tracker works and to save the motion vectors. Next, disable \textit{Draw vectors}, set the motion action to perform on the target layer and change the calculation to \textit{Load coords}.
 
 When using a single starting frame to calculate the motion of a sequence (Keep Shape), the starting frame should be a single frame with the least motion to any of the other frames. This is rarely frame $0$. Usually it is a frame near the middle of the sequence. This way the search radius need only reach halfway to the full extent of the motion in the sequence.
 
+Summarizing:
+
+\begin{enumerate}
+       \item In the Master Layer create and save the tracking file:
+       \begin{itemize}
+               \item \textit{Draw vectors}: checked
+               \item \textit{Action}: Do Nothing
+               \item \textit{Calculation}: Save coords to Tracking File
+       \end{itemize}
+       \item Clone the track, which becomes the Target Layer. The Motion plugin will also be copied.
+               \begin{itemize}
+                       \item \textit{Draw vectors}: unchecked
+                       \item \textit{Action}: Do Nothing
+                       \item \textit{Calculation}: Load coords from Tracking File
+               \end{itemize}
+       \item Add a third track to place the video of the object to be superimposed. Add the shared effects of the motion plugin taken from the Master Layer.
+               \begin{itemize}
+                       \item \textit{Draw vectors}: unchecked
+                       \item \textit{Action}: Track Subpixel
+                       \item \textit{Calculation}: Load coords from Tracking File
+               \end{itemize}
+\end{enumerate}
+
 If the motion tracker is used on a render farm, Save coords and previous frame mode will not work. The results of the save coords operation are saved to the hard drives on the render nodes, not the master node. Future rendering operations on these nodes will process different frames and read the wrong coordinates from the node filesystems. The fact that render nodes only visualize a portion of the timeline also prevents previous frame from working since it depends on calculating an absolute motion vector starting on frame $0$.
 
 \subsubsection*{2 pass motion tracking}
@@ -2031,7 +2095,7 @@ Uses X/Y camera automation vectors to apply a linear blur trailing camera direct
 \subsection{MotionCV}%
 \label{sub:motioncv}
 
-Motion tracking/stabilization from the community version of \CGG{}. For theory and explanations refer to the \hyperref[sub:motion]{Motion} plugin.
+Extended motion tracking/stabilization from the community version of \CGG{}. For theory and explanations refer to the \hyperref[sub:motion]{Motion} plugin.
 
 \subsection{MotionHV}%
 \label{sub:motionhv}
@@ -2092,7 +2156,9 @@ Key Presses for using the Perspective plugin:
 
 Note that the red color lines in the box show the composer boundary.
 
-In order to see endpoints that go off the screen, you can use the zoom slider which changes only the zoom view and does nothing else. The slider uses a logarithmic scale ranging from $\frac{1}{100} to 100$.
+In order to see endpoints that go off the screen, you can use the zoom slider which changes only the zoom view and does nothing else. The slider uses a logarithmic scale ranging from $\frac{1}{100} to 100$.  Although not shown in the 
+image here, each endpoint is labeled in yellow with 1-4 and the Current X
+endpoint is shown in the menu to make it easier to tell which point is in play.
 
 Figure~\ref{fig:perspective01} show the results of the 4 different smoothing options.
 
@@ -2103,6 +2169,15 @@ Figure~\ref{fig:perspective01} show the results of the 4 different smoothing opt
     \label{fig:perspective01}
 \end{figure}
 
+Just a side note about the possibility of ending up with a divide by 0 case when manipulating
+the endpoints.  Sometimes this results in a single frame anomaly but you can workaround this
+by setting the X value for the middle keyframe of a series to just a little more than 0,
+such as .01 so that dividing by 0 is avoided. The actual cause of the problem is that the
+interpolated X1..X4 auto coordinates used by perspective eventually have x1==x2, x3==x4, so
+that all points x are scaled by zero. Another solution is to tweak the frame count to an even
+number, so that the center is not over the point where x1==x2, x3==x4, or perturb the midpoint
+position a little so that the answers are not exactly zero.
+
 \subsection{Polar}%
 \label{sub:polar}
 
@@ -2132,6 +2207,13 @@ Most cameras take the light coming into the lens, and convert that into $3$ sets
 
 Radial blur is a \textit{Bokeh} effect that creates a whirlpool which simulates a swirling camera. You can vary the location, type, and quality of the blur.
 
+\begin{figure}[hbtp]
+       \centering
+       \includegraphics[width=0.8\linewidth]{radial.png}
+       \caption{For clarity of presentation only 2 fields are shown}
+       \label{fig:radial}
+\end{figure}
+
 \begin{description}
     \item[X,Y] center of the circle of movement.
     \item[Angle] angle of motion in one direction.
@@ -2141,12 +2223,6 @@ Radial blur is a \textit{Bokeh} effect that creates a whirlpool which simulates
 
 Figure~\ref{fig:radial} has the parameters: $Angle=-35$ and $Steps=2$.
 
-\begin{figure}[hbtp]
-    \centering
-    \includegraphics[width=0.8\linewidth]{radial.png}
-    \caption{For clarity of presentation only 2 fields are shown}
-    \label{fig:radial}
-\end{figure}
 
 \subsection{ReframeRT}%
 \label{sub:reframert}
@@ -2170,11 +2246,11 @@ to interpolation.
 
 Stretch mode multiplies the current frame number of its output by the \textit{scale factor} to arrive at the frame to read from its input. The scaling factor is not entered directly but using a number of \textit{input} frames to be divided by the number of \textit{output} frames.
 
-\vspace{1ex} \texttt{Scale factor = Input frames / Output frames}
+\vspace{1ex} \texttt{Scale factor (SF) = Input frames / Output frames}
 
-\[\frac{1}{8} \Rightarrow scale\, factor = 0.125 \qquad (slowmotion)\]
+\[\frac{1}{8} \Rightarrow scale\, factor = 0.125 \qquad (slow\, motion)\]
 
-That is, one input frame of the original movie corresponds to $8$ new output frames originated by interpolation. It is the opposite with regard to \textit{fast play}.
+For slow motion we leave 1 for the frames of the input and we increase the number of frames of the output (for example putting 8 for the output we have slow motion $8\times$, with $SF=\frac{1}{8}=0.125$). For fast motion we leave 1 for the output and we increase the number for the input (for example 8 to have $8\times$, with $SF=\frac{8}{1}=8$). Another possibility is to put the frame rate of the media (e.g 120 fps) in the input and the project frame rate in the output (e.g 30 fps) or the opposite.
 
 The stretch mode has the effect of changing the length of output video by the inverse of the scale factor. If the scale factor is greater than $1$, the output will end before the end of the sequence on the timeline. If it is less than $1$, the output will end after the end of the sequence on the timeline. The ReframeRT effect must be lengthened to the necessary length to accommodate the scale factor. Change the length of the effect by clicking on the endpoint of the effect and dragging.
 
@@ -2187,6 +2263,8 @@ in stretch mode with a value less than $1$.
 
 \textit{Example:} you have a clip that you want to put in slow motion. The clip starts at $33.792\, seconds$ and ends at $39.765$. The clip is $5.973\, seconds$ long. You want to play it at $\frac{4}{10}^{ths}$ normal speed. You divide the clip length by the playback speed ($5.973\div0.4$) to get a final clip length of $14.9325\,seconds$. You create an in point at the start of your clip: $33.792\,seconds$. You put an out point $14.9325\,seconds$ later, at $48.7245\,seconds$ ($33.792 + 14.9325$). You attach a \texttt{ReframeRT} effect, set it to $0.4$ and stretch. You change the out point at $48.7245$ to an in point. You start your next clip after the slow motion effect at the $48.7245$ out point. You can do this without making any calculations by first applying the effect and then lengthening or shortening the bar to where the stretched movie ends.
 
+Now in the timeline we have the affected part of the plugin where we see the slow/fast effect, and the continuation of the timeline from where the plugin ends. We then have to select the interval on which the plugin acts and render it or transform it into a nested clip or nested asset. In this way we can replace or overlap it with the part of the timeline that originally included all of the part we wanted to slow down/speed up.
+
 \subsubsection*{Downsample}%
 \label{ssub:downsample}
 
@@ -2198,10 +2276,11 @@ Downsample mode changes the frame rate of the input as well as the number of the
 \label{ssub:other_important_points}
 
 \begin{itemize}
-    \item ReframeRT uses the fps indicated in \texttt{Settings$\rightarrow$ Format$\rightarrow$ fps} project and not the \texttt{fps} of the assets.
+    \item ReframeRT uses the fps indicated in \texttt{Settings $\rightarrow$ Format $\rightarrow$ fps} project and not the \texttt{fps} of the assets.
     \item It can be associated with Nested Clips.
-    \item As an alternative to ReframeRT you can use the \textit{speed curve}, or change the framerate in \texttt{Resources$\rightarrow$ info} and in the \texttt{Project}.
+    \item As an alternative to ReframeRT you can use the \textit{speed curve}, or change the framerate in \texttt{Resources $\rightarrow$ info} and in the \texttt{Project}.
     \item It is keyframmable.
+    \item ResampleRT with the same settings is used to act on audio tracks.
 \end{itemize}
 
 \subsection{Reroute}%
@@ -2264,15 +2343,15 @@ This plugin allows the user to manipulate an SVG (scalable vector graphics) imag
     \item[Out\_w/Out\_h]  The scaling is controlled by width and height as they are normal parameters to overlay.
 \end{description}
 
-Figure~\ref{fig:svg} shows the menu options plugin window and the SVG image in the Inkscape window.
-
 \begin{figure}[hbtp]
-    \centering
-    \includegraphics[width=1.0\linewidth]{svg.png}
-    \caption{Control window and Inkscape}
-    \label{fig:svg}
+       \centering
+       \includegraphics[width=1.0\linewidth]{svg.png}
+       \caption{Control window and Inkscape}
+       \label{fig:svg}
 \end{figure}
 
+Figure~\ref{fig:svg} shows the menu options plugin window and the SVG image in the Inkscape window.
+
 \subsection{Scale}%
 \label{sub:scale}
 
@@ -2303,8 +2382,8 @@ With the Scale Ratio plugin you can manipulate your video to maintain the pixel
 
 This plugin is designed to smooth out non-moving areas of a video clip (figure~\ref{fig:staveraging}).
 \vspace{2ex}
-\begin{wrapfigure}[20]{O}{0.4\linewidth}
-   % \vspace{-4ex}
+\begin{wrapfigure}[18]{O}{0.4\linewidth}
+   \vspace{-2ex}
     \includegraphics[width=0.9\linewidth]{staveraging.png}
     \caption{STA control window}
     \label{fig:staveraging}
@@ -2386,7 +2465,7 @@ There is no \textit{undo} recorded between gui updates. It is recommended that y
 
 \begin{center}
        \small
-       \begin{longtable}{{m{15em}m{13em}m{12em}}}
+       \begin{longtable}{{m{12em}m{13em}m{12em}}}
                \caption{Sketcher controls}
                \label{tabular:sketcher_controls} \\ % note that double backslash is mandatory here
                \toprule
@@ -2442,7 +2521,7 @@ There is no \textit{undo} recorded between gui updates. It is recommended that y
 \begin{description}
        \item[Anti-Aliasing] You can set Off; On or Double. Default is On.
     \item[Color] refers to the current curve pen color. Click on the \textit{Color rectangle} to bring up the Color window to change any of the color values, including alpha.
-    \item[Drag] check to create curves and to be able to see any Off type curves. Uncheck for render/viewing.
+    \item[Drag] check to create curves and to be able to see any Off type curves. Uncheck for render/viewing.  If you need to clear the Drag enabled, you can easily do this with \textit{Allow keyframe spanning} whose use is described in \nameref{sec:allow_keyframes_spanning}.
     \item[Reset] -- in the \textit{Curve section}, all of the curve lines will be deleted except for an empty default curve;
     -- in the \textit{Point section}, all points for the highlighted curve in the Curve section will be deleted.
     \item[Width] integer width of line; width of $1$ is the default; width of $0$ is the smallest size of $1$ pixel.
@@ -2495,18 +2574,18 @@ This effect is basically a primitive \textit{luminance key} to produce a \textit
 \subsection{Time average}%
 \label{sub:time_average}
 
+\begin{wrapfigure}[18]{O}{0.35\linewidth}
+       \vspace{-2ex}
+       \includegraphics[width=0.9\linewidth]{timeaverage.png}
+       \caption{GUI for Time Average}
+       \label{fig:timeaverage}
+\end{wrapfigure}
+
 Time average is one effect which has many uses besides creating trail patterns of moving objects (figure~\ref{fig:timeaverage}).
 The main use is reducing noise in still images (or in the motionless parts of a video). Merely point a video camera at a stationary subject for $30$ frames, capture the frames, and average them using time average and you will have a high quality print. In floating point color models, time average can increase the dynamic range of low quality cameras.
 
 Inside the time average effect is an accumulation buffer and a divisor. A number of frames are accumulated in the \textit{accumulation} buffer and divided by the divisor to get the average (for $10$ accumulated frames the divisor is $10$). Because the time average can consume large amounts of memory, it is best applied by first disabling playback for the track, dropping the time average in it, configuring time average for the desired number of frames, and re-enabling playback for the track.
 
-\begin{figure}[hbtp]
-    \centering
-    \includegraphics[width=0.35\linewidth]{timeaverage.png}
-    \caption{GUI for Time Average}
-    \label{fig:timeaverage}
-\end{figure}
-
 \begin{description}
     \item[Frames count] this determines the number of frames to be accumulated in the accumulation buffer. Ranges from $1 to 1024$ frames.
     \item[Accumulate] this outputs the accumulation buffer without dividing it.
@@ -2585,7 +2664,7 @@ If the video is displayed on a consumer TV, the outer border is going to be crop
 \begin{description}
     \item[Drag] initial default checkbox is \textit{off} so that the Title plugin will work as it always has.
     \begin{description}
-        \item[Anchors] When you turn on the Drag feature, nine different anchors/handles will appear on compositor window. The \textit{middle anchor} allows you to drag your title wherever you want in the compositor window ($X, Y$ coordinates). The other 8 handles, drawn as arrows in each corner and in the middle of each side, let you change the size of the drag area box so that your title is within that area if it fits and as it is directed.
+        \item[Anchors] When you turn on the Drag feature, nine different anchors/handles will appear on compositor window. The \textit{middle anchor} allows you to drag your title wherever you want in the compositor window ($X, Y$ coordinates). The other 8 handles, drawn as arrows in each corner and in the middle of each side, let you change the size of the drag area box so that your title is within that area if it fits and as it is directed.  If you need to clear the Drag enabled, you can easily do this with \textit{Allow keyframe spanning} whose use is described in \nameref{sec:allow_keyframes_spanning}.
         \item[W/H] the values in these 2 boxes specify the size of the drag area box measured in pixels as shown in the compositor window. You can set these manually and if you can't see the location of your box or find your handles, set them to zero because $0$ sets it to the same as the width/height of the media.
         The Drag effect ignores all boundaries, including the \textit{Title Safe Region} of the Compositor so that if you drag your titles off the screen, it will look like they disappeared completely. Reset X and Y to reasonable values to have it reappear. The Title \textit{text}, \textit{background}, and \textit{pngs} are applied on a single layer so that they will drag together as an entity. All of the Title capabilities work in conjunction with dragging so if you want to justify the title, you can still use the \textit{Left/Center/Right/Top/Mid/Bottom} within the drag area. Be sure to turn off Drag when rendering or the box will show in the video; keep in mind that drag bars do not appear until there is some text in the text box and you can not actually drag until the Title window controls are available.
     \end{description}
@@ -2666,7 +2745,7 @@ Figure~\ref{fig:title03}.
 
 \begin{figure}[hbtp]
     \centering
-    \includegraphics[width=0.9\linewidth]{title03.png}
+    \includegraphics[width=1.0\linewidth]{title03.png}
     \caption{Final result of the exemple}
     \label{fig:title03}
 \end{figure}
@@ -2695,7 +2774,7 @@ The Text Color window has several enhanced features as listed here and seen in f
 
 \begin{figure}[hbtp]
     \centering
-    \includegraphics[width=0.6\linewidth]{title04.png}
+    \includegraphics[width=0.7\linewidth]{title04.png}
     \caption{Screencast showing the Color Picker menu.}
     \label{fig:title04}
 \end{figure}
@@ -2746,18 +2825,18 @@ export BC_FONT_PATH=:/usr/share/fonts #(remove all fonts and then add /usr/shar/
 One last item of information about fonts that may lead to some confusion. The checkbox for Bold and Italic will occasionally be ghosted out if no bold or italic version of the selected font is available. This is no guarantee, but currently as good as it can get due to inconsistency in the creation of fonts. It is mostly just a hint. If boxes are checkmarked, but ghosted, you can not uncheck until you change to a font that does not ghost out the boxes. If you use the popup helper with the boxes checked, and attempt to keyin a font that does not have the bold/italic attribute as checked, the font will be considered illegal.
 Text: chars is output and updated to indicate the number of characters already used. The only limit to the number of characters based on a count of single $8\, bit$ characters is the available resources on the user computer available for \CGG{} use. Keep in mind that unicode or other special characters may consist of $2$ to $4$ $8\,bit$ bytes. Also, newlines are a character and any of the attributes you use count in the total. There is now a horizontal scroll bar as well as the vertical one in the textbox and they only appear when there are more lines or characters that can fit in the original sized textbox.
 
+\begin{figure}[hbtp]
+       \centering
+       \includegraphics[width=0.4\linewidth]{title05.png}
+       \caption{Kerning in action}
+       \label{fig:title05}
+\end{figure}
+
 \subsubsection*{Kerning}%
 \label{ssub:kerning}
 
 When using the Titler, kerning is applied in order to allow parts of a letter to go outside the standard sized letter box.  Kerning is the process of adjusting the space between individual letters.  It is not the same as proportional spacing.  In kerning, a bounding box is allowed to overlay another bounding box.  The philosophy here is to aim at the ability to have boxes overlap in order to make the letters look more visually appealing.  Bounding box and escapement are tracked separately.  In addition to adjusting individual letter spacing, the program will also expand the render box in order to have any parts of the letter extend outside the standard letter box.  Kerning is applied to any and all fonts (figure~\ref{fig:title05}).
 
-\begin{figure}[hbtp]
-    \centering
-    \includegraphics[width=0.5\linewidth]{title05.png}
-    \caption{Kerning in action}
-    \label{fig:title05}
-\end{figure}
-
 \subsection{Tracer}%
 \label{sub:tracer}
 
@@ -2770,6 +2849,13 @@ Tracer creates an outline around an object after a few points are designated, so
        \label{fig:tracer-01}
 \end{figure}
 
+\begin{figure}[hbtp]
+       \centering
+       \includegraphics[width=0.7\linewidth]{tracer-02.png}
+       \caption{Rug in the top picture is traced in order to black it out or replace later}
+       \label{fig:tracer-02}
+\end{figure}
+
 \begin{description}
        \item[New] to create a new point.
        \item[Up/Dn] to move highlighted point up or down.
@@ -2778,7 +2864,7 @@ Tracer creates an outline around an object after a few points are designated, so
        \item[Invert] to change the mask to outside.
        \item[Feather] to sort of blur the edges (inward and outward). Feather influences the softness of the edge. The higher the number Feather is set to, the softer the edges become.
        \item[Radius] for varying the size a little. Radius extends the area further in or out to cover more or less area.
-       \item[Drag] to enable or disable moving.
+       \item[Drag] to enable or disable moving.  If you need to clear the Drag enabled, you can easily do this with \textit{Allow keyframe spanning} whose use is described in \nameref{sec:allow_keyframes_spanning}.
        \item[Draw] to draw the outline for visual.
        \item[Fill] to black out the object (no alpha); figure~\ref{fig:tracer-02}.
        \item[Mouse wheel] rotate the outline, centered on cursor. Note that this rotates the outline around the nearest point. The slower you scroll, the more precise the the result. If you scroll faster, an accelerator kicks in that allows you to make complete rotations more quickly.
@@ -2787,12 +2873,7 @@ Tracer creates an outline around an object after a few points are designated, so
 
 Be sure to uncheck \textit{Draw} and \textit{Drag} before rendering so that the lines do not show in the video output.
 
-\begin{figure}[hbtp]
-       \centering
-       \includegraphics[width=0.7\linewidth]{tracer-02.png}
-       \caption{Rug in the top picture is traced in order to black it out or replace later}
-       \label{fig:tracer-02}
-\end{figure}
+
 
 \subsection{Translate}%
 \label{sub:translate}
@@ -2825,35 +2906,95 @@ This effect applies a traditional \textit{darkroom} technique, the so called \te
 \subsection{Videoscope}%
 \label{sub:videoscope}
 
-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}).
+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.
+
+The Videoscope menu window has many options.
+
+\paragraph*{Scopes:} we can choose between two histograms:
+
+\begin{itemize}[noitemsep]
+       \item \textit{Histogram}
+       \item \textit{Histogram RGB}
+\end{itemize}
+three waveforms: 
+\begin{itemize}[noitemsep]
+       \item \textit{Waveform}
+       \item \textit{Waveform RGB} (aka RGB Parade)
+       \item \textit{Waveform Ply} (which superimposes the three Waveform RGB graphs in a single view.)
+\end{itemize}
+and two vectorscopes: 
+\begin{itemize}[noitemsep]
+       \item \textit{Vectorscope}
+       \item \textit{VectorWheel}
+\end{itemize}
 
 \begin{figure}[hbtp]
-    \centering
-    \includegraphics[width=0.8\linewidth]{videoscope01.png}
-    \caption{GUI of the Videoscope. You see Histogram, RGB Parade and Vectorscope}
-    \label{fig:videoscope01}
+       \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}
 
-\subsubsection*{Waveform/RGB Parade}%
-\label{ssub:waveform_rgb_parade}
+\paragraph*{Settings:} It is divided into two sections. The upper section contains two items:
+
+\begin{description}
+       \item[Smooth:] serves to make the graph more homogeneous, improving its visualization.
+       \item[Refresh on Stop ON:] [checked -- only for Transport buttons] scopes are updated when you stop playback at a given location. Instead, they are locked at the start position while you playback. This saves system resources and makes playback smoother. By dragging the cursor the scopes are updated in realtime.
+       \item[Refresh on Stop OFF:] [unchecked -- for Transport buttons and dragging cursor] the display of the scopes is synchronized with the playback. Every variation of the graphs is in realtime. There may be some decrease in fps during playback.
+       \item[Refresh on Release:] This works for the Viewer and Compositor windows. Scopes are not updated during playback. The update occurs only when you stop playback, that is at the final position (either by dragging the cursor or using the Transport buttons). When in the timeline, if you drag on the TimeBar or reposition in the TimeBar in either Drag and Drop or Cut and Paste mode, the release of the button also will update the Scopes.  This saves system resources and makes playback smoother.  Because there is no update when playing in the main window, you can still easily get a videoscope update simply by moving the mouse to the Compositor and a single click there will update the scopes without changing the frame (as long as Click to Play is not enabled).
+\end{description}
+
+ The lower section, called \textit{VectorWheel Grids}, it is only active when VectorWheel is set up in Scopes pull-down and contains four entries (figure~\ref{fig:videoscope06}):
+
+ \begin{figure}[hbtp]
+       \centering
+       \includegraphics[width=1.0\linewidth]{videoscope06.png}
+       \caption{Pull-down Settings}
+       \label{fig:videoscope06}
+ \end{figure}
+ \begin{description}
+       \item[None:] It only shows the colour wheel, without any superimposed graticula.
+       \item[All:] Shows the most complete grid that allows precise and useful measurements. It also shows the skintones area.
+       \item[Hue:] Show a more minimal grid.  It also shows the I-Line.
+       \item[IQ:] Show shows only I-Line and Q-Line.
+ \end{description}
+
 
-The \textit{Waveform Scope} displays image intensity (luminance) versus image $X$ position. The \textit{RGB Parade Scope} displays image RGB intensity versus image $X$ position (one graph per channel). The Waveform Scope appears on the left side or in the middle of the Videoscope window. The display is calibrated vertically from $0\%$ intensity (black) at the bottom up to $100\%$ intensity (white) at the top. Each column of pixels in the image corresponds to one column of pixels in the Waveform Scope (figure~\ref{fig:videoscope02}). Note that the height of the values of a waveform/RGB Parade corresponds exactly to the values on the $x\, axis$ in the \textit{histogram}. A vertical/horizontal correspondence is therefore obtained.
+You can create custom grids. These are raster .png images of adequate resolution and must be put in:
+
+\begin{lstlisting}[style=sh]
+[your cinelerra path]/bin/plugins/scopes/custom_grid.png
+\end{lstlisting}
+
+More information in the later section on Vectorscope.
+
+\paragraph*{Sliders:} allow for varying the \textit{solidity} of the dots shown in Waveforms and Vectorscope. You can get to the subpixel level for precision. They are accompanied by Reset buttons that restore them to default values.
+
+
+
+\subsubsection*{Waveform/RGB Parade/Waveform Ply}%
+\label{ssub:waveform_rgb_parade_ply}
+
+The \textit{Waveform Scope} displays image intensity (luminance) versus image $X$ position. The \textit{Waveform RGB} displays image RGB intensity versus image $X$ position (one graph per channel). The \textit{Waveform Ply} shows the three channels in a single graph. The Waveform Scope appears on the left side or in the middle of the Videoscope window. The display is calibrated vertically from $0\%$ intensity (black) at the bottom up to $100\%$ intensity (white) at the top. Each column of pixels in the image corresponds to one column of pixels in the Waveform Scope (figure~\ref{fig:videoscope02}). Note that the height of the values of a waveform/waveform RGB corresponds exactly to the values on the $x\, axis$ in the \textit{histogram}. A vertical/horizontal correspondence is therefore obtained.
 
 \begin{figure}[hbtp]
     \centering
-    \includegraphics[width=0.9\linewidth]{videoscope02.png}
-    \caption{Colortest 75\% with RGB Parade (left) and Waveform (right)}
+    \includegraphics[width=1.0\linewidth]{videoscope02.png}
+    \caption{Colortest 75\% with Waveform RGB (left) and Waveform (right)}
     \label{fig:videoscope02}
 \end{figure}
 
-On the left is shown RGB Parade: instead of the color shadows as in figure~\ref{fig:videoscope01}, we have lines representing the color bar test at $75\%$. They are pure colors, so all pixels have the same value. In fact, they are all at the level of $75\%$ except for the $100\%$ white band and the $0\%$ black band. In the waveform on the right, we have the same behavior with regard to luminance: the white band is $100\%$; the black band is $0\%$ and all the others $75\%$.
+On the left is shown waveform RGB: instead of the color shadows as in figure~\ref{fig:videoscope01}, we have lines representing the color bar test at $75\%$. They are pure colors, so all pixels have the same value. In fact, they are all at the level of $75\%$ except for the $100\%$ white band and the $0\%$ black band. In the waveform on the right, we have the same behavior with regard to luminance: the white band is $100\%$; the black band is $0\%$ and all the others $75\%$.
 
-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 (figure~\ref{fig:videoscope03}).
+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=0.7\linewidth]{videoscope03.png}
-    \caption{Example of waveform}
+    \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}
 
@@ -2862,13 +3003,13 @@ The Waveform scope helps correct image light levels for contrast range or for co
 
 \begin{enumerate}
     \item Add the \textit{Brightness/Contrast}, \textit{Histogram}, \textit{Color 3 Way} or another video adjustment effect on your track/edit.
-    \item Add the Videoscope effect on the track below. Make sure that it is placed below so it can see the adjustment effect's results. If it is not, right-click and move it down.
+    \item Add the Videoscope effect on the track. Make sure that it is placed below in the stack of effects, so it can see the adjustment effect's results. If it is not, right-click and move it down. Or do not use the plugin but activate the Videoscope button in the Compositor window.
     \item Show both the effect and Videoscope.
     \item Adjust the contrast while observing the waveform to match the desired light level.
-    \item Precise adjustments can be made by measuring the values on the waveform with the crosshair (by click with LMB, and reading numeric values on top left of the window) and reporting these numbers in the effects window (\textit{Histogram Bézier}, for example).
+    \item Precise adjustments can be made by measuring the values on the waveform with the crosshair (by clicking LMB, and reading numeric values on the pop-up box) and reporting these numbers in the effects window (\textit{Histogram Bézier}, for example).
 \end{enumerate}
 
-For instance, if you are looking for maximum contrast range, adjust the \textit{Brightness/Contrast} levels to align the darkest point on the scope with the $0\%$ level and the brightest portion with $100\%$. Anything above $100\%$ is over saturated. Limits which may be highlighted with checkbox controls.
+For example, if you are looking for maximum contrast range, adjust the \textit{Brightness/Contrast} levels to align the darkest point on the scope with the $0\%$ level and the brightest portion with $100\%$. Anything above $100\%$ is over saturated. Limits may be highlighted with checkbox controls.
 
 \subsubsection*{HDTV or sRGB (ITU-R BT.709)}%
 \label{ssub:hdtv_srgb_bt709}
@@ -2888,14 +3029,33 @@ If you are producing a video for NTSC television broadcast, keep the intensity b
 \subsubsection*{Vectorscope}%
 \label{ssub:Vectorscope}
 
-The Vectorscope displays \textit{hue} (angle on the color wheel) and \textit{saturation} (radius). Each pixel in the source image is drawn as a point on the color wheel. The distance from the center is the color saturation. Gray values are close to the center, and high saturation values are near the perimeter ($100\%$). In the center there is pure white ($0\%$). By clicking with the mouse on the color wheel appear radius and circle whose values of hue and saturation are shown at the top left of the window, similar to the values of $X$ and luminance of the Waveform and RGB Parade (figure~\ref{fig:videoscope04}).
+The Vectorscope displays \textit{hue} (angle on the color wheel) and \textit{saturation} (radius). Each pixel in the source image is drawn as a point on the color wheel. The distance from the center is the color saturation. Gray values are close to the center, and high saturation values are near the perimeter ($100\%$). In the center there is pure white ($0\%$). By clicking with the mouse on the color wheel a radius and circle will appear whose values of hue and saturation are shown in the  pop-up box at the bottom right of the window, similar to the values of $X$ and luminance of the Waveform and RGB Parade (figure~\ref{fig:videoscope05}).
 
-Vectorscope is used as monitor with other plugins to correct color, adjust image tint, and apply other effects for cinematic effects, image correction, or to conform images to look the same. For example, skin tones are found along an axis (\textit{+ I-line}) between yellow and red, and between $0$ and $50\%$ saturation values. The blue of the sky is more or less along the opposite axis to that of the skin (\textit{- I-line}), with a much wider saturation range.
+\begin{figure}[hbtp]
+       \centering
+       \includegraphics[width=0.8\linewidth]{videoscope05.png}
+       \caption{Vectorscope (with H/S pop-up box) and VectorWheel (with 3 default grids)}
+       \label{fig:videoscope05}
+\end{figure}
+
+Note that when you choose \textit{VectorWheel} from \textit{Scopes} pulldown, you can choose between different grids in the \textit{Settings} pulldown. In addition, any number of user-supplied grid patterns can be added in the form of a square image of type png.  The user can design and maintain individual grid overlays for various purposes.  The user would keep their overlays in a safe spot on their disk and make a copy of them in the \texttt{\{cinelerra\_pathname\}/bin/plugins/scopes} every time a new version of \CGG{} is installed.
+
+Generally the Vectorscope has the following uses:
+
+\begin{enumerate}
+       \item Compare saturation levels (radius) between Edits.
+       \item Compare the hues (angle) between Edits.
+       \item Compare skin tones, sky and vegetation.
+       \item Display the color balance or color cast.
+       \item Check the legal limits of the video signal.
+\end{enumerate}
+
+ For example, skin tones are found along an axis (\textit{+ I-line}) between yellow and red, and between $0$ and $50\%$ saturation values. The blue of the sky is more or less along the opposite axis to that of the skin (\textit{- I-line}), with a much wider saturation range.
 
 \begin{figure}[hbtp]
     \centering
     \includegraphics[width=0.9\linewidth]{videoscope04.png}
-    \caption{Balancing a yellow dominace tint}
+    \caption{Balancing a yellow color cast}
     \label{fig:videoscope04}
 \end{figure}
 
@@ -2937,7 +3097,7 @@ A corrected video image is shown in the bottom. Now the red and blue colors are
 
 \begin{figure}[hbtp]
     \centering
-    \includegraphics[width=0.7\linewidth]{yuvshift.png}
+    \includegraphics[width=0.8\linewidth]{yuvshift.png}
     \caption{Before and after YUVShift adjusting}
     \label{fig:yuvshift}
 \end{figure}
@@ -2973,6 +3133,14 @@ Only for Nvidia GPU and Cuda SDK
 \label{sub:mandelbrot}
 
 Produce fractal figures (figure~\ref{fig:mandelbrot}). Use case:
+
+\begin{figure}[hbtp]
+       \centering
+       \includegraphics[width=0.8\linewidth]{mandelbrot.png}
+       \caption{Mandelbrot Cuda plugin}
+       \label{fig:mandelbrot}
+\end{figure}
+
 \begin{enumerate}
        \item add the Mandelbrot Cuda video effect to the timeline
        \item you must enable Drag in the plugin popup menu
@@ -2981,13 +3149,6 @@ Produce fractal figures (figure~\ref{fig:mandelbrot}). Use case:
        \item so now when you play the video from the beginning because you have keyframes, the fractal will be animated between keyframes.
 \end{enumerate}
 
-\begin{figure}[hbtp]
-       \centering
-       \includegraphics[width=0.9\linewidth]{mandelbrot.png}
-       \caption{Mandelbrot Cuda plugin}
-       \label{fig:mandelbrot}
-\end{figure}
-
 \subsection{N\_Body}%
 \label{sub:n_body}
 
@@ -3004,58 +3165,39 @@ Produce animated particles (figure~\ref{fig:n_body}).
 \label{sec:opencv_plugins}
 \settocdepth{section}
 
-The \textit{Find Object} plugin searches a Scene for an Object, and the Object can be overlayed with a Replacement object. It requires the thirdparty \textit{OpenCV} (Open Computer Vision) library and you will have to do your own build. Also, be aware that the two useful algorithms of \textit{Sift} and \textit{Surf} have been removed from versions of OpenCV after version $4$.
+There are currently 6 OpenCV plugins hooked into Cinelerra static and dynamic tars with the most
+widely known being FindObj.  The \textit{Find Object} plugin searches a Scene for an Object and
+then the Object can be overlaid with a Replacement object. The other 5 are FlowObj, GaborObj,
+MoveObj, PuzzleObj, and StylizeObj. These  plugins require the thirdparty \textit{OpenCV}
+(Open Computer Vision) library.  Of note for OpenCV is that the \textit{Surf} algorithm is non-free
+and has been removed from the user supplied versions of OpenCV being built.
 
-There are some potential pitfalls with using this to include:
+There are some potential pitfalls with using OpenCV to include:
 
 \begin{enumerate}
-    \item openCV code is constantly changing, making it difficult to keep the plugin up to date
-    \item there is some confusion about licensing/patents for specific algorithms
+    \item openCV code is constantly changing, making it difficult to keep the plugins up to date
+    \item there is some confusion about licensing/patents for specific algorithms, notably Surf
     \item some parts don’t work all that well and it can be slow
-    \item internally the colormodel is converted to greyscale, which means the color information is not used
+    \item internally the colormodel is converted to greyscale, which means the color information
+is not used
+    \item cmake is minimally required to be at version 3.5.1 for OpenCV version 4.2; therefore
+for some older verions of distros with a lower cmake version, OpenCV is only at 3.4.1; and in
+really old versions such as Ubuntu14 32/64 bit, it is not in the build at all
 \end{enumerate}
 
-Because of the build size of opencv, it is not normally included in the thirdparty directory. Building opencv adds a lot of storage demand ($4\,GB$) to the \CGG{} build tree, and the opencv compile time is significant. For these reasons, \textit{findobject} is not normally built. You can however invoke a build which adds findobject to the \CGG{} plugin library. Building findobject will configure and build opencv into the thirdparty library build area if needed (it does not rebuild if already done). System builds are possible, but the system compatibility of the newer opencv interfaces can vary between distros. The opencv interface is rapidly changing; we recommend the static library build and link to avoid problems.
-
-\subsection{How to Build OpenCV Plugins}%
-\label{sub:how_build_opencv_plugins}
-
-To build findobject and the other plugins using opencv, access the src using git:
+Because of the build size of OpenCV, the source is not included in the thirdparty directory.
+Building OpenCV adds a lot of storage demand ($4\,GB$) to the \CGG{} build tree, and its compile
+time is significant. For these reasons, \textit{findobject} and the other 5 plugins are not
+included in System build packages.  We recommend using the static library build which has the OpenCV
+plugins included for consistency and to avoid problems.
 
-\begin{lstlisting}[style=sh]
-git clone -depth 1 "git://git.cinelerra-gg.org/goodguy/cinelerra.git" cinelerra5
-\end{lstlisting}
-
-then configure the build, but add the \texttt{-{}-with-opencv} configure parameter.
-
-\begin{lstlisting}[style=sh]
-cd <path>/cinelerra-5.1
-./autogen.sh
-./configure <add std params, eg: --with-single-user> --with-findobect=sta
---with-opencv may be set to [<bld>][,<src>]
-bld=typ sta,dyn,sys:    sta=static, dyn=shared, sys=system libraries
-src=typ git,tar,git=url,tar=url: git (default git_url), tar (default: tar_url)
-
-# For example, like:
---with-opencv=sta
---with-opencv=dyn
---with-opencv=sta,tar=https://cinelerra-gg.org/download/opencv/opencv-20180401.tgz
-\end{lstlisting}
-
-Once thirdparty/opencv is built, it will be reused. Use target \texttt{mrclean} to remove \texttt{thirdparty/opencv*}.
-Network access is required to obtain the OpenCV source, at least once. You will need a minimum of
-$4\, GB$ in the thirdparty build directory and more time to compile.
-
-To get opencv built in the easiest way possible (need internet access because builds directly from the opencv github but this changes wildly):
+\subsection{Adding OpenCV Plugins to the System Package Builds}%
+\label{sub:adding_opencv_to_system_builds}
 
-\begin{lstlisting}[style=sh]
-./configure <params> --with-opencv=sta,git
-\end{lstlisting}
-
-\subsection{Using OpenCV Plugins from the Automatic Builds}%
-\label{sub:using_opencv_automatic_builds}
-
-The OpenCV plugins are built only in the 64-bit tarball builds, both static and dynamic. However, due to size these plugins are not included with pkgs. But it is relatively easy to add the current 6 plugins for your distro via a simple procedure of copying the plugins from the tarball to the cin5 install plugin path. They are:
+The OpenCV plugins are built only in the 64-bit tarball builds, both static and dynamic, but due
+to size these plugins are not included with pkgs, i.e. the System builds. However it is relatively
+easy to add the current plugins for your distro via a simple procedure of copying the plugins
+from the static tarball to the cin5 install plugin path. They are:
 
 \begin{lstlisting}[style=sh]
 cin/plugins/opencv/findobj.plugin
@@ -3067,8 +3209,8 @@ cin/plugins/opencv/stylizeobj.plugin
 \end{lstlisting}
 
 \begin{enumerate}
-    \item do your package install of the current build for your distro as usual;
-    \item look in {\small \url{https://cinelerra-gg.org/download/tars}} to see your distro name's static tar;
+    \item do your package install of the current build for your distro as usual
+    \item look in {\small \url{https://cinelerra-gg.org/download/tars}} to see your distro name's static tar
     \item download the corresponding distro static tarball;
     for example for arch:
 \end{enumerate}
@@ -3076,25 +3218,133 @@ cin/plugins/opencv/stylizeobj.plugin
     {\small \url{https://cinelerra-gg.org/download/tars/cinelerra-5.1-arch-{date}-x86_64-static.txz}}
 
 \begin{enumerate}[resume]
-    \item create a temporary directory on your computer;
-    \item \texttt{cd} that-directory;
-    \item \texttt{tar -xf} location-of-the-tarball-you-downloaded;
-    \item \texttt{cp plugins/*obj.plugin <see below for your location>/.} (note the period on the end!)
-    \item Start \CGG{} and look for the six plugins in Video Effects;
-    \item To reverse this, simply delete the six plugin files (eg.
+    \item create a temporary directory on your computer
+    \item \texttt{cd} that-directory
+    \item \texttt{tar -xf} location-of-the-tarball-you-downloaded
+    \item \texttt{cp plugins/opencv/*obj.plugin <see below for your location>/.} (note the period on the end)
+    \item Start \CGG{} and look for the six plugins in Video Effects
+    \item To reverse this, simply delete the six plugin files (for example:
 
     \texttt{rm /usr/lib*/cin*/*obj.plugin}).
 \end{enumerate}
 
-location for most User installs, this is:
+The location for most User installs is:
+
+\hspace{4em}\texttt{<cinlib\_path>/plugins/}
+
+Location for some System installs is:
+
+\hspace{4em}\texttt{/usr/lib/cin/plugins/} (most ubuntu distros)
+
+\hspace{4em}\texttt{/usr/lib64/cin/plugins/} (Leap distro)
+
+\subsection{How to Build OpenCV Plugins}%
+\label{sub:how_build_opencv_plugins}
+
+For users who do their own build or for administrators who want to create a System build that
+includes OpenCV, here are some notes to facilitate doing so.  Building findobject will configure
+and build OpenCV into the thirdparty library build area if needed (it does not rebuild if done
+previously).  Network access is required to obtain the OpenCV source, at least once. You will
+need a minimum of $4\, GB$ in the thirdparty build directory and more time to compile.
+
+\subsubsection*{Build using stable tarballs}%
+\label{ssub:stable_tars}
+
+Instead of using the latest git version, there is a custom archive source tarball on the
+website already created to build and test OpenCV versions.  The reason for this is that OpenCV
+is quite volatile, and may or may not work on any given day so this is an already tested version
+that is considered to be more stable.  A build using the tarball requires that your
+system have \textit{wget} already installed to initially download the prepared source tar. 
+There are currently 2 tarballs of stable versions on the website used for user builds.
+The 20180401 version:\newline
+{\small \url{ https://cinelerra-gg.org/download/opencv/opencv-20180401.tgz}}\newline
+works with older version of cmake, and 20200308 is the current 4.2 release:\newline
+{\small \url{https://cinelerra-gg.org/download/opencv/opencv-20200306.tgz}}
+
+To build using the tarballs on the website, use this bld.sh procedure (you may want to run "make
+clean" first):
+\begin{lstlisting}[style=sh]
+#!/bin/bash
+( ./autogen.sh
+  ./configure --with-single-user --with-booby \
+    --with-opencv=sta,tar=http://cinelerra-gg.org/download/opencv/opencv-20200306.tgz
+  make && make install ) 2>&1 | tee log
+mv Makefile Makefile.cfg
+cp Makefile.devel Makefile
+\end{lstlisting}
+
+\subsubsection*{Build using current git version}%
+\label{ssub:current_git}
+
+To build findobject and the other plugins using OpenCV, access the src using git:
+
+\begin{lstlisting}[style=sh]
+git clone -depth 1 "git://git.cinelerra-gg.org/goodguy/cinelerra.git" cinelerra5
+\end{lstlisting}
+To use the latest version, the method for creating a tarball is:
+\begin{enumerate}
+     \item download both opencv and opencv\_contrib source tarballs from the web:
+       {\small \url{https://sourceforge.net/projects/opencvlibrary/files/4.2.0/}}
+       {\small \url{https://github.com/opencv/opencv\_contrib/archive/4.2.0.tar.gz}}
+     \item create a temporary directory opencv\_src and unpack the tarballs into the src directory
+     \item rename these sources to opencv and opencv\_contrib
+     \item run a test build, using opencv\_build for config:
+\end{enumerate}
+
+\begin{lstlisting}[style=sh]
+cd opencv\_src
+mkdir build
+cd build && cmake \
+  -DCMAKE\_BUILD\_TYPE=RELEASE \
+  -DWITH\_IPP=OFF \
+  -DWITH\_LAPACK=OFF \
+  -DWITH\_GPHOTO2=OFF \
+  -DBUILD\_SHARED\_LIBS=ON \ 
+  -DINSTALL\_C\_EXAMPLES=ON \
+  -DINSTALL\_PYTHON\_EXAMPLES=ON \
+  -DBUILD\_EXAMPLES=ON .. \
+  -DBUILD\_opencv\_python3=no \
+  -DCMAKE\_INSTALL\_PREFIX=/usr/local \
+  -DOPENCV\_EXTRA\_MODULES\_PATH="\$(opencv)\_contrib/modules/"
+\end{lstlisting}
+
+Next configure the build, but add the \texttt{-{}-with-opencv} configure parameter. An example
+of usage of shown next.
+
+\begin{lstlisting}[style=sh]
+cd <path>/cinelerra-5.1
+./autogen.sh
+./configure <add std params, eg: --with-single-user> --with-findobect=sta
+--with-opencv may be set to [<bld>][,<src>]
+bld=typ sta,dyn,sys:    sta=static, dyn=shared, sys=system libraries
+src=typ git,tar,git=url,tar=url: git (default git\_url), tar (default: tar\_url)
+
+# Use one of the following:
+--with-opencv=sta
+--with-opencv=dyn
+--with-opencv=sta,tar=https://cinelerra-gg.org/download/opencv/opencv-20180401.tgz
 
-\texttt{<cinlib\_path>/plugins/}
+# For example: ./configure <params> --with-opencv=sta,git
+\end{lstlisting}
 
-Location for some System installs, this is:
+Once thirdparty/opencv is built, it will be reused.  To remove \texttt{thirdparty/opencv*}, use
+\texttt{mrclean}.
 
-\texttt{/usr/lib/cin/plugins/} (most ubuntu distros)
+Ordinarily OpenCV requires the network to download pieces. But to avoid downloading the same
+source multiple times as you do test builds, you can instead use the following procedure.
 
-\texttt{/usr/lib64/cin/plugins/} (Leap distro)
+\begin{enumerate}
+     \item Create a new opencv\_src directory with the needed source (src) files, plus
+the missing pieces in ./opencv/.cache/;  This source base does not require the network, and
+so is usable for batch builds.  
+     \item Store the tarballs in a safe location, and reference them from an httpd server
+running locally on the build system.  for example:\newline
+/var/www/html/cinelerra.patch\newline
+/var/www/html/opencv-20180401.tgz -> /mnt0/opencv-20180401.tgz\newline
+/var/www/html/opencv-20200306.tgz -> /mnt0/opencv-20200306.tgz\newline
+     \item systemctl start httpd
+\end{enumerate}
 
 \subsection{Description of Find Object Plugin}%
 \label{sub:description_findobj_plugin}
@@ -3115,6 +3365,8 @@ As in the standard OpenCV FindObj program, there are $5$ \textit{detector} metho
 \begin{description}
     \item[SIFT] Scale-Invariant Feature Transform
     \item[SURF] Speeded-Up Robust Features
+ Be aware that \textit{Surf} is non-free and has been removed from versions of OpenCV being built.
+ If you have used it in a past project, it could result in a SEGV crash.
     \item[ORB] Oriented fast and Rotated Brief
     \item[AKAZE] Accelerated Keypoint detector And descriptor Extractor
     \item[BRISK] Binary Robust Invariant Scalable Keypoin
@@ -3174,6 +3426,13 @@ Once the replacement corners are calculated, the replacement object is overlayed
 
 The following steps were used to set up the example in figure~\ref{fig:findobj}.
 
+\begin{figure}[htpb]
+    \centering
+    \includegraphics[width=0.9\linewidth]{findobj.png}
+    \caption{Timeline; control window and compositor for FindObj}
+    \label{fig:findobj}
+\end{figure}
+
 \begin{enumerate}
     \item For best results, set \textit{Play every frame} in \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Play\-back A}.
     \item Load 3 tracks of png/jpg files – this is one of the more useful working cases:
@@ -3200,13 +3459,6 @@ The following steps were used to set up the example in figure~\ref{fig:findobj}.
     \item Check \textit{Replace object} to see the replacement overlay. At this time you may still want to change the checkboxes of \textit{Aspect}, \textit{Rotate}, \textit{Scale}, and \textit{Translate} and adjust \textit{DX/DY} in the Replace column.
 \end{enumerate}
 
-\begin{figure}[htpb]
-    \centering
-    \includegraphics[width=0.9\linewidth]{findobj.png}
-    \caption{Timeline; control window and compositor for FindObj}
-    \label{fig:findobj}
-\end{figure}
-
 \subsection{MoveObj, FlowObj, GaborObj, StylizeObj, PuzzleObj}%
 \label{sub:move_flow_gabor_stylize_puzzle}
 
@@ -3333,6 +3585,7 @@ The following is a list of the integrated audio plug-ins.
   the data.
 \item [F\_astats]~\\Shows time domain statistics about audio
   frames.
+\item [F\_asubboost]~\\Boost subwoofer frequencies.
 \item [F\_atempo]~\\Adjusts audio tempo.
 \item [F\_atrim]~\\Pick one continuous section from the input,
   drop the rest.
@@ -3417,6 +3670,7 @@ The following is a list of the integrated audio plug-ins.
 
 The following is a list of the integrated video plug-ins.
 \begin{description}
+\item [F\_addroi]~\\Mark a region of interest in a video frame.
 \item [F\_amplify]~\\Amplify changes between successive video
   frames.
 \item [F\_atadenoise]~\\Apply an Adaptive Temporal Averaging
@@ -3424,6 +3678,7 @@ The following is a list of the integrated video plug-ins.
 \item [F\_avgblur]~\\Apply average blur filter.
 \item [F\_bbox]~\\Compute bounding box for each frame.
 \item [F\_bench]~\\Benchmarks part of a filtergraph.
+\item [F\_bilateral]~\\Apply bilateral filter, spatial smoothing while preserving edges.
 \item [F\_bitplaneoise]~\\Measure bit plane noise.
 \item [F\_blackdetect]~\\Detect video intervals that are
   (almost) black.
@@ -3432,6 +3687,7 @@ The following is a list of the integrated video plug-ins.
   settings you are able to change the power and the radius of the
   boxblur applied to luma, chroma and alpha.
 \item [F\_bwdif]~\\Deinterlaces the input image.
+\item [F\_cas]~\\Apply Contrast Adaptive Sharpen filter to video.
 \item [F\_chromakey]~\\Turns a certain color into
   transparency. Operates on YUV colors.
 \item [F\_ciescope]~\\Video CIE scope.
@@ -3450,6 +3706,7 @@ The following is a list of the integrated video plug-ins.
 \item [F\_cropdetect]~\\Auto-detect crop size.
 \item [F\_curves]~\\Adjust components curves.
 \item [F\_datascope]~\\Video data analysis.
+\item [F\_dblur]~\\Apply Directional blur filter.
 \item [F\_dctdnoiz]~\\Denoise frames using $2D DCT$.
 \item [F\_deband]~\\Debands video.
 \item [F\_deblock]~\\Deblocks video.
@@ -3483,7 +3740,13 @@ The following is a list of the integrated video plug-ins.
   on top of an image which is commonly used in filmmaking. The concept
   is that you align the key elements in the image using this grid at
   the intersection of the lines or along and within the
-  vertical/horizontal lines.
+  vertical/horizontal lines.  In general the bottom and right sides of
+  the video will not be bordered by the grid.  So for example, if you
+  only add the effect to the video, there will be a frame around the
+  video with the size of the \textit{thickness}
+  but the frame is only visible on the top and left and not on the bottom
+  or left side.  You can get a line to show by using a larger thickness
+  and specifying a negative value for x and y of -2, -3, or more. 
 \item [F\_edgedetect]~\\Detects and draws edge.
 \item [F\_elbg]~\\Apply posterize effect, using the ELBG
   algorithm.
@@ -3508,6 +3771,7 @@ The following is a list of the integrated video plug-ins.
 \item [F\_fspp]~\\Applies Fast Simple Post-processing filter.
 \item [F\_gblur]~\\Apply Gaussian Blur filter.
 \item [F\_gradfun]~\\Debands video quickly using gradients.
+\item [F\_gradients]~\\Draws a transparent gradient.
 \item [F\_graphmonitor]~\\Show various filtergraph stats.
 \item [F\_greyedge]~\\Estimates scene illumination by grey
   edge assumption.
@@ -3549,6 +3813,7 @@ The following is a list of the integrated video plug-ins.
 \item [F\_mandelbrot]~\\Render a Mandelbrot fractal.
 \item [F\_mcdeint]~\\Applies motion compensating
   deinterlacing.
+\item [F\_median]~\\Pick median pixel from rectangle defined by radius.
 \item [F\_mestimate]~\\Generate motion vectors.
 \item [F\_mpdecimate]~\\Remove near-duplicate frames.
 \item [F\_mptestsrc]~\\Generate various test pattern.
@@ -3569,6 +3834,7 @@ The following is a list of the integrated video plug-ins.
 \item [F\_perms]~\\Set permissions for the output video frame.
 \item [F\_perspective]~\\Corrects the perspective of video.
 \item [F\_phase]~\\Phases shift fields.
+\item [F\_photosensitivity]~\\Filter out photosensitive epilepsy seizure-inducing flashes.
 \item [F\_pixscope]~\\Pixel data analysis for checking color
   and levels. It will display sample values of color channels.
 \item [F\_pp]~\\Filters video using libpostproc.
@@ -3592,6 +3858,8 @@ The following is a list of the integrated video plug-ins.
 \item [F\_sab]~\\Applies shape adaptive blur.
 \item [F\_scale]~\\Scale the input video size and/or convert
   the image format.
+\item [F\_scdet]~\\Detect video scene change.
+\item [F\_scroll]~\\Scroll input video horizontally and/or vertically by constant speed.
 \item [F\_separatefields]~\\Split input video frames into
   fields.
 \item [F\_setparams]~\\Force field, or color property for the
@@ -3601,6 +3869,7 @@ The following is a list of the integrated video plug-ins.
 \item [F\_showpalette]~\\Display frame palette.
 \item [F\_shuffleframes]~\\Shuffles video frames.
 \item [F\_shuffleplanes]~\\Shuffles video planes.
+\item [F\_sierpinski]~\\Generate a Sierpinski carpet/triangle fractal, and randomly pan around.
 \item [F\_signalstats]~\\Separates statistics from video
   analysis.
 \item [F\_smartblur]~\\Blurs the input video without impacting
@@ -3618,15 +3887,19 @@ The following is a list of the integrated video plug-ins.
 \item [F\_tblend]~\\Blend successive frames.
 \item [F\_testsrc]~\\Generate test pattern.
 \item [F\_testsrc2]~\\Generate another test pattern.
+\item [F\_thistogram]~\\Compute and draw a color distribution histogram for the input video across time.
 \item [F\_tile]~\\Tile several successive frames together.
 \item [F\_tinterlace]~\\Performs temporal field interlacing.
 \item [F\_tlut2]~\\Compute and apply a lookup table from 2
   successive frames.
+\item [F\_tmedian]~\\Pick median pixels from successive frames.
 \item [F\_tmix]~\\Mix successive video frames.
 \item [F\_transpose]~\\Transposes input video.
 \item [F\_unsharp]~\\Sharpen or blur the input videlo.
+\item [F\_untile]~\\Untile a frame into a sequence of frames.
 \item [F\_uspp]~\\Applies Ultra Simple/Slow Post-processing
   filter.
+\item [F\_v360]~\\Convert 360 videos between various formats.
 \item [F\_vaguedenoiser]~\\Applies a Wavelet based Denoiser.
 \item [F\_vectorscope]~\\Video vectorscope.
 \item [F\_vflip]~\\Flips the input video vertically.
@@ -3642,6 +3915,7 @@ The following is a list of the integrated video plug-ins.
 \item [F\_weave]~\\Weaves input video fields into frames.
 \item [F\_xbr]~\\Scales the input using $xBR$ algorithm.
 \item [F\_yadif]~\\Deinterlaces the input image.
+\item [F\_yaepblur]~\\Yet another edge preserving blur filter.
 \item [F\_yuvtestsrc]~\\Generate YUV test pattern.
 \item [F\_zoompan]~\\Applies Zoom \& Pan effect.
 \end{description}