last add 11
[goodguy/cin-manual-latex.git] / parts / Plugins.tex
index aac1dd80284ab0a1343936bada79e808151f78ce..5e7afefd84feb206c345c959c4c3fda0680e4ffd 100644 (file)
@@ -1,8 +1,9 @@
 \chapter{Plugins}%
 \label{cha:plugins}
 
-There are realtime effects --- these are the most useful and probably all you will ever need --- and rendered effects. The rendered effects are discussed separately in the Rendered Effects \todo{internal link 1}% 
-section. Effect plugins modify the track when played, according to how they are set, with no permanent storage of the output except when the project is rendered. There are many Plugins in Cinelerra-GG Infinity which are actually quite easy to use just by experimenting with them. The plugins are shown and selected from the \textit{Resources window} (figure~\ref{fig:video-plugins}). They are described in more detail later.
+There are realtime effects --- these are the most useful and probably all you will ever need --- and rendered effects. 
+The rendered effects are discussed separately in the \nameref{sec:rendered_effects}  section. 
+Effect plugins modify the track when played, according to how they are set, with no permanent storage of the output except when the project is rendered. There are many Plugins in Cinelerra-GG Infinity which are actually quite easy to use just by experimenting with them. The plugins are shown and selected from the \textit{Resources window} (figure~\ref{fig:video-plugins}). They are described in more detail later.
 
 \begin{figure}[htpb]
     \centering
@@ -59,8 +60,7 @@ Besides the magnifying glass, for Show Controls, on the effect colored bar benea
     \includegraphics[width=0.7\linewidth]{images/button-options.png} 
 \end{wrapfigure}
 
-The rightmost knob is used to \texttt{Turn Off/Turn On} the effect where the default is On. This is useful to easily see that the plugin is doing what you expect. The leftmost symbol that looks like a gear is for \textit{Preset Edit} and its usage is described in the section Saved Plugin Presets.
-    \todo{internal link 2}%
+The rightmost knob is used to \texttt{Turn Off/Turn On} the effect where the default is On. This is useful to easily see that the plugin is doing what you expect. The leftmost symbol that looks like a gear is for \textit{Preset Edit} and its usage is described in the section \nameref{sec:saved_plugin_preset}.
 
 \section{Editing Effects}%
 \label{sec:editing_effects}
@@ -343,7 +343,8 @@ This converts the input to \textit{rgb} before xxxxxx runs, and so it too is slo
 \label{sub:audioscope}
 
 Convert input audio to video output representing the audio power spectrum. Shows
