The below is very much a work-in-progress and, especially where question marks follow a value, should NOT be relied upon at this time. It will be updated from time to time and is expected to come out of "beta" probably never.
The focus of this comparison is entirely on H.264 video playback capabilities. MPEG-4 has not been considered, but I would welcome feedback from anyone who has done similar research on that encoding method.
Code: Select all
Device  iPod with Video iPod Classic/Nano iPhone/iPod Touch iPhone/iPod Touch iPhone/iPod Touch --------------- ----------------- ----------------- ----------------- ----------------- Generation 5G,5.5G 6G/3G,4G Orig,3G/1G,2G,3G 3GS/3G (excl. 8GB) 4/4G Color depth (LCD) 16-bit ? 24-bit 24-bit ? Rec. 601 L/C YUV scaling (LCD)  ? ? Yes Yes ? H.264 fullscale flag support  ? ? No No ? Built-in LCD screen aspect ratio 4:3 4:3 3:2 3:2 3:2 TV out resolution  480i 480p, 576p 480i, 576i 480i, 576i? 1024x768, 720p TV out aspect ratio 4:3 4:3, 16:9 4:3, 16:9 4:3, 16:9 4:3, 16:9 Firmware version 1.3 1.0.3 3.1/3.1.1 3.1 ? H.264 Profile & Level "Low" @ 3.0  Baseline @ 3.0 Baseline @ 3.0 High @ 3.0 High @ 3.1 Maximum macroblocks 1200 1620 1620 1620 3600 Maximum resolution/framerate  640x480/30fps (2) 720x480/30fps (6) 720x480/30fps (6) 720x480/30fps (6) 1280x720/30fps (5) (maximum reference frames) 720x576/25fps (5) 720x576/25fps (5) 720x576/25fps (5) Maximum iTunes average bit rate  N/A 5000kbps? N/A N/A N/A Maximum local bit rate  2500kbps 10000kbps 10000kbps N/A N/A VBV buffer size 2000kbit 10000kbit 10000kbit N/A N/A Deblocking Yes Yes Yes Yes Yes CABAC No No No Yes Yes B-frames No No No Yes Yes B-frames as references (b-pyramid) No No No Yes Yes Weighted prediction (weightp) No No No Yes Yes 8x8 Transform (8x8dct) No No No Yes Yes Custom quantization matrices No No No ? ? Variable frame rate Yes Yes Yes Yes Yes H.264 SAR/PAR  No No No No ? QT transformation matrix  Yes Yes No? No? ? PASP atom  Yes ? Yes Yes ? UUID atom required  Yes No No No No  The maximum local bit rate represents the maximum hardware capability of the device. Local bitrate is defined as the average bitrate for a VBV buffer at 100% capacity. iTunes 7.5 currently limits syncs to the iPod Classic and Nano (but not the iPod with Video, the iPhone, or the iPod Touch) to bitrates less than 5000?kbps average bit rate.  These are used for anamorphic video support. The usage of these may affect correct aspect ratio display in QuickTime, please see http://handbrake.m0k.org/forum/viewtopic.php?t=3578 for details. Use of H.264 SAR/PAR is harmless and is ignored by the iPod (but is respected by nearly all software players, including QuickTime 7.3+). Investigation into PASP compatibility across players is ongoing. The most-compatible solution at this time appears to be a combination of H.264 SAR/PAR signalling (for players that support it) and forcing the apparent height/width of the content to scaled anamorphic values (for iPod/Apple TV).  This atom indicates the maximum number of macroblocks supported and is needed only for resolutions in excess of 320x240 on the iPod 5G, but in practice was believed to actually be used by Apple as a means of inhibiting end-users from creating their own high-resolution content rather than purchasing from the iTunes Store.  Apple calls the reduced functionality version of the H.264 Baseline profile level 3.0 implementation on the iPod Video "low-profile", which effectively translates into a reduction in maximum macroblocks, resolution, reference frames, bitrate, and buffer size from the published level 3.0 standard. All other iPods are capable of full 3.0 Baseline. The iPhone 3GS supports 3.0 High profile.  Rec. 601 (standard definition TV output) says YUV values for luma on DVD should be limited to 16-235 and chroma should be limited to 16-240. This is the maximum allowed for SD DVD content, and brightness/colors look as intended for TV display. However, these are inappropriate for LCD display, where RGB ranges of 0-255 are used and black ends up looking dark grey and bright whites are dimmed. Rec. 601 scaling maps the luma and chroma from values appropriate for TV display to values appropriate for LCD display, making color representation consistent across different display types.  This flag is used to signal the decoder that the luma/chroma YUV values are either Rec. 601 or RGB scaled as described above, but many decoders do not honor this flag and always assume Rec. 601 (including the iPod).  The iPhone 4 is reportedly compatible with the Apple Digital AV Adapter (Dock to HDMI), which can output a 1080p signal (for games). Presumably the max. video out resolution is 720p. 1024x768 is available via the Apple VGA Adapter (Dock to VGA).  There have been user reports that 720x576 resolution may not sync, even if the framerate is <= 25 fps. Also, we have no data on the video playback capabilities of the Nano 4G.