diff mbox

[FFmpeg-devel] fate: add more vc2 encoder tests

Message ID 20180713180957.28670-1-jdarnley@obe.tv
State Superseded
Headers show

Commit Message

James Darnley July 13, 2018, 6:09 p.m. UTC
From: James Darnley <james.darnley@gmail.com>

---
 tests/fate/vcodec.mak                 | 24 ++++++++++++++++--------
 tests/ref/vsynth/vsynth1-vc2-5_3      |  4 ++++
 tests/ref/vsynth/vsynth1-vc2-haar     |  4 ++++
 tests/ref/vsynth/vsynth2-vc2-5_3      |  4 ++++
 tests/ref/vsynth/vsynth2-vc2-haar     |  4 ++++
 tests/ref/vsynth/vsynth_lena-vc2-5_3  |  4 ++++
 tests/ref/vsynth/vsynth_lena-vc2-haar |  4 ++++
 7 files changed, 40 insertions(+), 8 deletions(-)
 create mode 100644 tests/ref/vsynth/vsynth1-vc2-5_3
 create mode 100644 tests/ref/vsynth/vsynth1-vc2-haar
 create mode 100644 tests/ref/vsynth/vsynth2-vc2-5_3
 create mode 100644 tests/ref/vsynth/vsynth2-vc2-haar
 create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-5_3
 create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-haar

Comments

Michael Niedermayer July 14, 2018, 3:58 p.m. UTC | #1
On Fri, Jul 13, 2018 at 08:09:57PM +0200, James Darnley wrote:
> From: James Darnley <james.darnley@gmail.com>
> 
> ---
>  tests/fate/vcodec.mak                 | 24 ++++++++++++++++--------
>  tests/ref/vsynth/vsynth1-vc2-5_3      |  4 ++++
>  tests/ref/vsynth/vsynth1-vc2-haar     |  4 ++++
>  tests/ref/vsynth/vsynth2-vc2-5_3      |  4 ++++
>  tests/ref/vsynth/vsynth2-vc2-haar     |  4 ++++
>  tests/ref/vsynth/vsynth_lena-vc2-5_3  |  4 ++++
>  tests/ref/vsynth/vsynth_lena-vc2-haar |  4 ++++
>  7 files changed, 40 insertions(+), 8 deletions(-)
>  create mode 100644 tests/ref/vsynth/vsynth1-vc2-5_3
>  create mode 100644 tests/ref/vsynth/vsynth1-vc2-haar
>  create mode 100644 tests/ref/vsynth/vsynth2-vc2-5_3
>  create mode 100644 tests/ref/vsynth/vsynth2-vc2-haar
>  create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-5_3
>  create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-haar
> 
> diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
> index bbcf25d72a..7c11243678 100644
> --- a/tests/fate/vcodec.mak
> +++ b/tests/fate/vcodec.mak

this seems to break:
make: *** [fate-vsynth1-vc2-420p10] Error 1
make: *** [fate-vsynth1-vc2-420p12] Error 1
make: *** [fate-vsynth1-vc2-422p10] Error 1
make: *** [fate-vsynth1-vc2-422p12] Error 1
make: *** [fate-vsynth1-vc2-444p10] Error 1
make: *** [fate-vsynth1-vc2-444p12] Error 1
make: *** [fate-vsynth1-vc2-420p] Error 1
make: *** [fate-vsynth1-vc2-422p] Error 1
make: *** [fate-vsynth1-vc2-444p] Error 1
make: *** [fate-vsynth2-vc2-420p10] Error 1
make: *** [fate-vsynth2-vc2-420p12] Error 1
make: *** [fate-vsynth2-vc2-422p12] Error 1
make: *** [fate-vsynth2-vc2-422p10] Error 1
make: *** [fate-vsynth2-vc2-420p] Error 1
make: *** [fate-vsynth2-vc2-444p10] Error 1
make: *** [fate-vsynth2-vc2-444p12] Error 1
make: *** [fate-vsynth2-vc2-422p] Error 1
make: *** [fate-vsynth2-vc2-444p] Error 1
make: *** [fate-vsynth_lena-vc2-420p12] Error 1
make: *** [fate-vsynth_lena-vc2-420p10] Error 1
make: *** [fate-vsynth_lena-vc2-422p10] Error 1
make: *** [fate-vsynth_lena-vc2-422p12] Error 1
make: *** [fate-vsynth_lena-vc2-444p10] Error 1
make: *** [fate-vsynth_lena-vc2-444p12] Error 1
make: *** [fate-vsynth_lena-vc2-420p] Error 1
make: *** [fate-vsynth_lena-vc2-422p] Error 1
make: *** [fate-vsynth_lena-vc2-444p] Error 1


