[FFmpeg-devel] fate/filter-video: add two tests for dnn_processing with frame format rgb24 and grayf32

Message ID 1578465839-8570-1-git-send-email-yejun.guo@intel.com
State New
Headers
Series [FFmpeg-devel] fate/filter-video: add two tests for dnn_processing with frame format rgb24 and grayf32 |

Checks

Context Check Description
andriy/ffmpeg-patchwork success Make fate finished

Commit Message

Guo, Yejun Jan. 8, 2020, 6:43 a.m. UTC
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
---
 tests/fate/filter-video.mak                        |  4 ++
 ...filter-dnn_processing-halve_first_channel_float | 55 ++++++++++++++++++++++
 .../fate/filter-dnn_processing-halve_gray_float    | 55 ++++++++++++++++++++++
 3 files changed, 114 insertions(+)
 create mode 100644 tests/ref/fate/filter-dnn_processing-halve_first_channel_float
 create mode 100644 tests/ref/fate/filter-dnn_processing-halve_gray_float
  

Comments

Pedro Arthur Jan. 14, 2020, 2:34 p.m. UTC | #1
Hi,

Em qua., 8 de jan. de 2020 às 03:52, Guo, Yejun <yejun.guo@intel.com> escreveu:
>
> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
> ---
>  tests/fate/filter-video.mak                        |  4 ++
>  ...filter-dnn_processing-halve_first_channel_float | 55 ++++++++++++++++++++++
>  .../fate/filter-dnn_processing-halve_gray_float    | 55 ++++++++++++++++++++++
>  3 files changed, 114 insertions(+)
>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_first_channel_float
>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_gray_float
>
> diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
> index 2da27f7..02986b5 100644
> --- a/tests/fate/filter-video.mak
> +++ b/tests/fate/filter-video.mak
> @@ -259,6 +259,10 @@ FATE_FILTER_SAMPLES-$(call ALLYES, PNG_DECODER APNG_DEMUXER FORMAT_FILTER COLOR_
>  FATE_FILTER_VSYNTH-$(CONFIG_PHASE_FILTER) += fate-filter-phase
>  fate-filter-phase: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf phase
>
> +FATE_FILTER_VSYNTH-$(CONFIG_DNN_PROCESSING_FILTER) += fate-filter-dnn_processing-halve_first_channel_float fate-filter-dnn_processing-halve_gray_float
> +fate-filter-dnn_processing-halve_first_channel_float: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgb24,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/halve_first_channel_float.model:input=dnn_in:output=dnn_out:dnn_backend=native
> +fate-filter-dnn_processing-halve_gray_float: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=grayf32,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/halve_gray_float.model:input=dnn_in:output=dnn_out:dnn_backend=native
> +
>  FATE_REMOVEGRAIN += fate-filter-removegrain-mode-00
>  fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=0:0:0
>
> diff --git a/tests/ref/fate/filter-dnn_processing-halve_first_channel_float b/tests/ref/fate/filter-dnn_processing-halve_first_channel_float
> new file mode 100644
> index 0000000..ad7deda
> --- /dev/null
> +++ b/tests/ref/fate/filter-dnn_processing-halve_first_channel_float
> @@ -0,0 +1,55 @@
> +#tb 0: 1/25
> +#media_type 0: video
> +#codec_id 0: rawvideo
> +#dimensions 0: 352x288
> +#sar 0: 0/1
> +0,          0,          0,        1,   304128, 0xdecb04c8
> +0,          1,          1,        1,   304128, 0x55d9a543
> +0,          2,          2,        1,   304128, 0x11ae175c
> +0,          3,          3,        1,   304128, 0x2cbc8734
> +0,          4,          4,        1,   304128, 0xa8e5cb1f
> +0,          5,          5,        1,   304128, 0xb6d9ce81
> +0,          6,          6,        1,   304128, 0x51613881
> +0,          7,          7,        1,   304128, 0x09b9614f
> +0,          8,          8,        1,   304128, 0x172a6901
> +0,          9,          9,        1,   304128, 0x30237bf4
> +0,         10,         10,        1,   304128, 0xb8646354
> +0,         11,         11,        1,   304128, 0xe2dd8145
> +0,         12,         12,        1,   304128, 0x6f0b3cea
> +0,         13,         13,        1,   304128, 0xb1a04427
> +0,         14,         14,        1,   304128, 0xe0ab42cf
> +0,         15,         15,        1,   304128, 0xd4dc3224
> +0,         16,         16,        1,   304128, 0xdb3462a1
> +0,         17,         17,        1,   304128, 0x1d9931a1
> +0,         18,         18,        1,   304128, 0x17c80e7a
> +0,         19,         19,        1,   304128, 0x800d587b
> +0,         20,         20,        1,   304128, 0x97d67832
> +0,         21,         21,        1,   304128, 0xffc116db
> +0,         22,         22,        1,   304128, 0x80510bc1
> +0,         23,         23,        1,   304128, 0xbf838895
> +0,         24,         24,        1,   304128, 0x3c8ce931
> +0,         25,         25,        1,   304128, 0x8640e1cd
> +0,         26,         26,        1,   304128, 0xa944fcac
> +0,         27,         27,        1,   304128, 0x7cef3f83
> +0,         28,         28,        1,   304128, 0x3c8d60d2
> +0,         29,         29,        1,   304128, 0x83fad1ef
> +0,         30,         30,        1,   304128, 0xbd6031ac
> +0,         31,         31,        1,   304128, 0x9e63188a
> +0,         32,         32,        1,   304128, 0x0e45cb70
> +0,         33,         33,        1,   304128, 0x02a9ec32
> +0,         34,         34,        1,   304128, 0x6ff674cc
> +0,         35,         35,        1,   304128, 0x7d1143e6
> +0,         36,         36,        1,   304128, 0x52c6b9b7
> +0,         37,         37,        1,   304128, 0x16696d9c
> +0,         38,         38,        1,   304128, 0x0612973f
> +0,         39,         39,        1,   304128, 0xed130f6a
> +0,         40,         40,        1,   304128, 0xe0051904
> +0,         41,         41,        1,   304128, 0x6930d331
> +0,         42,         42,        1,   304128, 0x35f722f7
> +0,         43,         43,        1,   304128, 0x0adb7e81
> +0,         44,         44,        1,   304128, 0x1eb10598
> +0,         45,         45,        1,   304128, 0x73ec2115
> +0,         46,         46,        1,   304128, 0xf9d24a8c
> +0,         47,         47,        1,   304128, 0x94a3748d
> +0,         48,         48,        1,   304128, 0xbaeac1d5
> +0,         49,         49,        1,   304128, 0x5493efd3
> diff --git a/tests/ref/fate/filter-dnn_processing-halve_gray_float b/tests/ref/fate/filter-dnn_processing-halve_gray_float
> new file mode 100644
> index 0000000..b33a951
> --- /dev/null
> +++ b/tests/ref/fate/filter-dnn_processing-halve_gray_float
> @@ -0,0 +1,55 @@
> +#tb 0: 1/25
> +#media_type 0: video
> +#codec_id 0: rawvideo
> +#dimensions 0: 352x288
> +#sar 0: 0/1
> +0,          0,          0,        1,   405504, 0xb3a2caab
> +0,          1,          1,        1,   405504, 0x878b2fb8
> +0,          2,          2,        1,   405504, 0xf39dac33
> +0,          3,          3,        1,   405504, 0x94ef53b1
> +0,          4,          4,        1,   405504, 0x6ed80f30
> +0,          5,          5,        1,   405504, 0x82def1f8
> +0,          6,          6,        1,   405504, 0xdafab027
> +0,          7,          7,        1,   405504, 0xddef2774
> +0,          8,          8,        1,   405504, 0x877771bd
> +0,          9,          9,        1,   405504, 0xfaf7da12
> +0,         10,         10,        1,   405504, 0x484be589
> +0,         11,         11,        1,   405504, 0x15d660e2
> +0,         12,         12,        1,   405504, 0xa01849c8
> +0,         13,         13,        1,   405504, 0x823c33da
> +0,         14,         14,        1,   405504, 0x3aef6445
> +0,         15,         15,        1,   405504, 0x75f2961b
> +0,         16,         16,        1,   405504, 0x7615ddac
> +0,         17,         17,        1,   405504, 0xbcf92755
> +0,         18,         18,        1,   405504, 0xc84ee75f
> +0,         19,         19,        1,   405504, 0xf9d11220
> +0,         20,         20,        1,   405504, 0x6e1afa4a
> +0,         21,         21,        1,   405504, 0x47fcc8b2
> +0,         22,         22,        1,   405504, 0xa5f618bc
> +0,         23,         23,        1,   405504, 0x2528509b
> +0,         24,         24,        1,   405504, 0x0b77ec0b
> +0,         25,         25,        1,   405504, 0x8d5ea91d
> +0,         26,         26,        1,   405504, 0xd8a04b22
> +0,         27,         27,        1,   405504, 0xbde327bd
> +0,         28,         28,        1,   405504, 0x9713aeb4
> +0,         29,         29,        1,   405504, 0xc168c52e
> +0,         30,         30,        1,   405504, 0xa3da9f70
> +0,         31,         31,        1,   405504, 0xe58350d0
> +0,         32,         32,        1,   405504, 0x6c656178
> +0,         33,         33,        1,   405504, 0xe9563056
> +0,         34,         34,        1,   405504, 0xf1f2c14d
> +0,         35,         35,        1,   405504, 0x5d59fe20
> +0,         36,         36,        1,   405504, 0x5ddb514e
> +0,         37,         37,        1,   405504, 0x6251dbf8
> +0,         38,         38,        1,   405504, 0x94c7d2d6
> +0,         39,         39,        1,   405504, 0x1e44022a
> +0,         40,         40,        1,   405504, 0x51c157a1
> +0,         41,         41,        1,   405504, 0xc8991bd1
> +0,         42,         42,        1,   405504, 0x046be642
> +0,         43,         43,        1,   405504, 0x330da15f
> +0,         44,         44,        1,   405504, 0xf6428e42
> +0,         45,         45,        1,   405504, 0x8d303561
> +0,         46,         46,        1,   405504, 0x135ed7d0
> +0,         47,         47,        1,   405504, 0x0382f361
> +0,         48,         48,        1,   405504, 0xddea2009
> +0,         49,         49,        1,   405504, 0xd9b0262b
> --
> 2.7.4
>
LGTM
Pushed, thanks.

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
  
James Almer Jan. 16, 2020, 1:31 p.m. UTC | #2
On 1/14/2020 11:34 AM, Pedro Arthur wrote:
> Hi,
> 
> Em qua., 8 de jan. de 2020 às 03:52, Guo, Yejun <yejun.guo@intel.com> escreveu:
>>
>> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
>> ---
>>  tests/fate/filter-video.mak                        |  4 ++
>>  ...filter-dnn_processing-halve_first_channel_float | 55 ++++++++++++++++++++++
>>  .../fate/filter-dnn_processing-halve_gray_float    | 55 ++++++++++++++++++++++
>>  3 files changed, 114 insertions(+)
>>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_first_channel_float
>>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_gray_float
>>
>> diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
>> index 2da27f7..02986b5 100644
>> --- a/tests/fate/filter-video.mak
>> +++ b/tests/fate/filter-video.mak
>> @@ -259,6 +259,10 @@ FATE_FILTER_SAMPLES-$(call ALLYES, PNG_DECODER APNG_DEMUXER FORMAT_FILTER COLOR_
>>  FATE_FILTER_VSYNTH-$(CONFIG_PHASE_FILTER) += fate-filter-phase
>>  fate-filter-phase: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf phase
>>
>> +FATE_FILTER_VSYNTH-$(CONFIG_DNN_PROCESSING_FILTER) += fate-filter-dnn_processing-halve_first_channel_float fate-filter-dnn_processing-halve_gray_float
>> +fate-filter-dnn_processing-halve_first_channel_float: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgb24,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/halve_first_channel_float.model:input=dnn_in:output=dnn_out:dnn_backend=native
>> +fate-filter-dnn_processing-halve_gray_float: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=grayf32,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/halve_gray_float.model:input=dnn_in:output=dnn_out:dnn_backend=native
>> +
>>  FATE_REMOVEGRAIN += fate-filter-removegrain-mode-00
>>  fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=0:0:0
>>
> LGTM
> Pushed, thanks.

fate-filter-dnn_processing-halve_first_channel_float is failing on msvc
x86_64
http://fate.ffmpeg.org/report.cgi?time=20200114203009&slot=x86_64-msvc15-windows-native

If these tests use floats, shouldn't they use tiny_ssim or similar
solutions for float tests in FATE?
  
Guo, Yejun Jan. 16, 2020, 2:14 p.m. UTC | #3
> -----Original Message-----
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf Of
> James Almer
> Sent: Thursday, January 16, 2020 9:31 PM
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH] fate/filter-video: add two tests for
> dnn_processing with frame format rgb24 and grayf32
> 
> On 1/14/2020 11:34 AM, Pedro Arthur wrote:
> > Hi,
> >
> > Em qua., 8 de jan. de 2020 às 03:52, Guo, Yejun <yejun.guo@intel.com>
> escreveu:
> >>
> >> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
> >> ---
> >>  tests/fate/filter-video.mak                        |  4 ++
> >>  ...filter-dnn_processing-halve_first_channel_float | 55
> ++++++++++++++++++++++
> >>  .../fate/filter-dnn_processing-halve_gray_float    | 55
> ++++++++++++++++++++++
> >>  3 files changed, 114 insertions(+)
> >>  create mode 100644
> tests/ref/fate/filter-dnn_processing-halve_first_channel_float
> >>  create mode 100644
> tests/ref/fate/filter-dnn_processing-halve_gray_float
> >>
> >> diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
> >> index 2da27f7..02986b5 100644
> >> --- a/tests/fate/filter-video.mak
> >> +++ b/tests/fate/filter-video.mak
> >> @@ -259,6 +259,10 @@ FATE_FILTER_SAMPLES-$(call ALLYES,
> PNG_DECODER APNG_DEMUXER FORMAT_FILTER COLOR_
> >>  FATE_FILTER_VSYNTH-$(CONFIG_PHASE_FILTER) += fate-filter-phase
> >>  fate-filter-phase: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf phase
> >>
> >> +FATE_FILTER_VSYNTH-$(CONFIG_DNN_PROCESSING_FILTER) +=
> fate-filter-dnn_processing-halve_first_channel_float
> fate-filter-dnn_processing-halve_gray_float
> >> +fate-filter-dnn_processing-halve_first_channel_float: CMD = framecrc -c:v
> pgmyuv -i $(SRC) -vf
> format=rgb24,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/h
> alve_first_channel_float.model:input=dnn_in:output=dnn_out:dnn_backend=n
> ative
> >> +fate-filter-dnn_processing-halve_gray_float: CMD = framecrc -c:v pgmyuv
> -i $(SRC) -vf
> format=grayf32,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/
> halve_gray_float.model:input=dnn_in:output=dnn_out:dnn_backend=native
> >> +
> >>  FATE_REMOVEGRAIN += fate-filter-removegrain-mode-00
> >>  fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC)
> -frames:v 1 -vf removegrain=0:0:0
> >>
> > LGTM
> > Pushed, thanks.
> 
> fate-filter-dnn_processing-halve_first_channel_float is failing on msvc
> x86_64
> http://fate.ffmpeg.org/report.cgi?time=20200114203009&slot=x86_64-msvc1
> 5-windows-native
> 
> If these tests use floats, shouldn't they use tiny_ssim or similar
> solutions for float tests in FATE?

thanks for let me know the issue.

the 'float' in 'fate-filter-dnn_processing-halve_first_channel_float' means the dnn module accepts float as input, it might not relative to ssim.

The issue found in msvc is:
[swscaler @ 000000B0CEECF000] No accelerated colorspace conversion found from yuv420p to rgb24.

The reason is that the command line includes a video filter 'format' as:
CMD = framecrc -c:vpgmyuv -i $(SRC) -vf format=rgb24,dnn_processing=model=.../halve_first_channel_float.model...

I just know that yuv420p to rgb24 is missed on msvc, looks that I must enable this test when 'format' is also there. Will try the fix, thanks.

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
  
Carl Eugen Hoyos Jan. 16, 2020, 2:18 p.m. UTC | #4
Am Do., 16. Jan. 2020 um 15:15 Uhr schrieb Guo, Yejun <yejun.guo@intel.com>:

> the 'float' in 'fate-filter-dnn_processing-halve_first_channel_float' means the dnn module accepts float as input

meaning you cannot use it for (bit-exact) fate.

Carl Eugen
  
Guo, Yejun Jan. 16, 2020, 2:30 p.m. UTC | #5
> -----Original Message-----
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf Of
> Carl Eugen Hoyos
> Sent: Thursday, January 16, 2020 10:18 PM
> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH] fate/filter-video: add two tests for
> dnn_processing with frame format rgb24 and grayf32
> 
> Am Do., 16. Jan. 2020 um 15:15 Uhr schrieb Guo, Yejun
> <yejun.guo@intel.com>:
> 
> > the 'float' in 'fate-filter-dnn_processing-halve_first_channel_float' means the
> dnn module accepts float as input
> 
> meaning you cannot use it for (bit-exact) fate.

