mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
swscale: add padding to conversion buffer.
Altivec does unaligned reads from this buffer in hscale_altivec_real(), and can thus read up to 16 bytes beyond the end of the buffer. Therefore, add an extra 16 bytes of padding at the end of the conversion buffer. This fixes fate-lavfi-pixfmts_scale on AltiVec-enabled builds under valgrind. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This commit is contained in:
parent
b8a1b880ee
commit
124e56454d
@ -871,7 +871,7 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
|
|||||||
if (c->dstBpc == 16)
|
if (c->dstBpc == 16)
|
||||||
dst_stride <<= 1;
|
dst_stride <<= 1;
|
||||||
FF_ALLOC_OR_GOTO(c, c->formatConvBuffer,
|
FF_ALLOC_OR_GOTO(c, c->formatConvBuffer,
|
||||||
FFALIGN(srcW, 16) * 2 * FFALIGN(c->srcBpc, 8) >> 3,
|
(FFALIGN(srcW, 16) * 2 * FFALIGN(c->srcBpc, 8) >> 3) + 16,
|
||||||
fail);
|
fail);
|
||||||
if (HAVE_MMX2 && cpu_flags & AV_CPU_FLAG_MMX2 && c->srcBpc == 8 && c->dstBpc <= 10) {
|
if (HAVE_MMX2 && cpu_flags & AV_CPU_FLAG_MMX2 && c->srcBpc == 8 && c->dstBpc <= 10) {
|
||||||
c->canMMX2BeUsed= (dstW >=srcW && (dstW&31)==0 && (srcW&15)==0) ? 1 : 0;
|
c->canMMX2BeUsed= (dstW >=srcW && (dstW&31)==0 && (srcW&15)==0) ? 1 : 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user