De Velocity Engine (zo genoemd door Apple. Motorola heeft als tradename AltiVec, en IBM noemt het VMX) is onderdeel van de Execution Core van G4 en G5 processors. De Velocity Engine werkt met 128-bit registers, in de vorm van vectors. Door middel van deze vectors kan een enkele bewerking op meerdere data tegelijk uitgevoerd worden (SIMD processing).
Door deze zeer efficiente manier van bewerken kan een programma wel 30 keer zo snel worden.
Een register (128-bit vector, waarvan er 32 aanwezig zijn) kan zowel integers als floats bevatten.
In die 128 bits passen de volgende types (ondersteund door de Velocity Engine):
16 8-bit ints
8 16-bit ints
8 16-bit pixels (5 bit components, en 1 bit alpha)
4 32-bit ints
4 32-bit floats
4 32-bit pixels (8 bit components)
Met de Velocity Engine komt een hele reeks functies om met vectors te rekenen. Denk aan simpele dingen zoals vermenigvuldigen:
met één enkele functie waarin deze twee vectors gaan, wordt in één keer vier vermenigvuldigingen uitgevoerd, en komt er een vector uit met het resultaat:
4 32-bit ints: [04108][03336][28893][32348]
Ook zijn er Logic Operator functies, Shift en Rotate functies, round, truncate, floor, ceiling, etc.
Met een load- en store functie kan je van een adres 16 bytes in een vector zetten, dingen er mee doen, en ze dan weer op het adres terug zetten.
Er zijn ook nog libraries met nog meer functionaliteit, veelal speciaal voor een type applicatie. Zo is er een DSP library, met FFT functies (1D en 2D), Convolutie, Correlatie, en nog wat extra wiskundige functies.
Ook is er een library voor DIP, met functies voor Convolutie, Morphology, geometrische bewerkingen, Histogram functies en nog meer.
Verder zijn er nog libraries voor verschillende soorten wiskunde, en een Big Number Library, voor bewerkingen met 256, 512 en 1024 bits .