If you want to skip the background details, you can jump straight to the cookbook.
NEW! Daniel Rogers has created a utility to make this easier!

Anamorphic widescreen in iDVD 5

Apple has finally given us support for anamorphic widescreen. It probably should not surprise us that it doesn't work quite as advertised...

I have been shooting widescreen video for about two and a half years now. My camcorder supports it, and we will soon be living in a world of 16:9 monitors. Since my camcorder, my editor, and by DVD player can all handle anamorphic widescreen properly...in fact, everything in the process except my 4:3 television set can handle it properly...I figured I should get started.

But I'm a bit finnicky. I don't have an HD camcorder just yet, so I'm stuck with the 720x480 resolution of Mini-DV. That isn't so bad, actually, as it stretches very nicely to fit the widescreen frame. But I want no compromises. DV resolution is bad enough compared to the 1920x1080 HDTV standard without wasting pixels in effect-driven (squish to 720x403) letterboxing. No, I insist that my widescreen production be done by stretching the full DV resolution to fit a widescreen set, or by letterboxing on a standard set.

Unfortunately, this has never been a documented feature of iDVD. I started with iDVD 3, which offered no support. Thanks to a website I cannot find anymore, I learned that I could allow iDVD to encode my MPEG-2 video, then change a couple of bytes in the encoded video file to tell the player that the video was widescreen, then allow iDVD-3 to burn that edited MPEG file to disk.

That almost worked. In fact, if I play back a disk edited in this way using Apple's DVD Player application, it switches to wide-screen mode. Unfortunately, if I play that disk on my set-top DVD player, I get a horizontally squished full-screen picture. That isn't what I wanted.

A bit of research drew me to the inescapable conclusion: The problem was not in the MPEG files (the .VOB files on the DVD) but rather in the accompanying description files (.IFO). With that, I was pretty much stuck, since iDVD generates the .IFO files 'on the fly' instead of encoding those in the background as it does the MPEG files.

iDVD 5 to the rescue!

iDVD 5 should have been a fix for the problem. iDVD 5 officially supports wide screen DVDs, and the new iMovie HD supports both high-definition and standard-definition widescreen content. I still can't stand iMovie, but perhaps I could tell iDVD 5 to handle my wide-screen movies.

No such luck.

Like the previous versions of iDVD, iDVD-5 uses the same point-and-drool interface where everything is done for you automatically. When I imported my widescreen reference movies (created in Avid Xpress Pro) into iDVD 5, they got squeezed into a 4:3 screen. I was able to get iDVD to handle my movies as widescreen by exporting them from the Avid at 854x480 (instead of the usual 720x480), but the double-scaling led to unacceptable quality loss. So I was able to import movies that were converted to wide screen and have iDVD import them, but that isn't what I wanted. I wanted to be able to import an anamorphic 720x480 QuickTime movie.

Note: I never tried resetting the SIZE properties in QuickTime Pro. It might be possible to reset the size to 854x480 on the reference movie, leaving the actual data files at 720x480. That might work without the double scaling, but I have not tried it.

Colin Mcfadden to the rescue

Colin McFadden had the same problem working with Final Cut Pro, so he came up with an Applescript droplet which he calls The Anamorphiciser. By dragging your 720x480 movie to Colin's app, you get a new movie with a flag set that tells iDVD to handle the clip as wide screen.

Great! Now the clip plays in widescreen in the iDVD preview. If I burn a disc and play it back on my Apple, it plays wide screen. Problem solved, right?

Wrong.

Now, when I play the disc back on my set-top DVD player, my wide-screen movie is squeezed on my 4:3 television set. And it happens on all three set-top DVD players I try. So apparently something STILL isn't right.

Which IFO file?

The DVD information is stored on the disc in a folder called VIDEO_TS. Inside that folder are the VOB files, which are the multiplexed MPEG-2 streams, and the IFO files which are the description files. If you have a program that can play muxed MPEG-2 streams, such as MPlayer or VLC, you can play each of the VOB files to find the one you are looking for. The associated IFO file should have the same filename, but the IFO file extension.

On a hunch, I fired up HexEdit and looked at the .IFO file for my video clip. Sure enough, at Byte #$200, I saw something I didn't plan to see.

A look at the IFO file specifications reveals that Bytes #$200-#$201 are the "video attributes" bytes for the file. iDVD set $200 of the IFO file for my clip to $4F, which translates to 01001111. A look at the Video Attributes section of the IFO specification sheet reveals that this won't give the behavior I expect from my DVD:

BitFunction
7
6
0
1
0 = MPEG-1
1=MPEG-2
5
4
0
0
0 = NTSC
1 = PAL
3
2
1
1
00 = 4:3
11 = 16:9
111 = Prohibit pan & scan
011 = Prohibit letterbox