[...]
James Darnley July 14, 2018, 8:42 p.m. UTC | #2
On 2018-07-14 17:58, Michael Niedermayer wrote:
> On Fri, Jul 13, 2018 at 08:09:57PM +0200, James Darnley wrote:
>> From: James Darnley <james.darnley@gmail.com>
>>
>> ---
>>  tests/fate/vcodec.mak                 | 24 ++++++++++++++++--------
>>  tests/ref/vsynth/vsynth1-vc2-5_3      |  4 ++++
>>  tests/ref/vsynth/vsynth1-vc2-haar     |  4 ++++
>>  tests/ref/vsynth/vsynth2-vc2-5_3      |  4 ++++
>>  tests/ref/vsynth/vsynth2-vc2-haar     |  4 ++++
>>  tests/ref/vsynth/vsynth_lena-vc2-5_3  |  4 ++++
>>  tests/ref/vsynth/vsynth_lena-vc2-haar |  4 ++++
>>  7 files changed, 40 insertions(+), 8 deletions(-)
>>  create mode 100644 tests/ref/vsynth/vsynth1-vc2-5_3
>>  create mode 100644 tests/ref/vsynth/vsynth1-vc2-haar
>>  create mode 100644 tests/ref/vsynth/vsynth2-vc2-5_3
>>  create mode 100644 tests/ref/vsynth/vsynth2-vc2-haar
>>  create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-5_3
>>  create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-haar
>>
>> diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
>> index bbcf25d72a..7c11243678 100644
>> --- a/tests/fate/vcodec.mak
>> +++ b/tests/fate/vcodec.mak
> 
> this seems to break:
> make: *** [fate-vsynth1-vc2-420p10] Error 1
> make: *** [fate-vsynth1-vc2-420p12] Error 1
> make: *** [fate-vsynth1-vc2-422p10] Error 1
> make: *** [fate-vsynth1-vc2-422p12] Error 1
> make: *** [fate-vsynth1-vc2-444p10] Error 1
> make: *** [fate-vsynth1-vc2-444p12] Error 1
> make: *** [fate-vsynth1-vc2-420p] Error 1
> make: *** [fate-vsynth1-vc2-422p] Error 1
> make: *** [fate-vsynth1-vc2-444p] Error 1
> make: *** [fate-vsynth2-vc2-420p10] Error 1
> make: *** [fate-vsynth2-vc2-420p12] Error 1
> make: *** [fate-vsynth2-vc2-422p12] Error 1
> make: *** [fate-vsynth2-vc2-422p10] Error 1
> make: *** [fate-vsynth2-vc2-420p] Error 1
> make: *** [fate-vsynth2-vc2-444p10] Error 1
> make: *** [fate-vsynth2-vc2-444p12] Error 1
> make: *** [fate-vsynth2-vc2-422p] Error 1
> make: *** [fate-vsynth2-vc2-444p] Error 1
> make: *** [fate-vsynth_lena-vc2-420p12] Error 1
> make: *** [fate-vsynth_lena-vc2-420p10] Error 1
> make: *** [fate-vsynth_lena-vc2-422p10] Error 1
> make: *** [fate-vsynth_lena-vc2-422p12] Error 1
> make: *** [fate-vsynth_lena-vc2-444p10] Error 1
> make: *** [fate-vsynth_lena-vc2-444p12] Error 1
> make: *** [fate-vsynth_lena-vc2-420p] Error 1
> make: *** [fate-vsynth_lena-vc2-422p] Error 1
> make: *** [fate-vsynth_lena-vc2-444p] Error 1

