

Cacheline splits, aka Intel Hell - DarkShikari
http://x264dev.multimedia.cx/?p=8

======
PieSquared
I wish I understood that. I've been learning low-level stuff lately, assembly,
but I still have a way to go it seems...

~~~
a-priori
The unfamiliar terms for me in this article all had to do with this guy's
speciality: video encoding. I know very little about video encoding, but here
are two terms I just learnt:

\- "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."

~~~
DarkShikari
A SAD comparison is the following:

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.

