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 [8] 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) [5] ? ? Yes Yes ?
H.264 fullscale flag support [6] ? ? No No ?
Built-in LCD screen aspect ratio 4:3 4:3 3:2 3:2 3:2
TV out resolution [7] 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 [4] Baseline @ 3.0 Baseline @ 3.0 High @ 3.0 High @ 3.1
Maximum macroblocks 1200 1620 1620 1620 3600
Maximum resolution/framerate [8] 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 [1] N/A 5000kbps? N/A N/A N/A
Maximum local bit rate [1] 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 [2] No No No No ?
QT transformation matrix [2] Yes Yes No? No? ?
PASP atom [2] Yes ? Yes Yes ?
UUID atom required [3] Yes No No No No
[1] 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.
[2] 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).
[3] 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.
[4] 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.
[5] 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.
[6] 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).
[7] 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).
[8] 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.