Commit Graph

8226 Commits

Author SHA1 Message Date
Davis King c19451bdfe try this 2023-07-21 11:36:23 -04:00
Davis King f38542e1f7 maybe this will work 2023-07-21 11:29:30 -04:00
Davis King 7d6202ecb0 flip around 2023-07-21 11:20:14 -04:00
Davis King 4313b192bf try this 2023-07-21 11:14:05 -04:00
Davis King f7f21eaf90 fix tabbing? 2023-07-21 11:03:27 -04:00
Davis King b3ac2f9570 try the run command thing 2023-07-21 11:01:15 -04:00
Davis King 47d0a8c68e more loggig 2023-07-21 10:57:48 -04:00
Davis King ef4d089e8e in wrong folder? 2023-07-21 10:52:40 -04:00
Davis King fd81c40888 do we have matlab? 2023-07-21 10:46:40 -04:00
Davis King 4d31d8151e actually, do this instead 2023-07-21 09:39:47 -04:00
Davis King 782f8e8a83 try this 2023-07-21 09:38:32 -04:00
Davis King 9c38273a27 Try to run the matlab example too 2023-07-21 09:14:56 -04:00
Davis King 28729613ee opps, fix typo 2023-07-21 09:07:06 -04:00
Davis King ca7842abbd fix maybe 2023-07-21 09:01:28 -04:00
Davis King d8005e7d23 add a space 2023-07-21 08:56:12 -04:00
Davis King 379d5e4e12 try this instead 2023-07-21 08:53:20 -04:00
Davis King c173055d29 fix error 2023-07-21 08:50:19 -04:00
Davis King 3a31de7dbd Setup CI for the mex wrapper code 2023-07-21 08:46:29 -04:00
Davis King 3cca5df0fd Add sig_traits back since the matlab wrapper depedned on it. 2023-07-21 08:19:09 -04:00
Facundo Galán 3f9c5c1cfd
Fix convolution backward filter cache when using cudnn 7 and above (#2828)
* Fix convolution backward filter cache when using cudnn

* Apply suggestions from code review

---------

Co-authored-by: Davis E. King <davis685@gmail.com>
2023-07-17 07:53:32 -04:00
Facundo Galán 7736832caf
Optimize pointer to matrix assignment (#2822)
* Optimize pointer to matrix assignment

---------

Co-authored-by: Davis King <davis@dlib.net>
2023-07-16 15:27:59 -04:00
Adrià Arrufat 8fc180545c
Python: Add grayscale overloads to get_face_chip (#2820)
Closes #2736.
2023-07-10 08:25:58 -04:00
pfeatherstone 4e22715eb5
dlib::optional (#2815)
* backport of std::optional for c++11. WIP

* wip

* whoops

* wip

* wip

* holy shit this is tiring

* type traits

* more traits

* more traits

* wip

* delimiters

* bad header include

* noexcept correctness

* fixed has_value()
more tests

* started adding monadic intefaces

* compile time contract

* added transform

* added or_else

* according to the standard, swap also empties objects when necessary

* noexcept tests

* beginning monad tests

* bug fix

* contexpr monads

* added docs

* more tests and bug fixes

* - bug fix
- test inplace constructors and emplace()

* test value_or()

* more tests

---------

Co-authored-by: pf <pf@me>
Co-authored-by: Your Name <you@example.com>
2023-07-08 09:12:56 -04:00
Julien Schueller 4d2db66cc5
Make cblas public (#2817) 2023-06-29 08:24:07 -04:00
Null Chilly 18927f93e2
Fix typos (#2811) 2023-06-11 20:21:05 -04:00
Rover van der Noort bebba4ca98
Add minimal pyproject.toml (#2804)
* Add minimal pyproject.toml

* Update README for Python compile and install

* Remove duplicate meta

* Fix pixel saturation in interpolate_quadratic (#2806)

* Fix pixel saturation in interpolate_quadratic

* Use pixel_type_t alias

* cleanup

---------

Co-authored-by: Adrià Arrufat <1671644+arrufat@users.noreply.github.com>
Co-authored-by: Davis King <davis@dlib.net>
2023-06-03 16:12:44 -04:00
Adrià Arrufat 759170d3d6
Fix pixel saturation in interpolate_quadratic (#2806)
* Fix pixel saturation in interpolate_quadratic

* Use pixel_type_t alias
2023-06-01 21:52:11 -04:00
pfeatherstone eccb9675ff
[FFmpeg] added save_frame() and improved picking of codecs when not specified (#2800)
* WIP

* - pick best codec
- added save_frame()
- fixed example

* Add missing variable declaration

* added extensions
fixed tests

* attempt to set quality as high as possible. lower expected PSNR

* arrufat suggestion

* refactoring

---------

Co-authored-by: Your name <you@example.com>
Co-authored-by: pf <pf@me>
Co-authored-by: Adrià Arrufat <1671644+arrufat@users.noreply.github.com>
2023-05-24 07:46:30 -04:00
Adrià Arrufat b86871241b
Remove unneeded using namespace std (#2799) 2023-05-18 23:02:46 -04:00
pfeatherstone 5b9ab23cc0
[FFmpeg] added push(image_type) methods to encoder and muxer (#2797)
* added push() methods

* Update dlib/media/ffmpeg_muxer.h

* Update dlib/media/ffmpeg_muxer.h

---------

Co-authored-by: pf <pf@me>
Co-authored-by: Davis E. King <davis685@gmail.com>
2023-05-18 08:11:49 -04:00
pfeatherstone dab9aa1fa5
missing include (#2798)
Co-authored-by: pf <pf@me>
2023-05-18 08:03:15 -04:00
Juha Reunanen b6418e349e
Problem: CUDA error having `code: 716, reason: misaligned address` (#2796)
Why does this happen: `float` data should be aligned to 4 bytes [1], but this is not guaranteed when the truth data is `uint16_t` and is in the buffer before the weights data

Solution: re-arrange the buffer so that the weights data (type `float`) comes before the truth data (type `uint16_t`), essentially making it so that the `float` data is correctly aligned to 4 bytes

[1] https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#device-memory-accesses
2023-05-16 08:03:58 -04:00
pfeatherstone decdef12f5
[FFmpeg] decoding and demuxing improvements (#2784)
* typo

* - added compile time information to audio object. Not convinced this is needed actually. I'm perfectly happy just using the ffmpeg::frame object. I'm pretty sure I'm the only user who cares about audio.
- created resizing_args and resampling_args

* smaller videos for unit tests

* shorter videos for unit tests

* - decoder and demuxer: you now resize or resample at the time of read. therefore you don't set resizing or resampling parameters in constructor, but you pass them to read()
- added templated read() function
- simplified load_frame()

* inherit from resizing_args and resampling_args

* reorganised the tests to segragate decoding, demuxing, encoding and muxing as much as possible

* much more basic example

* demxing examples split

* examples

* fixing examples

* wip

* Fix load_frame()

* added frame - specific tests

* - makes sense to have a set_params() method rather than constructing a new object and moving. I mean, it works and it absolutely does the right thing, and in fact the same thing as calling set_params() now, but it can look a bit weird.

* notes on defaults and good pairings

* Update ffmpeg_demuxer.h

Watch out for `DLIB_ASSERT` statements. Maybe one of the unit tests should build with asserts enabled.

* Update ffmpeg_details.h

* Update ffmpeg_muxer.h

* WIP

* WIP

* - simplified details::resizer
- added frame::set_params()
- added frame::clear()
- forward packet directly into correct queue

* pick best codec if not specified

* added image data

* warn when we're choosing an appropriate codec

* test load_frame()

* - for some reason, you sometimes get warning messages about too many b-frames. Resetting pict_type suppresses this.
- you can move freshly decoded frames directly out.

* callback passed to push()

* I think it's prettier this way

* WIP

* full callback API for decoder

* updated tests

* updated example

* check the template parameter is callable and has 1 argument first before getting it's first argument

* Potential bug fix

* - write out the enable_if's explictly. It's fine. I think it's clear what's going on if someone cares
- guard push() with a boolean which asserts when recursion is detected

* pre-conditions on callbacks: no recursion

---------

Co-authored-by: pf <pf@me>
Co-authored-by: Your name <you@example.com>
2023-05-15 21:24:47 -04:00
Davis King adf8a3573e put patch level back to 99 2023-05-14 09:11:31 -04:00
Davis King 39749fba51 tag v19.24.2 2023-05-14 09:06:12 -04:00
Charles Galambos e2a0c3dfca
std::chrono::system_time on osx isn't in nanoseconds (#2795)
* Allow the scan parameters to be changed in a detector.

* Fix warning.

* Fix for clang on osx which std::chrono::system_time has a duration in microseconds not nanoseconds. ^

* Revert "Allow the scan parameters to be changed in a detector."

This reverts commit 2a5760aacf.

* Fix second instance.

* Static not needed when inline.

---------

Co-authored-by: Charles Galambos <charles@reactai.com>
Co-authored-by: Davis E. King <davis685@gmail.com>
2023-05-09 10:39:05 -04:00
pfeatherstone 775ac0799f
- moved is_detected in type_traits.h (#2794)
- fixed callable_traits
- added tests

Co-authored-by: pf <pf@me>
2023-05-08 22:39:15 -04:00
pfeatherstone 191d280d64
[Meta] added callable traits (#2790)
* added callable traits

* tests

* use compiler intrinsic if possible

* workaround for gcc < 7.5

* - added nargs
- bug fix - use std::decay_t
- added more tests.
- one of the unit tests show cases why this is cool

* docs

* more docs

* Update dlib/type_traits.h

* Update dlib/type_traits.h

---------

Co-authored-by: pf <pf@me>
Co-authored-by: Davis E. King <davis685@gmail.com>
2023-05-06 19:53:46 -04:00
pfeatherstone ff331517b9
[FFT] split FFT API into different layers (#2793)
* fft refactoring

* separate header for STL overloads

* ditto

---------

Co-authored-by: pf <pf@me>
2023-05-06 11:43:10 -04:00
Adrià Arrufat 48fdace271
Use dpoint instead of dlib::vector<double, 2> (#2782) 2023-04-22 09:19:58 -04:00
pfeatherstone 74a55fb5c9
FFMPEG : inline docs (#2778) 2023-04-22 07:51:42 -04:00
Adrià Arrufat edc6645150
Add insert_image_chip (#2781)
* Add insert_image_chip to Python bindings

* Use interpolation

* remove commented code

* Add C++ implementation

* Fix compile error and improve variable namings

* Fix signed warning
2023-04-21 23:55:11 -04:00
pfeatherstone d41571ea5a
10X speedup (#2779)
Co-authored-by: pf <pf@me>
2023-04-21 23:37:19 -04:00
Adrià Arrufat 49ac2eb3ae
Add draw solid polygon (#2775)
* Add initial version of a generic draw_solid_polygon

* Use image view to be truly generic

* Improve draw_solid_convex_polygon when antialias is disabled

* Remove unused parameter and fix documentation

* Use rectangle methods

* Remove redundant check

* Remove unused variable

* Update dlib/image_transforms/draw.h

---------

Co-authored-by: Davis E. King <davis685@gmail.com>
2023-04-21 23:36:02 -04:00
pfeatherstone 53c4be9026
FFmpeg : logging (#2774)
* added a couple more audio examples

* logging DONE

* bug fix on certain compilers

* use a C-style stack allocated array. This reduces heap allocations

* reduce stack string size. replace '\n' rather than remove

* - register_ffmpeg() doesn't need to return anything
- refactored loggers
- added verbose option

* bug fix

* unused variable warning

* Update docs

* Update docs

---------

Co-authored-by: pf <pf@me>
Co-authored-by: Adrià Arrufat <1671644+arrufat@users.noreply.github.com>
2023-04-19 08:32:19 -04:00
pfeatherstone 5f7026ab52
FFmpeg : improvements to ffmpeg::list() functions (#2773)
* added a couple more audio examples

* statically initialize all list_() functions where possible.

---------

Co-authored-by: pf <pf@me>
2023-04-15 09:28:38 -04:00
Adrià Arrufat b1fe026e06
Add ffmpeg load_frame (#2770)
* Add ffmpeg::load_frame

* Add ffmpeg::save_frame

* Check for supported encoders

* Add documentation

* Add pfeatherstone suggestions and enable only for RGB images

* Remove the pixel format setting, as it is not needed

* Fix formatting in error message

* Set pixel format in ffmpeg::save_frame

* Fix formatting

* Remove ffmpeg::save_frame
2023-04-14 08:18:25 -04:00
Adrià Arrufat c21c9c92b5
Update widgets and draw_string on images to use convert_to_utf32 (#2769)
* Remove convert_to_utf32 from imglab by updating widgets methods

* Use convert_to_utf32 in draw_string for images

* Add an overload of draw_string for string literals
2023-04-13 08:48:49 -04:00
Adrià Arrufat 07f7425170
Unify all conversions to UTF-32 (#2737)
* Improve UTF-8 support for draw_string

* Add ugly hack to make it work

* Unify all convert_utf8_to_utf32 implementations

* Rename convert_utf8_to_utf32 to convert_to_utf32

* Remove code related to GCC 4, since it's no longer supported

* Format is_combining_char according to dlib codestyle and remove pragmas

* Rename convert_utf8_to_utf32 to convert_to_utf32

* Complete the convert_to_utf32 function

* Fix build on untested OS

* Try to fix compilation in Windows

* Update docs and replace typedef with using

* Add back especialized conversions to UTF-32

* Add requires clause to convert_to_utf32

* Update dlib/unicode/unicode_abstract.h

---------

Co-authored-by: Davis E. King <davis685@gmail.com>
2023-04-12 23:08:00 -04:00
pfeatherstone 89fc01beb5
FFmpeg : examples (#2764)
* added a couple more audio examples

* Test for ODR violations and include config.h

* Test for ODR violations

---------

Co-authored-by: pf <pf@me>
2023-04-12 22:47:58 -04:00