a system and method for performing motion compensation in an mpeg video decoder . the system comprises a horizontal half pixel compensation arrangement including multiple adders and multiplexers which perform horizontal half pixel compensation using an addition function , a division function , and a modulo function on pixel data . the system also includes a register bank which provides the ability to store an array of reference data when vertical half pixel compensation is required . the system also includes a verical half pixel compensation arrangement , which also includes multiple adders and multiplexers which perform vertical half pixel compensation using an addition function , a division function , and a modulo function on pixel data . reference data and odd pixel data is transferred into and within the system in a predetermined arrangement . reference and odd pel data may comprise either luma or chroma data . different picture types , prediction types , and pixel compensation requirements yield different data fetching schemes for luma and chroma data , and different reference motion vector data causes different luma and chroma transference to the motion compensation unit . the system also performs reference data averaging between various frames using a b - picture compensation unit , which operates when b - pictures with backward and forward motion vectors or p - pictures with dual - prime prediction occur .