I am not anti-Apple and in fact own both a Mac and a PC, and like them both. My opinion of Final Cut Pro has been shaped since I got my tapeless AVCHD camera. Before then I was editor agnostic. Having come from a video background, its non-sensical way of handling things, and hours and hours of frustration trying to get it to work (eventually succeeded), and getting it to produce high quality footage (which I never got it to do) just made me give up on it completely. Here are the reasons why:
1) It forces a transcode to quicktime. This is the only editing software that forces a transcode before you even start editing. Let’s start with some fundamentals of integer math. All codec and display formats are integer. There do exist floating point image formats that are used for intermediate work spaces to achieve high dynamic range images and to reduce computational error.
Let’s do an average of two numbers, lets say the number 1 and the number 6. In floating point your result would be 3.5, but in integer number space there are no fractions, so the result would either be 3 or 4, depending on your rounding convention. The convention itself doesn’t matter as the precision remains the same whether you truncate or round up. The normal convention is truncation, so we will say that the integer result is 3 ±½. That half bit error by itself is not much cause for concern, except let’s say we take our result and do some more integer math on it. With each successive pass of integer math, we accumulate the error, so if we did another average on that result, our error would be ±1, and so on an so forth. If you do lots of math, you would expect the effect on your image to be a gradual drift of the accuracy of your pixels, and this is exactly what happens. This can be manifested as posterization of colour gradients, and loss of detail in your shadows and highlights.
Next, let’s talk about codec lossiness. Almost all compression codecs are lossy, which means when you encode you incur some loss of information. It doesn’t matter if what you are encoding to is a high quality format or not, every encode will make you lose information. The degree of lossiness depends on the codec and the degree of compression. The only non-lossy encoders are the ones that render to lossless bitmaps. For IDCT based codecs (jpeg, mpeg, h.264, etc.), this lossiness is manifested as macroblocking or mosquitoing. For wavelet based codecs (RedCode), lossiness is exhibited as blurriness.
The data flow of the ideal editor should be something like this:
i) Decode the picture
ii) Convert the picture to floating point
iii) Apply your effects in floating point
iv) Render to your final encoder (incur integer and encode errors here)
Unfortunately, the data flow of Final Cut Pro is something like this:
i) Decode your picture
ii) Encode to quicktime (incur both integer and encode errors here)
iii) Apply your effects in integer space (incur integer errors here)
iv) Render to your final encoder (incur both integer and encode errors here)
And indeed, we can observe these errors in any footage produced by FCP where the original source footage is high quality.
Why do they do this? Apple owns quicktime. Apple collects royalties on quicktime. Apple also owns FCP. Figure it out.
2) It makes you marry the camera and editing computer while it transfers. If you have non-quicktime footage, you can’t simple give the footage to your editor on a disk. You have to physically connect your camera to the editing machine and do a “log and transfer”, which means copy and transcode to quicktime. Depending on the speed of the editing machine, this can be as fast as half realtime to as slow as twice realtime. Let’s say its in the middle and will transfer at realtime speeds, and you’ve just finished a 30 day shoot where you’ve accumulated 2 hours of raw footage a day. That means you are paying your editor to sit on his ass for 60 hours while the log and transfer is occurring. Not to mention the time that your camera is also out of commission. There is absolutely no reason to do this. Tapeless cameras behave like removable drives when you plug them into your computer, it is actually extra work to detect whether a particular drive is a physical camera or not. The decoder already exists on your machine to do the log and transfer, why can’t it do an offline transcode, why does the camera have to be there? No other editing software has this requirement, and it is an absolute waste of time. The normal workflow of other editors is: copy the data to the editing machine (which is far faster than a transcode), open a clip with the editor, start editing.
Note: the last time I tried a log and transfer, it refused to recognize that there was a camera attached. I had previously transferred footage with the same machine and the same camera. The hypothesis is that there has been a Mac OS update or an FCP update which has completely broken log and transfer.
3) Apple ProRes. ProRes is a 10 bit 4:2:2 integer format with intrafame compression but no interframe compression. It’s integer. It’s a little bit lossy. It’s huge. For a short film I did, FCP turned 17GB of high quality raw footage into 192GB of lesser quality ProRes footage (because it had to transcode). If I had RED footage (12 bit), ProRes is absolutely not an option. ProRes is just an Apple scam to sell you more drive space, and since Macs are not user upgradeable, you have to go to an Apple store to do it and they will try to upsell you a new computer instead of doing the upgrade. If you have an AVCHD camera, ProRes is what comes out the other end after you do the log and transfer.
4) It interlaces all your footage. Turning my nice high quality progressive footage to interlaced is inexcusable. Progressive and interlace are most definitely not interchangeable. P30 footage has a complete frame every 1/30th of a second, and p24 footage has a complete frame every 1/24th of a second. When interpreted as interlaced, it is converted to show a field (half frame) every 1/60th of a second. So p30 footage will now have half its frame moved in time by 1/60th of second, and p24 footage is telecined with a 3:2 pattern and will have an uneven judder. If you were to watch the footage on an interlaced display, the point is moot, but if you are watching on a progressive display (like every computer monitor and most flat panel TV’s), then you are subject to the whims of the deinterlace algorithms used by your playback device. Deinterlacing is a programmatic way to convert fields into frames, and since each field only contains half your frame information, various techniques are used to guess what information is missing and fill it in. And this won’t fix your telecine judder unless your display device has inverse 3:2 pulldown detection (of which algorithms have their own flaws too). Deinterlacing most definitely does NOT get you back to your original quality. The only way that I have figured out to undo this disaster is to use Adobe Premiere CS4 and use the “interpret footage” command to make it progressive again.
5) It point samples when it scales your image. Let’s say all your source material is high def and you want to cut a standard def DVD. Then you have to scale it down to DVD resolution with some sort of resampling algorithm. The absolute worst algorithm to do this is point sampling, which is of course what FCP uses. In signal processing, the effect you get is called aliasing, where your signal is repeated at higher frequencies. This is manifested as jaggy edges along sharply defined objects, such as the rim of peoples glasses, venetian blinds, brick building, or moire patterns. As a single still image, the effect is not that noticeable, but when the image moves, the jaggies move too and pop out at you. It looks horrible. There are many good resampling algorithms out there, why use the worst one?
So there you have it. If there are any good reasons to use FCP, I don’t know them, so please enlighten me. It may be easy to use, it may have useful features, but if I can’t get high quality footage out of it, then it is of no use to me. Do yourself a favour and use Adobe Premiere or Sony Vegas instead.