Commit Graph

119 Commits

Author SHA1 Message Date
Isaac Connor bcd0e84a31 do sws_scale from decoded image to Image using a member context and avframe to save a few cycles 2021-04-01 13:22:57 -04:00
Peter Keresztes Schmidt 76e6c468e8 rgb: Convert some constant defines to constexpr
Using defines interferes with fmt.
Also rename them according to the Google styleguide.
2021-03-01 00:38:21 +01:00
Peter Keresztes Schmidt 9dc3f15eac Image: Replace qsort with std::sort
std::sort has stricter complexity requirements than qsort and can be better optimized
by the compiler due to templating.
2021-02-06 15:41:56 +01:00
Peter Keresztes Schmidt 0dbc39ee25 Cleanup and reorganize includes
With this commit a unified structure for includes is introduced.
The general rules:
 * Only include what you need
 * Include wherever possible in the cpp and forward-declare in the header

 The includes are sorted in a local to global fashion. This means for the include order:
  0. If cpp file: The corresponding h file and an empty line
  1. Includes from the project sorted alphabetically
  2. System/library includes sorted alphabetically
  3. Conditional includes
2021-02-04 18:02:01 +01:00
Peter Keresztes Schmidt 5a57efdfe2 Replace deprecated C header includes with the C++ ones. 2021-02-04 05:39:03 +01:00
Isaac Connor 04c02dd1ef Spacing 2021-01-12 14:11:06 -05:00
Isaac Connor 9fb8e51ff2 Set imagePixFormat everywhere. Add PopulateFrame which creates and AVFrame pointing to the image's buffer. Will do this with proper refcounting eventually 2021-01-11 13:46:50 -05:00
Isaac Connor 284b9f963f Merge branch 'master' into zma_to_thread 2020-12-29 12:18:26 -05:00
Isaac Connor b261fbb397 Merge branch 'master' into zma_to_thread 2020-12-07 16:26:26 -05:00
Isaac Connor 3f1e7e793f update buffertype after DumpBUffer 2020-11-19 16:38:49 -05:00
Isaac Connor 2eda49333f Merge branch 'master' into zma_to_thread 2020-10-20 16:20:29 -04:00
Isaac Connor 059d7d388f Make centerCoord take a font size parameter to fix centering when using large font. 2020-10-05 13:15:39 -04:00
Isaac Connor a39a656373 Merge branch 'master' into zma_to_thread 2020-09-29 11:02:40 -04:00
Peter Keresztes Schmidt 8f980a1168 Convert NULL/0 to nullptr
The 0 -> nullptr changes should definitely improve readability.
2020-08-26 22:03:40 +02:00
Isaac Connor 5fb56c9f57 Merge branch 'master' into zma_to_thread 2020-08-07 17:52:43 -04:00
Isaac Connor cceb010048 set linesize in WriteBuffer which also sets colours, width, etc. Fixes segfault when streaming from jpegs 2020-07-23 17:14:56 -04:00
Isaac Connor 3641797500 Merge branch 'master' into zma_to_thread 2020-07-22 13:14:40 -04:00
Isaac Connor 869860bb26 Merge branch 'master' into zma_to_thread 2020-07-21 17:49:39 -04:00
Isaac Connor 7575afc8d5 Merge branch 'master' into zma_to_thread 2020-07-21 17:38:32 -04:00
Isaac Connor fd9272241a Introduce constructors that can be passed a linesize which is the # of bytes to use to store a line of image. This can be different from the image width * colours as it should be 32byte aligned for use with sws_scale. 2020-07-07 16:13:41 -04:00
Isaac Connor ffcef8a42a spacing and make sws_context static global so we don't have to keep initializing it when playing back from mp4 in eventstream. 2020-05-01 15:22:32 -04:00
Isaac Connor ae9a5766f5 Merge branch 'release-1.34' into fix_zms 2020-04-26 18:19:30 -04:00
Isaac Connor 396be10d6f Merge branch 'master' into zma_to_thread 2019-08-22 12:57:00 -04:00
Isaac Connor 5b62c91cc2 Improve some debugging to try to diagnose recent segfault report 2019-08-10 14:46:05 -04:00
Mitch Capper eb005e8b9c FIFO support for zoneminder zone debugging (#2594)
Adds fifo options for diagnostic images for much lower impact diagnostics mode.  Diagnostic images are only written when there is a client listening for them (otherwise they are skipped).  Also added a json stream for the detection data so you can see in real time the pixels or blobs detected for the motion.  This allows for easy real time stream of both delta and reference images (as video streams) along with the detection numbers.
2019-05-16 15:37:03 -04:00
Isaac Connor 279e0d8bcf Merge branch 'storageareas' into zma_to_thread 2019-02-22 11:39:58 -05:00
Isaac Connor 443fd35d99
Fix imagesize requirements (#2404)
* introduce non-loop-unrolled version of function and use them when the image size is not a multiple of 12 or 16

* Remove tests for imagesize being a multiple of 16 or 12 to handle functions with unrolled loops

* Use non-unrolled functions when image size is not a multiple of 12 or 16

* use std_blend when image is odd size
2019-02-22 09:44:57 -05:00
Isaac Connor b16cd7ec84 Merge branch 'h265' into zma_to_thread 2018-11-20 12:38:17 -05:00
Isaac Connor 0f14df64e2 google code style and whitespace 2018-10-22 10:41:27 -04:00
Isaac Connor 89cd7ceaf8 Whitespace, extra parentheses, google code style 2018-09-23 16:47:06 -04:00
Isaac Connor 672b4affe1 Merge branch 'storageareas' into zma_to_thread 2018-08-31 19:05:22 -04:00
Isaac Connor 17a02d66f7 google code style 2018-08-11 13:35:37 -04:00
Isaac Connor 74650ebc70 simplify Analysis 2017-11-20 11:48:56 -05:00
Isaac Connor 64816aa005 fixes from cppcheck. 2017-11-18 16:00:10 -05:00
APHW2 MFGENG 043e44d273 fix, must clear the frame 2017-11-13 14:24:28 -08:00
Isaac Connor ed72017684 add a mutex 2017-11-13 14:35:47 -05:00
Isaac Connor 0e7f475ce8 merge work from zma_to_thread, but not the zma_to_thread part 2017-11-12 11:42:34 -05:00
APHW2 MFGENG d15d36f389 rework, compiles, won't open h264 2017-11-09 11:50:20 -08:00
Isaac Connor b58c9d87c3 wip 2017-10-23 09:51:41 -04:00
Isaac Connor a81ff85fbb add ffmpeg decoding of a .mp4 to get the frames 2017-08-23 15:05:44 -04:00
Isaac Connor 536ccc0cec maybe fix memleak, maybe fix crash 2017-08-10 15:44:20 -04:00
Kfir Itzhak c66deb564f Added ARM Neon AArch64 versions of delta 2017-05-13 09:19:13 +03:00
Kfir Itzhak ec2b6235a0 Added ARM Neon AArch64 version of fastblend 2017-05-12 22:59:08 +03:00
Andrew Bauer ccc2cc832f Merge branch 'armv7_neon' of https://github.com/mastertheknife/ZoneMinder into mastertheknife-armv7_neon 2017-05-10 07:45:58 -05:00
Andrew Bauer 747583e9f4 Merge pull request #1810 from mastertheknife/ssse3_improvements
Minor zm_image SSSE3 improvements
2017-05-10 07:06:33 -05:00
Kfir Itzhak 71e6735b60 Neon32 functions now work on 64 bytes at a time. This results in 4-6x performance increase over standard functions
Memory allocations and image size requirements changed to be as needed for 64 byte alignment.
Self-test code for Blend modified accordingly and added Self-test for the delta functions.
2017-04-16 10:57:37 +03:00
Kfir Itzhak 29885135a6 Corrected issues in last two ARM Neon commits 2017-03-19 13:39:24 +02:00
Kfir Itzhak 510f65c414 Added ARM Neon (AArch32) FastBlend function 2017-03-19 13:31:44 +02:00
Kfir Itzhak 67f7ad40ae Removed SSSE3 deinterlacing functions, as they were typically equal or slower than the standard code (when compiled with -O2 or better)
The function is too complicated to be vectorized efficiently
2017-03-14 22:36:26 +02:00
Kfir Itzhak e7a681b8ff Added BGRA, ARGB and ABGR variants of SSSE3 32bit color to grayscale conversion and made the code actually use them all 2017-03-14 22:29:55 +02:00