uvg266/.travis.yml

138 lines
5.8 KiB
YAML
Raw Normal View History

language: c
env:
global:
- TEST_DIM=264x130
- TEST_FRAMES=10
# Use container based infrastructure
sudo: false
# Use this the global requirements list for valgrind tests, because those are the most numerous.
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- autoconf
- libtool
- p7zip-full # to uncompress our own ffmpeg binary
- valgrind
- yasm
matrix:
fast_finish: true
include:
- compiler: clang
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- autoconf
- libtool
- yasm
- compiler: gcc-4.8
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- autoconf
- gcc-4.8
- libtool
- yasm
# We have some Mac specific code and Mac sometimes has odd build issues.
2016-02-17 15:47:36 +00:00
- os: osx
compiler: clang # gcc is actually clang on Travis OS X
2016-02-17 15:47:36 +00:00
# Check for external symbols without kvz_ prefix.
- compiler: gcc-4.8
script:
2015-12-21 12:59:09 +00:00
- ./autogen.sh
- ./configure && make
- (! nm -go --defined-only src/.libs/libkvazaar.a | grep -v ' kvz_') || (echo 'ERROR Only symbols prefixed with kvz_ should be exported from libkvazaar.'; false)
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- autoconf
- gcc-4.8
- libtool
- yasm
# Tests trying to use invalid input dimensions
- env: EXPECTED_STATUS=1 PARAMS="-i src/kvazaar --input-res=1x65 -o /dev/null"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- autoconf
- libtool
- yasm
# These valgrind tests are slow, so they are performed with the minimum
# number of small frames and fast settings.
2016-01-26 08:16:14 +00:00
# Tests for interlace
- env: VALGRIND_TEST="--source-scan-type=tff -p0 --preset=ultrafast --threads=2 --owf=1 --wpp"
# Tests for owf, wpp and tiles. There is lots of separate branches of
# code related to owf=0 and owf!=0, which is why all permutations are
# tried.
- env: VALGRIND_TEST="-p4 -r1 --owf=1 --threads=0 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
- env: VALGRIND_TEST="-p4 -r1 --owf=0 --threads=0 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
- env: VALGRIND_TEST="-p4 -r2 --owf=1 --threads=2 --wpp --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
- env: VALGRIND_TEST="-p4 -r2 --owf=0 --threads=2 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
Disable WPP in Travis tile tests Now that WPP is on by default, Valgrind is finding memory leaks on these tests. It's not a priority so I'll just disable it for now. ==8120== Memcheck, a memory error detector ==8120== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. ==8120== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info ==8120== Command: /home/travis/build/Venti-/kvazaar/src/.libs/lt-kvazaar -i mandelbrot_264x130.yuv --input-res=264x130 -o test.265 -p4 -r2 --owf=1 --threads=2 --tiles-height-split=u2 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3 ==8120== Disabling TMVP because tiles are used. Compiled: INTEL, flags: MMX SSE SSE2 Detected: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 Available: sse2(2) sse41(1) In use: sse2(1) sse41(1) Input: mandelbrot_264x130.yuv, output: test.265 Video size: 264x136 (input=264x130) ==8120== Conditional jump or move depends on uninitialised value(s) ==8120== at 0x4E5FEE5: kvz_threadqueue_job_dep_add (threadqueue.c:616) ==8120== by 0x4E3DEAB: encoder_state_worker_encode_children (encoderstate.c:432) ==8120== by 0x4E3E219: encoder_state_encode (encoderstate.c:649) ==8120== by 0x4E3DE35: encoder_state_worker_encode_children (encoderstate.c:417) ==8120== by 0x4E3E219: encoder_state_encode (encoderstate.c:649) ==8120== by 0x4E3DE35: encoder_state_worker_encode_children (encoderstate.c:417) ==8120== by 0x4E3E219: encoder_state_encode (encoderstate.c:649) ==8120== by 0x4E3ECBD: kvz_encode_one_frame (encoderstate.c:941) ==8120== by 0x4E4DA22: kvazaar_encode (kvazaar.c:229) ==8120== by 0x4E4E228: kvazaar_field_encoding_adapter (kvazaar.c:280) ==8120== by 0x40137F: main (encmain.c:436) ==8120== lt-kvazaar: threadqueue.c:618: kvz_threadqueue_job_dep_add: Assertion `job && depends_on' failed. ==8120== ==8120== HEAP SUMMARY: ==8120== in use at exit: 1,320,764 bytes in 568 blocks ==8120== total heap usage: 584 allocs, 16 frees, 1,330,691 bytes allocated ==8120== ==8120== 112 bytes in 1 blocks are definitely lost in loss record 27 of 88 ==8120== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==8120== by 0x4E46BA5: kvz_image_alloc (image.c:49) ==8120== by 0x401E12: input_read_thread (encmain.c:183) ==8120== by 0x55EDE99: start_thread (pthread_create.c:308) ==8120== ==8120== 272 bytes in 1 blocks are possibly lost in loss record 41 of 88 ==8120== at 0x4C29DB4: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==8120== by 0x4012034: _dl_allocate_tls (dl-tls.c:297) ==8120== by 0x55EEABC: pthread_create@@GLIBC_2.2.5 (allocatestack.c:571) ==8120== by 0x4012B9: main (encmain.c:404) ==8120== ==8120== 544 bytes in 2 blocks are possibly lost in loss record 45 of 88 ==8120== at 0x4C29DB4: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==8120== by 0x4012034: _dl_allocate_tls (dl-tls.c:297) ==8120== by 0x55EEABC: pthread_create@@GLIBC_2.2.5 (allocatestack.c:571) ==8120== by 0x4E5EF65: kvz_threadqueue_init (threadqueue.c:308) ==8120== by 0x4E3BD2F: kvz_encoder_control_init (encoder.c:173) ==8120== by 0x4E4DD7E: kvazaar_open (kvazaar.c:80) ==8120== by 0x401112: main (encmain.c:346) ==8120== ==8120== 53,856 bytes in 1 blocks are possibly lost in loss record 81 of 88 ==8120== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==8120== by 0x4E46BEC: kvz_image_alloc (image.c:59) ==8120== by 0x401E12: input_read_thread (encmain.c:183) ==8120== by 0x55EDE99: start_thread (pthread_create.c:308) ==8120== ==8120== LEAK SUMMARY: ==8120== definitely lost: 112 bytes in 1 blocks ==8120== indirectly lost: 0 bytes in 0 blocks ==8120== possibly lost: 54,672 bytes in 4 blocks ==8120== still reachable: 1,265,980 bytes in 563 blocks ==8120== suppressed: 0 bytes in 0 blocks ==8120== Reachable blocks (those to which a pointer was found) are not shown. ==8120== To see them, rerun with: --leak-check=full --show-reachable=yes ==8120== ==8120== For counts of detected and suppressed errors, rerun with: -v ==8120== Use --track-origins=yes to see where uninitialised values come from ==8120== ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 2 from 2)
2016-09-28 21:21:03 +00:00
- env: VALGRIND_TEST="-p4 -r2 --owf=1 --threads=2 --tiles-height-split=u2 --no-wpp --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
- env: VALGRIND_TEST="-p4 -r2 --owf=0 --threads=2 --tiles-height-split=u2 --no-wpp --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
# Tests for rdoq, sao, deblock and signhide and subme.
- env: VALGRIND_TEST="-p0 -r1 --threads=2 --wpp --owf=1 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=1 --pu-depth-intra=2-3"
- env: VALGRIND_TEST="-p0 -r1 --threads=2 --wpp --owf=1 --rd=0 --no-rdoq --no-signhide --subme=0"
- env: VALGRIND_TEST="-p0 -r1 --threads=2 --wpp --owf=1 --rd=0 --no-deblock --no-sao --subme=0"
# Tests for all-intra.
- env: VALGRIND_TEST="-p1 --threads=2 --owf=1 --rd=1 --no-rdoq --no-deblock --no-sao --no-signhide"
- env: VALGRIND_TEST="-p1 --threads=2 --owf=1 --rd=2 --no-rdoq --no-deblock --no-sao --no-signhide --no-transform-skip"
2015-12-15 09:20:17 +00:00
# Tests for SMP and AMP blocks.
- env: TEST_FRAMES=4 VALGRIND_TEST="--threads=2 --owf=1 --wpp --smp"
- env: TEST_FRAMES=4 VALGRIND_TEST="--threads=2 --owf=1 --wpp --amp"
- env: TEST_FRAMES=4 VALGRIND_TEST="--threads=2 --owf=1 --wpp --smp --amp"
2015-12-15 09:20:17 +00:00
2015-06-01 13:36:49 +00:00
# Tests for rate control
- env: VALGRIND_TEST="--bitrate=500000 -p0 -r1 --owf=1 --threads=2 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
# Tests for GOP, with and without OWF.
- env: TEST_FRAMES=20 VALGRIND_TEST="--gop=8 -p0 --threads=2 --wpp --owf=1 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
2015-09-07 12:29:59 +00:00
- env: TEST_FRAMES=10 VALGRIND_TEST="--gop=8 -p0 --threads=2 --wpp --owf=4 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
- env: TEST_FRAMES=20 VALGRIND_TEST="--gop=8 -p0 --threads=2 --wpp --owf=0 --rd=0 --no-rdoq --no-deblock --no-sao --no-signhide --subme=0 --pu-depth-inter=1-3 --pu-depth-intra=2-3"
2017-01-26 07:43:08 +00:00
# Tests for --mv-constraint
- env: VALGRIND_TEST="--threads=2 --owf=1 --preset=ultrafast --pu-depth-inter=0-3 --mv-constraint=frametilemargin"
- env: VALGRIND_TEST="--threads=2 --owf=1 --preset=ultrafast --subme=4 --mv-constraint=frametilemargin"
2017-01-31 13:53:23 +00:00
# Tests for --slices
- env: TEST_DIM=512x256 VALGRIND_TEST="--threads=2 --owf=1 --preset=ultrafast --tiles=2x2 --slices=tiles"
- env: VALGRIND_TEST="--threads=2 --owf=1 --preset=ultrafast --slices=wpp"
2017-02-08 19:33:41 +00:00
# Test weird shapes.
- env: TEST_DIM=16x16 VALGRIND_TEST="--threads=2 --owf=1 --preset=veryslow"
- env: TEST_DIM=256x16 VALGRIND_TEST="--threads=2 --owf=1 --preset=veryslow"
- env: TEST_DIM=16x256 VALGRIND_TEST="--threads=2 --owf=1 --preset=veryslow"
install:
- source .travis-install.sh
script:
- source .travis-script.sh
after_script:
- set +e # Disable errors to work around Travis not knowing how to fix their stuff.