Cacheline splits, aka Intel Hell
x264dev.multimedia.cx
x264dev.multimedia.cx
- "Motion search": Guessing where in a previous frame image data in the current frame came from.
- "SAD": Quoting Wikipedia, "Sum of absolute differences is a widely used, extremely simple video quality metric used for block-matching in motion estimation for video compression. It works by taking the absolute value of the difference between each pixel in the original block and the corresponding pixel in the block being used for comparison."
For all pixels A in a block 1 and B in a block 2, sum up abs(A - B). The total is the SAD of the two blocks. It compares each of the pixels of Block A with the corresponding pixel in Block B.
Its the simplest possible block comparison metric that still takes into account all individual pixels. Its popular not only because of its inherent simplicity, but also because of the psadbw MMX/SSE instruction that makes it extremely fast on x86 CPUs.
A motion search generally involves a whole lot of SADs, and since the motion search is the core of any video encoder, making the SADs faster has a huge impact on performance.