On 12/04/2019 16:09, Ruiling Song wrote:
> Signed-off-by: Ruiling Song <ruiling.s...@intel.com>

I can't work out where the problem is, but there is something really weirdly 
nondeterministic going on here.

E.g.

$ ./ffmpeg_g -y -init_hw_device opencl:0.0 -i 
~/video/test/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv -an -filter_hw_device 
opencl0 -vf format=yuv420p,hwupload,nlmeans_opencl,hwdownload,format=yuv420p 
-frames:v 10 -f framemd5 -
...
0,          0,          0,        1, 12441600, 8b8805818076b23ae6f80ec2b5a349d4
0,          1,          1,        1, 12441600, 7a7fdaa083dc337cfb6af31b643f30a3
0,          2,          2,        1, 12441600, b10ef2a1e5125cc67e262e086f8040b5
0,          3,          3,        1, 12441600, c06b53ad90e0357e537df41b63d5b1dc
0,          4,          4,        1, 12441600, 5aa2da07703859a3dee080847dd17d46
0,          5,          5,        1, 12441600, 733364c6be6af825057e905a6092937d
0,          6,          6,        1, 12441600, 47edae2dec956a582b04babb745d26b0
0,          7,          7,        1, 12441600, 4e45fe8268df4298d06a17ab8e46c3e9
0,          8,          8,        1, 12441600, 960d722a3f8787c9191299a114c04174
0,          9,          9,        1, 12441600, e759c07ee4834a9cf94bfcb4128e7612
$ ./ffmpeg_g -y -init_hw_device opencl:0.0 -i 
~/video/test/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv -an -filter_hw_device 
opencl0 -vf format=yuv420p,hwupload,nlmeans_opencl,hwdownload,format=yuv420p 
-frames:v 10 -f framemd5 -
0,          0,          0,        1, 12441600, 8b8805818076b23ae6f80ec2b5a349d4
[Parsed_nlmeans_opencl_2 @ 0x5557ae580d00] integral image overflow 2157538
0,          1,          1,        1, 12441600, bce72e10a9f1118940c5a8392ad78ec3
0,          2,          2,        1, 12441600, b10ef2a1e5125cc67e262e086f8040b5
0,          3,          3,        1, 12441600, c06b53ad90e0357e537df41b63d5b1dc
0,          4,          4,        1, 12441600, 5aa2da07703859a3dee080847dd17d46
0,          5,          5,        1, 12441600, 733364c6be6af825057e905a6092937d
0,          6,          6,        1, 12441600, 47edae2dec956a582b04babb745d26b0
0,          7,          7,        1, 12441600, 4e45fe8268df4298d06a17ab8e46c3e9
0,          8,          8,        1, 12441600, 960d722a3f8787c9191299a114c04174
0,          9,          9,        1, 12441600, e759c07ee4834a9cf94bfcb4128e7612
$ ./ffmpeg_g -y -init_hw_device opencl:0.0 -i 
~/video/test/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv -an -filter_hw_device 
opencl0 -vf format=yuv420p,hwupload,nlmeans_opencl,hwdownload,format=yuv420p 
-frames:v 10 -f framemd5 -
0,          0,          0,        1, 12441600, 8b8805818076b23ae6f80ec2b5a349d4
0,          1,          1,        1, 12441600, 7a7fdaa083dc337cfb6af31b643f30a3
[Parsed_nlmeans_opencl_2 @ 0x557c51fbfe80] integral image overflow 2098545
0,          2,          2,        1, 12441600, 68b390535adc5cfa0f8a7942c42a47ca
0,          3,          3,        1, 12441600, c06b53ad90e0357e537df41b63d5b1dc
0,          4,          4,        1, 12441600, 5aa2da07703859a3dee080847dd17d46
0,          5,          5,        1, 12441600, 733364c6be6af825057e905a6092937d
0,          6,          6,        1, 12441600, 47edae2dec956a582b04babb745d26b0
0,          7,          7,        1, 12441600, 4e45fe8268df4298d06a17ab8e46c3e9
0,          8,          8,        1, 12441600, 960d722a3f8787c9191299a114c04174
0,          9,          9,        1, 12441600, e759c07ee4834a9cf94bfcb4128e7612

Frame 1 gave an overflow on the second run, and gets a different answer, then 
frame 2 in the same way on the third run?  I can't characterise when this 
happens, it seems to be pretty random with low probability.

(Input here is a 4K file from <http://jell.yfish.us/>, but I don't think it 
matters - I saw it with others sometimes as well.)

>  configure                       |   1 +
>  doc/filters.texi                |   4 +
>  libavfilter/Makefile            |   1 +
>  libavfilter/allfilters.c        |   1 +
>  libavfilter/opencl/nlmeans.cl   | 115 +++++++++
>  libavfilter/opencl_source.h     |   1 +
>  libavfilter/vf_nlmeans_opencl.c | 442 ++++++++++++++++++++++++++++++++
>  7 files changed, 565 insertions(+)
>  create mode 100644 libavfilter/opencl/nlmeans.cl
>  create mode 100644 libavfilter/vf_nlmeans_opencl.c

Code all looks fine, as far as I can tell.

Thanks,

- Mark
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to