Maksim Shabunin
91d80d0309
Merge pull request #6798 from tomoaki0705:featureSSEvideoAcc
2016-07-15 12:31:18 +00:00
Tomoaki Teshima
3c2f7ecc97
speed up accumulate, accumulateSquare, accumulateProduct and accumulateWeighted using SIMD
...
* use SSE and/or AVX based on configuration
* revise the test to verify the implementation
2016-07-15 08:09:24 +09:00
Maksim Shabunin
79f8e516b8
Merge pull request #6891 from snosov1:fix-5311
2016-07-14 11:25:58 +00:00
Maksim Shabunin
4d053405cf
Merge pull request #6809 from K-Shinotsuka:master
2016-07-14 09:37:53 +00:00
Alexander Alekhin
9c92f65c0b
Merge pull request #6808 from sturkmen72:patch-14
2016-07-13 11:54:11 +00:00
Alexander Alekhin
6c4b634cfe
Merge pull request #6814 from tomoaki0705:featureThreshold64fSimd
2016-07-13 11:45:28 +00:00
Tomoaki Teshima
9fca953e62
check the CPU flag correctly
2016-07-13 07:34:49 +09:00
Sergei Nosov
dce310e03c
provide better error messages
2016-07-12 18:03:28 +03:00
Ilya Lavrenov
5bc10ef796
fixed empty image condition in resize
2016-07-12 13:23:19 +03:00
Alexander Alekhin
88da03722f
Merge pull request #6786 from terfendail:median_fix
2016-07-11 10:02:43 +00:00
Tomoaki Teshima
1095076d7f
imgproc: speed up threshold of 64F version using NEON and SSE
...
* use NEON under aarch64 only
* check 64F version correctly
2016-07-09 17:05:29 +09:00
Andrey Pavlenko
dcaac98569
Merge pull request #6775 from janstarzy:histo-ipp-fix
2016-07-08 15:15:17 +00:00
Vitaly Tuzov
c61f7e5334
Fix for median blur of 2-channel images
2016-07-08 12:03:28 +03:00
Jan Starzynski
7f896643e9
fix for buffer-overflow in IPPCalcHistInvoker::operator()
2016-07-06 09:54:28 +02:00
Alexander Alekhin
8b05a4bf93
cvtColor: fix inplace processing
2016-07-01 17:09:12 +03:00
Andrey Pavlenko
e4cd24537e
Merge pull request #6740 from tomoaki0705:fixNeonCheckSmooth
2016-06-30 15:47:45 +00:00
Tomoaki Teshima
78a5aacb22
make NEON more similart to SSE2
2016-06-29 12:11:10 +09:00
Alexander Alekhin
be38a524a8
Merge pull request #6705 from alalek:fix_hal_imgproc
2016-06-21 16:24:29 +00:00
Alexander Alekhin
2fb670cf09
hal: fix missing include "opencv2/imgproc/hal/interface.h"
2016-06-20 19:25:49 +03:00
k-shinotsuka
43d5988df6
improve to calculate norm
2016-06-05 16:55:02 +09:00
Suleyman TURKMEN
7c5b981c17
Update drawing.cpp
2016-06-05 01:06:55 +03:00
Vladislav Sovrasov
a2d0cc878c
Implement internal HAL for GEMM and matrix decompositions
2016-06-03 10:38:30 +03:00
atinfinity
1f1464c925
remove unnecessary cast
2016-05-18 08:32:29 +09:00
atinfinity
e4f207c4b4
Changed cv::threshold() to support CV_64F
2016-05-17 22:56:03 +09:00
Alexander Alekhin
6e5e5d87df
Merge pull request #6448 from alalek:merge-2.4
2016-04-25 16:56:51 +00:00
Vadim Pisarevsky
681fd7f214
Merge pull request #6455 from belgraviton:bugfix_5953
2016-04-25 12:50:45 +00:00
Vadim Pisarevsky
f4e00bd60f
Merge pull request #6463 from ohnozzy:ocl-linearpolar-and-logpolar
2016-04-25 12:42:40 +00:00
Vadim Pisarevsky
904381c602
Merge pull request #6020 from mshabunin:hal_dxt
2016-04-25 11:37:18 +00:00
ohnozzy
db9f611767
Add OpenCL support to linearPolar & logPolar
...
Add OpenCL support to linearPolar & logPolar.
The OpenCL code use float instead of double, so that it does not require
cl_khr_fp64 extension, with slight precision lost.
Add explicit conversion
Add explicit conversion from double to float to eliminate warning during
compilation.
2016-04-24 08:37:56 +08:00
Vadzim Piatrou
43f854bc5f
fixing CLAHE crash with pixels value > 12 bit
2016-04-22 18:55:22 +03:00
Alexander Alekhin
67a734ce73
Merge branch '2.4' into master
...
Commits:
67fe57a
add fixed video
db0ae2c
Restore 2.4 source branch for bug fix 6317.
97ac59c
Fix a memory leak indirectly caused by cvDestroyWindow
eb40afa
Add a workaround for FFmpeg's color conversion accessing past the end of the buffer
421fcf9
Rearrange CvVideoWriter_FFMPEG::writeFrame for better readability
912592d
Remove "INSTALL_NAME_DIR lib" target property
bb1c2d7
fix bug on border at pyrUp
2016-04-21 20:15:08 +03:00
Thomas Schenker
76ced14b3b
fix typo
2016-04-19 15:09:27 +02:00
Maksim Shabunin
5e9192287d
Added HAL cvtColor interface
2016-04-18 16:34:25 +03:00
ohnozzy
9be6b4f2d1
Bug Fix for 6377
...
Rewrite linearPolar & logPolar so that they do not depend on the
deprecated API CvMat. Issue 6377 is resolved in this way because the two
routines do not convert UMat to CvMat anymore.
2016-04-14 19:39:02 +08:00
Maksim Shabunin
233612efd7
Reworked HAL dft/dct interface, added replacement documentation
2016-04-08 16:03:51 +03:00
Maksim Shabunin
f40d701427
DFT: renamed HAL functions
2016-04-08 11:19:28 +03:00
Maksim Shabunin
15783cf668
Always use hal::dft in crossCorr function
2016-04-08 11:19:28 +03:00
Maksim Shabunin
008abd28fd
Extracted HAL interfaces for DFT/DCT, added new test
2016-04-08 11:19:28 +03:00
Maksim Shabunin
5877debb6f
HAL resize, warpAffine, warpPerspective interface
...
- added HAL documentation support
- added documentation to HAL replacement interface
- updated several HAL functions in imgproc module
2016-04-07 18:47:24 +03:00
themightyoarfish
68d97502fe
Error message for wrong kernel size was insufficient.
...
When setting a wrong kernel size, the error message only tells the user that it
must be odd, however the conditions for rejection include values > 7 which must
be communicated. Without that, the message would be incorrect and confusing if
the user is unaware that only values 3, 5, 7 are accepted.
2016-03-28 14:06:55 +02:00
Vadim Pisarevsky
e792ee89de
Merge pull request #6243 from mshabunin:hal_morph
2016-03-23 13:09:19 +00:00
Maksim Shabunin
3b6190dfad
Merge pull request #6150 from lvv:fix-6149-applColorMap
2016-03-21 09:20:52 +00:00
Maksim Shabunin
83379695a0
HAL interface for morphology operations
2016-03-21 09:32:06 +03:00
Leonid Volnitsky
bebab8d647
fix: 6149 (through CV_Error on wrong image type)
2016-03-19 19:57:05 +02:00
Zhigang Gong
0b08d2559e
fix potential race condition in canny.cl.
...
See the below code snippet:
while(l_counter != 0)
{
int mod = l_counter % LOCAL_TOTAL;
int pix_per_thr = l_counter / LOCAL_TOTAL + ((lid < mod) ? 1 : 0);
for (int i = 0; i < pix_per_thr; ++i)
{
int index = atomic_dec(&l_counter) - 1;
....
}
....
barrier(CLK_LOCAL_MEM_FENCE);
}
If we don't put a barrier before the for loop, then there is a possiblity
that some work item enter this loop but the others are not, the the l_counter
will be reduced in the for loop and may be changed to zero, and the other
work items may can't enter the while loop. If this happens, it breaks the
barrier's rule which requires all the work items reach the same barrier.
And it may hang the GPU depends on the implementation of opencl platform.
This issue is raised at:
https://github.com/Itseez/opencv/issues/5175
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
2016-03-15 19:11:15 +08:00
Vadim Pisarevsky
c186f424c5
Merge pull request #6119 from mshabunin:hal_filter2d
2016-03-12 17:08:10 +00:00
Alexander Alekhin
ec66a3700f
logPolar/linearPolar: more accurate processing near zero angle slice
2016-03-03 19:08:08 +03:00
Maksim Shabunin
98fff4a601
Added separate hal::SepFilter2D class
2016-03-03 18:56:12 +03:00
Maksim Shabunin
17cd1dac06
HAL Filter2D interface: Updated according to comments
2016-03-03 18:56:12 +03:00
Maksim Shabunin
85b2c2ae58
Fixed build with older standalone IPP versions
2016-03-03 18:56:12 +03:00
Maksim Shabunin
8414c6518f
Fixed build with older ippicv
2016-03-03 18:56:12 +03:00
Maksim Shabunin
27abd4d3a3
Filter2D HAL interface
2016-03-03 18:56:12 +03:00
Alexander Alekhin
275bfcf99c
fix logPolar/linearPolar
2016-03-03 18:33:11 +03:00
Elena Gvozdeva
bb1c2d71a8
fix bug on border at pyrUp
2016-01-20 13:07:07 +03:00
Vitaly Tuzov
4f5d585184
Update call to Tegra optimized morphology filtering
2016-01-15 11:48:29 +03:00
Alexander Alekhin
7a62a8213b
Merge pull request #5914 from LaurentBerger:I5908
2016-01-11 13:00:17 +00:00
LaurentBerger
8531e6d9fc
May be it can solve issue 5908
2016-01-02 21:06:51 +01:00
berak
2d1cb14e61
fix cv::MARKER_TRIANGLE_UP
2016-01-01 10:10:01 +01:00
Maksim Shabunin
84f37d352f
HAL moved back to core
2015-12-17 12:33:23 +03:00
Vadim Pisarevsky
f93a4dfbc9
Merge pull request #5799 from alalek:fix_5066
2015-12-15 10:24:39 +00:00
Alexander Alekhin
1305962af7
fixes #5066 : laplacian: "y" may contain negative values
2015-12-14 18:13:57 +03:00
Thomas Dunker
6882c10b45
Extension of the camera distortion model for tilted image sensors (Scheimpflug condition) including test
2015-12-14 15:20:34 +01:00
Vadim Pisarevsky
8e67f0ba84
Merge pull request #5774 from mshabunin:coverity_fixes
2015-12-09 13:32:44 +00:00
Vadim Pisarevsky
35d4f998fd
Merge pull request #5748 from songyuncen:fix#5745
2015-12-09 12:17:41 +00:00
Maksim Shabunin
715887fcd5
Coverity: fixed some negative argument issues
2015-12-09 14:25:08 +03:00
songyuncen
9d8118dee5
build failed, trailing whitespace.
2015-12-09 08:00:42 +08:00
songyuncen
e0b7389dc3
remove compile warnings in shapedescr.cpp
2015-12-08 22:23:23 +08:00
songyuncen
a69eeb6b1f
change the algorithm of minimum enclosing circle with EMO Welzl's method
2015-12-08 21:38:59 +08:00
Vadim Pisarevsky
f95203e93f
Merge pull request #5759 from grundman:patch-1
2015-12-08 10:33:54 +00:00
Maksim Shabunin
387935e94c
Merge pull request #5756 from mshabunin:smooth_neon_fix
2015-12-08 08:59:58 +00:00
Maksim Shabunin
878ec080c7
Merge pull request #3540 from AlexanderUsentsov:good_feature
2015-12-08 08:02:28 +00:00
Florent
056a111788
Fixed histogram substraction bug with NEON instructions (arguments in wrong order).
2015-12-08 09:48:17 +03:00
grundman
2f0a598ac8
Update imgwarp.cpp
...
github editor does not show white space and inserts one for you ... great combination
2015-12-07 11:48:45 -08:00
grundman
5772cb52e3
Update imgwarp.cpp
...
Check for identity resize => use copy instead (1.37 ms -> 0.07 ms on 720p)
2015-12-07 11:25:39 -08:00
ausentso
9abdf39c90
added test for goodFeaturesToTrack;
2015-12-07 15:24:38 +03:00
songyuncen
b81598bc03
try to fix : enclosing circle always larger than 1.0
...
issue #5745
2015-12-05 10:57:29 +08:00
Maksim Shabunin
b4bcdd10a1
HAL: improvements
...
- added new functions from core module: split, merge, add, sub, mul, div, ...
- added function replacement mechanism
- added example of HAL replacement library
2015-12-03 14:43:37 +03:00
Pavel Vlasov
2b27f7dbb3
Fixed warnings for IPP9+ build;
2015-12-01 16:10:29 +03:00
Pavel Vlasov
7375383d26
Canny IPP Sobel getBufferSize wrong func fix;
2015-11-23 14:31:22 +03:00
Pavel Vlasov
9acf93b7c6
IPP Sobel getBufferSize wrong func fix;
2015-11-19 18:38:47 +03:00
Jan Starzynski
2799829bc9
fix potential buffer overflow as in 3.0
2015-11-11 16:19:20 +01:00
Lorena García
252feb4774
Hit and Miss morphological op
2015-11-03 19:42:22 +01:00
Vadim Pisarevsky
979f88f6db
Merge pull request #5518 from Bovaz:master
2015-11-02 15:58:58 +00:00
Vadim Pisarevsky
67ef84d883
Merge pull request #5386 from StevenPuttemans:add_markers
2015-11-02 15:45:38 +00:00
Vadim Pisarevsky
3c31d6add3
Merge pull request #5515 from LorenaGdL:hitAndMiss
2015-11-02 11:49:37 +00:00
Vadim Pisarevsky
b2f6aedec9
Merge pull request #5587 from lupustr3:pvlasov/ipp_cond_update
2015-11-02 11:38:02 +00:00
Vadim Pisarevsky
00f222a9b4
Merge pull request #5598 from ajbernal:ocl_bilateral_bugfix
2015-11-02 11:22:25 +00:00
Ariel Bernal
cc903d0605
Fix for #5590 . OpenCL BilateralFilter implementation failes to
...
build for some OCL drivers.
Some OCL vendors treat implicit scalar-vector conversions for
operators as errors when type conversion is required.
2015-10-30 09:39:11 -07:00
Pavel Vlasov
5ae3693567
Condition update for 8u IPP in GaussianBlur. Bug was fixed in 9.0.1;
2015-10-29 13:21:13 +03:00
Lorena García
7cff60f4f6
Changed src matrix complement computation
2015-10-24 00:33:36 +02:00
Lorena García
fb03330ea3
Fixed CV_Assert
2015-10-24 00:22:50 +02:00
Rodrigo Benenson
0ef7387298
mush -> must
...
fixed typo
2015-10-22 23:27:55 +02:00
Maksim Shabunin
6e9d0d9a0c
Visual Studio 2015 warning and test fixes
2015-10-20 12:48:37 +03:00
Bovaz
7be3d3ab2c
sqrtf to std::sqrt
2015-10-14 18:57:33 -07:00
Matteo Piovanelli
216baf5b11
Speedup of arcLength
...
By my tests, this version of cv::arcLength is almost 10% faster than the
one using a buffer it replaces.
2015-10-14 13:37:48 -07:00
Lorena García
33f77774c5
Hit&Miss morphological operation
2015-10-14 14:01:53 +02:00
Alexander Alekhin
d8c352d20d
Merge pull request #5504 from aman11dhanpat:master
2015-10-14 09:10:30 +00:00
Pavel Vlasov
40b2dfae09
Fix for filter2D and IPP < 900
2015-10-13 14:10:32 +03:00
Aman Verma
411be4fde8
Fix for #5481 , removing repeated/useless assignment in contours.cpp
2015-10-12 16:16:27 +00:00
Pavel Vlasov
89eee6ca99
Fixes for IPP integration:
...
dotProd_16s - disabled for IPP 9.0.0;
filter2D - fixed kernel preparation;
morphology - conditions fix and disabled FilterMin and FilterMax for IPP 9.0.0;
GaussianBlur - disabled for CV_8UC1 due to buffer overflow;
integral - disabled for IPP 9.0.0;
IppAutoBuffer class was added;
2015-10-12 10:51:28 +03:00
Alexander Alekhin
706b8a6266
Merge pull request #5459 from aman11dhanpat:master
2015-10-06 17:12:03 +00:00
berak
f2decec3e8
fix zero length std::string in putText()
2015-10-06 17:07:40 +02:00
Aman Verma
dff7037156
Adding fix for issue 5451 "putText fails with empty std::string"
2015-10-06 14:23:27 +00:00
StevenPuttemans
587dca9b1c
adding markers to OpenCV
2015-10-02 08:48:15 +02:00
Pavel Vlasov
e837d69f8f
IPPInitSingelton was added to contain IPP related global variables;
...
OPENCV_IPP env var now allows to select IPP architecture level for IPP9+;
IPP initialization logic was unified across modules;
2015-10-01 09:58:48 +03:00
Pavel Vlasov
62854dcc0d
Enables support of IPP 9.0.0;
...
HAVE_IPP_ICV_ONLY will be undefined if OpenCV was linked against ICV packet from IPP9 or greater. ICV9+ packets will be aligned with IPP in OpenCV APIs
This will ease code management between IPP and ICV
2015-09-29 17:27:13 +03:00
Pavel Vlasov
14b006e808
IPP_VERSION_X100 was changed to:
...
IPP_VERSION_MAJOR * 100 + IPP_VERSION_MINOR*10 + IPP_VERSION_UPDATE
to manage changes between updates more easily.
IPP_DISABLE_BLOCK was added to ease tracking of disabled IPP functions;
2015-09-25 17:50:15 +03:00
Pavel Vlasov
2177c7c5a8
Some IPP functions were encapsulated;
...
Minor changes to IPP implementations;
2015-09-25 17:30:26 +03:00
Alexander Alekhin
af0942c78f
Merge pull request #5335 from Dikay900:ports_to_master
2015-09-18 11:06:08 +00:00
Ilya Lavrenov
11981c31f0
fixed valgrind warning in polylines
2015-09-11 18:45:01 +02:00
Tsukasa Sugiura
cd13b30fde
Fix LineAA in case of 4 channel
...
Fix bug when enter 4 channel image to LineAA function.
2015-09-12 01:42:25 +09:00
Roman Donchenko
e1be6d0888
Refactor a section of icvRotatingCalipers to work around a GCC bug
...
https://bugs.launchpad.net/ubuntu/+source/gcc-4.9/+bug/1474304
2015-09-11 18:34:16 +02:00
Suleyman TURKMEN
c63f443bba
Update drawing.cpp
...
https://github.com/Itseez/opencv/issues/4791
2015-09-07 11:30:14 +03:00
Maksim Shabunin
771af4f32d
Some changes to support mingw-w64
...
- IPP is disabled by default when compiler is mingw (couldn't make it
work)
- fixed some warnings
- fixed some `__GNUC__` version checks (for correctness and convenience)
- removed UTF-8 BOM from hough.cpp (fixes #5253 )
2015-09-01 00:59:08 +03:00
Wenju He
67ca143a0b
fix adaptiveThreshold mean
2015-08-06 10:23:31 +08:00
Vadim Pisarevsky
4a2aad5bba
Merge pull request #4149 from LaurentBerger:ThreshGaussianFloat
2015-08-05 17:25:01 +00:00
Alexander Alekhin
4eef486afe
tapi: datarace fixup for cvtColor
2015-07-28 11:49:46 +03:00
Josh Klontz
beed99dbc1
fixed conditional compilation of RGB2Gray<ushort> template specialization
2015-07-14 20:56:43 -04:00
Roman Donchenko
9e50cf5375
Refactor a section of icvRotatingCalipers to work around a GCC bug
...
https://bugs.launchpad.net/ubuntu/+source/gcc-4.9/+bug/1474304
2015-07-14 13:26:47 +03:00
Vadim Pisarevsky
426b3f6198
Merge pull request #4139 from swook:spatial_gradient
2015-07-01 10:22:36 +00:00
Seon-Wook Park
20bf88bad1
spatialGradient: Make kern args const&
2015-07-01 09:34:27 +09:00
Seon-Wook Park
90c398ea67
spatialGradient: Add CV_SSE2 check
2015-07-01 00:42:08 +09:00
Seon-Wook Park
ed38ca5179
spatialGradient: Remove 4 loads in inner loop
2015-06-30 16:08:15 +09:00
Seon-Wook Park
5dddb47863
spatialGradient: Remove pointers caching
2015-06-30 10:51:10 +09:00
Seon-Wook Park
cf0fdfa2bb
spatialGradient: Change ordering of vector loads
2015-06-29 23:50:05 +09:00
Seon-Wook Park
658f96b447
spatialGradient: L/R border handling outside. Kernelize.
2015-06-29 23:12:33 +09:00
Seon-Wook Park
15ea401087
spatialGradient: Move vector decl into loop
2015-06-27 10:01:47 +02:00
Seon-Wook Park
db0cc56c52
spatialGradient: Re-introduce 2-rows at a time
2015-06-27 09:53:42 +02:00
Seon-Wook Park
f958f29c55
spatialGradient: Suppress uninitialised j warnings
2015-06-27 01:03:43 +02:00
Seon-Wook Park
62cad09c64
spatialGradient: Process 1 row at a time in SSE
2015-06-26 17:35:17 +02:00
Seon-Wook Park
8a21726ae5
spatialGradient: Remove an unnecessary branch in nosse code
2015-06-26 17:26:21 +02:00
Seon-Wook Park
febd0f14c6
spatialGradient: Don't dynamically alloc C array, use vector
2015-06-26 17:15:44 +02:00
Seon-Wook Park
f92e2ed57a
spatialGradient: Make nosse version faster
2015-06-26 17:13:23 +02:00
Seon-Wook Park
7b01e32fe8
spatialGradient: HAL-accelerated
...
TODO: Make nosse ver faster than Sobel
Make sse ver faster than Sobel for BORDER_REPLICATE
2015-06-26 16:41:00 +02:00
Seon-Wook Park
6803d1ed28
Support non continuous, BORDER_REPLICATE
...
TODO: HAL-accelerated code
2015-06-26 14:49:31 +02:00
LaurentBerger
ca0114228c
In adaptiveThreshold ADAPTIVE_THRES_GAUSSIAN_C gaussianBlur is computed using float
...
number
2015-06-25 07:51:06 +02:00
Vadim Pisarevsky
56e637d5f4
Merge pull request #4135 from lupustr3:ipp_code_refactoring
2015-06-24 16:18:55 +00:00
Pavel Vlasov
e02195b3dc
Accidentally removed tegra checks were returned;
2015-06-24 14:55:45 +03:00
Pavel Vlasov
101607a7d0
Imgproc_Hist_MinMaxVal.accuracy fix;
...
Some code style corrections;
2015-06-24 13:50:17 +03:00
LaurentBerger
56b2b450ce
A new constant in adaptivethreshold is created to calculate
...
gaussianBlur with CV_32F. hence rouding error are avoided
2015-06-22 22:21:30 +02:00
Seon-Wook Park
2ff614dfab
spatialGradient: Per row in outer loop
2015-06-19 19:25:07 +02:00
Seon-Wook Park
815cd8970d
spatialGradient: Remove unnecessary index calculation
2015-06-19 04:46:17 +02:00
Seon-Wook Park
f9c4c96663
spatialGradient: Reduce temporary vectors
2015-06-19 04:29:07 +02:00
Seon-Wook Park
a2dbd2f10e
spatialGradient: Less vector loads
2015-06-19 04:07:18 +02:00
Seon-Wook Park
88bc88125a
spatialGradient: Vectorise inner area
2015-06-19 03:36:49 +02:00
Seon-Wook Park
770e742e04
spatialGradient: Add non-SSE version
2015-06-19 02:56:51 +02:00
Seon-Wook Park
11fb1f74cc
spatialGradient: Add asserts
2015-06-19 01:23:01 +02:00
Seon-Wook Park
9f1c641199
spatialGradient: Add test class and Sobel proxy method
2015-06-18 17:42:32 +02:00
Dmitry Budnikov
a5a21019b2
ipp_countNonZero build fix;
...
Removed IPP port for tiny arithm.cpp functions
Additional warnings fix on various platforms.
Build without OPENCL and GCC warnings fixed
Fixed warnings, trailing spaces and removed unused secure_cpy.
IPP code refactored.
IPP code path implemented as separate static functions to simplify future work with IPP code and make it more readable.
2015-06-18 12:47:07 +03:00
René
3e2515d735
Fix bug in distanceATS_L1_8u and typos.
...
The inner loop of the backward scan got the wrong initial "a".
2015-06-09 17:23:22 +02:00