[Spice-devel] [PATCH spice-server 2/2] Some automatic check on video encoders

Pavel Grunt pgrunt at redhat.com
Wed Mar 22 15:26:56 UTC 2017


Hi,

why not, but it can take some time to complete. I'd suggest to have a
configure option (like --enable-extra-gstreamer-checks) to do it (ie
"normal" make check would be fast).

What do you think ?

Pavel

On Wed, 2017-03-22 at 10:18 +0000, Frediano Ziglio wrote:
> Stress a bit video encoders.
> This check different combination of
> - encoder type;
> - image formats;
> - image clipping (encoding partial frames);
> - handling frames split into chunks.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  configure.ac                |  1 +
>  server/tests/Makefile.am    |  4 ++++
>  server/tests/video-encoders | 26 ++++++++++++++++++++++++++
>  3 files changed, 31 insertions(+)
>  create mode 100755 server/tests/video-encoders
> 
> diff --git a/configure.ac b/configure.ac
> index 9fd455b..d78a5f8 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -100,6 +100,7 @@ if test "x$enable_gstreamer" != "xno" && test
> "x$enable_gstreamer" != "x1.0"; th
>      ])
>  fi
>  AM_CONDITIONAL(HAVE_GSTREAMER, test "x$have_gstreamer_0_10" =
> "xyes" || test "x$have_gstreamer_1_0" = "xyes")
> +AM_CONDITIONAL(HAVE_GSTREAMER_1_0, test "x$have_gstreamer_1_0" =
> "xyes")
>  
>  AS_IF([test "x$enable_gstreamer" = "xyes"],
>        [AC_MSG_ERROR("GStreamer support requested but not found")],
> diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
> index 6cd6f49..6ab4a5f 100644
> --- a/server/tests/Makefile.am
> +++ b/server/tests/Makefile.am
> @@ -77,6 +77,10 @@ endif
>  TESTS = $(check_PROGRAMS)			\
>  	$(NULL)
>  
> +if HAVE_GSTREAMER_1_0
> +TESTS += video-encoders
> +endif
> +
>  noinst_LIBRARIES += \
>  	libtest-stat1.a \
>  	libtest-stat2.a \
> diff --git a/server/tests/video-encoders b/server/tests/video-
> encoders
> new file mode 100755
> index 0000000..563deb1
> --- /dev/null
> +++ b/server/tests/video-encoders
> @@ -0,0 +1,26 @@
> +#!/bin/bash
> +
> +set -e
> +
> +base_test() {
> +    echo "Running test with options: $*"
> +    ./test-gst -i 'videotestsrc pattern=14 foreground-
> color=0x4080ff background-color=0x402000 kx=-2 ky=-4 kxy=14 kt=3
> num-buffers=100 ! video/x-raw,width=1024,height=768 ! videoconvert
> qos=false' "$@"
> +}
> +
> +# check different clippings
> +# note that due to some internal alignment we are using odd number
> for sizes
> +for clipping in '' '--clipping (10%,10%)x(409,307)'
> +do
> +    for encoder in mjpeg 'gstreamer:mjpeg --min-psnr 16'
> gstreamer:vp8 gstreamer:h264
> +    do
> +        for split in '' '--split-lines=40'
> +        do
> +            # TODO check if encoder is supported
> +            for format in 16BIT 24BIT 32BIT RGBA
> +            do
> +                base_test -f $format -e $encoder $clipping $split
> +            done
> +        done
> +    done
> +done
> +


More information about the Spice-devel mailing list