On 10/14/2012 08:13 AM, Ronald S. Bultje wrote:
> Hi,
>
> On Sat, Oct 13, 2012 at 11:06 PM, Luca Barbato <[email protected]> wrote:
>> ---
>>
>> Here an initial patch to support many yuva, apparently either I botched
>> adding them (since I did lots of cut and paste) or they manage the expose
>> some
>> flaws in swscale. valgrind manages to spot something and might be nice if
>> other people try this and see if the values for the fate-lavfi change after
>> each round.
>
> If this is what I think it is, search for YUVA420P in swscale and
> replace it with a generic alpha check.
libswscale/swscale_unscaled.c: if ((srcFormat == AV_PIX_FMT_YUV420P
|| srcFormat == AV_PIX_FMT_YUVA420P) &&
libswscale/swscale_unscaled.c: srcFormat == AV_PIX_FMT_YUVA420P)
&& isAnyRGB(dstFormat) &&
libswscale/swscale_unscaled.c: (dstFormat == AV_PIX_FMT_YUV420P
|| dstFormat == AV_PIX_FMT_YUVA420P) &&
libswscale/swscale_unscaled.c: (dstFormat == AV_PIX_FMT_YUV420P
|| dstFormat == AV_PIX_FMT_YUVA420P) &&
libswscale/swscale_unscaled.c: if (srcFormat ==
AV_PIX_FMT_YUV420P || srcFormat == AV_PIX_FMT_YUVA420P) {
libswscale/swscale_unscaled.c: (dstFormat == AV_PIX_FMT_YUV420P ||
dstFormat == AV_PIX_FMT_YUVA420P))
libswscale/swscale_unscaled.c: (dstFormat == AV_PIX_FMT_YUV420P ||
dstFormat == AV_PIX_FMT_YUVA420P))
libswscale/swscale_unscaled.c: (srcFormat == AV_PIX_FMT_YUVA420P
&& dstFormat == AV_PIX_FMT_YUV420P) ||
libswscale/swscale_unscaled.c: (srcFormat == AV_PIX_FMT_YUV420P
&& dstFormat == AV_PIX_FMT_YUVA420P) ||
All of those seem to just consider yuva420 as yuv420
libswscale/x86/yuv2rgb.c: c->srcFormat != AV_PIX_FMT_YUVA420P)
libswscale/x86/yuv2rgb.c: if (c->srcFormat ==
AV_PIX_FMT_YUVA420P) {
libswscale/x86/yuv2rgb.c: if (c->srcFormat ==
AV_PIX_FMT_YUVA420P) {
libswscale/yuv2rgb.c: if (CONFIG_SWSCALE_ALPHA && c->srcFormat ==
AV_PIX_FMT_YUVA420P)
libswscale/yuv2rgb.c: if (CONFIG_SWSCALE_ALPHA && c->srcFormat ==
AV_PIX_FMT_YUVA420P)
And this is about yuva -> any not any -> yuva
What is strange is that building with clang+asan makes the problem
disappear...
lu
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel