mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This commit is contained in:
parent
c51838478c
commit
70a1c8000f
@ -401,11 +401,13 @@ av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
|
|||||||
|
|
||||||
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse2;
|
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse2;
|
||||||
|
|
||||||
|
#if ARCH_X86_64 || HAVE_ALIGNED_STACK
|
||||||
c->vp8_h_loop_filter16y_inner = ff_vp8_h_loop_filter16y_inner_sse2;
|
c->vp8_h_loop_filter16y_inner = ff_vp8_h_loop_filter16y_inner_sse2;
|
||||||
c->vp8_h_loop_filter8uv_inner = ff_vp8_h_loop_filter8uv_inner_sse2;
|
c->vp8_h_loop_filter8uv_inner = ff_vp8_h_loop_filter8uv_inner_sse2;
|
||||||
|
|
||||||
c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse2;
|
c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse2;
|
||||||
c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse2;
|
c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse2;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mm_flags & AV_CPU_FLAG_SSSE3) {
|
if (mm_flags & AV_CPU_FLAG_SSSE3) {
|
||||||
@ -419,6 +421,7 @@ av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
|
|||||||
c->vp8_v_loop_filter_simple = ff_vp8_v_loop_filter_simple_ssse3;
|
c->vp8_v_loop_filter_simple = ff_vp8_v_loop_filter_simple_ssse3;
|
||||||
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_ssse3;
|
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_ssse3;
|
||||||
|
|
||||||
|
#if ARCH_X86_64 || HAVE_ALIGNED_STACK
|
||||||
c->vp8_v_loop_filter16y_inner = ff_vp8_v_loop_filter16y_inner_ssse3;
|
c->vp8_v_loop_filter16y_inner = ff_vp8_v_loop_filter16y_inner_ssse3;
|
||||||
c->vp8_h_loop_filter16y_inner = ff_vp8_h_loop_filter16y_inner_ssse3;
|
c->vp8_h_loop_filter16y_inner = ff_vp8_h_loop_filter16y_inner_ssse3;
|
||||||
c->vp8_v_loop_filter8uv_inner = ff_vp8_v_loop_filter8uv_inner_ssse3;
|
c->vp8_v_loop_filter8uv_inner = ff_vp8_v_loop_filter8uv_inner_ssse3;
|
||||||
@ -428,14 +431,17 @@ av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
|
|||||||
c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_ssse3;
|
c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_ssse3;
|
||||||
c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_ssse3;
|
c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_ssse3;
|
||||||
c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_ssse3;
|
c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_ssse3;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mm_flags & AV_CPU_FLAG_SSE4) {
|
if (mm_flags & AV_CPU_FLAG_SSE4) {
|
||||||
c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4;
|
c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4;
|
||||||
|
|
||||||
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse4;
|
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse4;
|
||||||
|
#if ARCH_X86_64 || HAVE_ALIGNED_STACK
|
||||||
c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse4;
|
c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse4;
|
||||||
c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse4;
|
c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse4;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user