Peter Keresztes Schmidt
3c85d63655
Polygon: Implement clipping to a boundary box
...
Using the Sutherland-Hodgman algorithms convex and concave subject polygons can be clipped
by convex clip polygons.
For now we only need clipping to rectangles (Box), so limit our implementation to that. If needed this can be
trivially extended to convex clip polygons (a check whether the clip polygon is actually convex has to be added).
If convex clip polygons are needed we have to switch to e.g the Vatti algorithm.
2021-05-16 19:41:45 +02:00
Peter Keresztes Schmidt
5af6d6af3d
Polygon: Use std::vector to store the vertices
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
eaf91fcf1f
zm_define: Include cstddef so we have size_t
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
26bdf4ab1b
Deduplicate Edge struct
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
783dc09b4e
Box: Rename variables according to the styleguide
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
8f685b3d66
Box+Poly: Remove direct accessors to {Hi,Lo}{X,Y}
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
c2a7f7b593
tests/Box: Add unit tests
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
f85e3765db
Box: Remove unnecessary constructors
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
e6c159fb70
Vector2: Make coordinate components public
...
The components were already unconditionally/without side-effects writable. Let's make them public so we don't need the setters.
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
c8885fe2aa
Vector2: Use default copy/assignment ops
2021-05-14 20:14:50 +02:00
Peter Keresztes Schmidt
290b88e5ac
Vector2: Delete non-idiomatic comparison operators
...
The "greater than" and "lesser than" operator families don't make sense for coordinates.
If lexicographic comparison for ordering purposes is needed, it should be implemented separately.
2021-05-14 20:14:50 +02:00
Peter Keresztes Schmidt
707700e24e
Vector2: Add unit tests
2021-05-14 20:14:50 +02:00
Peter Keresztes Schmidt
60db1c2eaf
Coord: Rename to Vector2
...
The class is not only used to represent coordinates but also lengths in XY.
Vector2 is a more fitting/general name for this purpose.
2021-05-14 20:14:50 +02:00
Peter Keresztes Schmidt
3fc3a81286
Box+Coord: Remove empty cpp files
2021-05-14 20:14:50 +02:00
Isaac Connor
2afbbb17d2
Must upload source package. Get rid of -sd
2021-05-14 10:41:36 -04:00
Isaac Connor
b17edf3153
Bump version to 1.36.0
2021-05-13 19:28:32 -04:00
Isaac Connor
a56b4053fa
Use resize in stead of reserve so that image_buffer.size actually has a value
2021-05-13 14:24:03 -04:00
Isaac Connor
d52b53e690
Add further bounds checks when accessing image_buffer
2021-05-13 09:31:59 -04:00
Isaac Connor
70946921bc
fix code to release lock before notifying
2021-05-13 08:54:55 -04:00
Isaac Connor
5a8fa9efc9
Remove dead code and useless debug
2021-05-12 18:54:07 -04:00
Isaac Connor
6f977da94d
Fix potential outofbounds access to image_buffer in getSnapshot()
2021-05-12 14:21:54 -04:00
Isaac Connor
e246083be5
Add StartDateTime Attr in sort dropdown
2021-05-12 10:32:03 -04:00
Isaac Connor
363b017977
If error was unauthorized, do a reload.
2021-05-12 10:32:03 -04:00
Isaac Connor
bdae5dd9f8
Sort field should be StartDateTime not StartTime
2021-05-12 10:32:03 -04:00
Isaac Connor
c080dd8a12
Fixes #2992 . If no definition for a monitor is found, don't modify it.
2021-05-11 15:29:10 -04:00
Isaac Connor
76171fcc43
If not doing passthrough, don't need to find the nearest keyframe
2021-05-11 10:22:40 -04:00
Isaac Connor
510b3e606b
Continue if frame file not found. Output useful text jpeg
2021-05-11 09:33:33 -04:00
Isaac Connor
726f1f616d
Merge branch 'update_docs_1_34'
2021-05-10 14:53:14 -04:00
Isaac Connor
f0abcdf585
Merge branch 'release-1.34' into update_docs_1_34
2021-05-10 14:48:50 -04:00
Isaac Connor
b8e3cc33f0
make it so that the queue will more likely be empty on termination. Do not queue more sql if terminate flag is set.
2021-05-10 12:54:35 -04:00
Isaac Connor
f3b4ccf758
Fix scaling when scale to fit
2021-05-10 11:08:16 -04:00
Isaac Connor
b1ac0e61a9
put back upstream version 3.2.0 of Crud
2021-05-09 18:18:03 -04:00
Isaac Connor
747c714699
put back up to date RtspServer
2021-05-09 18:15:37 -04:00
Isaac Connor
3cd9bdccd5
style and performance improvements reported by cppcheck
2021-05-09 16:39:38 -04:00
Isaac Connor
01834d4ddc
finish converting Capture to std::shared_ptr
2021-05-09 07:35:47 -04:00
Isaac Connor
e970c46f7b
fix memleak. Fixes #3217
2021-05-09 07:18:36 -04:00
Isaac Connor
2cf6ad8089
Switch ZMPacket * to a shared_ptr<ZMPacket>. This is so that in LockedPacket we can unlock and then notify and be confident that packet_ won't have been deleted. Change ZMPacket->timestamp to be a timeval instead of timeval *. This might not have been necessary but I like it. No longer cuse the ZMPacket object to wrap the shared image buffers and timestamps. Use a vector for image_buffers.
2021-05-08 21:14:20 -04:00
Isaac Connor
9ee24170a9
use packetqueue.unlock instead of deleting the lock so that we wake up people waiting
2021-05-08 15:57:00 -04:00
Isaac Connor
bc11e6a95b
Include pre event count in min estimated ram use
2021-05-08 15:47:29 -04:00
Isaac Connor
d3e91da514
sigh. Move the snap unlock further down protecting another use of snap. Use a video test instead of image count to determine videoness of the snap
2021-05-08 12:35:28 -04:00
Isaac Connor
bd6566a819
Have to clearpacket while holding the lock on snap. Otherwise it can get deleted the moment we unlock it.
2021-05-08 12:26:13 -04:00
Isaac Connor
ff0d6e8e0f
remove duplicated getModal and pass fid=fid to getModal
2021-05-07 15:34:08 -04:00
Isaac Connor
ea3bffb402
make getModal take additional query parameters
2021-05-07 15:33:49 -04:00
Isaac Connor
7efbf78260
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2021-05-07 14:23:39 -04:00
Isaac Connor
a91197b47c
reset score_ to zero when we return for failing to meet pixel filters
2021-05-07 14:23:36 -04:00
Isaac Connor
4685c63fab
Add early return if pktQueue is empty so we can assume that it isn't below. Add notifications if we wake up and find that we have terminated so as to wake up any other waiters. Fixes failure to terminate when deinterlacing because both decoder and analysis are waiting
2021-05-07 14:04:51 -04:00
Isaac Connor
9c6d3989d3
Fix cases of failing to get second packet in de-interlacing
2021-05-07 14:03:36 -04:00
Isaac Connor
5ca5ce32e9
More debugging code, use nullptr instead of null
2021-05-07 09:11:00 -04:00
Isaac Connor
43f2f195f1
Fix a case in get_event_start_packet_it where if no pre_event_count we log an error and maybe don't start on a keyframe
2021-05-07 09:10:26 -04:00
Isaac Connor
4ea48708ed
move the code that waits for decoder to outside the motion detection area. In record mode decoding can happen behind analysis which seems like a good idea, except that then analysis won't free up the raw image.
2021-05-07 09:09:40 -04:00