View Full Version : UMH vs ESA Motion Estimation in x264


microchip8
9th August 2007, 19:18
Hi,

I see a lot of people recommend to stay away from ESA motion estimation as it is very slow and no better than UMH. Has anyone done any tests comparing ESA with UMH? And if ESA is no better than UMH, what's its purpose then? Why does it even exist. Are there "special" cases where ESA could gain quality compared to UMH?

woah!
9th August 2007, 19:41
i have seen clearly better results when i used esa on "some" sources. but the problem is when enabled it doesnt support multicores so for me (quadcore) its a real hit on speed. only when i was trying for really low bitrates did i see better results i should say aswell.

Dark Shikari
9th August 2007, 19:43
ESA is very heavily optimized (its not the standard ESA algorithm) and so its much faster than one would expect. The main weakness is the lack of threading support.

However, the benefit over UMH and even Hex is minimal for most sources. UMH provides about a 1.5-2% increase over Hex in my experience, and ESA often doesn't even get a 0.1% increase; UMH is already very good.

microchip8
9th August 2007, 19:50
how come there isn't threads support? code or algo limitations?

akupenguin
9th August 2007, 19:58
ESA only exists as a reference for me to compare the real motion estimation algorithms to. Supporting threads would have added complexity, so I didn't do it.

Sagekilla
9th August 2007, 20:10
In theory, if you wanted to, you could implement it right?

akupenguin
9th August 2007, 20:26
In x264_frame_filter(), compute the integral incrementally as pixels become available, instead of processing a whole frame at once.

burfadel
10th August 2007, 06:30
What other motion search algorithms are there? I've seen a few different types, not sure whether they're better or worse!

foxyshadis
10th August 2007, 07:50
From the good pengu himself: http://forum.doom9.org/showthread.php?p=693742#post693742

Several other examples: http://www.ece.cmu.edu/~ee899/project/deepak_mid.htm