thanks Carl, does this mean that if float is involved in the pipeline, we cannot use (bit-exact) fate. In other words, I cannot use 'framecrc' for this test? 

I just did a quick look at filter-video.mak and could not find another example, could you help to let me know which keyword/command can be used for my fate? thanks.

> 
> Carl Eugen
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
  
Carl Eugen Hoyos Jan. 16, 2020, 3:25 p.m. UTC | #6
Am Do., 16. Jan. 2020 um 15:30 Uhr schrieb Guo, Yejun <yejun.guo@intel.com>:
>
>
>
> > -----Original Message-----
> > From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf Of
> > Carl Eugen Hoyos
> > Sent: Thursday, January 16, 2020 10:18 PM
> > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> > Subject: Re: [FFmpeg-devel] [PATCH] fate/filter-video: add two tests for
> > dnn_processing with frame format rgb24 and grayf32
> >
> > Am Do., 16. Jan. 2020 um 15:15 Uhr schrieb Guo, Yejun
> > <yejun.guo@intel.com>:
> >
> > > the 'float' in 'fate-filter-dnn_processing-halve_first_channel_float' means the
> > dnn module accepts float as input
> >
> > meaning you cannot use it for (bit-exact) fate.
>
> thanks Carl, does this mean that if float is involved in the pipeline, we cannot
> use (bit-exact) fate. In other words, I cannot use 'framecrc' for this test?

