1z1 tools for FCP 1z1_logo
set of 10+ plugins (+ 5 free plugins) to enhance Final Cut Pro's core capabilities for every day work in color correction and final mastering.

I wrote these plugins for my daily work on documentaries and feature films, including trailers and more. nearly each project working on faces a specific need for the first time and finding an immediate solution is not always possible with the standard FCP functions. so here are some solutions I developed within the last two years, a set of tools valuable for everyone finishing projects on FCP for broadcast or transfer to 35mm.

thank you for your interest,
kurt hennrich

download demo versions (including FREE plugins) from my site or from findmysoft

to buy the set of full functioning plugins please go to the store ($120)

to write about pros and cons regarding the plugins please use plugins@1z1.at

these are the plugins of 1z1 tools (v 1.1 - jan06):
alphaBlur (FREE) : blur an image's existing alpha channel
alphaShape : create a shape based alpha channel to manipulate different parts of an image; great for color correction
colorGenerator (FREE) : create colored or grey slugs
deGrain : remove grain from footage without loosing sharpness on static parts of the image
displaySourceTC (FREE) : display timecode and reel name of source clip plus custom string
downstreamKey (FREE) : superimpose color based on b/w graphic or an image's luma
DVcolorInterpolation : remove color artefacts of DV footage used in uncompressed sequences
grain (NEW jan06) : add grain to clips or final sequences
i2pChroma (NEW jan06) : deinterlacing and color interpolation in one step
LMHsaturation (updated jan06) : set different levels of saturation on an image's lows, mids and highs
mastering (updated jan06) : make your sequence broadcast safe; crop output and set ouput aspect ratio with letterbox
nightShot : boost poorly exposed footage without loosing saturation; including grain removal
pixelCrop : set amount of pixels to crop from an image, including automatic centering on screen etc.
smoothShrink : scale images to smaller than original size without flickering
pixelRebirth (NEW jan06) : fill dead pixels with sampled color from surrounding pixels
unsharpMask (updated jan06) : unsharpen mask an image without affecting lows and highs
YUVtool (FREE) : adjust levels, gamma and position of all YUV channels independendly

the plugins are in daily use with FCP5-FCP7, but should work without problems with FCP3 and FCP4. please download demo versions to evaluate if the plugins work according to your expectations.
Concerning FCP5's (and higher) new 'motion filtering quality': attention when using the 'best' setting combined with motion scale <50% or >150% - FCP seems to sharpen the image which may introduce unwanted artifacts!

alphaBlur (FREE) 

W H Y | I had the need to modify the alpha channel of imported graphics and animations to get smoother compositing. blurring the alpha a bit can help in such situations.

H O W | not much to say here. level affects the alpha which in fact is the opacity of the overlay image.


W H Y | this is my swiss-army knife for color correction, i.e. to apply different color correction settings to multiple areas of an image. in other cc-systems similar features are called e.g. 'power windows' or likewise.

H O W | first make your CC of the whole image on track V1 as usual. next, duplicate the clip to V2 (resulting in two identical versions on V1/V2). apply alphashapes-filter on V2-clip -> a bright triangle superimposed becomes visible on your clip: this is the result of the filters initial settings. now proceed with the filter settings as described below. when finished with the shape, alter the settings of the already applied cc filter as needed.