Dammit.  works4me though.  Maybe make doesn't like the "pattern
matching" done in them.  since those seem to be the existing tests I
will adjust the patterns used for the new ones.  Can you run one of
those failing ones with V=1 and show the full commandline and output?  I
guess it might be trying to pass a weird value as the wavelet_type option.
Michael Niedermayer July 14, 2018, 9:31 p.m. UTC | #3
On Sat, Jul 14, 2018 at 10:42:25PM +0200, James Darnley wrote:
> On 2018-07-14 17:58, Michael Niedermayer wrote:
> > On Fri, Jul 13, 2018 at 08:09:57PM +0200, James Darnley wrote:
> >> From: James Darnley <james.darnley@gmail.com>
> >>
> >> ---
> >>  tests/fate/vcodec.mak                 | 24 ++++++++++++++++--------
> >>  tests/ref/vsynth/vsynth1-vc2-5_3      |  4 ++++
> >>  tests/ref/vsynth/vsynth1-vc2-haar     |  4 ++++
> >>  tests/ref/vsynth/vsynth2-vc2-5_3      |  4 ++++
> >>  tests/ref/vsynth/vsynth2-vc2-haar     |  4 ++++
> >>  tests/ref/vsynth/vsynth_lena-vc2-5_3  |  4 ++++
> >>  tests/ref/vsynth/vsynth_lena-vc2-haar |  4 ++++
> >>  7 files changed, 40 insertions(+), 8 deletions(-)
> >>  create mode 100644 tests/ref/vsynth/vsynth1-vc2-5_3
> >>  create mode 100644 tests/ref/vsynth/vsynth1-vc2-haar
> >>  create mode 100644 tests/ref/vsynth/vsynth2-vc2-5_3
> >>  create mode 100644 tests/ref/vsynth/vsynth2-vc2-haar
> >>  create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-5_3
> >>  create mode 100644 tests/ref/vsynth/vsynth_lena-vc2-haar
> >>
> >> diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
> >> index bbcf25d72a..7c11243678 100644
> >> --- a/tests/fate/vcodec.mak
> >> +++ b/tests/fate/vcodec.mak
> > 
> > this seems to break:
> > make: *** [fate-vsynth1-vc2-420p10] Error 1
> > make: *** [fate-vsynth1-vc2-420p12] Error 1
> > make: *** [fate-vsynth1-vc2-422p10] Error 1
> > make: *** [fate-vsynth1-vc2-422p12] Error 1
> > make: *** [fate-vsynth1-vc2-444p10] Error 1
> > make: *** [fate-vsynth1-vc2-444p12] Error 1
> > make: *** [fate-vsynth1-vc2-420p] Error 1
> > make: *** [fate-vsynth1-vc2-422p] Error 1
> > make: *** [fate-vsynth1-vc2-444p] Error 1
> > make: *** [fate-vsynth2-vc2-420p10] Error 1
> > make: *** [fate-vsynth2-vc2-420p12] Error 1
> > make: *** [fate-vsynth2-vc2-422p12] Error 1
> > make: *** [fate-vsynth2-vc2-422p10] Error 1
> > make: *** [fate-vsynth2-vc2-420p] Error 1
> > make: *** [fate-vsynth2-vc2-444p10] Error 1
> > make: *** [fate-vsynth2-vc2-444p12] Error 1
> > make: *** [fate-vsynth2-vc2-422p] Error 1
> > make: *** [fate-vsynth2-vc2-444p] Error 1
> > make: *** [fate-vsynth_lena-vc2-420p12] Error 1
> > make: *** [fate-vsynth_lena-vc2-420p10] Error 1
> > make: *** [fate-vsynth_lena-vc2-422p10] Error 1
> > make: *** [fate-vsynth_lena-vc2-422p12] Error 1
> > make: *** [fate-vsynth_lena-vc2-444p10] Error 1
> > make: *** [fate-vsynth_lena-vc2-444p12] Error 1
> > make: *** [fate-vsynth_lena-vc2-420p] Error 1
> > make: *** [fate-vsynth_lena-vc2-422p] Error 1
> > make: *** [fate-vsynth_lena-vc2-444p] Error 1
> 
> Dammit.  works4me though.  Maybe make doesn't like the "pattern
> matching" done in them.  since those seem to be the existing tests I
> will adjust the patterns used for the new ones.  Can you run one of
> those failing ones with V=1 and show the full commandline and output?  I
> guess it might be trying to pass a weird value as the wavelet_type option.

of course

make fate-vsynth_lena-vc2-444p12 V=1
ffmpeg/ffmpeg -nostdin -nostats -cpuflags all -f rawvideo -s 352x288 -pix_fmt yuv420p -threads 1 -idct simple -flags +bitexact -sws_flags +accurate_rnd+bitexact -fflags +bitexact -hwaccel none -threads 1 -thread_type frame+slice -i ffmpeg/tests/data/vsynth_lena.yuv -threads 1 -idct simple -dct fastint -c vc2 -pix_fmt yuv422p10 -c:v vc2 -frames 5 -strict -1 -wavelet_type 444p12 -flags +bitexact -sws_flags +accurate_rnd+bitexact -fflags +bitexact -f mov -y ffmpeg/tests/data/fate/vsynth_lena-vc2-444p12.mov

...

[SMPTE VC-2 encoder @ 0x2a42640] [Eval @ 0x7ffd711f9930] Invalid chars '12' at the end of expression '444p12'
[SMPTE VC-2 encoder @ 0x2a42640] Unable to parse option value "444p12"
[SMPTE VC-2 encoder @ 0x2a42640] Error setting option wavelet_type to value 444p12.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
make: *** [fate-vsynth_lena-vc2-444p12] Error 1
James Darnley July 14, 2018, 9:32 p.m. UTC | #4
On 2018-07-14 23:31, Michael Niedermayer wrote:
> [SMPTE VC-2 encoder @ 0x2a42640] Error setting option wavelet_type to value 444p12.