Afaik, yes.

Carl Eugen
  
Martin Storsjö Jan. 20, 2020, 1:01 p.m. UTC | #7
On Tue, 14 Jan 2020, Pedro Arthur wrote:

> Hi,
>
> Em qua., 8 de jan. de 2020 às 03:52, Guo, Yejun <yejun.guo@intel.com> escreveu:
>>
>> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
>> ---
>>  tests/fate/filter-video.mak                        |  4 ++
>>  ...filter-dnn_processing-halve_first_channel_float | 55 ++++++++++++++++++++++
>>  .../fate/filter-dnn_processing-halve_gray_float    | 55 ++++++++++++++++++++++
>>  3 files changed, 114 insertions(+)
>>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_first_channel_float
>>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_gray_float
>>
> LGTM
> Pushed, thanks.

The new float based test, 
fate-filter-dnn_processing-halve_first_channel_float, fails with lots of 
off-by-ones on ARM (both ARMv7 and AArch64). In general, float based tests 
need a reference file that allows off-by-one checks, but I'm not sure how 
well that works for video (as the reference needs to be uncompressed).

Can you think of other ways of making this test stable across platforms 
and architectures?

// Martin
  
Carl Eugen Hoyos Jan. 20, 2020, 1:03 p.m. UTC | #8
Am Mo., 20. Jan. 2020 um 14:01 Uhr schrieb Martin Storsjö <martin@martin.st>:
>
> On Tue, 14 Jan 2020, Pedro Arthur wrote:
>
> > Hi,
> >
> > Em qua., 8 de jan. de 2020 às 03:52, Guo, Yejun <yejun.guo@intel.com> escreveu:
> >>
> >> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
> >> ---
> >>  tests/fate/filter-video.mak                        |  4 ++
> >>  ...filter-dnn_processing-halve_first_channel_float | 55 ++++++++++++++++++++++
> >>  .../fate/filter-dnn_processing-halve_gray_float    | 55 ++++++++++++++++++++++
> >>  3 files changed, 114 insertions(+)
> >>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_first_channel_float
> >>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_gray_float
> >>
> > LGTM
> > Pushed, thanks.
>
> The new float based test,

