mirror of
https://github.com/ultravideo/uvg266.git
synced 2024-11-27 19:24:06 +00:00
Merge branch 'travis-containers'
This commit is contained in:
commit
4f3901199a
|
@ -1,25 +1,10 @@
|
|||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
if [ -n "$USE_NEW_GCC" ]; then
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y > /dev/null
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qq gcc-4.8
|
||||
export CC=gcc-4.8
|
||||
else
|
||||
sudo apt-get update -qq
|
||||
fi
|
||||
|
||||
if [ -n "$VALGRIND_TEST" ]; then
|
||||
sudo apt-get install -qq valgrind
|
||||
sudo apt-get install -qq p7zip-full
|
||||
wget http://ultravideo.cs.tut.fi/ffmpeg-release-32bit-static.tar.xz
|
||||
7z x ffmpeg-release-32bit-static.tar.xz
|
||||
7z x ffmpeg-release-32bit-static.tar
|
||||
chmod +x ./ffmpeg-2.6.3-32bit-static/ffmpeg
|
||||
./ffmpeg-2.6.3-32bit-static/ffmpeg -f lavfi -i "mandelbrot=size=${TEST_DIM}:end_pts=10" -vframes $TEST_FRAMES -pix_fmt yuv420p mandelbrot_${TEST_DIM}.yuv
|
||||
fi
|
||||
|
||||
if [ -n "$USE_YASM" ]; then
|
||||
sudo apt-get install -qq yasm
|
||||
fi
|
||||
|
|
|
@ -3,11 +3,11 @@ set -ev
|
|||
|
||||
if [ -n "$VALGRIND_TEST" ]; then
|
||||
cd src
|
||||
make debug
|
||||
make -e debug
|
||||
valgrind --leak-check=full --error-exitcode=1 ./kvazaar_debug -i ../mandelbrot_${TEST_DIM}.yuv --input-res=${TEST_DIM} -o /dev/null $VALGRIND_TEST
|
||||
elif [ -n "$EXPECTED_STATUS" ]; then
|
||||
cd src
|
||||
make
|
||||
make -e
|
||||
set +e
|
||||
./kvazaar $PARAMS
|
||||
EXIT_STATUS=$?
|
||||
|
@ -15,6 +15,6 @@ elif [ -n "$EXPECTED_STATUS" ]; then
|
|||
[ "$EXIT_STATUS" = "$EXPECTED_STATUS" ]
|
||||
else
|
||||
cd src
|
||||
make
|
||||
make tests
|
||||
make -e
|
||||
make -e tests
|
||||
fi
|
||||
|
|
34
.travis.yml
34
.travis.yml
|
@ -1,20 +1,13 @@
|
|||
language: c
|
||||
|
||||
#os:
|
||||
# - linux
|
||||
# - osx
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
|
||||
env:
|
||||
global:
|
||||
- USE_YASM=1
|
||||
- TEST_FRAMES=10
|
||||
- TEST_DIM=264x130
|
||||
- AS=nasm
|
||||
- KVZ_DISABLE_AVX2=1
|
||||
- TEST_DIM=264x130
|
||||
- TEST_FRAMES=10
|
||||
|
||||
sudo: required
|
||||
sudo: false
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
@ -22,10 +15,11 @@ matrix:
|
|||
include:
|
||||
- compiler: clang
|
||||
env: KVZ_DISABLE_AVX2=""
|
||||
- env: USE_NEW_GCC=1 KVZ_DISABLE_AVX2=""
|
||||
- compiler: gcc-4.8
|
||||
env: KVZ_DISABLE_AVX2=""
|
||||
|
||||
# These valgrind tests are slow, so they are performed with the minimum
|
||||
# number of small frames and fast settings.
|
||||
# number of small frames and fast settings.
|
||||
|
||||
# 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
|
||||
|
@ -56,9 +50,17 @@ matrix:
|
|||
# Tests trying to use invalid input dimensions
|
||||
- env: EXPECTED_STATUS=1 PARAMS="-i kvazaar --input-res=1x65 -o /dev/null"
|
||||
|
||||
before_install:
|
||||
# Work around a weird bug in Travis-ci, where compiler is set wrong.
|
||||
- if [ "$CC" = "[gcc]" ]; then export CC=gcc; gcc --version; fi
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
packages:
|
||||
- gcc
|
||||
- gcc-4.8
|
||||
- nasm
|
||||
- p7zip-full
|
||||
- valgrind
|
||||
|
||||
install:
|
||||
- source .travis-install.sh
|
||||
|
|
|
@ -33,7 +33,8 @@ LN_S = ln -s
|
|||
WARNINGS = -Wall -Wtype-limits -Wvla
|
||||
INCLUDEDIRS = -I. -I./strategies -I./extras -I..
|
||||
|
||||
ASFLAGS += $(INCLUDEDIRS)
|
||||
# nasm requires trailing slashes in include directories
|
||||
ASFLAGS += $(patsubst %,%/,$(INCLUDEDIRS))
|
||||
CFLAGS += -O2 -g -Werror -ftree-vectorize -fpic -fvisibility=hidden -std=gnu99
|
||||
CFLAGS += -DKVZ_DLL_EXPORTS
|
||||
CFLAGS += $(INCLUDEDIRS) $(WARNINGS)
|
||||
|
|
|
@ -82,8 +82,14 @@
|
|||
default rel
|
||||
%endif
|
||||
|
||||
%macro CPUNOP 1
|
||||
%ifdef __YASM_MAJOR__
|
||||
CPU %1
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
; Always use long nops (reduces 0x90 spam in disassembly on x86_32)
|
||||
CPU amdnop
|
||||
CPUNOP amdnop
|
||||
|
||||
; Macros to eliminate most code duplication between x86_32 and x86_64:
|
||||
; Currently this works only for leaf functions which load all their arguments
|
||||
|
@ -745,7 +751,7 @@ SECTION .note.GNU-stack noalloc noexec nowrite progbits
|
|||
; All subsequent functions (up to the next INIT_CPUFLAGS) is built for the specified cpu.
|
||||
; You shouldn't need to invoke this macro directly, it's a subroutine for INIT_MMX &co.
|
||||
%macro INIT_CPUFLAGS 0-2
|
||||
CPU amdnop
|
||||
CPUNOP amdnop
|
||||
%if %0 >= 1
|
||||
%xdefine cpuname %1
|
||||
%assign cpuflags cpuflags_%1
|
||||
|
@ -768,7 +774,7 @@ SECTION .note.GNU-stack noalloc noexec nowrite progbits
|
|||
%define movu lddqu
|
||||
%endif
|
||||
%if ARCH_X86_64 == 0 && notcpuflag(sse2)
|
||||
CPU basicnop
|
||||
CPUNOP basicnop
|
||||
%endif
|
||||
%else
|
||||
%xdefine SUFFIX
|
||||
|
|
Loading…
Reference in a new issue