diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2011-05-26 17:15:38 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-05-28 23:43:33 +0400 |
commit | 485d73ef215323ead6cb58a83853d1f6b52ede54 (patch) | |
tree | 4aaca0a765d17f82590b1343e0a7f2bc12625cd8 /libswscale/swscale_template.c | |
parent | 895e4de8d5a0760a48ba968546693d9094a62013 (diff) |
swscale: replace formatConvBuffer[VOF] by allocated array.
This allows to convert between formats of arbitrary width,
regardless of the value of VOF/VOFW.
Diffstat (limited to 'libswscale/swscale_template.c')
-rw-r--r-- | libswscale/swscale_template.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c index 586614f989..2957aa4719 100644 --- a/libswscale/swscale_template.c +++ b/libswscale/swscale_template.c @@ -490,9 +490,10 @@ inline static void hcscale_c(SwsContext *c, uint16_t *dst, long dstWidth, src2 += c->chrSrcOffset; if (c->chrToYV12) { - c->chrToYV12(formatConvBuffer, formatConvBuffer+VOFW, src1, src2, srcW, pal); + uint8_t *buf2 = formatConvBuffer + FFALIGN(srcW*2+78, 16); + c->chrToYV12(formatConvBuffer, buf2, src1, src2, srcW, pal); src1= formatConvBuffer; - src2= formatConvBuffer+VOFW; + src2= buf2; } if (c->hScale16) { |