- \todo{It's OK to use Subsection every plugin?}%
+% Yes
+ %\todo{It's OK to use Subsection every plugin?}%
 you the sound wave.
 
 \subsection{Compressor}%
@@ -900,7 +901,7 @@ Use the effect along with keyframing to brighten a long shot that is dark at the
 
 Makes your video burn where there are small light colored patches of video. This came from \url{https://effectv.com}.
 
-\subsection{C41\protect\footnote{credit Florent Delannoy, original program code author, and Edouard Chalaron}}%
+\subsection[C41]{C41\protect\footnote{credit Florent Delannoy, original program code author, and Edouard Chalaron}}%
 \label{sub:c41}
 
 The C41 plugin takes a $16\,bit C41$ digital intermediate negative film as input and outputs a positive image. It became necessary because $C-41$ negatives can fade or color-shift over time which was a problem early on. It is still important today because there is a large amount of documentaries, video clips, and other media out there that was shot on super $16$ film. This works for RGB-float, RGB, and also YUV variations.
@@ -980,7 +981,7 @@ If the lightness or hue is within a certain \texttt{threshold} it is erased. Inc
 
 Normally threshold is very low when using a high slope. The two parameters tend to be exclusive because slope fills in extra threshold. The slope tries to soften the edges of the chroma key but it does not work well for compressed sources. A popular softening technique is to use a maximum slope and chain a blur effect below the chroma key effect to blur just the alpha.
 
-\subsection{Chroma Key (HSV)\protect\footnote{Credit for Plugin by Jerome Cornet http://jcornet.free.fr/linux/chromakey.html}}%
+\subsection[Chroma Key (HSV)]{Chroma Key (HSV)\protect\footnote{Credit for Plugin by Jerome Cornet http://jcornet.free.fr/linux/chromakey.html}}%
 \label{sub:chroma_key_hsv}
 
 Chroma Key (HSV) (figure~\ref{fig:chroma-key-hsv}) replaces a color with another color or transparency using HSV variables; it is frequently used to remove a color from a video to composite with another image. This process is generally referred to as green screen or blue screen process (because of the color that is keyed out). More information: \url{http://en.wikipedia.org/wiki/Chromakey}
@@ -1150,7 +1151,7 @@ Figure~\ref{fig:descratch01} shows a list of the parameter descriptions:
 
 \begin{figure}[htpb]
     \centering
-    \includegraphics[width=0.8\linewidth]{images/descratch02.png}
+    \includegraphics[width=0.6\linewidth]{images/descratch02.png}
     \caption{Various parameters of DeScratch}
     \label{fig:descratch02}
 \end{figure}
@@ -1190,7 +1191,7 @@ Figure~\ref{fig:descratch} shows a before and after DeScratch scenario. With \te
 
 This is used to decrease the frame rate of a video. Changing the frame rate means eliminating a frame for any given number of frames ($1 in N$); but if frames that are important for visual continuity are deleted, temporal artifacts arise: flickering, slowdowns, accelerations, etc. The Decimate filter maintains a higher quality because it first eliminates duplicate frames or frames that are most similar, thus limiting the appearance of artifacts. It is often used after the \texttt{Invert Telecine} plugin to make the video more smooth.
 
-One use of the decimate effect can be applied to a DVD to convert the $29.97\,fps$ video to the $23.97\,fps$ film rate, but the effect can take any input rate and convert it to any lower output rate. The output rate of decimate is the project frame rate. The input rate is set in the decimate user interface. To convert $29.97\,fps$ progressive video to $23.97\,fps$ film, apply a decimate effect to the track. Set the decimate input rate to $29.97$ and the project rate to $23.97$.
+One use of the decimate effect can be applied to a DVD to convert the 29.97\,\emph{fps} video to the 23.97\,\emph{fps} film rate, but the effect can take any input rate and convert it to any lower output rate. The output rate of decimate is the project frame rate. The input rate is set in the decimate user interface. To convert 29.97\,\emph{fps} progressive video to 23.97\,\emph{fps} film, apply a decimate effect to the track. Set the decimate input rate to 29.97 and the project rate to 23.97.
 
 Keep in mind that every effect layered before decimate, processes video at the decimate input rate and every effect layered after decimate, processes video at the project frame rate. Computationally intensive effects should come below decimate.
 
@@ -1239,7 +1240,7 @@ Pixels which are different between the background and action track are treated a
 \begin{figure}[htpb]
     \centering
     \includegraphics[width=0.8\linewidth]{images/diff-key.png}
-    \caption{Control window of the DeNoise plugin}
+    \caption{Difference key and its problematic output}
     \label{fig:diff-key}
 \end{figure}
 
@@ -1467,14 +1468,34 @@ Curves are used by introducing \textit{control points} simply with the left mous
 
 Curves are generally adjusted by introducing several control points, some to be kept fixed (as anchors) to prevent curve modification beyond them, and others to be dragged to make the desired correction. The power of the curves lies in being able to circumscribe a small interval at will and intervene only on this without involving the remaining parts of the frame. The precision with which you can work is such that you can almost arrive at a secondary color correction.
 
+\begin{figure}[htpb]
+    \centering
+    \includegraphics[width=0.75\linewidth]{images/ex-bezier.png}
+    \caption{Gain Up/Down; clamp; S-Shaped curve and Luma Key}
+    \label{fig:ex-bezier}
+\end{figure}
+
+
 The most used type of modification is to create a \textit{S curve}. There can be a lot of shapes that use the S curve; the simplest is to create a control point in the shadows, one in the midtones (anchors) and one in the highlights. Moving the highlight point upwards and the shadow point downwards increases the contrast, making the image sharper and improving the color rendering. With the type of \textit{linear} curve you can make hard adjustments, similar to the result of the use of \texttt{Color 3 Way}, even if this acts on the color wheel (Hue) while the curves act on individual RGB channels.
 
 The \textit{Polynomial} and \textit{Bézier} types introduce \textit{control handles} that allow for more sophisticated and smoother adjustments. The quality of the result is much better, but they require more experience for their optimal use. Extending the handles away from the control point increases the \textit{radius} of the curve at that point. By varying the angle of the handles we change the \textit{tangent} and thus the curvature of the curve below. The difference between Polynomial and Bézier lies in the underlying mathematics, but for practical purposes the use is similar.
 
+Some examples of the use of curves to demonstrate the variety of possible interventions (figure~\ref{fig:ex-bezier}):
+
+\begin{itemize}
+    \item Scale the image values by increasing the white point or decreasing the white point (gain up and gain down). 
+        You can decide the scaling value with the formula: $(Input \div Output) = Scale Factor$
+    \item Limit a value beyond a certain point of brightness (clamp to the value $0.587$ in the figure).
+    \item S-shaped curve to increase contrast without changing the black and white point (i.e. without \textit{clipping}).
+    \item Make a real \textit{Luma Key} by bringing a certain value of gray to $100\%$ (white) and lowering everything else to $0\%$ (black). The slope of the two sides indicates how much we want to fade the edges of the matte obtained.
+\end{itemize}
+
 \subsection{HolographicTV}%
 \label{sub:holographictv}
 
-Incoming objects are projected like holovision seen in the movie Stars Wars as in R2-D2's video message projector of the Princess Leia. You need a movie or background image and above it a track containing the figure on which to apply the effect. This must have a transparent background. There are no configuration parameters; it only has to be applied to the upper track (figure~\ref{fig:holographictv}). This effect originated from \url{https://effectv.com}.
+Incoming objects are projected like holovision seen in the movie Stars Wars as in R2-D2's video message projector of the Princess Leia. You need a movie or background image and above it a track containing the figure on which to apply the effect. This must have a transparent background. There are no configuration parameters; it only has to be applied to the upper track (figure~\ref{fig:holographictv}). 
+
+This effect originated from \url{https://effectv.com}.
 
 \begin{figure}[htpb]
     \centering
@@ -1509,9 +1530,15 @@ The practical use of \texttt{Interpolate Video} is a little different than the t
 \subsection{Inverse Telecine}%
 \label{sub:inverse_telecine}
 
-This is the most effective deinterlacing tool when the footage is a video transfer of a film. This can be used to solve the problem, i.e., undo the damage caused by making film into a TV broadcast. That process came about because film is at $24\,fps$ while TV is at $29.97\,fps$ and fields are at $60$. So the film was converted from 24 fps to $60\,fps$. Roughly speaking, converting every $4$ frames into $5$ frames plus a slight slow down in speed. Then the $60\,fps$ was down-sampled to $30\,fps$ by extracting odd and even lines and interlacing the lines. This process is referred to as \textit{three-two pull down} ($3:2$ pull down) in filmmaking and television production for the post production process of transferring film to video.
+This is the most effective deinterlacing tool when the footage is a video transfer of a film. This can be used to solve the problem, i.e., undo the damage caused by making film into a TV broadcast. 
+That process came about because film is at 24\,\emph{fps} while TV is at 29.97\,\emph{fps} and fields are at 60. 
+So the film was converted from 24\,\emph{fps} to 60\,\emph{fps}. 
+Roughly speaking, converting every 4 frames into 5 frames plus a slight slow down in speed. 
+Then the 60\,\emph{fps} was down-sampled to 30\,\emph{fps} by extracting odd and even lines and interlacing the lines. 
+This process is referred to as \textit{three-two pull down} ($3:2$ pull down) in filmmaking and television production for the post production process of transferring film to video.
 The three-two pull down is where the telecine adds a third video field (a half frame) to every second video frame, but the untrained eye cannot see the addition of this extra video field.
-The \texttt{IVTC} effect is primarily a way to convert \textit{interlaced} video to \textit{progressive} video. It reverses the effect of three patterns of interlacing. In the next lines \texttt{A}, \texttt{B}, and \texttt{C} represent fields.
+The \texttt{IVTC} effect is primarily a way to convert \textit{interlaced} video to \textit{progressive} video. 
+It reverses the effect of three patterns of interlacing. In the next lines \texttt{A}, \texttt{B}, and \texttt{C} represent fields.
 
 \texttt{A AB BC CD D}
  
@@ -1632,16 +1659,16 @@ The Samples box at the top is most often the only parameter that you may want to
 
 The \texttt{motion tracker} is almost a complete application in itself. The motion tracker tracks two types of motion: \textit{translation} and \textit{rotation}. It can track both simultaneously or one only. It can do $\frac{1}{4}$ pixel tracking or single pixel tracking. It can stabilize motion or cause one track to follow the motion of another track. Although the motion tracker is applied as a realtime effect, it usually must be rendered to see useful results. The effect takes a long time to precisely detect motion so it is very slow.
 
-Motion tracker works by using one region of the frame as the region to track. It compares this region between $2$ frames to calculate the motion. This region can be defined anywhere on the screen. Once the motion between $2$ frames has been calculated, a number of things can be done with that \textit{motion vector}. It can be scaled by a user value and clamped to a maximum range. It can be thrown away or accumulated with all the motion vectors leading up to the current position.
+Motion tracker works by using one region of the frame as the region to track (Match Box). It compares this region between $2$ frames to calculate the motion. This region can be defined anywhere on the screen. Once the motion between $2$ frames has been calculated, a number of things can be done with that \textit{motion vector}. It can be scaled by a user value and clamped to a maximum range. It can be thrown away or accumulated with all the motion vectors leading up to the current position.
 
-To save time the motion result can be saved for later reuse, recalled from a previous calculation, or discarded. The motion tracker has a notion of $2$ tracks, the \textit{master} layer and the \textit{target} layer. The master layer is where the comparison between $2$ frames takes place. The target layer is where motion is applied either to track or compensate for the motion in the master layer.
+To save time the motion result can be saved in a file for later reuse, recalled from a previous calculation, or discarded. The motion tracker has a notion of $2$ tracks, the \textit{master} layer and the \textit{target} layer. The master layer is where the comparison between $2$ frames takes place. The target layer is where motion is applied either to track or compensate for the motion in the master layer.
 
 Motion tracking parameters:
 
 \begin{description}
     \item[Track translation] Enables translation operations. The motion tracker tracks $X$ and $Y$ motion in the master layer and adjusts $X$ and $Y$ motion in the target layer.
     
-    \item[Translation block size] For the translation operations, a block is compared to a number of neighboring blocks to find the one with the least difference. The size of the block to search for is given by this parameter.
+    \item[Translation block size] For the translation operations, a block is compared to a number of neighboring blocks to find the one with the least difference. The size of the Match Box to search for is given by this parameter.
     \item[Translation search radius] The size of the area to scan for the translation block.
     \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.
@@ -1652,8 +1679,8 @@ Motion tracking parameters:
     \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.
     \item[Rotation search steps] Ideally every possible angle would be tested to get the rotation. To speed up the rotation search, the rotation search radius is divided into a finite number of angles and only those angles compared to the starting frame. Then the search radius is narrowed and an equal number of angles is compared in the smaller radius until the highest possible accuracy is achieved. Normally you need one search step for every degree scanned. Since the rotation scanner scans the rotation search radius in two directions, you need two steps for every degree in the search radius to search the complete range.
     \item[Draw vectors] When translation is enabled, $2$ boxes are drawn on the frame. One box represents the translation block. Another box outside the translation block represents the extent of the translation search radius. In the center of these boxes is an arrow showing the translation between the $2$ master frames. When rotation is enabled, a single box the size of the rotation block is drawn rotated by the amount of rotation detected.
-    \item[Track single frame] When this option is used the motion between a single starting frame and the frame currently under the insertion point is calculated. The starting frame is specified in the Frame number box. The motion calculated this way is taken as the absolute motion vector. The absolute motion vector for each frame replaces the absolute motion vector for the previous frame. Settling speed has no effect on it since it does not contain any previous motion vectors. Playback can start anywhere on the timeline since there is no dependence on previous results.
-    \item[Track previous frame] Causes only the motion between the previous frame and the current frame to be calculated. This is added to an absolute motion vector to get the new motion from the start of the sequence to the current position. After every frame processed this way, the block position is shifted to always cover the same region of the image. Playback must be started from the start of the motion effect in order to accumulate all the necessary motion vectors.
+    \item[Track single frame] When this option is used the motion between a single starting frame and the frame currently under the insertion point is calculated. The starting frame is specified in the Frame number box. The motion calculated this way is taken as the absolute motion vector. The absolute motion vector for each frame replaces the absolute motion vector for the previous frame. Settling speed has no effect on it since it does not contain any previous motion vectors. Playback can start anywhere on the timeline since there is no dependence on previous results. We talk about \textit{Keep shape} and it is the most precise way to calculate the motion vector; but it only works well when the object to be traced does not change along the clip, remaining identical in shape, size and without rotation.
+    \item[Track previous frame] Causes only the motion between the previous frame and the current frame to be calculated (\textit{Follow shape}). This is added to an absolute motion vector to get the new motion from the start of the sequence to the current position. After every frame processed this way, the block position is shifted to always cover the same region of the image. Playback must be started from the start of the motion effect in order to accumulate all the necessary motion vectors. This method is less precise because you have error propagation between frames. However, it is essential when the object changes shape or size or rotates.
     \item[Previous frame same block] This is useful for stabilizing jerky camcorder footage. In this mode the motion between the previous frame and the current frame is calculated. Instead of adjusting the block position to reflect the new location of the image, like Track Previous Frame does, the block position is unchanged between each frame. Thus a new region is compared for each frame.
     \item[Master layer] This determines the track which supplies the starting frame and ending frame for the motion calculation. If it is Bottom the bottom track of all the tracks sharing this effect is the master layer. The top track of all the tracks is the target layer.
     \item[Calculation] This determines whether to calculate the motion at all and whether to save it to disk. If it is \textit{Don't Calculate} the motion calculation is skipped. If it is \textit{Recalculate} the motion calculation is performed every time each frame is rendered. If it is \textit{Save} the motion calculation is always performed but a copy is also saved. If it is \textit{Load}, the motion calculation is loaded from a previous save calculation. If there is no previous save calculation on disk, a new motion calculation is performed.
@@ -1665,11 +1692,11 @@ Motion tracking parameters:
 
 Since it is a very slow effect, there is a method to applying the motion tracker to get the most out of it. First disable playback for the track to do motion tracking on. Then drop the effect on a region of video with some motion to track. Then rewind the insertion point to the start of the region. \texttt{Set Action$\rightarrow$ Do Nothing}; \texttt{Set Calculation$\rightarrow$ Don't calculate}; Enable \texttt{Draw vectors}. Then enable playback of the track to see the motion tracking areas.
 
-Enable which of translation motion or rotation motion vectors you want to track. By watching the compositor window and adjusting the \texttt{Block x,y} settings, center the block on the part of the image you want to track. Then set \texttt{search radius}, \texttt{block size}, and \texttt{block coordinates} for translation and rotation.
+Enable which of translation motion or rotation motion vectors you want to track. By watching the compositor window and adjusting the \texttt{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 \texttt{search radius}, \texttt{block size} and \texttt{block coordinates} for translation and rotation.
 
 Once this is configured, set the calculation to \texttt{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 \texttt{Draw vectors}, set the motion action to perform on the target layer and change the calculation to \texttt{Load coords}. Finally enable playback for the track.
 
-When using a single starting frame to calculate the motion of a sequence, 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.
+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.
 
 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$.
 
@@ -1680,15 +1707,37 @@ The method described above is \textit{two-pass motion tracking}. One pass is use
 
 The slower method is to calculate the motion vectors and apply them simultaneously. This method can use one track as the motion vector calculation track and another track as the target track for motion vector actions. This is useful for long sequences where some error is acceptable.
 
+\subsubsection*{Pre-processing the shot}
+\label{ssub:pre_processing_shot}
+
+\begin{enumerate}
+    \item The motion plugin uses \textit{luminance} to do its own calculations, so we can edit the clip to enhance contrast and make it easier to calculate motion vectors. You can even create a copy of the monochrome clip and optimize it for the plugin. It lengthens the time but minimizes errors. The saved file can then be used for the original clip.
+    \item  Correct lens distortion, especially if the object to be tracked moves to the edges of the frame.
+    \item Study the entire shot well: if necessary, divide it into many edits, each with its own Motion plugin. For example, if the object to be tracked leaves the frame or is covered by some other element or changes in shape, size or rotation. You can try to use the \textit{Offset Tracking} technique described below.
+\end{enumerate}
+
 \subsubsection*{Using blur to improve motion tracking}
 \label{ssub:blur_improve_motion_tracking}
 
-With extremely noisy or interlaced footage, applying a blur effect before the motion tracking can improve accuracy. Either save the motion vectors in a tracking pass and disable the blur for the action pass or apply the blur just to the master layer.
+With extremely noisy or interlaced footage, applying a blur effect before the motion tracking can improve accuracy. Either save the motion vectors in a tracking pass and disable the blur for the action pass or apply the blur just to the master layer. You can even use a copy of the track formed only by the channels of Red + Green, because the channel of Blue is the noisiest. Another trick is to enlarge the Match Box to minimize the effect of noise.
 
 \subsubsection*{Using histogram to improve motion tracking}
 \label{ssub:histogram_improve_motion_tracking}
 
-A histogram is almost always applied before motion tracking to clamp out noise in the darker pixels. Either save the motion vectors in a tracking pass and disable the histogram for the action pass or apply the histogram just to the master layer.
+A histogram is almost always applied before motion tracking to clamp out noise in the darker pixels. Either save the motion vectors in a tracking pass and disable the histogram for the action pass or apply the histogram just to the master layer. Finally, you can use the histogram to increase contrast.
+
+\subsubsection*{Possible sources of errors}
+\label{ssub:possible_sources_errors}
+
+\begin{description}
+    \item[Search radius too small:] the traced object moves too fast with respect to the size of the search box set.
+    \item[Search radius too large:] The search box is so large that it also collects other similar items in the frame.
+    \item[Occlusions:] the traced object is temporarily hidden by some other element. \textit{Offset tracking} or splitting of the video into several homogeneous clips is required.
+    \item[Focus change:] you may get errors if the object changes its focus. The video must be divided into several homogeneous clips.
+    \item[Motion Blur:] blurs the object making the calculation of the motion vector less precise. Very little can be done.
+    \item[Shape change:] you can use \textit{Track previous frame} or the subdivision of the video in more homogeneous clips.
+    \item[Lighting change:] Contrast change can produce errors. \textit{Track previous frame} or color correction can be used to return to the initial illumination.
+\end{description}
 
 \subsubsection*{Tracking stabilization in action}
 \label{ssub:tracking_stabilization_action}
@@ -1725,10 +1774,13 @@ C - has only object2 visible
     \item Set keyframe at C to add offsets that were calculated at B.
 \end{enumerate}
 
-\subsubsection*{Tip}
-\label{ssub:tip}
+\subsubsection*{Tips}
+\label{ssub:tips}
 
-The motion vector is a text file located in \texttt{/tmp}. We can open it with a plain editor and modify the wrong $X\,Y$ coordinates, i.e. those that deviate from the linearity, to correct the errors that always happen when we perform a motion tracking (jumps). It can be a long and tedious job, but it leads to good results.
+\begin{enumerate}
+    \item The motion vector is a text file located in \texttt{/tmp}. We can open it with a plain editor and modify the wrong $X\,Y$ coordinates, i.e. those that deviate from the linearity, to correct the errors that always happen when we perform a motion tracking (jumps). It can be a long and tedious job, but it leads to good results.
+    \item You can try tracking using reverse playback of the track. Sometimes it may lead to a better calculation.
+\end{enumerate}
 
 \subsection{Motion 2 Point}%
 \label{sub:motion_2_point}
@@ -1763,7 +1815,7 @@ This effect makes video tracks appears as a painting. It can be controlled by \t
 \label{sub:overlay}
 
 This effect can combine several tracks by using the so called Overlayer. This is a basic internal device normally used by Cinelerra GG Infinity to create the dissolve transitions and for compositing the final output of every track onto the output bitmap. The Overlayer has the ability to combine one or several image layers on top of a bottom layer. It can do this combining of images in several different (and switchable) output modes such as \textit{Normal}, \textit{Additive}, \textit{Subtractive}, \textit{Multiply} (Filter), \textit{Divide}, \textit{Max} and \textit{Replace}. For a detailed list refer to the chapter on Overlay Modes
-\todo{internal link 3}
+\todo{Link to Overlay Modes chapter}
 --- PorterDuff.
 
 The \texttt{overlay} plugin enables the use of this Overlayer device in the middle of any plugin stack, opening endless filtering and processing possibilities. It is only useful as a \textit{shared plugin} (i.e. a multitrack plugin). To use the overlay plugin:
@@ -1778,7 +1830,7 @@ The \texttt{overlay} plugin enables the use of this Overlayer device in the midd
 \subsection{Perspective}%
 \label{sub:perspective}
 
-The \texttt{perspective} plugin allows you to change the perspective of an object and is used to make objects appear as if they are fading into the distance. Basically, you can get a different view. A transformation is used which preserves points, lines, and planes as well as ratios of distances between points lying on a straight line.
+The \texttt{perspective} plugin (aka Corner Pinning) allows you to change the perspective of an object and is used to make objects appear as if they are fading into the distance. Basically, you can get a different view. A transformation is used which preserves points, lines, and planes as well as ratios of distances between points lying on a straight line.
 
 In (figure~\ref{fig:perspective}) you can see that there are four options for the endpoints used for the edges.
 
@@ -2207,8 +2259,8 @@ Inside the time average effect is an accumulation buffer and a divisor. A number
 \label{sub:timefront}
 
 Space-temporal warping enables time to flow differently at different locations in the video (figure~\ref{fig:timefront}).
-\begin{wrapfigure}[12]{O}{0.3\linewidth} 
-    \vspace{-4ex}
+\begin{wrapfigure}[13]{O}{0.3\linewidth} 
+    \vspace{-2ex}
     \includegraphics[width=0.8\linewidth]{images/timefront.png}
     \caption{Temporal bands for Timefront}
     \label{fig:timefront}
@@ -2684,7 +2736,7 @@ cin/plugins/opencv/stylizeobj.plugin
     for example for arch:
 \end{enumerate}    
     \url{https://cinelerra-gg.org/download/tars/cinelerra-5.1-arch-{date}-x86_64-static.txz}
-    \todo{How make a new line into the link?}
+    %\todo{How make a new line into the link?}
 \begin{enumerate}[resume]
     \item create a temporary directory on your computer;
     \item \texttt{cd} that-directory;
@@ -2870,7 +2922,7 @@ Figure~\ref{fig:stylize} show the images after adding the 6 various styles.
     \label{fig:stylize}
 \end{figure}
 
-\section{FFmpeg Audio and Video Plugins\protect\footnote{credit to WPfilmmaker for the Ffmpeg info description lines taken from his contributed pdf}}%
+\section[FFmpeg Audio and Video Plugins]{FFmpeg Audio and Video Plugins\protect\footnote{credit to WPfilmmaker for the Ffmpeg info description lines taken from his contributed pdf}}%
 \label{sec:ffmpeg_audio_video_plugins}
 
 Cinelerra GG Infinity currently comes with more than $140$ of the video plugins and $55$ of the audio plugins developed by the FFmpeg project \url{www.ffmpeg.org}. These plugins do not have a GUI with buttons like the rest of plugins, therefore to change settings it is necessary to change the variables by hand by highlighting the \textit{option}, typing a value in the \textit{Range} box, and then hitting the \textit{Apply} button. Many of these plugins provide tooltips at the bottom right corner of the window when the option is highlighted. A \textit{slider} bar and a \textit{dial} for numerical values can be used to easily vary the values which take effect immediately.
@@ -3120,7 +3172,7 @@ frequency which most ikely correspond to edges.\\
 \textbf{F\_yuvtestsrc:} Generate YUV test pattern.\\
 \textbf{F\_zoompan:} Applies Zoom \& Pan effect.
 
-\section{Rendered Effects\protect\footnote{This capability is going to be deleted in the future unless receive notification of need to keep}}%
+\section[Rendered Effects]{Rendered Effects\protect\footnote{This capability is going to be deleted in the future unless receive notification of need to keep}}%
 \label{sec:rendered_effects}
 
 Besides the Realtime effects, as has been described in the previous sections, another type of effect is performed on a section of the track and the result stored somewhere before it is played back. The result is usually pasted into the track to replace the original data. The rendered effects are not listed in the resources window but instead are accessed through the \texttt{Audio$\rightarrow$ Render effect and Video$\rightarrow$ Render effect} menu options. Each of these menu options brings up a dialog for the rendered effect. In the Select an effect dialog is a list of all the realtime and all the rendered effects. The difference here is that the realtime effects are rendered to disk and not applied under the track. Rendered effects apply to only one type of track, either audio or video. If no tracks of the type exist, an error pops up.