Age | Commit message (Collapse) | Author |
|
Issue: #910
|
|
|
|
|
|
- replace `static constexpr inline' with `static constexpr'.
`inline' is implied.
- use braced initializer lists where applicable
- still missing `override' usages
|
|
Maybe global `-Wcomma' is too harsh.
There should be no functional changes whatsoever.
|
|
Issue: #794
|
|
|
|
|
|
|
|
|
|
|
|
- use `static constexpr inline' to avoid requiring
explicit declarations in object code
- use `const Foo* const' to maybe put into readonly
binary segment (at least for ELF DSOs)
- `constexpr' in function scope has storage, avoid
`static'
- don't use `constexpr' where there's no advantage,
like arrays
We'd like to avoid overhead of atomic initialization
for each function call. No idea how `static constexpr'
requiring storage in the standard plays with atomic
initialization requirement. Hearsay points that
`constexpr' without `static' in block scope behaves
more to our liking. It's all hazy though.
I'm not 100% sure if `static inline constexpr' has any
storage. Hopefully none, like a #define, and stuff
bigger than registers gets coalesced within the same
module, with small stuff being immediates.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We heavily used "volatile bool" to check if the thread
loop should stop. But this functionality is already
provided by Qt5's QThread::requestInterruption.
In other cases, "volatile" is wonderfully
underspecified so it's better to ditch its usage in
favor of std::atomic<t>. At the time we don't appear to
be using the "volatile" keyword except when calling
win32's Interlocked*() family of functions as
necessary.
In freetrackclient's header the "volatile" qualifier
was used as part of a typedef. This doesn't work. Use
it as part of data declaration.
|
|
|
|
|
|
It's slow and untested beyond my replaying users' camera feed videos.
|
|
|
|
It may allow for full pitch range support. We're testing it in #517.
|
|
|
|
|
|
However, include some crash fixes and minor changes.
Fixes #481
Reported-by: @Emton
Testing-by: @Emton
|
|
|
|
|
|
Suggested-by: MathijsG
Issue: #454
|
|
It's broken and users complain on the issue tracker.
Also fix tab stops.
|
|
- adjust usages
- add support for QList signals and metatype
|
|
Adjust usages.
|
|
Adjust usages in PT and Aruco trackers.
|
|
|
|
Sadly, it's only implemented right now on win32.
Remove "set enabled" code for the video widget since it only works for
explicit window minimization, not covering by other windows.
|
|
The height was zero on the test video. The ROI check only saw if width
is at least zero. Check for both to be greater than one.
Video provided by: @kblomster
Issue: #375
Also, fix minor issues:
- nix vars that can be const static in function scope
- don't call solvepnp twice where obj_points shift will do
- don't do bounds checking on vector elt access
- respect sprintf varargs type size; change to snprintf for no reason
- fix clamp-to-image logic
- set proper alpha for fps estimation
|
|
Some new matrix element type requirements came up after opencv update
Also,
- switch to matrices of known sizes wherever possible
- split into functions for readability
- use member variables rather than locals to ensure heap allocation
There was also breakage wrt "unknown element type" deep in opencv that
only happens on release mode with no symbols. It's unknown to me
whether the issue got fixed or variable reordering made it corrupt
something else. It appears to work however. -fstack-protector-all
doesn't show any errors at all.
@kblomster says it worked in rc49p2. Looks like -fipa-pta has a
miscompilation despite finally working to begin with.
Reported-by: @kblomster
Issue: #375
|
|
Adjust usages.
|
|
Suitable for 30 Hz camera modes and higher.
Requested-by: @frost555
Issue: #273
|
|
|
|
Closes #224
|