Fixes a checkasm segfault in vp8dsp.mc due to stack corruption in above functions. llvm's internal assembler evaluates boolean expressions to 1 and not to -1 like GNU as. This avoids the boolean expression and halves the stack usage for size 4 and 8 since the previous calculation allocated more stack than necessary. --- libavcodec/arm/vp8dsp_armv6.S | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/libavcodec/arm/vp8dsp_armv6.S b/libavcodec/arm/vp8dsp_armv6.S index 4e83fe1..8e9f0e7 100644 --- a/libavcodec/arm/vp8dsp_armv6.S +++ b/libavcodec/arm/vp8dsp_armv6.S @@ -1226,13 +1226,7 @@ vp8_mc_1 bilin, 8, v vp8_mc_1 bilin, 4, h vp8_mc_1 bilin, 4, v -/* True relational expressions have the value -1 in the GNU assembler, - +1 in Apple's. */ -#ifdef __APPLE__ -# define TMPSIZE \size * (8 + 8*(\size > 4) + \ytaps - 1) -#else -# define TMPSIZE \size * (8 - 8*(\size > 4) + \ytaps - 1) -#endif +#define TMPSIZE \size * (\size + \ytaps - 1) .macro vp8_mc_hv name, size, h, v, ytaps function ff_put_vp8_\name\size\()_\h\v\()_armv6, export=1 -- 2.9.0 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
