Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2013-03-15 23:44:57 +0400
committerMichael Niedermayer <michaelni@gmx.at>2013-03-17 02:52:35 +0400
commitd8dccf69ff2df7014a2bb8e0e17828a820f45b27 (patch)
tree4f0f2db72dd1aa529b807fe48b104b8139e12c0d /libavfilter/buffersink.c
parent8d84e90c9bf1a06ce107aedbf6db651fa276d6e5 (diff)
lavfi: let gcc realign the stack on public graph driving functions
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: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/buffersink.c')
-rw-r--r--libavfilter/buffersink.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c
index 8236f22b76..9bbc8d93b2 100644
--- a/libavfilter/buffersink.c
+++ b/libavfilter/buffersink.c
@@ -117,7 +117,7 @@ int av_buffersink_get_frame(AVFilterContext *ctx, AVFrame *frame)
return av_buffersink_get_frame_flags(ctx, frame, 0);
}
-int av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFrame *frame, int flags)
+int attribute_align_arg av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFrame *frame, int flags)
{
BufferSinkContext *buf = ctx->priv;
AVFilterLink *inlink = ctx->inputs[0];
@@ -169,7 +169,7 @@ 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];
@@ -264,7 +264,7 @@ static void compat_free_buffer(AVFilterBuffer *buf)
av_free(buf);
}
-static int compat_read(AVFilterContext *ctx, AVFilterBufferRef **pbuf, int nb_samples, int flags)
+static int attribute_align_arg compat_read(AVFilterContext *ctx, AVFilterBufferRef **pbuf, int nb_samples, int flags)
{
AVFilterBufferRef *buf;
AVFrame *frame;
@@ -348,7 +348,7 @@ AVRational av_buffersink_get_frame_rate(AVFilterContext *ctx)
return ctx->inputs[0]->frame_rate;
}
-int av_buffersink_poll_frame(AVFilterContext *ctx)
+int attribute_align_arg av_buffersink_poll_frame(AVFilterContext *ctx)
{
BufferSinkContext *buf = ctx->priv;
AVFilterLink *inlink = ctx->inputs[0];