This can change depending on OS platform, video hardware, and drivers.
On my system, with an ATI Radeon 9800 Pro and the latest QuickTime and
Catalyst drivers, video black in Apple's "Guys and Balls" trailer is
[24,
24, 24] with hardware acceleration and [5, 5, 5] without. Video white
is
[252, 250, 253] with, and [255, 255, 255] without.
Apple doesn't do anything special other than TETOTOAYTM (test early,
test
often, test on all your target machines) to make sure that dark and
light
detail doesn't get lost. It's every compressionist's job to do the
same.
I find it hard to believe that consistent color reproduction is so
difficult to achieve. Either QT should query the driver for the
requested input format and convert to it if necessary, or the driver
should be able to handle the conversion given the input format.
This is especially true is the input is already standard for the
compressed format (usually gamma = 2.2, video range).
Don't get me started on the video range /full range problem (no API to
handle it) or even the gamma aspect. We have an API for frame buffer
gamma and a 'gama' image description extension. Both features are used
by some applications/codecs/export components and blissfully ignored by
others. Finding my way through this mess either as a user or as a
programmer is frustrating.