Important: The information in this document is obsolete and should not be used for new development.
The following new multiprocessor-related APIs, which are part of the Image Compression Manager, have been introduced:
The functions ICMSequenceSetInfo and ICMSequenceGetInfo.
The constants kICMSequenceTaskWeight and kICMSequenceTaskName.
The taskWeight and taskName fields
of CodecCompressParams and CodecDecompressParams.
The functions ICMSequenceSetInfo and ICMSequenceGetInfo are
general property-setters for compression and decompression sequences.
They provide support for two properties, kICMSequenceTaskWeight and kICMSequenceTaskName,
which allow ICM clients to request that multiprocessor tasks assisting
compression and decompression operations use specific task weights
and task names.
The task name has no performance impact, but it can be helpful while debugging.
If your compressor or decompressor component creates MP tasks
and the taskWeight and/or taskName fields
of the CodecCompressParams or CodecDecompressParams structures
are nonzero, you should assign the MP tasks weights and/or names
using the MPSetTaskWeight and/or MPSetTaskType routines.
The compressedDataSize field
has also been added to the CodecCompressParams field.
This provides a safer way for asynchronous compressors to return
the size of the compressed frame data. (Previously, compressors
had to return the size in a field of the image description, which
can be an unlocked handle.)
Note that Apple’s multiprocessing APIs provide support for both co-operatively scheduled tasks and preemptively scheduled tasks. The APIs for preemptively tasks allow applications to create symmetrically scheduled preemptive tasks that can be run on a single processor machine, and will take full advantage of multiple processors when they are installed.
For more information, refer to http://developer.apple.com/macos/multiprocessing.html
Last updated: 2001-10-01