Yep.  Good work make!
diff mbox

Patch

diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
index bbcf25d72a..7c11243678 100644
--- a/tests/fate/vcodec.mak
+++ b/tests/fate/vcodec.mak
@@ -38,17 +38,25 @@  FATE_VCODEC-$(call ENCDEC, DNXHD, DNXHD) += dnxhd-720p                  \
 
 FATE_VCODEC-$(call ENCDEC, VC2 DIRAC, MOV) += vc2-420p vc2-420p10 vc2-420p12 \
                                               vc2-422p vc2-422p10 vc2-422p12 \
-                                              vc2-444p vc2-444p10 vc2-444p12
-fate-vsynth1-vc2-%:              FMT      = mov
-fate-vsynth1-vc2-%:              ENCOPTS = -pix_fmt yuv$(@:fate-vsynth1-vc2-%=%) \
+                                              vc2-444p vc2-444p10 vc2-444p12 \
+                                              vc2-haar vc2-5_3
+fate-vsynth1-vc2-4%:              FMT      = mov
+fate-vsynth1-vc2-4%:              ENCOPTS = -pix_fmt yuv$(@:fate-vsynth1-vc2-%=%) \
                                            -c:v vc2 -frames 5 -strict -1
-fate-vsynth2-vc2-%:              FMT      = mov
-fate-vsynth2-vc2-%:              ENCOPTS = -pix_fmt yuv$(@:fate-vsynth2-vc2-%=%) \
+fate-vsynth2-vc2-4%:              FMT      = mov
+fate-vsynth2-vc2-4%:              ENCOPTS = -pix_fmt yuv$(@:fate-vsynth2-vc2-%=%) \
                                            -c:v vc2 -frames 5 -strict -1
-fate-vsynth_lena-vc2-%:          FMT      = mov
-fate-vsynth_lena-vc2-%:          ENCOPTS = -pix_fmt yuv$(@:fate-vsynth_lena-vc2-%=%) \
+fate-vsynth_lena-vc2-4%:          FMT      = mov
+fate-vsynth_lena-vc2-4%:          ENCOPTS = -pix_fmt yuv$(@:fate-vsynth_lena-vc2-%=%) \
                                            -c:v vc2 -frames 5 -strict -1
 
+fate-vsynth1-vc2-%:     FMT     = mov
+fate-vsynth1-vc2-%:     ENCOPTS = -pix_fmt yuv422p10 -c:v vc2 -frames 5 -strict -1 -wavelet_type $(@:fate-vsynth1-vc2-%=%)
+fate-vsynth2-vc2-%:     FMT     = mov
+fate-vsynth2-vc2-%:     ENCOPTS = -pix_fmt yuv422p10 -c:v vc2 -frames 5 -strict -1 -wavelet_type $(@:fate-vsynth2-vc2-%=%)
+fate-vsynth_lena-vc2-%: FMT     = mov
+fate-vsynth_lena-vc2-%: ENCOPTS = -pix_fmt yuv422p10 -c:v vc2 -frames 5 -strict -1 -wavelet_type $(@:fate-vsynth_lena-vc2-%=%)
+
 fate-vsynth%-dnxhd-720p:         ENCOPTS = -s hd720 -b 90M              \
                                            -pix_fmt yuv422p -frames 5 -qmax 8
 fate-vsynth%-dnxhd-720p:         FMT     = dnxhd
@@ -434,7 +442,7 @@  FATE_VSYNTH_LENA = $(FATE_VCODEC:%=fate-vsynth_lena-%)
 RESIZE_OFF   = dnxhd-720p dnxhd-720p-rd dnxhd-720p-10bit dnxhd-1080i \
                dv dv-411 dv-50 avui snow snow-hpel snow-ll vc2-420p \
                vc2-420p10 vc2-420p12 vc2-422p vc2-422p10 vc2-422p12 \
-               vc2-444p vc2-444p10 vc2-444p12
+               vc2-444p vc2-444p10 vc2-444p12 vc2-haar vc2-5_3
 # Incorrect parameters - usually size or color format restrictions
 INC_PAR_OFF  = cinepak h261 h261-trellis h263 h263p h263-obmc msvideo1 \
                roqvideo rv10 rv20 y41p qtrlegray
