From 20c86571ccc71412781d4a4813e4693e0c42aec6 Mon Sep 17 00:00:00 2001 From: Hendrik Leppkes <h.leppkes@gmail.com> Date: Fri, 15 Mar 2013 20:44:57 +0100 Subject: lavfi: let gcc realign the stack on public graph driving functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The functions which actually drive the filter graph by pushing frames through it need to ensure an aligned stack for SIMD functions. This fixes a crash in YADIF filter when using a mingw build in a MSVC application. Signed-off-by: Martin Storsjö <martin@martin.st> --- libavfilter/buffersink.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'libavfilter/buffersink.c') diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c index 6f7529172c..94e7366955 100644 --- a/libavfilter/buffersink.c +++ b/libavfilter/buffersink.c @@ -58,7 +58,8 @@ static int filter_frame(AVFilterLink *link, AVFrame *frame) return 0; } -int av_buffersink_get_frame(AVFilterContext *ctx, AVFrame *frame) +int attribute_align_arg av_buffersink_get_frame(AVFilterContext *ctx, + AVFrame *frame) { BufferSinkContext *s = ctx->priv; AVFilterLink *link = ctx->inputs[0]; @@ -98,7 +99,8 @@ static int read_from_fifo(AVFilterContext *ctx, AVFrame *frame, } -int av_buffersink_get_samples(AVFilterContext *ctx, AVFrame *frame, int nb_samples) +int attribute_align_arg av_buffersink_get_samples(AVFilterContext *ctx, + AVFrame *frame, int nb_samples) { BufferSinkContext *s = ctx->priv; AVFilterLink *link = ctx->inputs[0]; @@ -144,7 +146,8 @@ static void compat_free_buffer(AVFilterBuffer *buf) av_free(buf); } -static int compat_read(AVFilterContext *ctx, AVFilterBufferRef **pbuf, int nb_samples) +static int attribute_align_arg compat_read(AVFilterContext *ctx, + AVFilterBufferRef **pbuf, int nb_samples) { AVFilterBufferRef *buf; AVFrame *frame; -- cgit v1.2.3