Archive for October 16th, 2009

Regarding Apple’s iFrame Spec

There is undoubtedly a lot of pain around trying to edit h.264: there’s a lot of slowness, and often crashiness across the board of video editors. The way most people are going around the problem is either by using proxy files, or Cineform or other respectable intermediate formats (e.g. ProRES, Avid DNxHD).

Apple thinks that it can outsmart us all.

They recently released their new spec for an iFrame based h.264 format that’s locked to 540p. The reason for doing that was just so iMovie can deal with these impossible-to-edit h.264 formats without re-encoding into AIC (another bullshit format they invented back in the day). So far, two Sanyo cameras support the iFrame format.

The problem with the i-Frame idea is that it’s locked to 540p. There you are, buying a $400 1080p digirecorder, and Apple suggests you record in 540p, which is 1/4th of the camera’s native 1080p resolution! In other words, you just threw away in the garbage $300 just so Apple can say that its iMovie is fast to edit. Well, here’s a finger to you Apple.

What Apple should have done was simply to implement a proxy system. Not like their demanding proxy ProRES system like they have on FCP, but a simpler one. One that employs mpeg2 at either 640×360 or 854×480 at ~2 mbps. Mpeg2 is a piece of cake to decode, especially at 2 mbps low-res, they would be very small files considering the size of the originals, and as importantly, it’s really fast to encode. Encoding a 1080p h.264 stream to VGA mpeg2 will be ready in a flash on a modern machine!

And of course, the proxy system should be transparent to the iMovie user. Although, the user should have the preference available to decide if he/she wants the proxies in the first place, and switch between the two modes easily (in case he/she wants to color grade at the end of the editing process). And by default, the exporting will always be done using the high res native versions of the files.

In my opinion, this would be a very acceptable solution. Very little “waiting” for the user while encoding the proxies, very easy editing (much easier than the current iFrame format), flexibility, and exporting using the native files. Instead, what we get is one more of these Apple “innovations” that never actually solve the problem, but create new ones. While Apple has realized miracles in their iPod and iPhone divisions, the iMovie part of things always seemed like a disaster to me. It’s like they are putting their lower grade engineers to work on these projects.

Another way to battle the problem is to take their head out of their ass and implement full GPU acceleration (via Purevideo2 and similar technologies) for h.264 decoding. If a team of 3 freelance programmers are able to create CoreAVC, the fastest h.264 decoder in the world (5% CPU utilization on a 1080/30p video), then Apple (and Sony, and Adobe) should be able to do that too. Crippling people’s HD experience is never an option though.

Death to the iFrame.