uvg266/.travis.yml
Ari Koivula 278cd4da9b 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-29 00:21:03 +03:00

122 lines
4.9 KiB
YAML

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.
- os: osx
compiler: clang # gcc is actually clang on Travis OS X
# Check for external symbols without kvz_ prefix.
- compiler: gcc-4.8
script:
- ./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.
# 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"
- 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"
# 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"
# 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"
- 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"
install:
- source .travis-install.sh
script:
- source .travis-script.sh