[FFmpeg-devel] [PATCH] avfilter/vf_ssim: align temp size
Tobias Rapp
t.rapp at noa-archive.com
Wed Aug 2 15:45:38 EEST 2017
On 02.08.2017 14:04, Ronald S. Bultje wrote:
> Hi,
>
> On Wed, Aug 2, 2017 at 3:10 AM, Tobias Rapp <t.rapp at noa-archive.com> wrote:
>
>> On 01.08.2017 17:01, Muhammad Faiz wrote:
>>
>>> Fix Ticket6519.
>>>
>>> Signed-off-by: Muhammad Faiz <mfcc64 at gmail.com>
>>> ---
>>> libavfilter/vf_ssim.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c
>>> index c3c204268f..dfd276e015 100644
>>> --- a/libavfilter/vf_ssim.c
>>> +++ b/libavfilter/vf_ssim.c
>>> @@ -402,7 +402,7 @@ static int config_input_ref(AVFilterLink *inlink)
>>> for (i = 0; i < s->nb_components; i++)
>>> s->coefs[i] = (double) s->planeheight[i] * s->planewidth[i] /
>>> sum;
>>>
>>> - s->temp = av_malloc_array((2 * inlink->w + 12), sizeof(*s->temp) *
>>> (1 + (desc->comp[0].depth > 8)));
>>> + s->temp = av_malloc_array(FFALIGN(2 * inlink->w + 12, 64),
>>> sizeof(*s->temp) * (1 + (desc->comp[0].depth > 8)));
>>> if (!s->temp)
>>> return AVERROR(ENOMEM);
>>> s->max = (1 << desc->comp[0].depth) - 1;
>>>
>>>
>> I confirm that the command doesn't crash anymore and the reports of
>> "invalid read/write" in Valgrind are gone. However there are still some
>> "use of uninitialized value" reports remaining. Maybe use av_mallocz_array?
>
>
> Wait wait, before we do that, which values are uninitialized and what are
> they used for?
Reads into s->temp seem to use uninitialized values on x86-64 when
vf_ssim.asm routines are used (-cpuflags all), see attached Valgrind
report. When vf_ssim.asm is not used (-cpuflags 0) no "use of
uninitialized value" is reported.
The difference of the reported SSIM scores between my asm and non-asm
test runs was <= 10^-6.
Regards,
Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: valgrind-fate-ssim-rgb_7c04be7b.log.gz
Type: application/gzip
Size: 7436 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170802/f00c9bb8/attachment.bin>
More information about the ffmpeg-devel
mailing list