The first couple of bits are okay, as I want MPEG-2 encoding. The next two are okay, as I am working in NTSC. So the upper nibble is okay. In the lower nibble, the first two bits are correctly set for 16:9. So far, so good. But then there are those last two bits. Those are instructions to the DVD player and they tell the DVD player how it may interpret the data on the disc if the disc aspect ratio doesn't match the television set. Which is, of course, exactly the problem we are trying to solve: how to display a 16:9 movie on a 4:3 monitor.

Clearing those last two bits, then, would tell the DVD player to apply its own correction algorithm to fix the picture. The bad thing about doing that is that if the user has an incorrectly configured DVD player connected to a 16:9 set, it might double-letterbox (you've probably seen that in electronics stores...) or crop and stretch to fit (another Best City Shack favorite). But if everything is configured correctly, the DVD player will correct the picture to fit the screen, which is presumably what we want! In fact, as I am a little bit demanding, my preference is to leave that 2's bit set and just clear the 1's bit, thus allowing the DVD player to letterbox, but NOT to pan and scan. So if I change that byte from $4F (01001111) to $4E (01001110), that should give me what I want.

Nowhereman, a participant in the Apple iDVD 5 discussion forum, pointed out that for each .IFO file on the DVD, there is an additional, identical file which is a backup of the .IFO file. Not surprisingly, this file has the extension, ".BUP". He points out that technically, if you change the .IFO file, you should also change the corresponding .BUP file in the same way.

Several correspondents have indicated difficulty in using the HexEdit tool. I didn't get into the use of the tool here, but there are a couple of 'gotchas'. First, by default, HexEdit starts in a 'read only' mode, and you have to choose "Use Over-Write Mode" from the Options menu to actually make changes to the file. Some people have also reported problems with file permissions, as disk images such as those created by iDVD are read-only. You can change the permissions on the disk image and on the files in the image, but I seem to recall not having that problem...but then, I used copies of the disk image files, rather than working directly with the files created by iDVD. Just be aware that you need to have write permission for the files you are working with.

Not quite there yet...

This is all well and good. But there is a bit of a problem. A DVD is a read-only medium. To make matters worse, Apple's DVD disk images are also read-only, and if I convert a disk image of a DVD to a read-write image and make changes, then burn that image to a fresh DVD, I end up with a data disk that won't mount properly on a DVD player. Now, it's very possible that I am missing something important with regard to Apple's Disk Utility, but I have not yet found a way to convert the edited file back to something that I can burn to DVD. Lucky for me, someone else already did. That someone is Laine Lee, and the AppleScript file is called DVD Imager. DVD Imager converts a VIDEO_TS folder into a burnable, mountable DVD image that can be burned with Disk Utility and played on a standalone DVD player.

At least one correspondent indicated that if I create a "CD/DVD Master" using Disk Utility to create a disk image from my VIDEO_TS folder, that will create a playable DVD. I have not tried this myself, but it has been suggested to me, so I put that out there as an option.

New! A way to simplify things!

Daniel Rogers was having problems with widescreen DVDs and apparently stumbled on this page and got these techniques to work. He then got ambitious and created a new perl script which automatically fixes DVD images. It's a pretty cool script: it copies the IFO files from a mounted DVD image, determines which ones are encoded as widescreen, repairs the appropriate bits of those files, and creates a new, burnable DVD image. He doesn't have a web page up at the moment, but you can get the script from his server at www.phasevelocity.org/idvd-ws-fix. I've used it a few times with success.

Widescreen Video Cookbook

Software tools required:

Useful reference material:

Procedure:

  1. Run any widescreen QuickTime movies that did not originate in iMovie HD through the Anamorphiciser.
  2. Import your movies into iDVD 5.
  3. Test your DVD in iDVD and make sure that it says, "Widescreen preview" on the preview display for any widescreen movies.
  4. Have iDVD 5 create a disk image file. (No need to burn the disk if you're going to change it!)
  5. To do it the geeky way:
    1. Copy the VIDEO_TS file out of the disk image file.
    2. For each widescreen movie, use HexEdit to edit the associated .IFO and .BUP files. Edit Byte $200 in accordance with the IFO file specification sheet.
    3. Run the edited VIDEO_TS folder through DVD Imager to create a new burnable disk image.
  6. To do it the easy way:
    1. Mount the image file, then, using the terminal from the directory containing the iDVD Widescreen Fix script, issue the command:
      ./idvd-ws-fix --output=my-fixed-image.img /Volumes/MY_BROKEN_VOLUME
    2. Burn the new image to a disk using Disk Utility.

    Thanks to Nowhereman, Horst Tellioglu and Bob Morgen for quality assurance!

    Thanks to Daniel Rogers for taking this information and running with it!

    Let me know if you have any hints, tips, or suggestions!

--Dave Althoff, Jr.

Back to davealthoff.com...

Updated 03/26/2005

Updated 06/01/2005

Updated 10/21/2005