Martin Storsjö [Fri, 31 Aug 2012 09:45:52 +0000 (12:45 +0300)]
avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 6 Aug 2012 14:28:13 +0000 (16:28 +0200)]
svq1enc: Set picture_structure correctly
This fixes assert failures when running in debug mode.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 6 Aug 2012 14:49:49 +0000 (16:49 +0200)]
mpegvideo: remove last_picture_ptr / h264 assert.
This assert is no longer true since h264 error concealment needs
last_picture_ptr to be set.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 6 Aug 2012 08:26:04 +0000 (10:26 +0200)]
mpegvideo_enc: remove assert that has become obsolete with the new API
It now just checks uninitialized and unused data.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sat, 18 Aug 2012 19:53:32 +0000 (21:53 +0200)]
elbg: Fix an assert
It seems the condition was flipped from what was intended.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Elio Pettenò [Mon, 3 Sep 2012 12:20:44 +0000 (05:20 -0700)]
configure: add support for bdver1 and bdver2 CPU types.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Tue, 4 Sep 2012 13:04:46 +0000 (15:04 +0200)]
avio: make avio_close NULL the freed buffer
Luca Barbato [Fri, 31 Aug 2012 09:22:20 +0000 (11:22 +0200)]
pixdesc: cosmetics
Martin Storsjö [Tue, 4 Sep 2012 11:57:45 +0000 (14:57 +0300)]
proresenc: Don't free a buffer not owned by the codec
The data in coded_frame isn't allocated using get_buffer, but
is copied from the input frame to the encoder, so we should
not try to free it ourselves.
This fixes an assert failure when running in debug mode.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 4 Sep 2012 11:31:52 +0000 (14:31 +0300)]
proresenc: Write the full value in one put_bits call
Previously, the put_bits call writing the value wrote a value
larger than the number of bits specified, failing asserts
in debug mode. There was no actual bitstream writer corruption,
since the overwritten bit already always was set to 1.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Tue, 4 Sep 2012 11:02:30 +0000 (14:02 +0300)]
adpcmenc: Calculate the IMA_QT predictor without overflow
Previously, the value given to put_bits was 10 bits long for positive
predictors, even though 9 bits were to be written. The extra bit could
in some cases overwrite existing bits in the bitstream writer cache.
This fixes a failed assert in put_bits.h, when running a version
built with -DDEBUG.
The fate test result gets slightly improved, thanks to getting rid
of the overwritten bits in the bitstream writer cache.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 29 Aug 2012 16:53:14 +0000 (18:53 +0200)]
x86: Add convenience macros to check for CPU extensions and flags
Diego Biurrun [Sun, 2 Sep 2012 15:03:41 +0000 (17:03 +0200)]
x86: h264dsp: drop some unnecessary ifdefs around prototype declarations
Alberto Delmás [Fri, 31 Aug 2012 09:24:26 +0000 (11:24 +0200)]
mss12: merge decode_pixel() and decode_top_left_pixel()
No meaningful generated code differences using gcc -O3.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Alberto Delmás [Sun, 2 Sep 2012 10:44:21 +0000 (12:44 +0200)]
mss12: reduce SliceContext size from 1067 to 164 KB
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Alberto Delmás [Sun, 2 Sep 2012 10:42:01 +0000 (12:42 +0200)]
mss12: move SliceContexts out of the common context into the codec contexts
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Diego Biurrun [Mon, 13 Aug 2012 23:57:22 +0000 (01:57 +0200)]
build: avcodec: order cosmetics
Diego Biurrun [Mon, 3 Sep 2012 09:21:19 +0000 (11:21 +0200)]
intrax8dsp: Add missing #include to make header standalone
Diego Biurrun [Tue, 28 Aug 2012 21:15:39 +0000 (23:15 +0200)]
Delete motion-test tool; it is of doubtful utility.
Mans Rullgard [Sat, 25 Aug 2012 13:35:52 +0000 (14:35 +0100)]
intrax8: move functions from dsputil to own context
Signed-off-by: Mans Rullgard <mans@mansr.com>
Martin Storsjö [Thu, 30 Aug 2012 21:51:49 +0000 (00:51 +0300)]
crypto: Remove a stray double space
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 31 Aug 2012 10:29:36 +0000 (13:29 +0300)]
Rename missed cases of FF_OPT_TYPE_* to AV_OPT_TYPE_*
Signed-off-by: Martin Storsjö <martin@martin.st>
Alberto Delmás [Fri, 31 Aug 2012 05:59:36 +0000 (07:59 +0200)]
MSS1 and MSS2: set final pixel format after common stuff has been initialised
This way it won't interfere with WMV9 initialisation inside MSS2 decoder and
avplay will play it fine.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Alberto Delmás [Fri, 24 Aug 2012 15:45:57 +0000 (17:45 +0200)]
MSS2 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Mans Rullgard [Fri, 31 Aug 2012 00:56:03 +0000 (01:56 +0100)]
configure: handle --disable-asm before check_deps
This is necessary to avoid spuriously enabling _external or _inline
variants of arch extensions when they should be disabled.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diego Biurrun [Tue, 28 Aug 2012 12:53:33 +0000 (14:53 +0200)]
x86: Split inline and external assembly #ifdefs
Diego Biurrun [Mon, 27 Aug 2012 01:07:11 +0000 (03:07 +0200)]
configure: x86: Separate inline from standalone assembler capabilities
Martin Storsjö [Tue, 28 Aug 2012 19:56:03 +0000 (22:56 +0300)]
pktdumper: Use a custom define instead of PATH_MAX for buffers
PATH_MAX is not necessarily available on all systems, e.g. it's
normally not available on MSVC, and is not guaranteed to defined
on a POSIX system either.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 30 Aug 2012 20:10:07 +0000 (23:10 +0300)]
pktdumper: Use av_strlcpy instead of strncpy
This takes care of null-terminating the buffer if it is too small,
which wasn't handled properly before.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 30 Aug 2012 20:08:06 +0000 (23:08 +0300)]
pktdumper: Use sizeof(variable) instead of the direct buffer length
Also change the snprintf size to use the full buffer, since
snprintf always null-terminates the buffer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 29 Aug 2012 09:14:17 +0000 (11:14 +0200)]
x86: Fix linking with some or all of yasm, mmx, optimizations disabled
Some optimized template functions reference optimized symbols, so they
must be explicitly disabled when those symbols are unavailable.
Diego Biurrun [Tue, 28 Aug 2012 11:56:46 +0000 (13:56 +0200)]
configure: Add more fine-grained SSE CPU capabilities flags
Diego Biurrun [Tue, 28 Aug 2012 12:09:35 +0000 (14:09 +0200)]
avfilter: x86: Use more precise compile template names
Diego Biurrun [Wed, 29 Aug 2012 13:05:53 +0000 (15:05 +0200)]
x86: cosmetics: Comment some #endifs for better readability
Kostya Shishkov [Thu, 23 Aug 2012 17:51:11 +0000 (19:51 +0200)]
g723_1: add comfort noise generation
Michael Niedermayer [Sat, 25 Aug 2012 21:34:39 +0000 (21:34 +0000)]
utvideoenc: Switch to dsputils' median prediction
Also, align the mangled RGB planes, which is required for the
SIMD versions of dsputils' median predict.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sat, 25 Aug 2012 21:34:35 +0000 (21:34 +0000)]
utvideoenc: Avoid writing into the input picture
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Anton Khirnov [Wed, 29 Aug 2012 12:37:22 +0000 (14:37 +0200)]
avtools: remove the distinction between func_arg and func2_arg.
func2_arg is the same as func_arg, except it has one additional
parameter. Change all func_arg callbacks to take that parameter (and
ignore it).
Anton Khirnov [Sun, 19 Aug 2012 07:15:48 +0000 (09:15 +0200)]
avconv: make the -passlogfile option per-stream.
Anton Khirnov [Sun, 19 Aug 2012 06:29:44 +0000 (08:29 +0200)]
avconv: make the -pass option per-stream.
Anton Khirnov [Wed, 29 Aug 2012 07:43:20 +0000 (09:43 +0200)]
cmdutils: make -codecs print lossy/lossless flags.
Anton Khirnov [Tue, 28 Aug 2012 09:21:59 +0000 (11:21 +0200)]
lavc: add lossy/lossless codec properties.
Mans Rullgard [Tue, 28 Aug 2012 15:06:56 +0000 (16:06 +0100)]
build: allow non-standard variations of linker -l/-L flags
This enables replacing the -l and -L flags used to specify the
just-built libraries when linking the tools and shared libs with
non-standard syntaxes. System library flags are already handled
by the filtering mechanism in configure.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Anton Khirnov [Tue, 28 Aug 2012 08:16:53 +0000 (10:16 +0200)]
Add reminders to update the codec descriptor list with new codec IDs.
Mans Rullgard [Tue, 28 Aug 2012 15:24:09 +0000 (16:24 +0100)]
build: export filtered -lz flag in config.mak
This is needed to link tools/cws2fws using a linker with non-standard
command line syntax.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Tue, 28 Aug 2012 12:02:35 +0000 (13:02 +0100)]
build: add separate setting for host linker
This adds new HOSTLD and related settings for host linker allowing
it to be different from HOSTCC.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Tue, 28 Aug 2012 11:50:09 +0000 (12:50 +0100)]
configure: probe_cc: use separate variable for linker output flag
Some tools use different command line syntax for specifying output
when compiling and linking. To accomodate these, separate variables
must be used. No currently supported compilers/linkers are affected
by the change.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diego Biurrun [Tue, 28 Aug 2012 15:47:39 +0000 (17:47 +0200)]
x86: Always compile files with functions that are called unconditionally
Diego Biurrun [Tue, 28 Aug 2012 15:45:24 +0000 (17:45 +0200)]
x86: mpegvideoenc: fix linking with --disable-mmx
The optimized dct_quantize template functions reference optimized
fdct symbols, so these functions must only be enabled if the relevant
optimizations have been enabled by configure.
Diego Biurrun [Tue, 28 Aug 2012 15:37:54 +0000 (17:37 +0200)]
x86: mpegvideoenc: Do not abuse HAVE_ variables for template instantiation
This avoids trouble if HAVE_ variables are used elsewhere in the file.
Brad Smith [Mon, 27 Aug 2012 18:57:52 +0000 (14:57 -0400)]
configure: support Bitrig OS
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Ronald S. Bultje [Tue, 28 Aug 2012 00:32:50 +0000 (17:32 -0700)]
yuv2rgb: handle line widths that are not a multiple of 4.
This introduces support for width%4==2 in addition to width%4==0. For
odd widths, some more checks are needed, since the current code always
handles two luma items in a row, thus there is a possibility of an
overread by one.
Martin Storsjö [Tue, 28 Aug 2012 16:35:39 +0000 (19:35 +0300)]
graph2dot: Use the fallback getopt implementation if needed
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 Aug 2012 19:54:43 +0000 (22:54 +0300)]
tools: Include io.h for open/read/write/close if unistd.h doesn't exist
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 Aug 2012 19:44:31 +0000 (22:44 +0300)]
testprogs: Remove unused includes
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 Aug 2012 19:40:27 +0000 (22:40 +0300)]
qt-faststart: Use other seek/tell functions on MSVC than on mingw
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 Aug 2012 19:30:36 +0000 (22:30 +0300)]
ismindex: Include direct.h for _mkdir on windows
The Windows SDK in MSVC doesn't have mkdir, only _mkdir, and
MSDN says one should include direct.h to use it.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 Aug 2012 16:24:14 +0000 (19:24 +0300)]
sdp: Use static const char arrays instead of pointers to strings
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 8 Aug 2012 00:12:17 +0000 (02:12 +0200)]
x86: avcodec: Drop silly "_mmx" suffixes from filenames
Diego Biurrun [Tue, 7 Aug 2012 23:49:46 +0000 (01:49 +0200)]
x86: avcodec: Drop silly "_sse" suffixes from filenames
Martin Storsjö [Tue, 28 Aug 2012 11:57:26 +0000 (14:57 +0300)]
sdp: Include profile-level-id for H264
This is required for playback with the Stagefright RTSP framework
on Android.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 22 Aug 2012 02:02:38 +0000 (04:02 +0200)]
utvideoenc: use ff_huff_gen_len_table
Avoid code duplication and provide faster and better compression.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Michael Niedermayer [Mon, 27 Aug 2012 14:00:47 +0000 (16:00 +0200)]
huffman: add ff_huff_gen_len_table
The function will be used by utvideo as well.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Reimar Döffinger [Mon, 27 Aug 2012 20:11:08 +0000 (20:11 +0000)]
cllc: simplify/fix swapped data buffer allocation.
Using the malloc variant avoids pointless memcpy on size
increase and simplifies handling allocation failure.
Also change code to ensure that allocation, bswap and bitstream
reader all use the same size, even when the packet size is odd
for example.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Samuel Pitoiset [Sun, 26 Aug 2012 15:35:08 +0000 (17:35 +0200)]
rtpdec_h264: Don't set the pixel format
There is no need for this depacketizer to set the pixel format,
the decoder can do that just fine.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 Aug 2012 11:27:10 +0000 (14:27 +0300)]
h264: Check that the codec isn't null before accessing it
This fixes crashes introduced by
2e8f3cbcda5, the codec can be null
when called from parsers.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 Aug 2012 14:23:16 +0000 (17:23 +0300)]
audio_frame_queue: Define af_queue_log_state before using it
This fixes building with DEBUG defined after the function was made
static and the prototype removed in
d7f9786cbc.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Mon, 27 Aug 2012 17:21:00 +0000 (19:21 +0200)]
vc1: export some functions
This is a preparatory step for the MSS2 decoder which needs to use
the WMV9 decoder to decode some kinds of frames.
From the patch by Alberto Delmás <adelmas@gmail.com>
Mans Rullgard [Mon, 27 Aug 2012 21:19:42 +0000 (22:19 +0100)]
configure: use HOSTCC_C/O in check_host_cc
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Mon, 27 Aug 2012 21:19:06 +0000 (22:19 +0100)]
configure: use AS_O setting in check_as
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Mon, 27 Aug 2012 21:04:25 +0000 (22:04 +0100)]
configure: use LD_O setting in check_ld()
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 25 Aug 2012 11:34:55 +0000 (12:34 +0100)]
Revert "dsputil: make {add/put/put_signed}_pixels_clamped() non-static."
This reverts commit
484a337cd7cd8bb180c4a1bd3321881f1c874a92.
These functions were used in f8bed30 "VC1: merge idct8x8, coeff
adjustments and put_pixels" which was reverted in 18b6a69.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diego Biurrun [Mon, 27 Aug 2012 19:05:52 +0000 (21:05 +0200)]
build: Restore dependency of acelp_filters.o on celp_math.o
Diego Biurrun [Sun, 26 Aug 2012 09:29:39 +0000 (11:29 +0200)]
celp_math: Replace duplicate ff_dot_productf() by ff_scalarproduct_c()
Diego Biurrun [Sun, 26 Aug 2012 15:27:12 +0000 (17:27 +0200)]
celp_math: Move ff_cos() to the only place it is used
Diego Biurrun [Mon, 27 Aug 2012 03:09:29 +0000 (05:09 +0200)]
build: Use portable abstraction for linker/hostcc output file syntax
Brad Smith [Sun, 26 Aug 2012 20:23:06 +0000 (16:23 -0400)]
configure: Fix shared library creation for OpenBSD
OpenBSD does not expect or require symlinked shared libraries with
just the major version in the name.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Derek Buitenhuis [Mon, 27 Aug 2012 00:57:08 +0000 (20:57 -0400)]
vp56: Don't use DECLARE_ALIGN on a typedef name
Instead, use it on the first member, since by definition, if
any member is aligned, the whole struct must be, in order to
maintain that alignment.
Fixes compilation with some finicky compilers.
Idea for fix from Måns Rullgård.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Kostya Shishkov [Sun, 26 Aug 2012 12:16:07 +0000 (14:16 +0200)]
mss1: move code that will be reused by MSS2 decoder into separate file
Kostya Shishkov [Sun, 26 Aug 2012 11:46:57 +0000 (13:46 +0200)]
mss1: merge decode_intra() and decode_inter()
They have most of their code in common.
Martin Storsjö [Mon, 27 Aug 2012 11:07:12 +0000 (14:07 +0300)]
avprobe: Get rid of ugly casts in the options table
This also makes sure the function pointers are stored via the same
union member as they are accessed via.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 27 Aug 2012 12:55:43 +0000 (15:55 +0300)]
vf_hqdn3d: Remove a duplicate inline declaration
Compilation seems to fail on GCC 3.4 due to this duplicate
declaration.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 27 Aug 2012 09:33:42 +0000 (12:33 +0300)]
vf_hqdn3d: Don't declare the loop variable within the for loop
This C99 feature is generally not used in the libav codebase,
since it breaks building with some fringe compilers (GCC 2.95,
MSVC).
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Mon, 27 Aug 2012 10:30:13 +0000 (12:30 +0200)]
huffyuv: update to current coding style
Luca Barbato [Mon, 27 Aug 2012 10:29:34 +0000 (12:29 +0200)]
huffman: update to current coding style
Martin Storsjö [Fri, 17 Aug 2012 19:22:17 +0000 (22:22 +0300)]
rtsp: Free the rtpdec context properly
The condition for calling the rtpdec cleanup was broken in
df8cf076c86.
This fixes a memory leak.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Sun, 26 Aug 2012 16:13:59 +0000 (18:13 +0200)]
build: fft: x86: Drop unused YASM-OBJS-FFT- variable
Diego Biurrun [Sun, 26 Aug 2012 10:44:05 +0000 (12:44 +0200)]
audio_frame_queue: Clean up ff_af_queue_log_state debug function
The function is debug-only, so only compile it in debug mode.
Make it static as it has no uses outside of the file.
Change av_log() to av_dlog().
Diego Biurrun [Sun, 3 Jul 2011 14:56:01 +0000 (16:56 +0200)]
dwt: Remove unused code.
Mans Rullgard [Sun, 26 Aug 2012 07:59:41 +0000 (09:59 +0200)]
cavs: convert cavsdata.h to a .c file
Defining tables in header files is ugly and prone to duplication.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Sun, 26 Aug 2012 07:57:19 +0000 (09:57 +0200)]
cavs: Move inline functions only used in one file out of the header
Diego Biurrun [Sun, 26 Aug 2012 07:19:33 +0000 (09:19 +0200)]
cavs: Move data tables used in only one place to that file
Jan Ekström [Fri, 24 Aug 2012 11:42:41 +0000 (14:42 +0300)]
fate: Add a single symbol Ut Video decoder test
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Loren Merritt [Sun, 26 Aug 2012 10:26:42 +0000 (10:26 +0000)]
vf_hqdn3d: x86 asm
13% faster on penryn, 16% on sandybridge, 15% on bulldozer
Not simd; a compiler should have generated this, but gcc didn't.
Loren Merritt [Sun, 26 Aug 2012 10:26:00 +0000 (10:26 +0000)]
vf_hqdn3d: support 16bit colordepth
Anton Khirnov [Fri, 24 Aug 2012 15:42:46 +0000 (17:42 +0200)]
avconv: prefer user-forced input framerate when choosing output framerate
Mans Rullgard [Sat, 25 Aug 2012 14:57:19 +0000 (15:57 +0100)]
x86: fft: remove unused fft_dispatch* functions
These functions are not used since the yasm conversion.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 25 Aug 2012 10:41:13 +0000 (11:41 +0100)]
avconv: remove unused variable opt_shortest
This was replaced with a per-file value in 3c0df90.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Derek Buitenhuis [Thu, 23 Aug 2012 18:17:35 +0000 (18:17 +0000)]
FATE: Add Canopus Lossless tests
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Sat, 25 Aug 2012 02:10:19 +0000 (22:10 -0400)]
cllc: Pad swapped buffer
The bitstream buffer must be padded, or the bitstream reader might
read over the end.
Fixes the following valgrind warning:
Use of uninitialised value of size 8 at 0x591BAE: cllc_decode_frame (cllc.c:166)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>