[FFmpeg-devel] [PATCH] Port x264 SSE2 deblocking code to H.264 decoder

Uoti Urpala uoti.urpala
Sat Dec 20 05:32:54 CET 2008

On Fri, 2008-12-19 at 19:27 -0800, Jason Garrett-Glaser wrote:
> libavcodec requires an aligned stack on x86_32--however, as far as I
> know, this is the first asm to be inserted into a very widely-used
> location that explicitly requires that alignment.  If a compiler
> cannot provide this, it cannot correctly compile libavcodec.

IIRC previous libavcodec code requires that stack variables declared to
be aligned will be aligned, and ICC _can_ provide that. If the new asm
requires that the stack pointer itself has particular alignment, not
just that aligned variables work, then that is a completely new
requirement unlike anything required before.

ICC just uses a different method to provide aligned stack variables.
With GCC the stack is aligned when entering FFmpeg code and then each
function call maintains alignment; with ICC each function using aligned
variables has code to adjust their position.

More information about the ffmpeg-devel mailing list