platform/upstream/opencv.git
5 years agoMerge pull request #13347 from alalek:kw_resize_check
Alexander Alekhin [Mon, 3 Dec 2018 14:44:41 +0000 (14:44 +0000)]
Merge pull request #13347 from alalek:kw_resize_check

5 years agoimgproc(resize): update checks (static analyzers)
Alexander Alekhin [Mon, 3 Dec 2018 10:07:58 +0000 (13:07 +0300)]
imgproc(resize): update checks (static analyzers)

5 years agoMerge pull request #13338 from alalek:fix_resize_bitexact_test
Alexander Alekhin [Fri, 30 Nov 2018 15:46:33 +0000 (15:46 +0000)]
Merge pull request #13338 from alalek:fix_resize_bitexact_test

5 years agoimgproc(test): fix resize bitexact test
Alexander Alekhin [Fri, 30 Nov 2018 13:34:42 +0000 (16:34 +0300)]
imgproc(test): fix resize bitexact test

- use "random" area on input image
- avoid duplicate cases

5 years agoMerge pull request #13336 from sergiud:core_sse_immediates_gcc-5.4.0
Alexander Alekhin [Fri, 30 Nov 2018 09:51:59 +0000 (09:51 +0000)]
Merge pull request #13336 from sergiud:core_sse_immediates_gcc-5.4.0

5 years agofixed gcc 5.4.0 compilation errors
Sergiu Deitsch [Fri, 30 Nov 2018 07:48:19 +0000 (08:48 +0100)]
fixed gcc 5.4.0 compilation errors

5 years agoMerge pull request #13317 from terfendail:norm_wintr
Vitaly Tuzov [Thu, 29 Nov 2018 16:34:14 +0000 (19:34 +0300)]
Merge pull request #13317 from terfendail:norm_wintr

* Added performance tests for hal::norm functions

* Added sum of absolute differences intrinsic

* norm implementation updated to use wide universal intrinsics

* improve and fix v_reduce_sad on VSX

5 years agoMerge pull request #13323 from alalek:issue_13297
Alexander Alekhin [Thu, 29 Nov 2018 12:40:02 +0000 (12:40 +0000)]
Merge pull request #13323 from alalek:issue_13297

5 years agoMerge pull request #13327 from allnes:qrcode_modifications
Alexander Alekhin [Thu, 29 Nov 2018 12:39:06 +0000 (12:39 +0000)]
Merge pull request #13327 from allnes:qrcode_modifications

5 years agoCorrected parameters
Alexander Nesterov [Thu, 29 Nov 2018 12:57:45 +0000 (11:57 -0100)]
Corrected parameters

5 years agoimgproc: local "CV_Assert(totalSampleCount > 0)" check
Alexander Alekhin [Wed, 28 Nov 2018 20:16:37 +0000 (20:16 +0000)]
imgproc: local "CV_Assert(totalSampleCount > 0)" check

5 years agoMerge pull request #13322 from akashivskyy:pr/iossim-archs
Alexander Alekhin [Wed, 28 Nov 2018 19:34:25 +0000 (19:34 +0000)]
Merge pull request #13322 from akashivskyy:pr/iossim-archs

5 years agoAdd ability to specify iPhoneSimulator ARCHS
Adrian Kashivskyy [Mon, 26 Nov 2018 18:28:59 +0000 (19:28 +0100)]
Add ability to specify iPhoneSimulator ARCHS

5 years agoMerge pull request #13298 from mshabunin:fix-intrin-indent
Alexander Alekhin [Tue, 27 Nov 2018 13:58:02 +0000 (13:58 +0000)]
Merge pull request #13298 from mshabunin:fix-intrin-indent

5 years agoMerge pull request #13294 from terfendail:contours_wintr
Alexander Alekhin [Tue, 27 Nov 2018 13:54:23 +0000 (13:54 +0000)]
Merge pull request #13294 from terfendail:contours_wintr

5 years agoMerge pull request #13301 from alalek:build_warnings
Alexander Alekhin [Tue, 27 Nov 2018 13:53:02 +0000 (13:53 +0000)]
Merge pull request #13301 from alalek:build_warnings

5 years agoFixed misleading indentation in intrin_cpp.hpp
Maksim Shabunin [Tue, 27 Nov 2018 11:36:23 +0000 (14:36 +0300)]
Fixed misleading indentation in intrin_cpp.hpp