[...]

Yes.

Instead please comment on the question if 1MB of testfiles is necessary
or if this can be done with smaller reference files.
See: fate/filter-video.mak: do not use bit-exact check for dnn_processing

Carl Eugen
  
Pedro Arthur Jan. 20, 2020, 1:43 p.m. UTC | #9
Em seg., 20 de jan. de 2020 às 10:01, Martin Storsjö
<martin@martin.st> escreveu:
>
> On Tue, 14 Jan 2020, Pedro Arthur wrote:
>
> > Hi,
> >
> > Em qua., 8 de jan. de 2020 às 03:52, Guo, Yejun <yejun.guo@intel.com> escreveu:
> >>
> >> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
> >> ---
> >>  tests/fate/filter-video.mak                        |  4 ++
> >>  ...filter-dnn_processing-halve_first_channel_float | 55 ++++++++++++++++++++++
> >>  .../fate/filter-dnn_processing-halve_gray_float    | 55 ++++++++++++++++++++++
> >>  3 files changed, 114 insertions(+)
> >>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_first_channel_float
> >>  create mode 100644 tests/ref/fate/filter-dnn_processing-halve_gray_float
> >>
> > LGTM
> > Pushed, thanks.
>
> The new float based test,
> fate-filter-dnn_processing-halve_first_channel_float, fails with lots of
> off-by-ones on ARM (both ARMv7 and AArch64). In general, float based tests
> need a reference file that allows off-by-one checks, but I'm not sure how
> well that works for video (as the reference needs to be uncompressed).
>
BTW does any one know which archs patchwork tests fate on?
currently is shows that 'make fate' was successful, is it possible to
test more archs and warn if some of these failed?

