Some automatic check on video encoders

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@redhat.com>
Acked-by: Pavel Grunt <pgrunt@redhat.com>
This commit is contained in:
Frediano Ziglio 2017-03-21 22:12:37 +00:00
parent c9df62d89f
commit 76b7f943e4
3 changed files with 33 additions and 0 deletions

View File

@ -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")],

View File

@ -82,6 +82,13 @@ endif
TESTS = $(check_PROGRAMS) \
$(NULL)
if ENABLE_EXTRA_CHECKS
if HAVE_GSTREAMER_1_0
TESTS += video-encoders
endif
endif
EXTRA_DIST += video-encoders
noinst_LIBRARIES += \
libtest-stat1.a \
libtest-stat2.a \

25
server/tests/video-encoders Executable file
View File

@ -0,0 +1,25 @@
#!/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