diff --git a/tests/ref/vsynth/vsynth1-vc2-5_3 b/tests/ref/vsynth/vsynth1-vc2-5_3
new file mode 100644
index 0000000000..1a8f2c6001
--- /dev/null
+++ b/tests/ref/vsynth/vsynth1-vc2-5_3
@@ -0,0 +1,4 @@ 
+a5c80a091e7c3021ab9d5b854b4c653f *tests/data/fate/vsynth1-vc2-5_3.mov
+1604316 tests/data/fate/vsynth1-vc2-5_3.mov
+f35dd1c1df4726bb1d75d95e321b0698 *tests/data/fate/vsynth1-vc2-5_3.out.rawvideo
+stddev:    1.88 PSNR: 42.61 MAXDIFF:   23 bytes:  7603200/   760320
diff --git a/tests/ref/vsynth/vsynth1-vc2-haar b/tests/ref/vsynth/vsynth1-vc2-haar
new file mode 100644
index 0000000000..0361800410
--- /dev/null
+++ b/tests/ref/vsynth/vsynth1-vc2-haar
@@ -0,0 +1,4 @@ 
+62bcccb2981c4b79b635a0199a7fafb1 *tests/data/fate/vsynth1-vc2-haar.mov
+1717724 tests/data/fate/vsynth1-vc2-haar.mov
+f35dd1c1df4726bb1d75d95e321b0698 *tests/data/fate/vsynth1-vc2-haar.out.rawvideo
+stddev:    1.88 PSNR: 42.61 MAXDIFF:   23 bytes:  7603200/   760320
diff --git a/tests/ref/vsynth/vsynth2-vc2-5_3 b/tests/ref/vsynth/vsynth2-vc2-5_3
new file mode 100644
index 0000000000..4328f23509
--- /dev/null
+++ b/tests/ref/vsynth/vsynth2-vc2-5_3
@@ -0,0 +1,4 @@ 
+654f04ae4f5947f0d354025fee1f37e0 *tests/data/fate/vsynth2-vc2-5_3.mov
+1335772 tests/data/fate/vsynth2-vc2-5_3.mov
+8f629e5cea24cc804d6aeadceacf0b2a *tests/data/fate/vsynth2-vc2-5_3.out.rawvideo
+stddev:    0.37 PSNR: 56.66 MAXDIFF:    7 bytes:  7603200/   760320
diff --git a/tests/ref/vsynth/vsynth2-vc2-haar b/tests/ref/vsynth/vsynth2-vc2-haar
new file mode 100644
index 0000000000..3380066ce1
--- /dev/null
+++ b/tests/ref/vsynth/vsynth2-vc2-haar
@@ -0,0 +1,4 @@ 
+51b03663f4187f4eea11c5311669a2cc *tests/data/fate/vsynth2-vc2-haar.mov
+1470300 tests/data/fate/vsynth2-vc2-haar.mov
+8f629e5cea24cc804d6aeadceacf0b2a *tests/data/fate/vsynth2-vc2-haar.out.rawvideo
+stddev:    0.37 PSNR: 56.66 MAXDIFF:    7 bytes:  7603200/   760320
diff --git a/tests/ref/vsynth/vsynth_lena-vc2-5_3 b/tests/ref/vsynth/vsynth_lena-vc2-5_3
new file mode 100644
index 0000000000..97f6c0b797
--- /dev/null
+++ b/tests/ref/vsynth/vsynth_lena-vc2-5_3
@@ -0,0 +1,4 @@ 
+c2ce9a70c523903620794af6bc4ea0d4 *tests/data/fate/vsynth_lena-vc2-5_3.mov
+1305436 tests/data/fate/vsynth_lena-vc2-5_3.mov
+e5ea17416bda234ae58f27dea27e8135 *tests/data/fate/vsynth_lena-vc2-5_3.out.rawvideo
+stddev:    0.30 PSNR: 58.58 MAXDIFF:    5 bytes:  7603200/   760320
diff --git a/tests/ref/vsynth/vsynth_lena-vc2-haar b/tests/ref/vsynth/vsynth_lena-vc2-haar
new file mode 100644
index 0000000000..82373e1400
--- /dev/null
+++ b/tests/ref/vsynth/vsynth_lena-vc2-haar
@@ -0,0 +1,4 @@ 
+5f062ca6c56d14590507c4373ca942ab *tests/data/fate/vsynth_lena-vc2-haar.mov
+1431772 tests/data/fate/vsynth_lena-vc2-haar.mov
+e5ea17416bda234ae58f27dea27e8135 *tests/data/fate/vsynth_lena-vc2-haar.out.rawvideo
+stddev:    0.30 PSNR: 58.58 MAXDIFF:    5 bytes:  7603200/   760320