> Can you think of other ways of making this test stable across platforms
> and architectures?
>
> // Martin
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
  
Moritz Barsnick Jan. 23, 2020, 12:14 p.m. UTC | #10
On Mon, Jan 20, 2020 at 10:43:50 -0300, Pedro Arthur wrote:
> BTW does any one know which archs patchwork tests fate on?
> currently is shows that 'make fate' was successful, is it possible to
> test more archs and warn if some of these failed?

It was new to me that patchwork runs fate, but apparently it was added
recently. Probably to sanity-check whether patches can be applied to
HEAD and whether they actually build and don't break stuff. It seems to
run only on one arch, probably that of patchwork.ffmpeg.org. I'm not
sure whether it would even be a goal to cover more platforms (there's
more that just archs) from patchwork.

The actual fate service run a bazillion different platforms, but only
from actually pushed commits. I do agree though that there might be
benefit to provide other platforms to developers, to be able to test
*before* pushing - but that might require quite a lot of extra
resources.

Cheers,
Moritz
  

Patch

diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index 2da27f7..02986b5 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -259,6 +259,10 @@  FATE_FILTER_SAMPLES-$(call ALLYES, PNG_DECODER APNG_DEMUXER FORMAT_FILTER COLOR_
 FATE_FILTER_VSYNTH-$(CONFIG_PHASE_FILTER) += fate-filter-phase
 fate-filter-phase: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf phase
 
+FATE_FILTER_VSYNTH-$(CONFIG_DNN_PROCESSING_FILTER) += fate-filter-dnn_processing-halve_first_channel_float fate-filter-dnn_processing-halve_gray_float
+fate-filter-dnn_processing-halve_first_channel_float: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgb24,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/halve_first_channel_float.model:input=dnn_in:output=dnn_out:dnn_backend=native
+fate-filter-dnn_processing-halve_gray_float: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=grayf32,dnn_processing=model=$(TARGET_SAMPLES)/dnn_processing/halve_gray_float.model:input=dnn_in:output=dnn_out:dnn_backend=native
+
 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-00
 fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=0:0:0
 
diff --git a/tests/ref/fate/filter-dnn_processing-halve_first_channel_float b/tests/ref/fate/filter-dnn_processing-halve_first_channel_float
new file mode 100644
index 0000000..ad7deda
--- /dev/null
+++ b/tests/ref/fate/filter-dnn_processing-halve_first_channel_float
@@ -0,0 +1,55 @@ 
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   304128, 0xdecb04c8
+0,          1,          1,        1,   304128, 0x55d9a543
+0,          2,          2,        1,   304128, 0x11ae175c
+0,          3,          3,        1,   304128, 0x2cbc8734
+0,          4,          4,        1,   304128, 0xa8e5cb1f
+0,          5,          5,        1,   304128, 0xb6d9ce81
+0,          6,          6,        1,   304128, 0x51613881
+0,          7,          7,        1,   304128, 0x09b9614f
+0,          8,          8,        1,   304128, 0x172a6901
+0,          9,          9,        1,   304128, 0x30237bf4
+0,         10,         10,        1,   304128, 0xb8646354
+0,         11,         11,        1,   304128, 0xe2dd8145
+0,         12,         12,        1,   304128, 0x6f0b3cea
+0,         13,         13,        1,   304128, 0xb1a04427
+0,         14,         14,        1,   304128, 0xe0ab42cf
+0,         15,         15,        1,   304128, 0xd4dc3224
+0,         16,         16,        1,   304128, 0xdb3462a1
+0,         17,         17,        1,   304128, 0x1d9931a1
+0,         18,         18,        1,   304128, 0x17c80e7a
+0,         19,         19,        1,   304128, 0x800d587b
+0,         20,         20,        1,   304128, 0x97d67832
+0,         21,         21,        1,   304128, 0xffc116db
+0,         22,         22,        1,   304128, 0x80510bc1
+0,         23,         23,        1,   304128, 0xbf838895
+0,         24,         24,        1,   304128, 0x3c8ce931
+0,         25,         25,        1,   304128, 0x8640e1cd
+0,         26,         26,        1,   304128, 0xa944fcac
+0,         27,         27,        1,   304128, 0x7cef3f83
+0,         28,         28,        1,   304128, 0x3c8d60d2
+0,         29,         29,        1,   304128, 0x83fad1ef
+0,         30,         30,        1,   304128, 0xbd6031ac
+0,         31,         31,        1,   304128, 0x9e63188a
+0,         32,         32,        1,   304128, 0x0e45cb70
+0,         33,         33,        1,   304128, 0x02a9ec32
+0,         34,         34,        1,   304128, 0x6ff674cc
+0,         35,         35,        1,   304128, 0x7d1143e6
+0,         36,         36,        1,   304128, 0x52c6b9b7
+0,         37,         37,        1,   304128, 0x16696d9c
+0,         38,         38,        1,   304128, 0x0612973f
+0,         39,         39,        1,   304128, 0xed130f6a
+0,         40,         40,        1,   304128, 0xe0051904
+0,         41,         41,        1,   304128, 0x6930d331
+0,         42,         42,        1,   304128, 0x35f722f7
+0,         43,         43,        1,   304128, 0x0adb7e81
+0,         44,         44,        1,   304128, 0x1eb10598
+0,         45,         45,        1,   304128, 0x73ec2115
+0,         46,         46,        1,   304128, 0xf9d24a8c
+0,         47,         47,        1,   304128, 0x94a3748d
+0,         48,         48,        1,   304128, 0xbaeac1d5
+0,         49,         49,        1,   304128, 0x5493efd3
diff --git a/tests/ref/fate/filter-dnn_processing-halve_gray_float b/tests/ref/fate/filter-dnn_processing-halve_gray_float
new file mode 100644
index 0000000..b33a951
--- /dev/null
+++ b/tests/ref/fate/filter-dnn_processing-halve_gray_float
@@ -0,0 +1,55 @@ 
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   405504, 0xb3a2caab
+0,          1,          1,        1,   405504, 0x878b2fb8
+0,          2,          2,        1,   405504, 0xf39dac33
+0,          3,          3,        1,   405504, 0x94ef53b1
+0,          4,          4,        1,   405504, 0x6ed80f30
+0,          5,          5,        1,   405504, 0x82def1f8
+0,          6,          6,        1,   405504, 0xdafab027
+0,          7,          7,        1,   405504, 0xddef2774
+0,          8,          8,        1,   405504, 0x877771bd
+0,          9,          9,        1,   405504, 0xfaf7da12
+0,         10,         10,        1,   405504, 0x484be589
+0,         11,         11,        1,   405504, 0x15d660e2
+0,         12,         12,        1,   405504, 0xa01849c8
+0,         13,         13,        1,   405504, 0x823c33da
+0,         14,         14,        1,   405504, 0x3aef6445
+0,         15,         15,        1,   405504, 0x75f2961b
+0,         16,         16,        1,   405504, 0x7615ddac
+0,         17,         17,        1,   405504, 0xbcf92755
+0,         18,         18,        1,   405504, 0xc84ee75f
+0,         19,         19,        1,   405504, 0xf9d11220
+0,         20,         20,        1,   405504, 0x6e1afa4a
+0,         21,         21,        1,   405504, 0x47fcc8b2
+0,         22,         22,        1,   405504, 0xa5f618bc
+0,         23,         23,        1,   405504, 0x2528509b
+0,         24,         24,        1,   405504, 0x0b77ec0b
+0,         25,         25,        1,   405504, 0x8d5ea91d
+0,         26,         26,        1,   405504, 0xd8a04b22
+0,         27,         27,        1,   405504, 0xbde327bd
+0,         28,         28,        1,   405504, 0x9713aeb4
+0,         29,         29,        1,   405504, 0xc168c52e
+0,         30,         30,        1,   405504, 0xa3da9f70
+0,         31,         31,        1,   405504, 0xe58350d0
+0,         32,         32,        1,   405504, 0x6c656178
+0,         33,         33,        1,   405504, 0xe9563056
+0,         34,         34,        1,   405504, 0xf1f2c14d
+0,         35,         35,        1,   405504, 0x5d59fe20
+0,         36,         36,        1,   405504, 0x5ddb514e
+0,         37,         37,        1,   405504, 0x6251dbf8
+0,         38,         38,        1,   405504, 0x94c7d2d6
+0,         39,         39,        1,   405504, 0x1e44022a
+0,         40,         40,        1,   405504, 0x51c157a1
+0,         41,         41,        1,   405504, 0xc8991bd1
+0,         42,         42,        1,   405504, 0x046be642
+0,         43,         43,        1,   405504, 0x330da15f
+0,         44,         44,        1,   405504, 0xf6428e42
+0,         45,         45,        1,   405504, 0x8d303561
+0,         46,         46,        1,   405504, 0x135ed7d0
+0,         47,         47,        1,   405504, 0x0382f361
+0,         48,         48,        1,   405504, 0xddea2009
+0,         49,         49,        1,   405504, 0xd9b0262b