imageBoost: this is just a helper to see the shape of the filter while adjusting (otherwise you won't see anything because video on V1 and V2 are the same). when you are done, switch imageBoost off.

edges2oval: defines the number of edges of the shape. max value switches shape to oval/circle.

width/height: as desired ; width^2: constrained shape, use width only to adjust size

blur: blur the shape ; scale: scale the shape

position the shape: there are two different options to position the shape; select preferred method by clicking one of the pointPos radio buttons:

x/y-slider: xPos and yPos sliders are used for positioning

point-click: standard FCP 'click into image' workflow is used for positioning

rotate: rotate shape

opacity: opacity of the resulting overlay. useful when combining multiple alpha shapes.

invert: makes holes

transfer: defines how the generated shape is combined with an image's existing alpha channel or multiple instances of the alphaShapes filter. ATTENTION: the default transfer mode is 'replace', so a second alphaShape will replace the previous one until you switch 'transfer' of the second one to another mode.

colorGenerator (FREE) 

W H Y | Getting just a solid colored canvas is too simple to fiddle around with FCP's standard plug ins

H O W | get different grays or 100% channel colors from the presets or select your own color with the help of FCP's various color choosers.


W H Y | when you shoot a scene were nothing inside the image moves, all frames of the resulting shot will be the same, except the added noise from electronic circuits or film emulsion. now imagine what happens when you mix two consecutive frames of this clip by adding their luminance values: while the images information in these two frames is the same and therefore will duplicate, the noise on each frame is different and stays at its initial level. this is definitely a great noise reduction, but: the frame blending is inevidably visible on fast moving objects (which might be bad or cool. depends ...).

H O W | choose the number of frames involved. be careful when applying this filter on sequences or clips with different shots, the edits will become blurred/blended too.

displaySourceTC (FREE) 

W H Y | creatives/directors very often want to take home a tape of the raw edit they are working on at the moment to reconsider the material, thinking about where certain shots are from and if there are alternatives to it, etc... this filter displays source data on the video.

H O W | almost self explaining. use the string field to display date of print, copyright or anything else.

downstreamKey (FREE) 

W H Y | a tool to be used like the video mixers of 'analog times': apply color to subtitles coming in as b/w-graphics, or re-color superimposings originating from videos with low resolution color channels (DV) by using only luma information (which only makes sense in sequences with better color resolution : uncompressed 4:2:2 or 4:4:4).

input: use original alpha channel or use the image's luma channel as downstream source

fill color: choose a color the key will overlay

blur: the key

opacity: blend in/out


W H Y | DV has reduced color information (4:2:0 or 4:1:1) which is heavily visible in areas of high saturation with low luma level (red backlights of cars in the night, etc.). there is no way to avoid this when working on a DV sequence, but when using the same DV footage in an uncompressed sequence for output to digibeta, this plugin helps. (there are also other solutions to this problem: look for the film effects filters from Graeme Nattress at http://www.nattress.com)

source: '4:1:1 DV NTSC' or '4:2:0 DV PAL'.

channels shown: use this menu to view the color channels only.

skip interpolation: to toggle interpolation on/off while viewing a color channel.

grain (NEW jan06) 

W H Y | add grain to match shots or to give final edits a film originated look.

mode: add grain to full image or to luma only

amount/blur: adjust grain here

energy compensation: adding grain also brightens the image. this setting tries to produce same luma levels as source clip.

note: when adjusting grain, allways look at the video output or set canvas to 100%!!

i2pChroma (NEW jan06) 

W H Y | there are lots of deinterlacers out there, but some of them produce softened results and most good ones are very difficult to adjust to avoid render errors, especially with adaptive deinterlacers. this deinterlacer has minimal settings, produces very sharp results and also interpolates color resolution to 4:4:4 in one step.

source: set to chroma resolution of source clip (only needed when using chroma interpolation).

skip chroma interpolation: deinterlacing only

detail: level of detail enhancing the fields before deinterlacing

field solo: see only one field or both fields deinterlaced (=OFF)

LMHsaturation (updated jan06) 

W H Y | reducing saturation on blacks and whites only, can greatly improve the look of an image, eliminating some of the characteristics associated with video generated images.

output: switch between final output and the two masks used to differentiate the lows and highs from the rest of the image.

lows level: everything below these values is part of the blacks

lows softness: mask softness - view 'low mask' while adjusting

lows saturation ; mids saturation ; highs saturation: adjust desired result with these sliders

highs settings: same as lows - view 'highs mask' while adjusting

mastering (updated jan06) 

screenshots of my tektronix WVR610 rasterizer metering the SDI-output of the decklink card. shots without mastering plugin show too high luma levels and partly too much saturation (RGB & composite gamut errors) as indicated by zebra overlayed on image (click onto image to open 1:1 screenshots):

W H Y | I usually produce a lot of master tapes of documentaries and feature films that are broadcasted. like everybody else involved in similar processes I always had this very problem in my head: are my tapes really broadcast legal? so, for a lot of money, I bought a tektronics rasterizer, which shows - besides luma and color levels in different ways - color gamut in realtime.

in short: color gamut is the ability of a color space to reproduce a certain color as desired. in video we are dealing at least with the following three color spaces: RGB, YUV, composite. AND: colors of one color space are not necessarily reproduceable within another color space. if a color is out of composite-gamut, it will not look the same as it does in YUV component. this is easily imaginable looking at the differences between printing a superb pic in a excellently printed glossy magazine or in a daily newspaper - the results will not look the same.

so the story about broadcast legal should not be an issue of fear of angry broadcast technicians or transmitters freaking out. instead it should be our own interest that the things we are working on will look as we want them to look on tv screen, and most broadcasts - at least in europe - are still analog composite while we work in digital YUV!!!

so my next step in working broadcast legal was: always looking at my tektronics while color correcting, to make sure that all video levels and colors are within the allowed specifications, telling the DOP I am working with: "I am sorry, but if we change the colors to such an extent, the results will certainly not be broadcast legal." Going on like that is not only frustrating for me and the DOP but is also of little practicability at a stage when we should try to decide about colors rather according to the requirements of the actual story. and: neither did FCP's 'broadcast safe' filter satisfy my calibrated tektronics, nor could the build in meters really help.

so I wrote this plugin which subsequently became my workhorse for mastering. since that time I don't have to give a thought about this broadcast legal issue until the very last step of mastering.

H O W | place the final sequence as nested sequence into a new sequence and throw the mastering plugin (with its default settings) onto it - render the new sequence (over night:) and everything should be fine for print to digibeta. at least this is my experience working in PAL. I once did it in NTSC with the same good result, but I did no extra testing in NTSC.

it is important not to change the clip at value to higher than 219 if you do not have instruments to measure what you are doing! in this position, some colors that are very bright and/or have heavy saturation may change - but that is good - they are very likely illegal and will change during broadcast anyway - so at least you see what you will get while having a signal generated with correct gamut.

Attention: if you make a digibeta master for video2film transfer, do not use this filter to correct levels and gamut! leave all levels as they are, even super-whites and super-blacks. most machines (celco, arrilaser) can easily handle these levels and you avoid losing valuable details - ask the company that makes the output to film if you are unsure about this issue. saying this, my usual workflow is making two different master tapes: one uncorrected for 35mm transfer, one with the mastering filter applied for broadcast.

disclaimer: while this filter does a great job for me, I am not able to guarantee that the same is true for other users and/or that the output of this filter complies with any video or broadcast standard. I also will refuse any comments to this filter that are not based on monitoring with professional video hardware and/or video signal metering from instruments calibrated for this purpose.

the settings of the filter are:.

correct levels: checkbox to compare altered/unaltered image

clip at: maximum RGB level allowed - without gamut metering leave it at default (219)

knee: saves some bright details from clipping - without gamut metering leave it at default

show LUT: displays color LookUpTable applied to the video

strip under/to: eliminates super blacks only when set to 0. but broadcasters do not like 'black holes' in the video, so it is a good idea to make the black of the video a bit brighter (+2) than the monitor's area without video (the same is true for printing: rastered images should have some points even in the darkest area to avoid the 'black hole' effect)

input anamorph: check if input is anamorph

v-move%: if input is vertically larger than output, you can decide which area of the image is visible. my hint is to use fixed values (without animation) here and only use even integer values (2,4,6,8 ....) to avoid unnecessary blurs.

output anamorph: check when output should be anamorph

output letterbox: use menu to select format, color to select the background

v-crop pix: how many scan lines to crop at the top and the bottom of the image

vrop stage: crop from the output of the filter (visible image shrinks) or the input of the filter (image scales to fit format)


W H Y | sometimes there is the need to push a shot which was made with very few light involved. this filter does it with four levels.

boost: select boost-level from menu

preserve whites: compresses image before boosting to preserve some of the bright details

blend=degrain: blending of more than one frame of the source clip. see 'degrain' filter for description.

gain ; saturation: reduce gain and/or saturation of the image after the boost

note: this plugin is also great to boost color: reduce gain after the boost to set luma to inital levels


W H Y | cropping an image in FCP can be a nightmare if you want to remove a certain amount of pixels. that's because the input values of FCP's cropping are based on percentage of the images width/height. so here is the true pixel-cropping solution. please be aware that - because of FCP's internals - it is possible that the cropping you see on the FCP canvas is different than that of the image visible on a video monitor (or after rendering the effect). to avoid this, always adjust the cropping of this filter while looking onto the real video monitor or set the zoom level of the FCP canvas to 100%.

cropping left/right/top/bottom: set amount of pixels to crop

align h/v: automatically aligns the remaining image on the screen

offset h/v: moves image AFTER align. so its easy to make a preset which positions the cropped image exactly 10 pixels away from the right edge of the screen while it is centered vertically.

edge blur amount: blurs the cropped edges of the image. when the image is aligned on any side of the screen and the corresponding offset is zero, blurring on this edge is suppressed.

edge blur mode: 'normal'... the edges of the image are blurred. 'alpha only'... the edges of the image stay sharp while the alpha is blurred: this gives an interesting effect: with higher blur amount, looking like a soft shadow with the image faded in from outside to inside.

alpha offset: with this you can enhance the effect of 'alpha only' further, by moving the alpha diagonally a bit.

pixelRebirth (NEW jan06) 

W H Y | failure of camera chip, failure of capture card/software or something else can lead to an image with dead pixels. I just had to deal with such clips for a feature film. this plugin averages the colors of the surounding pixels to hide the dead pixel.

location: position of dead pixel

fine x/y: adds to location set with cursor

enabled: 1 fills pixel, 0 does'nt. use this slider to switch with keyframes.

size/softness: the dead pixel is 'over written' with a soft dot, set dot size and softness here.

luma shift: make sampled color a bit darker or brighter.

help: to find exact pixel position, first view replacement pixel in white/grey/black before switching to sampled color.


W H Y | I made this filter before FCP HD introduced the enhanced scaling algorithm. but I think this plugin is still useful when doing pictureInpicture effects, because it tries to avoid a flickering of the scaled image while also providing cropping per pixels.

cropping left/right/top/bottom: set amount of pixels to crop

prefiltering: reduces heavy contrast which tends to flicker after scaling

deinterlace: helps a lot to avoid flickering

sourceblur: an additional way to fight against flickering. sourceblur also changes its internal value in relation to the shrink size - the smaller the resulting image, the more the source gets blurred. use the blur amount slider to adjust the influence of this feature

shrink to: the percentage value the source is shrinked to

center and/or shiftX/Y: place the shrinked image to a new position on the screen

unsharpMask (updated jan06) 

W H Y | unsharp masking is a useful effect to improve an image by 'sharpening' . but it doesn't always make sense to unsharpen the whole image - if applied in excess an unsharpen masked image can look like having been machine-gunned. a better way is to unsharpen only important details, like the face of a person while the background is left untouched. a way to partially unsharpen is using the alphashape filter (see above) or to restrict the affected luma range, as this filter does.

amount/radius/treshold: work the same way as FCP's own unsharp mask filter

luma-min: only process luma that is brighter than set here

luma-max: only process luma that is darker than set here

softness: set softness of the internally generated luma mask

show mask: see generated mask while adjusting, switch off to see result and before rendering

YUVtool (FREE) 

W H Y | once while shooting a feature film, the digibeta cam used then suddenly freaked out and - for some reason - the crew had no chance to repair or exchange it within the day. so I finally got the tape to have a look if the material could be used. Somebody gave me a hint that something with encoding inside the cam was broken/misaligned. so this filter was born, created to manipulate numerous YUV parameters which would not be adjustable by usual color correction. another use of this filter could be to repair a copy of a tape where the YUV cables were plugged in wrongly (called super fast copy mode). the last time I used this filter was with material shot with an HDV camera which was edited in DV down-converted inside the camera. when I got the final cut (on DV tape) for color correction I noticed that on some shots the color channels were offset from the luma channel. I had no time to figure out where these offsets came from, but this filter helped me to fix them.

H O W | the labels of the sliders should be telling enough to know what to do; some technical knowledge about video processing will help, though.

download demo versions from my site
to buy the set of full functioning plugins please go to the store

to write about pros and cons regarding the plugins please only use plugins@1z1.at

all texts and images on this site ©2005-2006 kurt hennrich, 1z1screenworks, vienna
final text editing: roland hofmann, lamebrain lingo, vienna