5 years agoeliminate build warnings
Alexander Alekhin [Mon, 26 Nov 2018 15:07:20 +0000 (18:07 +0300)]
eliminate build warnings

5 years agoAdded anonymous namespace to perf_contours
Vitaly Tuzov [Tue, 27 Nov 2018 08:33:36 +0000 (11:33 +0300)]
Added anonymous namespace to perf_contours

5 years agoMerge pull request #13242 from terfendail:contours_wintr
Alexander Alekhin [Mon, 26 Nov 2018 12:29:30 +0000 (12:29 +0000)]
Merge pull request #13242 from terfendail:contours_wintr

5 years agoMerge pull request #13280 from dkurt:enable_dnn_ie_r4_tests
Alexander Alekhin [Mon, 26 Nov 2018 12:24:16 +0000 (12:24 +0000)]
Merge pull request #13280 from dkurt:enable_dnn_ie_r4_tests

5 years agoMerge pull request #13228 from MatthiasWinkelmann:master
Matthias Winkelmann [Mon, 26 Nov 2018 12:04:16 +0000 (13:04 +0100)]
Merge pull request #13228 from MatthiasWinkelmann:master

Add URLs, harmonise formatting, and fix parse error in bibliography (#13228)

* Fixed parse error in bibliography

* Removed extra curly braces

* harmonized whitespace

* changed organisation -> publisher where appropriate. Organisation is intended as the author's organisation, not the publishing.

* harmonized capitalisation and whitespace

* Add links to about 1/3 of references

5 years agoEnable some dnn tests according to the new Intel's Inference Engine release (R4)
Dmitry Kurtaev [Mon, 26 Nov 2018 09:09:50 +0000 (12:09 +0300)]
Enable some dnn tests according to the new Intel's Inference Engine release (R4)

5 years agoMerge pull request #13279 from mshabunin:fix-carotene-build-3.4
Alexander Alekhin [Mon, 26 Nov 2018 09:30:31 +0000 (09:30 +0000)]
Merge pull request #13279 from mshabunin:fix-carotene-build-3.4

5 years agoFixed NEON detection in Carotene build
Maksim Shabunin [Mon, 26 Nov 2018 08:30:20 +0000 (11:30 +0300)]
Fixed NEON detection in Carotene build

5 years agoMerge pull request #13270 from 1over:flann_dist_fix
Alexander Alekhin [Sun, 25 Nov 2018 18:27:42 +0000 (18:27 +0000)]
Merge pull request #13270 from 1over:flann_dist_fix

5 years agoMerge pull request #13269 from alalek:ocl_fix_kernels_with_use_host_mem
Alexander Alekhin [Sun, 25 Nov 2018 18:27:01 +0000 (18:27 +0000)]
Merge pull request #13269 from alalek:ocl_fix_kernels_with_use_host_mem

5 years agoMerge pull request #13268 from alalek:core_findfile_linux_use_dladdr
Alexander Alekhin [Sun, 25 Nov 2018 18:26:28 +0000 (18:26 +0000)]
Merge pull request #13268 from alalek:core_findfile_linux_use_dladdr

5 years agoMerge pull request #13254 from alalek:update_python_install_path
Alexander Alekhin [Sun, 25 Nov 2018 18:25:48 +0000 (18:25 +0000)]
Merge pull request #13254 from alalek:update_python_install_path

5 years agofixed memory issue in flann
1over [Sun, 25 Nov 2018 00:31:54 +0000 (01:31 +0100)]
fixed memory issue in flann

5 years agoocl: fix kernels launching with USE_HOST_PTR UMat
Alexander Alekhin [Sat, 24 Nov 2018 15:36:43 +0000 (15:36 +0000)]
ocl: fix kernels launching with USE_HOST_PTR UMat

created from RAW memory buffers (without proper lifetime management)

5 years agocore: use dladdr() instead of parsing /proc/self/maps
Alexander Alekhin [Sat, 24 Nov 2018 15:22:54 +0000 (15:22 +0000)]
core: use dladdr() instead of parsing /proc/self/maps

5 years agopython: update install paths
Alexander Alekhin [Thu, 22 Nov 2018 21:06:33 +0000 (21:06 +0000)]
python: update install paths

- don't require "OPENCV_PYTHON{2,3}_INSTALL_PATH" if OPENCV_SKIP_PYTHON_LOADER=ON
- avoid unnecessary relative paths in generated config-X.Y.py

5 years agoMerge pull request #13263 from dkurt:dnn_refactor_tests
Alexander Alekhin [Fri, 23 Nov 2018 17:12:01 +0000 (17:12 +0000)]
Merge pull request #13263 from dkurt:dnn_refactor_tests

5 years agoFix ONNX's emotion_ferplus model.
Dmitry Kurtaev [Fri, 23 Nov 2018 15:23:27 +0000 (18:23 +0300)]
Fix ONNX's emotion_ferplus model.
Reduce input size for OpenPose tests

5 years agoMerge pull request #13243 from etienne02:3.4
Alexander Alekhin [Thu, 22 Nov 2018 16:05:14 +0000 (16:05 +0000)]
Merge pull request #13243 from etienne02:3.4

5 years agoMerge pull request #13239 from bramton:freebsd-build-fix
Alexander Alekhin [Thu, 22 Nov 2018 14:17:35 +0000 (14:17 +0000)]
Merge pull request #13239 from bramton:freebsd-build-fix

5 years agoFixed build on FreeBSD
Bram [Wed, 21 Nov 2018 15:05:22 +0000 (16:05 +0100)]
Fixed build on FreeBSD

5 years agoFix missing check part (defined(__cplusplus)) in header types_c.h
Etienne Brateau [Thu, 22 Nov 2018 00:39:09 +0000 (01:39 +0100)]
Fix missing check part (defined(__cplusplus)) in header types_c.h

5 years agoAdded performance tests for findContours
Vitaly Tuzov [Tue, 20 Nov 2018 17:00:37 +0000 (20:00 +0300)]
Added performance tests for findContours

5 years agoUpdated findContours to use wide universal intrinsics
Vitaly Tuzov [Mon, 19 Nov 2018 15:53:12 +0000 (18:53 +0300)]
Updated findContours to use wide universal intrinsics

5 years agoMerge pull request #13236 from tomoaki0705:featureHighguiGetProp
Alexander Alekhin [Wed, 21 Nov 2018 15:54:59 +0000 (15:54 +0000)]
Merge pull request #13236 from tomoaki0705:featureHighguiGetProp

5 years agoMerge pull request #13209 from alalek:issue_12865
Alexander Alekhin [Wed, 21 Nov 2018 14:30:31 +0000 (14:30 +0000)]
Merge pull request #13209 from alalek:issue_12865

5 years agoadd missing API cvGetPropVisible_W32
Tomoaki Teshima [Wed, 21 Nov 2018 14:04:23 +0000 (23:04 +0900)]
add missing API cvGetPropVisible_W32

5 years agoMerge pull request #13232 from huangqinjin:openmp
Alexander Alekhin [Wed, 21 Nov 2018 08:32:13 +0000 (08:32 +0000)]
Merge pull request #13232 from huangqinjin:openmp

5 years agofix numThreadsMax for OpenMP
huangqinjin [Wed, 21 Nov 2018 02:52:50 +0000 (10:52 +0800)]
fix numThreadsMax for OpenMP

introduced by commit 4e629000095779ae8f544ddd4de77633680a3db9

5 years agoMerge pull request #13224 from seiko2plus:core_ppc64le_infa
Alexander Alekhin [Tue, 20 Nov 2018 21:26:05 +0000 (21:26 +0000)]
Merge pull request #13224 from seiko2plus:core_ppc64le_infa

5 years agocore: several improves and fixes on ppc64le infrastructure
Sayed Adel [Tue, 20 Nov 2018 12:05:20 +0000 (12:05 +0000)]
core: several improves and fixes on ppc64le infrastructure

  - add infrastructure support for Power9/VSX3
  - fix missing VSX flags on GCC4.9 and CLANG4(#13210, #13222)
  - fix disable VSX optimzation on GCC by using flag ENABLE_VSX
  - flag ENABLE_VSX is deprecated now, use CPU_BASELINE, CPU_DISPATCH instead
  - add VSX3 to arithmetic dispatchable flags

5 years agoMerge pull request #13223 from dan-masek:fix_drawmatches_alpha
Alexander Alekhin [Tue, 20 Nov 2018 14:59:35 +0000 (14:59 +0000)]
Merge pull request #13223 from dan-masek:fix_drawmatches_alpha

5 years agoMerge pull request #13214 from 1over:fix_rect
Alexander Alekhin [Tue, 20 Nov 2018 14:55:42 +0000 (14:55 +0000)]
Merge pull request #13214 from 1over:fix_rect

5 years agoMerge pull request #13213 from alalek:fix_format
Alexander Alekhin [Tue, 20 Nov 2018 14:53:19 +0000 (14:53 +0000)]
Merge pull request #13213 from alalek:fix_format

5 years agoResolve #13219: Make randomly generated colours opaque.
Dan Mašek [Tue, 20 Nov 2018 14:08:40 +0000 (15:08 +0100)]
Resolve #13219: Make randomly generated colours opaque.

5 years agofixed operator- for Rect
1over [Mon, 19 Nov 2018 23:48:17 +0000 (00:48 +0100)]
fixed operator- for Rect

5 years agodnn: fix format
Alexander Alekhin [Mon, 19 Nov 2018 19:33:56 +0000 (19:33 +0000)]
dnn: fix format

5 years agocmake: don't generate dllmain for cudev module
Alexander Alekhin [Mon, 19 Nov 2018 16:11:52 +0000 (19:11 +0300)]
cmake: don't generate dllmain for cudev module

5 years agoMerge pull request #13181 from dkurt:ocv_dnn_fpga
Alexander Alekhin [Mon, 19 Nov 2018 16:03:20 +0000 (16:03 +0000)]
Merge pull request #13181 from dkurt:ocv_dnn_fpga

5 years agoMerge pull request #13146 from terfendail:bilateral_nan
Alexander Alekhin [Mon, 19 Nov 2018 15:59:12 +0000 (15:59 +0000)]
Merge pull request #13146 from terfendail:bilateral_nan

5 years agoMerge pull request #13144 from dkurt:update_tf_mask_rcnn
Alexander Alekhin [Mon, 19 Nov 2018 15:55:35 +0000 (15:55 +0000)]
Merge pull request #13144 from dkurt:update_tf_mask_rcnn

5 years agoDNN_TARGET_FPGA using Intel's Inference Engine
Dmitry Kurtaev [Fri, 16 Nov 2018 14:09:54 +0000 (17:09 +0300)]
DNN_TARGET_FPGA using Intel's Inference Engine

5 years agoMerge tag '3.4.4'
Alexander Alekhin [Sat, 17 Nov 2018 13:00:01 +0000 (13:00 +0000)]
Merge tag '3.4.4'

OpenCV 3.4.4

6 years agoOpenCV version++ (3.4.4)
Alexander Alekhin [Thu, 26 Jul 2018 10:16:22 +0000 (13:16 +0300)]
OpenCV version++ (3.4.4)

OpenCV 3.4.4

6 years agoexperimental version++
Alexander Alekhin [Thu, 26 Jul 2018 10:08:08 +0000 (13:08 +0300)]
experimental version++

6 years agoMerge pull request #13194 from alalek:samples_fix_python_search_win32
Alexander Alekhin [Sat, 17 Nov 2018 10:21:37 +0000 (13:21 +0300)]
Merge pull request #13194 from alalek:samples_fix_python_search_win32

6 years agoMerge pull request #13192 from alalek:fix_valgrind_3.4
Alexander Alekhin [Sat, 17 Nov 2018 10:20:33 +0000 (13:20 +0300)]
Merge pull request #13192 from alalek:fix_valgrind_3.4

6 years agoMerge pull request #13193 from berak:core_copyMakeBorder
berak [Sat, 17 Nov 2018 10:19:42 +0000 (11:19 +0100)]
Merge pull request #13193 from berak:core_copyMakeBorder

6 years agosamples(run_python): fix registry values querying
Alexander Alekhin [Sat, 17 Nov 2018 09:42:51 +0000 (09:42 +0000)]
samples(run_python): fix registry values querying

6 years agocore: fix issues from valgrind builder
Alexander Alekhin [Sat, 17 Nov 2018 07:32:06 +0000 (07:32 +0000)]
core: fix issues from valgrind builder

6 years agoMerge pull request #13189 from alalek:cmake_options_warnings_update
Alexander Alekhin [Fri, 16 Nov 2018 21:36:15 +0000 (00:36 +0300)]
Merge pull request #13189 from alalek:cmake_options_warnings_update

6 years agoMerge pull request #13188 from alalek:samples_rename
Alexander Alekhin [Fri, 16 Nov 2018 21:35:05 +0000 (00:35 +0300)]
Merge pull request #13188 from alalek:samples_rename

* samples: rename starter_imagelist.cpp

* samples: rename intelperc_capture.cpp => videocapture_intelperc.cpp

* samples: rename openni_capture.cpp => videocapture_openni.cpp

* samples: rename image_sequence.cpp => videocapture_image_sequence.cpp

* samples: rename gstreamer_pipeline.cpp => videocapture_gstreamer_pipeline.cpp

* samples: rename autofocus.cpp => videocapture_gphoto2_autofocus.cpp

* samples: rename live_detect_qrcode.cpp => qrcode.cpp

6 years agoMerge pull request #12908 from alexevans:Issue11855
Alexander Alekhin [Fri, 16 Nov 2018 20:42:54 +0000 (20:42 +0000)]
Merge pull request #12908 from alexevans:Issue11855

6 years agocmake: emit warnings about unsupported options if turned ON only
Alexander Alekhin [Fri, 16 Nov 2018 20:23:10 +0000 (20:23 +0000)]
cmake: emit warnings about unsupported options if turned ON only

6 years agoMerge pull request #13131 from Christopher22:add_transposedConv_onnx
Christopher Gundler [Fri, 16 Nov 2018 19:50:40 +0000 (20:50 +0100)]
Merge pull request #13131 from Christopher22:add_transposedConv_onnx

* Add support for ConvTranspose when parsing ONNX.

* Add support for ConvTranspose when parsing ONNX.

* Add test for Deconvolution

6 years agoMerge pull request #13178 from alalek:fix_samples_python_video_params
Alexander Alekhin [Fri, 16 Nov 2018 19:46:22 +0000 (22:46 +0300)]
Merge pull request #13178 from alalek:fix_samples_python_video_params

6 years agoMerge pull request #13177 from alalek:update_win32_scripts
Alexander Alekhin [Fri, 16 Nov 2018 19:45:57 +0000 (22:45 +0300)]
Merge pull request #13177 from alalek:update_win32_scripts

6 years agoMerge pull request #12977 from alalek:python_package
Alexander Alekhin [Fri, 16 Nov 2018 19:45:33 +0000 (22:45 +0300)]
Merge pull request #12977 from alalek:python_package

6 years agoMerge pull request #12354 from alalek:samples_find_file
Alexander Alekhin [Fri, 16 Nov 2018 19:40:49 +0000 (22:40 +0300)]
Merge pull request #12354 from alalek:samples_find_file

6 years agofeatures2d(test): add crossCheck=true test
Alexander Alekhin [Fri, 16 Nov 2018 19:22:43 +0000 (19:22 +0000)]
features2d(test): add crossCheck=true test

6 years agoMerge pull request #12913 from dkurt:dnn_fix_ie_hyperparams
Alexander Alekhin [Fri, 16 Nov 2018 18:36:12 +0000 (18:36 +0000)]
Merge pull request #12913 from dkurt:dnn_fix_ie_hyperparams

6 years agosamples: use findFile() in "python"
Alexander Alekhin [Wed, 14 Nov 2018 15:56:21 +0000 (18:56 +0300)]
samples: use findFile() in "python"

6 years agosamples: use findFile() in T-API samples
Alexander Alekhin [Sun, 11 Nov 2018 13:26:24 +0000 (13:26 +0000)]
samples: use findFile() in T-API samples

6 years agosamples: use findFile() in dnn
Alexander Alekhin [Sun, 11 Nov 2018 13:18:09 +0000 (13:18 +0000)]
samples: use findFile() in dnn

6 years agosamples: use findFile() in "cpp"
Alexander Alekhin [Wed, 31 Oct 2018 12:48:56 +0000 (15:48 +0300)]
samples: use findFile() in "cpp"

6 years agoUnrolled bilateral filter neighbor processing loop
Vitaly Tuzov [Thu, 15 Nov 2018 20:56:29 +0000 (23:56 +0300)]
Unrolled bilateral filter neighbor processing loop

6 years agoRaised bilateralFilter processing precision for CV_32F matrices containing NaNs
Vitaly Tuzov [Mon, 12 Nov 2018 17:42:58 +0000 (20:42 +0300)]
Raised bilateralFilter processing precision for CV_32F matrices containing NaNs

6 years agopython: bindings loader package
Alexander Alekhin [Sun, 28 Oct 2018 13:32:27 +0000 (13:32 +0000)]
python: bindings loader package

Configures and loads OpenCV bindings extension including 3rdparty dependencies

Based on running Python specify:
- configure PYTHON_PATH (via "sys.path")
- configure LD_LIBRARY_PATH / PATH

6 years agoMerge pull request #12965 from terfendail:medianBlur_wintr
Alexander Alekhin [Fri, 16 Nov 2018 00:47:10 +0000 (00:47 +0000)]
Merge pull request #12965 from terfendail:medianBlur_wintr

6 years agocore: add utils::findDataFile() / samples::findFile()
Alexander Alekhin [Sun, 12 Mar 2017 04:49:07 +0000 (04:49 +0000)]
core: add utils::findDataFile() / samples::findFile()

6 years agosamples(python): fix drive handling in source path
Alexander Alekhin [Fri, 16 Nov 2018 00:23:26 +0000 (00:23 +0000)]
samples(python): fix drive handling in source path

6 years agosamples: update Python launcher (winpack)
Alexander Alekhin [Thu, 15 Nov 2018 22:43:23 +0000 (22:43 +0000)]
samples: update Python launcher (winpack)

6 years agosamples: update build script (winpack)
Alexander Alekhin [Thu, 15 Nov 2018 21:17:56 +0000 (21:17 +0000)]
samples: update build script (winpack)

- drop EnableDelayedExpansion

6 years agowin32: update setupvars.cmd
Alexander Alekhin [Thu, 15 Nov 2018 21:00:26 +0000 (21:00 +0000)]
win32: update setupvars.cmd

- drop EnableDelayedExpansion
- pause on failed commands (non-interactive mode)

6 years agoMerge pull request #13168 from alalek:cmake_dnn_warnings
Alexander Alekhin [Thu, 15 Nov 2018 23:10:46 +0000 (23:10 +0000)]
Merge pull request #13168 from alalek:cmake_dnn_warnings

6 years agoMerge pull request #13175 from paddy74:patch-1
Alexander Alekhin [Thu, 15 Nov 2018 23:10:18 +0000 (02:10 +0300)]
Merge pull request #13175 from paddy74:patch-1

6 years agosamples(python): Updated use of model.load instances
Patrick Cox [Thu, 15 Nov 2018 15:36:04 +0000 (10:36 -0500)]
samples(python): Updated use of model.load instances

The load() function returns a new object, and as such does not use the one it is called on.
This commit updates the uses of model.load in this program so it will work as intended and not throw an error.

6 years agoExtra hyperparameters for Intel's Inference Engine layers
Dmitry Kurtaev [Mon, 22 Oct 2018 16:23:50 +0000 (19:23 +0300)]
Extra hyperparameters for Intel's Inference Engine layers

6 years agodnn: reduce set of ignored warnings
Alexander Alekhin [Wed, 14 Nov 2018 20:25:23 +0000 (20:25 +0000)]
dnn: reduce set of ignored warnings

6 years agoMerge pull request #13164 from alalek:ocl_morph
Alexander Alekhin [Wed, 14 Nov 2018 19:32:32 +0000 (19:32 +0000)]
Merge pull request #13164 from alalek:ocl_morph

6 years agoMerge pull request #13166 from catree:fix_batch_norm_layer_missing_intrin
Alexander Alekhin [Wed, 14 Nov 2018 19:02:17 +0000 (19:02 +0000)]
Merge pull request #13166 from catree:fix_batch_norm_layer_missing_intrin

6 years agoFix code and missing intrin header. Remove useless header.
catree [Wed, 14 Nov 2018 18:00:59 +0000 (19:00 +0100)]
Fix code and missing intrin header. Remove useless header.

6 years agoimgproc(ocl): fix morph generic filter checks
Alexander Alekhin [Wed, 14 Nov 2018 17:14:30 +0000 (20:14 +0300)]
imgproc(ocl): fix morph generic filter checks

'ksize' is not updated with 'kernel'