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