<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Joe's Filters</title>
	<atom:link href="http://www.joesfilters.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.joesfilters.com</link>
	<description>Utility and effects plugins for Final Cut Pro and Final Cut Express, created with FXScript and FXBuilder.</description>
	<pubDate>Tue, 02 Sep 2008 05:52:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Fix quoting problems</title>
		<link>http://www.joesfilters.com/fix-quoting-problems</link>
		<comments>http://www.joesfilters.com/fix-quoting-problems#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[To Do List]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/fix-quoting-problems</guid>
		<description><![CDATA[There are problems with the to do list heading link in the navigation file. It&#8217;s using single quotes to surround a string that contains single quotes. Need to escape that or use alternate quotes.
]]></description>
			<content:encoded><![CDATA[<p>There are problems with the to do list heading link in the navigation file. It&#8217;s using single quotes to surround a string that contains single quotes. Need to escape that or use alternate quotes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/fix-quoting-problems/feed</wfw:commentRss>
		</item>
		<item>
		<title>Add Chroma Blur to Y/C Corrector</title>
		<link>http://www.joesfilters.com/add-chroma-blur-to-yc-corrector</link>
		<comments>http://www.joesfilters.com/add-chroma-blur-to-yc-corrector#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[To Do List]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/add-chroma-blur-to-yc-corrector</guid>
		<description><![CDATA[There should be a chroma-blur control in here.
]]></description>
			<content:encoded><![CDATA[<p>There should be a chroma-blur control in here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/add-chroma-blur-to-yc-corrector/feed</wfw:commentRss>
		</item>
		<item>
		<title>Site Bugs &#038; To Do List</title>
		<link>http://www.joesfilters.com/site-bugs</link>
		<comments>http://www.joesfilters.com/site-bugs#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Site Stuff]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/site-bugs</guid>
		<description><![CDATA[Please leave notes here about any site-specific bugs.]]></description>
			<content:encoded><![CDATA[<p>Wordpress</p>

<ul>
<li>There is some wonkiness in the small next/previous links at the top of each page. </li>
</ul>

<p>Design</p>

<ul>
<li>Lists could use some work</li>
<li>The metatext in the grey bar at the bottom of the page should be vertically centered (only happens when there are no prev/next links).</li>
<li>Increase margin-top on bodytext h3&#8217;s</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/site-bugs/feed</wfw:commentRss>
		</item>
		<item>
		<title>Joe&#8217;s Time Bender</title>
		<link>http://www.joesfilters.com/joes_time_bender</link>
		<comments>http://www.joesfilters.com/joes_time_bender#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Joe's Time Filters]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/?p=52</guid>
		<description><![CDATA[The original time-mapping plugin for creating variable speed changes and flexible playback in Final Cut Pro.]]></description>
			<content:encoded><![CDATA[<p>This filter requires keyframes, without keyframes it produces a still image. </p>

<p>The interface is similar to After Effects time-mapping functions, the vertical keyframe axis represents the frame to display while the horizontal axis is the current moment in time. Normal speed playback is a straight diagonal line from 0 at the in point to 100 at the out point. </p>

<h2>Example Images</h2>

<h3>Start fast and slow down at the end</h3>

<table class="table_image">
    <tr>
        <td><a href="http://www.joesfilters.com/qt_viewer.php?src=/video/joes_timebender-1.mov&amp;w=160&amp;h=120" onclick="qtviewer('http://www.joesfilters.com/video/joes_timebender-1.mov', 160, 120); return false;" onmouseover="window.status='joes_timebender-1.mov'; return true;" target="_blank"><img src="http://www.joesfilters.com/images/joes_timebender-qt.jpg" width="180" height="135" border="0" alt="Video Example" /></a></td>
        <td><img src="http://www.joesfilters.com/images/joes_timebender-cntrl-1.gif" width="185" height="177" alt="Joe's Time Bender Keyframe Curves" /></td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td></td><td>FCP Keyframe Graph </td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Start Slow and speed up towards the end</h3>

<table class="table_image">
    <tr>
        <td><a href="http://www.joesfilters.com/qt_viewer.php?src=/video/joes_timebender-2.mov&amp;w=160&amp;h=120" onclick="qtviewer('http://www.joesfilters.com/video/joes_timebender-2.mov', 160, 120); return false;" onmouseover="window.status='joes_timebender-2.mov'; return true;" target="_blank"><img src="http://www.joesfilters.com/images/joes_timebender-qt.jpg" width="180" height="135" border="0" alt="Video Example" /></a></td>
        <td><img src="http://www.joesfilters.com/images/joes_timebender-cntrl-2.gif" width="185" height="177" alt="Joe's Time Bender Keyframe Curves" /></td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td></td><td>FCP Keyframe Graph </td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Start fast and end fast, slowing down in the middle</h3>

<table class="table_image">
    <tr>
        <td><a href="http://www.joesfilters.com/qt_viewer.php?src=%2Fvideo%2Fjoes_timebender-3.mov&#038;w=160&#038;h=120" onclick="qtviewer('http://www.joesfilters.com/video/joes_timebender-3.mov', 160, 120); return false;" onmouseover="window.status='joes_timebender-3.mov'; return true;" target="_blank"><img src="http://www.joesfilters.com/images/joes_timebender-qt.jpg" width="180" height="135" border="0" alt="Video Example" /></a></td>
        <td><img src="http://www.joesfilters.com/images/joes_timebender-cntrl-3.gif" width="185" height="177" alt="Joe's Time Bender Keyframe Curves" /></td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td></td><td>FCP Keyframe Graph </td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Start normal, slow in middle, reverse fast back to start</h3>

<table class="table_image">
    <tr>
        <td><a href="http://www.joesfilters.com/qt_viewer.php?src=%2Fvideo%2Fjoes_timebender-4.mov&amp;w=160&amp;h=120" onclick="qtviewer('http://www.joesfilters.com/video/joes_timebender-4.mov', 160, 120); return false;" onmouseover="window.status='joes_timebender-4.mov'; return true;" target="_blank"><img src="http://www.joesfilters.com/images/joes_timebender-qt.jpg" width="180" height="135" border="0" alt="Video Example" /></a></td>
        <td><img src="http://www.joesfilters.com/images/joes_timebender-cntrl-4.gif" width="185" height="177" alt="Joe's Time Bender Keyframe Curves" /></td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td></td><td>FCP Keyframe Graph </td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Start fast, slow and reverse in middle, finish fast</h3>

<table class="table_image">
    <tr>
        <td><a href="http://www.joesfilters.com/qt_viewer.php?src=%2Fvideo%2Fjoes_timebender-5.mov&amp;w=160&amp;h=120" onclick="qtviewer('http://www.joesfilters.com/video/joes_timebender-5.mov', 160, 120); return false;" onmouseover="window.status='joes_timebender-5.mov'; return true;" target="_blank"><img src="/images/joes_timebender-qt.jpg" width="180" height="135" border="0" alt="Video Example" /></a></td>
        <td><img src="http://www.joesfilters.com/images/joes_timebender-cntrl-5.gif" width="185" height="177" alt="Joe's Time Bender Keyframe Curves" /></td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td></td><td>FCP Keyframe Graph </td></tr>
            </table>
        </td>
    </tr>
</table>

<h2>Keyframing</h2>

<p>To make keyframing easier, I recommend expanding the Viewer keyframe area. Dragging the bottom line of the Frame slider&#8217;s keyframe space towards the bottom of the window will stretch it vertically. </p>

<p>To set up the filter for re-mapping time, do the following: </p>

<ol>
<li>Press Shift-I to go to the In Point </li>
<li>Click the Keyframe button to add a keyframe here with a value of 0 </li>
<li>Press Shift-O to go to the Out Point. </li>
<li>Drag the Frame slider to 100. </li>
</ol>

<p>Now the effect is set up for normal speed playback. This line is important because whatever pitch (steepness) it is will be 100% playback speed. Making the line flatter (less steep) will slow playback, increasing it&#8217;s pitch (steeper) will cause the clip to playback faster. </p>

<p>Control clicking on the keyframe points allows them to be changed to Smooth points, which adds control handles for bending the curve between points. Below are some examples of what is possible with a few simple curves. </p>

<h3>Field Separation</h3>

<p>Time Bender can also be used to separate fields, essentially  playing back each field as a frame while reducing the apparent speed to 50%. To playback fields as frames, turn off Frame Blending and set the inpoint to 0% and the outpoint to 50% (or any combination which results in 50% between keyframes)</p>

<div id="controls">
    <h2>Controls</h2> 
    
        <img src="http://www.joesfilters.com/images/joestimebender-controls.gif" width="261" height="97" alt="Joe's Time Bender Controls" /> 
    
    <dl>
        <dt>
            Frame <span class="range">(1 - 100)</span> 
        </dt>
        <dd>
            Sets the position of the current frame as a percentage of the complete clip. Zero is the first frame and 100 is the last frame. Keyframing this value results in the specified frame showing at position of the keyframe. 
        </dd>
        <dt>
            Frame Blending 
        </dt>
        <dd>
            Blends frames for smoother output motion. Frame Blending is weighted so inbetween frames will lean towards or away from whichever frame it&#8217;s closer to. 
        </dd>
        <dt>
            Reverse Fields 
        </dt>
        <dd>
            Reverses the default field order when frame blending. The default is lower field first. 
        </dd>
        <dt>
            Show Timecode 
        </dt>
        <dd>
            Shows the actual timecode of the currently visible frame. 
        </dd>
        <dt>
            Timecode Format <span class="range">(Clip Default, 24 fps, 25 fps, 30 fps-drop frame, 30 fps, 60 fps-drop frame, 60 fps, 16mm, 35mm)</span>
        </dt>
        <dd>
            Setting to override the default timecode format and report the virtual frame position in a user specified format. 
        </dd>
    </dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/joes_time_bender/feed</wfw:commentRss>
<enclosure url="http://www.joesfilters.com/video/joes_timebender-4.mov" length="278045" type="video/quicktime" />
<enclosure url="http://www.joesfilters.com/video/joes_timebender-5.mov" length="280303" type="video/quicktime" />
<enclosure url="http://www.joesfilters.com/video/joes_timebender-3.mov" length="281283" type="video/quicktime" />
<enclosure url="http://www.joesfilters.com/video/joes_timebender-1.mov" length="276357" type="video/quicktime" />
<enclosure url="http://www.joesfilters.com/video/joes_timebender-2.mov" length="280437" type="video/quicktime" />
		</item>
		<item>
		<title>Joe&#8217;s Multi-Frame Blender</title>
		<link>http://www.joesfilters.com/joes_multiframe_blender</link>
		<comments>http://www.joesfilters.com/joes_multiframe_blender#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Joe's Video &#038; Utility Filters]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/?p=51</guid>
		<description><![CDATA[A frame stacking plugin blends up to 20 frames to reduce noise, isolate motion or brighten dark images.]]></description>
			<content:encoded><![CDATA[<p>Joe&#8217;s Multi-Frame Blender combines up to 20 frames from before and after the current frame for a variety of effects. Multi-Frame blending can be used increase detail and reduce noise, very dark video can be lightened, also virtual long-exposure effects can be created to simulate motion trails or slow-shutter effects. </p>

<p>Additionally this plugin includes two motion differencing options to reduce artifacts from changing areas in a clip. The motion differencing options can be used to isolate and mark moving areas.</p>

<h2>Example Images</h2>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender7.jpg" width="150" height="250" alt="Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender9.jpg" width="150" height="250" alt="Five frames blended" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Past Frames:</td><td>5</td></tr>
                <tr><td>Future Frames:</td><td>0</td></tr>
                <tr><td>Mask Highlights:</td><td>No</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender8.jpg" width="150" height="250" alt="Five Frames Colorize Motion" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Past Frames:</td><td>5</td></tr>
                <tr><td>Future Frames:</td><td>0</td></tr>
                <tr><td>Mask Highlights:</td><td>No</td></tr>
                <tr><td>Motion Difference:</td><td>All Frames</td></tr>
                <tr><td>Threshold:</td><td>154</td></tr>
                <tr><td>View:</td><td>Colorize Motion</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender10.jpg" width="150" height="250" alt="Original Image"/>
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender11.jpg" width="150" height="250" alt="Multi-Frame Smoothing" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Past Frames:</td><td>5</td></tr>
                <tr><td>Future Frames:</td><td>5</td></tr>
                <tr><td>Motion Difference:</td><td>3 Frame</td></tr>
                <tr><td>Threshold:</td><td>234</td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Multi-Frame Blending to lighten images</h3>

<p>Combining multiple frames of video can also be used to bring out detail from extremely dark clips. Because images are combined from different points in time, this process works best on clips shot with a static camera.</p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender0.jpg" width="150" height="250" alt="Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender4.jpg" width="150" height="250" alt="Lightened with multi-frame blending" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Blend Method:</td><td>Add</td></tr>
                <tr><td>Past Frames:</td><td>4</td></tr>
                <tr><td>Future Frames:</td><td>4</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender1.jpg" width="150" height="250" alt="Lightened with multi-frame blending" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Blend Method:</td><td>Screen</td></tr>
                <tr><td>Past Frames:</td><td>8</td></tr>
                <tr><td>Future Frames:</td><td>8</td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Multi-Frame Blending and Levels</h3>

<p>Another method is to combine Multi-Frame Blending and Levels to lighten the image. Combining multiple frames using the Matte blending method will smooth out the image without changing the lightness values. Using Levels on this smoothed image produces much better results than trying to use Levels on a single frame.</p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender2.jpg" width="150" height="250" alt="Lightened with multi-frame blending" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Multi-Frame Blender and Levels      </td></tr>
                <tr><td>Past Frames:</td><td>8</td></tr>
                <tr><td>Future Frames:</td><td>8</td></tr>
                <tr><td>Blend Method:</td><td>Matte</td></tr>
                <tr><td>Levels:</td><td>6, 0.4, 165</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesmultiframeblender3.jpg" width="150" height="250" alt="Lightened with multi-frame blending" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Levels only     </td></tr>
                <tr><td>Levels:</td><td>6, 0.4, 165</td></tr>
            </table>
        </td>
    </tr>
</table>

<div id="controls">

<h2>Controls</h2>

    <img src="/images/joesmultiframeblender-controls.gif" width="261" height="407" alt="Joe's Multi-Frame Blender" /> 


<h3>Frame Blending</h3>
<dl>
    <dt>
        Blend Method<span class="range"> (Matte, Screen, Add)</span> 
    </dt>
    <dd>
        The blending method to use for combining multiple frames. 
    </dd>
    <dt>
        Past &#038; Future Frames<span class="range"> (0 - 10)</span> 
    </dt>
    <dd>
        Sets how many additional frames will be combined into the final image. 
    </dd>
    <dt>
        PreMultiply<span class="range"> (Straight, Black, White)</span> 
    </dt>
    <dd>
        Straight is a passthrough setting. When combined with Mask Highlights, white or black PreMultiplication will flatten the transparent image onto white or black. This can cause tremendous differences in the blending results.
    </dd>
    <dt>
        Mask Highlights
    </dt>
    <dd>
        Uses a clip&#8217;s averaged lightness as an alpha mask to reduce excessive glowing of bright areas. 
    </dd>
</dl>

<h3>Motion Differencing</h3>
<dl>
    <dt>
        Motion Difference<span class="range"> (None (off), 3 Frame, All Frames)</span> 
    </dt>
    <dd>
        Chooses whether to generate a motion difference mask for moving areas of the image. Three Frames uses only the current, previous and next frames to generate the mask, All Frames combines all the blended frames together for a more comprehensive motion mask. Note that these settings will significantly increase rendering time, especially the All Frames setting.
    </dd>
    <dt>
        Difference Using<span class="range"> (RGB, YUV)</span> 
    </dt>
    <dd>    
        Selects which color space to use for motion differencing.
    </dd>
    <dt>
        Threshold <span class="range">(128 - 254)</span> 
    </dt>
    <dd>    
        Determines the sensitivity of motion differencing. Higher numbers select more pixels as moving, lower numbers select fewer pixels as moving. Setting the threshold to 254 is very similar to disabling motion differencing. Note that selecting RGB differencing may result in a slightly different colors due to the colorspace conversion.
    </dd>
    <dt>
        Soften <span class="range">(0 - 10)</span> 
    </dt>
    <dd>    
        Softens the motion mask to reduce motion artifacting.
    </dd>
</dl>

<h3>Motion Check</h3>
<dl>
    <dt>
        View<span class="range"> (Merged Output, Motion Mask, Colorize Motion)</span> 
    </dt>
    <dd>
        These settings are used to preview the motion differencing mask. Selecting Motion Mask will show the current motion mask as a grayscale image, white pixels represent moving areas. Colorize Motion will mark the clip&#8217;s moving areas with the mask color. Both of these options require Motion Differencing to be turned on to show any results.
    </dd>
    <dt>
        Mask Color, Color Opacity
    </dt>
    <dd>    
        Used to specify how motion is represented when Colorize Motion is selected in the Motion Check View setting.
    </dd>
</dl>
<h3>Fade With Original</h3>
<dl>    
    <dt>
        Opacity <span class="range">(0 - 100)</span> 
    </dt>
    <dd>    
        Blends the final image back onto the original. This can be used to fade effects on and off using keyframes. 
    </dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/joes_multiframe_blender/feed</wfw:commentRss>
		</item>
		<item>
		<title>Joe&#8217;s Frame Rate Adjuster</title>
		<link>http://www.joesfilters.com/joes_frame_rate_adjuster</link>
		<comments>http://www.joesfilters.com/joes_frame_rate_adjuster#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Joe's Time Filters]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/?p=50</guid>
		<description><![CDATA[Creates variable frame rate playback effects without adjusting timeline settings.]]></description>
			<content:encoded><![CDATA[<p>Joe&#8217;s Frame Rate Adjuster changes the apparent frame rate of a clip without modifying the timeline settings.  The filter is field based and plays clips at any frame rate from 1-60fps. Potential uses include simulating film motion and helping with standards conversion. Setting NTSC video to 24fps outputs correct 3:2 pulldown (3 clear frames, 2 judder frames). </p>

<p>This effect works by translating a clip&#8217;s default playback framerate to a virtual framerate and then resampling fields and frames for playback.  Duration is calculated to the field playback rate for smoother motion. De-Interlacing is automatic when the framerate causes fields to stretch across multiple frames.</p>

<h2>Example Images</h2>

<p>Click to open movies in new windows:</p>

<table class="table_image">
    <tr>
        <td>
            <a href="qt_viewer.php?src=%2Fvideo%2Foriginal-joesframerateadjuster.mpg&#038;w=160&#038;h=120" onclick="qtviewer('/video/original-joesframerateadjuster.mpg', 160, 120); return false;" onmouseover="window.status='original-joesframerateadjuster.mpg'; return true;" target="_blank"><img src="/images/framerateadjuster-thumb.jpg" width="180" height="135" border="0" alt="Video Example" /></a>
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr><td>Original NTSC Clip</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <a href="qt_viewer.php?src=%2Fvideo%2F24fps-joesframerateadjuster.mpg&#038;w=160&#038;h=120" onclick="qtviewer('/video/24fps-joesframerateadjuster.mpg', 160, 120); return false;" onmouseover="window.status='24fps-joesframerateadjuster.mpg'; return true;" target="_blank"><img src="/images/framerateadjuster-thumb.jpg" width="180" height="135" border="0" alt="Video Example" /></a>
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr><td>Frame Rate</td><td>24fps</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <a href="qt_viewer.php?src=%2Fvideo%2F50fps-joesframerateadjuster.mpg&#038;w=160&#038;h=120" onclick="qtviewer('/video/50fps-joesframerateadjuster.mpg', 160, 120); return false;" onmouseover="window.status='50fps-joesframerateadjuster.mpg'; return true;" target="_blank"><img src="/images/framerateadjuster-thumb.jpg" width="180" height="135" border="0" alt="Video Example" /></a>
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr><td>Frame Rate</td><td>50fps</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <a href="qt_viewer.php?src=%2Fvideo%2F12fps-joesframerateadjuster.mpg&#038;w=160&#038;h=120" onclick="qtviewer('/video/12fps-joesframerateadjuster.mpg', 160, 120); return false;" onmouseover="window.status='12fps-joesframerateadjuster.mpg'; return true;" target="_blank"><img src="/images/framerateadjuster-thumb.jpg" width="180" height="135" border="0" alt="Video Example" /></a>
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr><td>Frame Rate</td><td>12fps</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" />
Note that these preview movies are encoded at 60fps to attempt to preserve their original motion. Because this plugin is made to work with interlaced video, the best way to preview the effect is to <a href="/download.php">download the demo</a> and see them on an external video monitor.</p>

<h3>Standards Conversion: NTSC &lt; -> PAL</h3>

<p>Some users have reported success using Joe&#8217;s Frame Rate Adjuster for translating between PAL and NTSC video in Final Cut Pro. To change from NTSC to PAL, try setting the fps to 50 or 25. Because the filter is field-based, 50fps should result in smoother motion. To change PAL to NTSC, set fps to 29.97. </p>

<h3>Interlacing and Still Frames</h3>

<p>To create the virtual playback framerate, Joe&#8217;s Frame Rate Adjuster makes optimum use of the timeline&#8217;s field playback rate. Because of this some virutal frames may exist across more than one field. This results in what is referred to as a &#8216;judder frame&#8217;. These frames are normal and will not be seen during playback.</p>

<h3>Mixing Actual Frame Rates</h3>

<p>Final Cut Pro&#8217;s default behavior regarding unmatched actual framerates may cause unexpected results with Frame Rate Adjuster. When clips with non-matched framerates are inserted into a timeline, FCP automatically interpolates the clips to match the timeline&#8217;s framerate. This means that a true 12fps clip placed into a 29.97fps timeline will be processed as if it&#8217;s framerate were 29.97. Unfortunately FCP doesn&#8217;t do a particularly good job of interpolating these new frame rates. At first I thought this might be a bug, but it&#8217;s consistant with other FXScript effects behavior. I&#8217;m continuing to look for workarounds and  options for standards conversion, feedback is welcomed.</p>

<div id="controls">
    <h2> Controls</h2> 
    
        <img src="/images/joesframerateadjuster-controls.gif" width="261" height="49" alt="Joe's Frame Rate Adjuster Controls" /> 
    
    <dl>
        <dt>
            Frame Rate  <span class="range"> (1 - 60)</span> 
        </dt>
        <dd>
            Sets the virual playback framerate for the filtered clip. This value is field-based so interlaced clips can be played back at any value up to their actual field rate. NTSC can playback at anything up to 60fps and PAL playback at anything up to 50fps.
        </dd>
        <dt>
            Motion Trail <span class="range"> (0 - 100)</span> 
        </dt>
        <dd>
            Blends the current virtual frame with the next actual frame to help ease strobing and smooth out motion information lost between virtual frames. Setting Motion Trail to zero shows only the current virtual frame.
        </dd>
    </dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/joes_frame_rate_adjuster/feed</wfw:commentRss>
		</item>
		<item>
		<title>Joe&#8217;s Field Fixer</title>
		<link>http://www.joesfilters.com/joes_field_fixer</link>
		<comments>http://www.joesfilters.com/joes_field_fixer#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Joe's Video &#038; Utility Filters]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/?p=49</guid>
		<description><![CDATA[A field-order utility plugin for Final Cut Pro for reversing and reordering fields across frames.]]></description>
			<content:encoded><![CDATA[<p>Joe&#8217;s Field Fixer reconstructs the current frame by combining any two fields from the previous, current or next frames. This can be used to reverse fields, fix shifted fields, field-double or experiment with various field combinations.</p>

<p>Without Joe&#8217;s Field Fixer many field-order problems had to be fixed in After Effects or corrected with a de-interlace filter. For mis-matched and out of order fields, re-ordering is a better solution than de-interlacing because the video data is fine, it&#8217;s just slightly out of order by being offset in time.</p>

<h2>Example Images</h2>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldfixer0.jpg" width="200" height="200" alt="Reversed Field Order"/>
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Reversed Field Order </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldfixer1.jpg" width="200" height="200" alt="Correct Field Order" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Upper Field:</td><td> Lower Field</td></tr>
                <tr><td>Lower Field:</td><td> Upper Field</td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Analog dubs</h3>

<p>Occasionally when analog sources are dubbed with non-pro equipment the normal field sequence can spill across frames. Instead of reversed field order, the frames  break across fields resulting in mis-matched fields. The following example frame was dubbed from VHS to DV and shows a cut between two cameras existing in a single frame.</p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldfixer-2.jpg" width="200" height="269" alt="Joe's Field Fixer Analog Original"/>
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Analog Dub Original </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldfixer3.jpg" width="200" height="269" alt="Joe's Field Fixer Analog Corrected" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Upper Field:</td><td> Upper Field</td></tr>
                <tr><td>Lower Field:</td><td> Lower Field<br />(Next Frame)</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>When correcting slipped fields, notice the effect of diagonals and curves. Make sure you&#8217;re not outputting the same field twice (once for the top and once for the bottom). If there is motion in the frame, the amount of interlace &#8216;tearing&#8217; may also be a helpful indicator of which fields belong together. While there is a definite set of matching frames, whether you push the fields forward or backwards in time is up to you.</p>

<h3>Other Uses</h3>

<p>Joe&#8217;s Field Fixer can also quickly correct field-order problems resulting from processes which up-res DV to a Kona SDI card, which occasionally result in flopped fields.</p>

<div id="controls">
<h2>Controls</h2> 

    <img src="/images/joes_fieldfixer-controls.gif" width="261" height="43" alt="Joe's Soft Gradients Controls" /> 

<dl>
    <dt>
        Upper Field, Lower Field<span class="range"> (upper/lower field, previous/current/next frame)</span> 
    </dt>
    <dd>
        Determines the sources for each of the two fields making up the resulting frame. 
    </dd>
</dl>
</div>

<h2>Important Note about field-based effect previews</h2>

<p>All of Final Cut Pro&#8217;s field-based effects need to be rendered for an accurate preview. At zoom values below 100%, the FCP desktop preview only shows the lower field of an interlaced video frame and pre-rendered effects use this scaled down, single-field image to preview before rendering. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/joes_field_fixer/feed</wfw:commentRss>
		</item>
		<item>
		<title>Joe&#8217;s Field Blender</title>
		<link>http://www.joesfilters.com/joes_field_blender</link>
		<comments>http://www.joesfilters.com/joes_field_blender#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Joe's Video &#038; Utility Filters]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/?p=48</guid>
		<description><![CDATA[A simple filter for combining video frames.]]></description>
			<content:encoded><![CDATA[<p>Joe&#8217;s Field Blender is a deinterlace filter which uses an alternate method of de-interlacing video. Both fields are used to create a new frame which can give the appearance of a slight motion blur in the frame. This effect is acheived by scaling both fields to full height and then blending them, resulting in a more natural and organic version of the interlaced image. </p>

<p>The controls for Joe&#8217;s Field Blender are deliberately simple. The single slider moves from the lower field on the left to the upper field on the right. In DV the lower field comes first, so the slider acts a selector of time, moving between two instants with a fraction of a second between them. On a fast computer, moving the slider back and forth will make moving objects in a frame appear to shift forward and backward in time. </p>

<p>This filter provides results similar to <a href='http://www.lafcpug.org/film_look.html'>Joel Peregrine&#8217;s adaptation</a> of Shawn Bockoven&#8217;s Film Look technique. Because this effect uses a significantly faster de-interlace routine than Final Cut Pro&#8217;s De-Interlace filter, the same effect can be created in less than half the time. (In preliminary testing, Joe&#8217;s Field Blender was consistently 230% faster than the twin de-interlacing technique.) </p>

<h2>Example Images</h2>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldblender-original.jpg" width="150" height="180" alt="Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Interlaced Image </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldblender-0.jpg" width="150" height="180" alt="Blend: 0" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Blend:</td><td>0<br />Lower Field</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldblender-100.jpg" width="150" height="180" alt="Blend: 100" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Blend:</td><td>100<br />Upper Field</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldblender-30.jpg" width="150" height="180" alt="Blend: 30" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Blend:</td><td>30</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldblender-50.jpg" width="150" height="180" alt="Blend: 40" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Blend:</td><td>50</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_fieldblender-70.jpg" width="150" height="180" alt="Blend: 70" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Blend:</td><td>70 </td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>The two interlaced fields of video are either 1/60 (NTSC) or 1/50 (PAL) of a second apart in time. Setting the blend value towards the second field (above 50) creates a motion trail following the direction of motion, blending towards the preceding frame (below 50) results in a motion trail before the image, backwards from how we tend to see and understand motion. </p>

<h3>DV vs. non-DV Field Order</h3>

<p>DV&#8217;s field order is the opposite of most other video standards. The orientation of the Field Blender slider definitions is basically arbitrary so if you are working with non-DV source just reverse the slider&#8217;s behavior for the same results. </p>

<div id="controls">
    <h2>Controls</h2> 
    
        <img src="/images/joes_field_blender-controls.gif" width="261" height="46" border="0" alt="Joe's Field Blender Controls" /> 
    
    <dl>
        <dt>
            Blend <span class="range">(0 - 100)</span> 
        </dt>
        <dd>
            Determines balance of the two fields in the resulting image. Setting Blend to 0 (right side) it results in 100% of the lower/first field, 100 (left) results in 100% of the upper/second field. Moving the slider adds opacity of one field while subtracting the opacity of the other. A setting of 70 means 70% upper field and 30% lower field. 50% is an even mix of both fields.
        </dd>
        <dt>
            Method 
        </dt>
        <dd>
            Sets the de-interlacing method for the pre-blended fields.
        </dd>
    </dl>
</div>

<h2>Important Note about field-based effect previews</h2>

<p>All of Final Cut Pro&#8217;s field-based effects need to be rendered for an accurate preview. At zoom values below 100%, the FCP desktop preview only shows the lower field of an interlaced video frame and pre-rendered effects use this scaled down, single-field image to preview before rendering. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/joes_field_blender/feed</wfw:commentRss>
		</item>
		<item>
		<title>Joe&#8217;s De-Interlacer</title>
		<link>http://www.joesfilters.com/joes_deinterlacer</link>
		<comments>http://www.joesfilters.com/joes_deinterlacer#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Joe's Video &#038; Utility Filters]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/?p=47</guid>
		<description><![CDATA[A better de-interlace plugin for Final Cut Pro. Faster, cleaner and more versatile.]]></description>
			<content:encoded><![CDATA[<p>Joe&#8217;s De-Interlacer combines three-frame motion differencing with an extremely fast de-interlace routine. The first version of Joe&#8217;s De-Interlacer focused on speed. While I was happy with the results, <a href="http://www.kenstone.net/fcp_homepage/feature_video_film.html">this review</a> pointed out some flaws which I hadn&#8217;t considered. Challenged by that article, I decided to build a better de-interlacer. The quality of the results surprised me.  </p>

<p>Joe&#8217;s De-Interlacer is written in Final Cut Pro&#8217;s native FXScript effects language so filtered clips stay in their native YUV color space. </p>

<h3>Advantages of Motion Differencing</h3>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer00.jpg" width="150" height="250" alt="Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image      </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer01.jpg" width="150" height="250" alt="Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Motion Difference De-Interlace      </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer02.jpg" width="150" height="250" alt="Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Standard Fullframe De-Interlace     </td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all"/></p>

<p>The differences between  motion differenced and standard de-interlaced clips becomes especially apparent on diagonals and areas of fine detail. (1) The diagonal lines on the roof and (3) the painted lines in the street become jagged without Motion Differencing.  Also notice how the fine detail of (2) the brick wall in the background becomes soft and muddy. Because none of these elements changed between frames, motion differencing preserves the vertical information from both fields of the video frame for a better quality image.</p>

<p>Motion Differencing works by calculating which pixels have changed between the previous frame and the following frame. This information is used to generate a mask so only the changed pixels are de-interlaced. Motion Differencing works best with a static camera.</p>

<h3>De-Interlace Methods</h3>

<p>The following examples show the different methods of de-interlacing clips. Motion Differencing has been turned off to show the differences. </p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer03.jpg" width="150" height="250" alt="Field Double" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Field Double</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer04.jpg" width="150" height="250" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Interpolate</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer05.jpg" width="150" height="250" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Fast Interpolate</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all"/>
Fast Interpolate is the default option because it is the fastest to render (thus the name) and almost indistinguishable from the slightly better looking Interpolate method, especially when combined with Motion Differencing.</p>

<h3>Motion Difference Artifacts</h3>

<p>The default Motion Differencing settings do a good job for most clips but there are occasions where the settings need tweaking. Below is an extreme example where a bicyclist is moving quickly through the frame. The default settings leave lots of motion artifacts due to the distance between fields. Increasing the Threshold and Soften settings corrects the problem, which can also be seen by viewing the Motion Mask.</p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer06.jpg" width="120" height="200" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer07.jpg" width="120" height="200" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Default Settings</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer08.jpg" width="120" height="200" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Motion Mask</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer09.jpg" width="120" height="200" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Threshold</td><td>245</td></tr>
                <tr><td>Soften</td><td>8</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer10.jpg" width="120" height="200" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Corrected Motion Mask</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer11.jpg" width="120" height="200" alt="Interpolate" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Colorize Motion</td></tr>
            </table>
        </td>
    </tr>
</table>

<h3>Field Order and Final Cut Pro&#8217;s De-Interlace Filter</h3> 

<p>Final Cut Pro&#8217;s De-Interlace filter has it&#8217;s fields reversed. This can be easily checked by applying the de-interlace effect to a frame with fast motion. Since DV NTSC has a known field order of bottom field first, the top field should be offset in time forward 1/60 of a second.</p>

<p>The following images of a swimmer caught mid-dive provide an excellent indication of field order. Within the duration of this frame the diver&#8217;s hands  break the surface of the water. In the first field his hand are above the water, in the second they&#8217;ve broken the surface. This clip was shot on DV NTSC clip so the lower field should come first in time.</p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer12.jpg" width="120" height="200" alt="Interlaced Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Interlaced Original</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer13.jpg" width="120" height="200" alt="Joe's De-Interlace: Lower" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s De-Interlacer:<br />Lower Field</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer14.jpg" width="120" height="200" alt="Joe's De-Interlace: Upper" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s De-Interlacer:<br />Upper Field</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer16.jpg" width="120" height="200" alt="FCP's De-Interlace: Lower" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>FCP&#8217;s De-Interlacer:<br />Lower Field</td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joesdeinterlacer15.jpg" width="120" height="200" alt="FCP's De-Interlace: Upper" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>FCP&#8217;s De-Interlacer:<br />Upper Field</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" />
FCP&#8217;s Lower Field appears later in time than the Upper Field, showing that it is isolating the opposite field from what was selected.</p>

<h3>Render Time</h3>

<p>Adding Motion Differencing increases rendering time due to the added complexity and additional calculations. Below is a small, non-scientific chart showing rendering times on a 10 second NTSC DV clip:</p>

<ul>
<li>Default Settings: 3:45</li>
<li>Fast Interpolate, no motion differencing: 1:15</li>
<li>Interpolate, no motion differencing: 1:26</li>
<li>Field Double, no motion differencing: 1:23</li>
<li>Final Cut Pro De-Interlace filter: 1:43</li>
</ul>

<p>Tests were run on an 800mhz G4 PowerBook with 1Gb RAM, OSX 10.2.2 and FCP 3.0.4. During the tests I had over a dozen other applications running in the background (thank you OS X!). Your results may vary.</p>

<div id="controls">
    <h2>Controls</h2> 
    
        <img src="/images/joesdeinterlacer-controls.gif" width="261" height="325" border="0" alt="Joe's De-Interlacer Controls" /> 
    
    <h3>De-Interlace</h3>
    <dl>
        <dt>
            Field <span class="range">(Upper Field (odd), Lower Field (even))</span> 
        </dt>
        <dd>
            Chooses which field to use as the basis of the resulting image. 
        </dd>
        <dt>
            Method <span class="range">(Field Double, Interpolate, Fast Interpolate)</span> 
        </dt>
        <dd>
            Determines the method of de-interlacing the video frame.  
        </dd>
    </dl>
    <h3>Motion Differencing</h3>
    <dl>    
        <dt>
            Motion Difference 
        </dt>
        <dd>
            Turns Motion Differencing on and off. 
        </dd>
        <dt>
            Difference Using <span class="range">(Luma, RGB)</span> 
        </dt>
        <dd>
            Sets which color space to use for motion difference calculations.  
        </dd>
        <dt>
            Threshold <span class="range">(128 - 254)</span> 
        </dt>
        <dd>    
            Determines the sensitivity of motion differencing. Higher numbers select more pixels as moving, lower numbers select fewer pixels as moving. Setting the threshold to 254 is very similar to disabling motion differencing. Note that selecting RGB differencing may result in a slightly different colors due to the colorspace conversion.
        </dd>
        <dt>
            Soften <span class="range">(0 - 10)</span> 
        </dt>
        <dd>    
            Softens the motion mask to reduce motion artifacting.
        </dd>
    </dl>
    <h3>Mask Check</h3>
    <dl>
        <dt>
            View<span class="range"> (Merged Output, Motion Mask, Colorize Motion)</span> 
        </dt>
        <dd>
            These settings are used to preview the motion differencing mask. Selecting Motion Mask will show the current motion mask as a grayscale image, black pixels represent moving areas. Colorize Motion will mark the clip&#8217;s moving areas with the mask color. Both of these options require Motion Differencing to be turned on to show any results.
        </dd>
        <dt>
            Mask Color, Color Opacity
        </dt>
        <dd>    
            Used to specify how motion is represented when Colorize Motion is selected in the Motion Check View setting.
        </dd>
    </dl>
    <h3>Fade With Original</h3>
    <dl>    
        <dt>
            Opacity <span class="range">(0 - 100)</span> 
        </dt>
        <dd>    
            Blends the final image back onto the original. This can be used as a flicker-filter or to fade the effect on and off using keyframes.   
        </dd>
    </dl>
</div>

<h3>Important Note about field-based effect previews</h3>

<p>All of Final Cut Pro&#8217;s field-based effects need to be rendered for an accurate preview. At zoom values below 100%, the FCP desktop preview only shows the lower field of an interlaced video frame and pre-rendered effects use this scaled down, single-field image to preview before rendering. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/joes_deinterlacer/feed</wfw:commentRss>
		</item>
		<item>
		<title>Joe&#8217;s Broadcast Legalizer</title>
		<link>http://www.joesfilters.com/joes_broadcast_legalizer</link>
		<comments>http://www.joesfilters.com/joes_broadcast_legalizer#comments</comments>
		<pubDate>Wed, 05 Apr 2006 10:15:00 +0000</pubDate>
		<dc:creator>Joe Maller</dc:creator>
		
		<category><![CDATA[Joe's Video &#038; Utility Filters]]></category>

		<guid isPermaLink="false">http://www.joesfilters.com/wordpress/?p=46</guid>
		<description><![CDATA[A YUV color toolset including Luma ceiling and floor, Chroma offset and amplitude, plus Y/C offset correction adjustments.]]></description>
			<content:encoded><![CDATA[<p>Joe&#8217;s Broadcast Legalizer uses a different strategy than Final Cut Pro&#8217;s Broadcast Safe filter. Joe&#8217;s Broadcast Legalizer performs a slight full-range correction to the entire image while FCP&#8217;s Broadcast Safe filter rolls off out of range values. There are advantages and disadvantages to both strategies and both can be used to bring video within NTSC broadcast standard levels.</p>

<p>All corrections are based on the on the maximum reported value range of 0-116 IRE. Output values have been calibrated against Final Cut Pro&#8217;s Video Scopes. Please check your output levels on external equipment whenever possible.</p>

<p>Joe&#8217;s Broadcast Legalizer also works with Final Cut Express and all versions of Final Cut Pro since 1.2.5. Even though these do not have video scopes, the calculations should be consistant with those in Final Cut Pro 3.</p>

<h2>Luma Adjustment</h2>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast04.jpg" width="150" height="200" alt="Joe's Broadcast Legalizer Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes1.gif" width="306" height="120" alt="Original Waveform and Histogram" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Waveform and Histogram for Original Image </td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast05.jpg" width="150" height="200" alt="Joe's Broadcast Legalizer" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s Broadcast Legalizer </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes2.gif" width="306" height="120" alt="Corrected Waveform and Histogram" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td colspan="2">Corrected Waveform and Histogram with Joe&#8217;s Broadcast Legalizer </td></tr>
                <tr><td>Luma Ceiling:</td><td> 100 IRE</td></tr>
                <tr><td>Luma Floor:</td><td> 7.5 IRE</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast06.jpg" width="150" height="200" alt="FCP's Broadcast Safe" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Final Cut Pro&#8217;s Broadcast Safe </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes3.gif" width="306" height="120" alt="Corrected Waveform and Histogram" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td colspan="2">Corrected Waveform and Histogram with Final Cut Pro&#8217;s Broadcast Safe </td></tr>
                <tr><td>Mode:</td><td>Conservative [115]</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>Some things to note about these examples: </p>

<ul>
<li>Joe&#8217;s Broadcast Legalizer scales image values so changes are distributed evenly across the entire range.</li>
<li>FCP&#8217;s Broadcast Safe affects only out of range values compressing them at the top of the range but leaving other values unchanged. Out of range values are rolled in by Broadcast Safe.</li>
<li>Joe&#8217;s Broadcast Legalizer is also elevating the Luma floor to 7.5 IRE. FCP&#8217;s Broadcast Safe filter only corrects Luma ceilings with it&#8217;s default settings.</li>
</ul>

<h2>Chroma Adjustment</h2>

<p>The Chroma Amplitude, Phase and Offset controls can be used to correct Chroma problems in video clips. Amplitude is a simple Chroma Limiter, which reduces the saturation of a clip&#8217;s color information without affecting it&#8217;s overall hue. </p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast07.jpg" width="150" height="150" alt="Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes7.gif" width="150" height="150" alt="Original Vectorscope" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Vectorscope </td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast08.jpg" width="150" height="150" alt="Joe's Broadcast Safe" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s Broadcast Safe </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes8.gif" width="150" height="150" alt="Corrected Vectorscope" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Amplitude:</td><td>-25</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast09.jpg" width="150" height="150" alt="Joe's Broadcast Safe" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s Broadcast Safe </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes9.gif" width="150" height="150" alt="Corrected Vectorscope" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Amplitude:</td><td>-75</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>Phase and offset work by shifting the chroma relative to the view in the Vectorscope. This can be used to quickly affect the overall color balance of a clip towards a specific hue.</p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast10.jpg" width="150" height="150" alt="Joe's Broadcast Safe" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s Broadcast Safe </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes10.gif" width="150" height="150" alt="Corrected Vectorscope" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image </td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast11.jpg" width="150" height="150" alt="Joe's Broadcast Safe" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s Broadcast Safe </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes11.gif" width="150" height="150" alt="Corrected Vectorscope" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Phase:</td><td>135°</td></tr>
                <tr><td>Offset:</td><td>15</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast12.jpg" width="150" height="150" alt="Joe's Broadcast Safe" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s Broadcast Safe </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes12.gif" width="150" height="150" alt="Corrected Vectorscope" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Phase:</td><td>270°</td></tr>
                <tr><td>Offset:</td><td>15</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>Combining Amplitude limiting with large offsets creates unique color effects.</p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast13.jpg" width="150" height="150" alt="Joe's Broadcast Safe" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Joe&#8217;s Broadcast Safe </td></tr>
            </table>
        </td>
    </tr>
</table>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast-scopes13.gif" width="150" height="150" alt="Corrected Vectorscope" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Amplitude:</td><td>-50</td></tr>
                <tr><td>Phase:</td><td>105°</td></tr>
                <tr><td>Offset:</td><td>40</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<h2>Y/C Correction</h2>

<p>The Y/C Correction controls shift the Chroma or Luma components of a video image relative to one another. A common use of Y/C correction is to compensate for poor image alignment in analog dubs but it&#8217;s also quite useful for shifting DV chroma sampling against right-side color drift. </p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast14.jpg" width="400" height="150" alt="Joe's Broadcast Legalizer Original Image" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Original Image (200% enlargement)</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>This detail shows a slip in color of the pepper against the blue background resulting from NTSC DV&#8217;s 4:1:1 chroma sampling. All the color in the image is drifting to the right, resulting in a blue cast on the left edge of the pepper and a trailing reddish cast on the right edge. Additionally, the green stem has a yellowish left edge and a green shadow. </p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast15.jpg" width="400" height="150" alt="Joe's Broadcast Legalizer" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Horizontal offset:</td><td> 2 px</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>Using the Y/C Correction controls, the color information can be shifted to the left, helping to better align the sampled color point against the Luma information. This still isn&#8217;t perfect, partly because of DV&#8217;s oversized and blocky Chroma sampling, but centering the color on the pepper helps to improve the quality of the image. </p>

<p>When viewed on a video monitor, this image showed a significant reduction in dot-crawl along the pepper&#8217;s horizontal edges . </p>

<table class="table_image">
    <tr>
        <td>
            <img src="/images/joes_broadcast16.jpg" width="400" height="150" alt="Joe's Broadcast Legalizer" />
        </td>
    </tr>
    <tr>
        <td>
            <table> 
                <tr><td>Horizontal offset:</td><td> 2 px</td></tr>
                <tr><td>Joe&#8217;s Channel Blur:</td><td> Chroma only, 2px, aspect: 4</td></tr>
            </table>
        </td>
    </tr>
</table>

<p><br clear="all" /></p>

<p>When combined with <a href="/joeschannelblur.php">Joe&#8217;s Channel Blur</a> to smoother out the Chroma, the resulting image appears smoother and less blocky. This process can be used to help improve the appearance and success of color keys pulled from DV material. </p>

<p>Adam Wilt&#8217;s <a href="http://www.adamwilt.com/pix-sampling.html">DV Sampling</a> page has much more information and examples about different methods of video color sampling.</p>

<div id="controls">
<h2>Controls</h2> 

    <img src="/images/joes_broadcastlegalizer-controls.gif" width="261" height="312" border="0" alt="Joe's Broadcast Legalizer Controls" /> 

<h3>Luma Adjustment</h3> 
<dl>
    <dt>Ceiling <span class="range">(70…110 IRE)</span></dt>
    <dd>Sets the absolute maximum value to output.</dd>
    
    <dt>Floor <span class="range">(0…25 IRE)</span></dt>
    <dd>Sets the absolute minimum value to output.</dd>
</dl>
<h3>Chroma Adjustment</h3> 
<dl>
    <dt>Amplitude <span class="range">(-100…0)</span></dt>
    <dd>Sets the intensity of the Chroma (color) signal. -100 removes all color information.</dd>
    
    <dt>Phase <span class="range">(-360…360°)</span></dt>
    <dd>Determines the direction to use with the Offset value.</dd>
    
    <dt>Offset <span class="range">(0…112)</span></dt>
    <dd>Shifts all color information towards the direction set in Phase.</dd>
</dl>
<h3>Y/C Correction</h3> 
<dl>
    <dt>Target <span class="range">(Both, Luma, Chroma)</span></dt>
    <dd>Chooses which channels to offset. When &#8216;Both&#8217; is selected, both channels are offset half the total distance relative to each other.</dd>
    
    <dt>Horizontal, Vertical <span class="range">(-10…10)</span></dt>
    <dd>Sets how far to offset the selected channels.</dd>
</dl>
</div>

<h3>Acknowledgements</h3>

<p>Thank you to Michael at <a href='http://www.pixelmover.com/' target='_blank'>Pixelmover</a> for suggesting the Y/C correction tools. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesfilters.com/joes_broadcast_legalizer/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
