AnyOldName3
f39ba9783a
Mark extern library includes as SYSTEM
...
With CMake 3.25, there's a target property we could use to deal with this with a little less mess, but we use 3.16 right now.
2025-09-23 01:13:47 +01:00
AnyOldName3
a433114937
Rearrange extern so includes don't need to start with extern/
2025-09-23 01:04:45 +01:00
Andrei Kortunov
1933403400
Migrate videoplayer to OSG logging system
2024-10-18 10:20:22 +04:00
Evil Eye
2dcf1f7ed2
Don't break the read_packet contract
2024-09-17 20:56:04 +02:00
elsid
20e3eeddde
Fix libavformat version check
...
2a68d945cd
added const version of a callback functions but didn't enable them. They were
guarded by a version check:
2a68d945cd/libavformat/version_major.h (L48)
So for anything LIBAVFORMAT_VERSION_MAJOR < 61 they are not enabled therefore
they are enabled for everything >= 61.0.100.
See https://github.com/elsid/openmw/actions/runs/10255993574/job/28374152796 as
example of failure when building with 60.16.100.
2024-08-05 23:52:30 +02:00
Sam Hellawell
61cb5b4da6
Support compiling with ffmpeg 5 and greater
2024-08-03 21:05:00 +01:00
elsid
5859fd464c
Add option to disable precompiled headers
...
To be able to use ccache.
Also fix compilation errors appeared due to absence of precompiled
headers.
2024-03-08 02:11:51 +01:00
Andrei Kortunov
8af8f331cb
Avoid possible race in videoplayer
2024-01-19 18:47:01 +04:00
elsid
f08ab9af56
Use SDL2 generate cmake files to find the package
2023-11-24 15:56:54 +01:00
AnyOldName3
34fcfb63cf
Eliminate redundant version checks
2023-07-20 00:43:56 +01:00
elsid
7e6c13630a
Use target_precompile_headers for the most expensive headers
2022-07-01 14:05:17 +00:00
elsid
42841002b5
Remove unused dependency to Boost.Thread
2022-05-22 02:42:01 +02:00
elsid
94c1d0cced
Use unique_ptr to store istream
2022-04-22 18:27:17 +02:00
elsid
df092b558b
Replace shared_ptr by unique_ptr
2022-04-08 22:42:22 +02:00
Bret Curtis
6672014a51
make this great again
2022-01-06 15:02:24 +01:00
Bret Curtis
f0db576611
removed redundant get on smart pointer; made pictq_[r|w]index unsigned longs to be type compatible with std::array pictq.size(); fixes assert issue
2022-01-05 12:19:22 +01:00
Bret Curtis
bae8713998
make use of std::array pictq.size() instead of VIDEO_PICTURE_ARRAY_SIZE; remove redundant smart-pointer .get calls; fix typos
2022-01-05 09:29:10 +01:00
Bret Curtis
4eea734551
Resolves #6088 by rolling our own PacketList that replaces the deprecated AVPacketList; initial work done by akortunov in 60aec04606; adapted and cleaned up some old cruft along the way.
2022-01-05 09:29:10 +01:00
elsid
7498a86abe
Remove redundant semicolons
2021-07-05 13:11:54 +02:00
Dan Church
70a0229010
Fix future FFMpeg API changes
...
avcodec_find_decoder now returns const AVCodec*.
2021-06-01 10:56:48 -05:00
Evil Eye
54d32817d5
Use av_free and maybe get Coverity to understand
2021-05-19 17:12:41 +02:00
Bret Curtis
66a527c3de
Merge pull request #3075 from akortunov/warnfix
...
Fix MSVC's C4244 and C4267 warnings
2021-05-14 21:28:56 +02:00
Evil Eye
69aaf6ab04
don't touch frame->data
2021-05-13 14:45:13 +02:00
Evil Eye
ed118537a8
use unique_ptr instead
2021-05-13 14:02:36 +02:00
Evil Eye
3b7cef9e88
add PacketGuard and move try/catch up
2021-05-13 12:01:32 +02:00
Evil Eye
1b61ec979d
switch to lock_guards
2021-05-13 11:25:58 +02:00
Andrei Kortunov
963e1b8b3f
Fix MSVC's C4244 warnings
2021-05-12 10:34:40 +04:00
Andrei Kortunov
f9d42ed396
Fix MSVC's C4267 warnings
2021-05-12 10:34:39 +04:00
Evil Eye
de37ca8e2c
Catch exceptions in VideoThread
2021-05-10 17:47:57 +02:00
Andrei Kortunov
124a33d8a3
Fix uninitialized variables
2021-04-10 10:58:00 +04:00
Andrei Kortunov
93954a961c
Unlock mutex on return to avoid hang
2021-04-10 09:30:58 +04:00
Gleb Mazovetskiy
1db7d2ec4e
Restore compatibility with FFMpeg < 57.80.100
...
This should fix macOS Travis build broken by 58d33aa95b
2021-03-08 19:29:34 +00:00
Gleb Mazovetskiy
36bac353df
AV: Handle varying video frame dimensions
2021-03-08 04:00:11 +00:00
Gleb Mazovetskiy
58d33aa95b
AV: Fix all memory leaks
...
The most substantial memory leak came from `PacketQueue::get`
not unreferencing its argument packet.
Other leaks came from using `av_free` instead of type-specific free
functions.
Also modifies `PacketQueue::put` for readability.
2021-03-08 03:16:55 +00:00
Gleb Mazovetskiy
eb93fdfbea
Use unique_ptr with custom deleter for VideoPicture::rgbaFrame
2021-03-07 17:58:09 +00:00
Gleb Mazovetskiy
b7076549a3
osg-ffmpeg-videoplayer: Fix crash on ARM
...
osg-ffmpeg-videoplayer handled frame allocation incorrectly.
It used a `vector<uint8_t>` as its buffer, meaning the addresses could
did not respect alignment.
Instead, changes it to use `AVFrame` as buffers, allocated via `av_image_alloc`.
We also now only allocate the buffer once, instead of on every frame,
which should improve the framerate of videos.
Fixes the following crash on startup on ARM:
> Invalid address alignment (signal 7)
Fixes #5807
2021-03-07 03:33:00 +00:00
Gleb Mazovetskiy
99ba45a308
Optional static builds of OSG, MyGUI, Bullet
2021-01-26 19:00:55 +00:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types
2020-06-25 22:16:09 +02:00
Andrei Kortunov
454bae2c43
Make PacketQueue fields atomic to avoid data races (e.g. with ParseThread)
2019-05-24 08:04:20 +04:00
Ilya Zhuravlev
07e9ce84b3
Replace volatile bools with std::atomic<bool>
2018-12-24 14:19:35 -05:00
Stanislaw Halik
59d96d808e
fix missing include
2018-12-07 04:23:52 +01:00
Andrei Kortunov
f88d5e808c
Rewrite media decoder to use FFMpeg 3.2+ API (task #4686 )
2018-11-03 22:34:25 +04:00
Ilya Zhuravlev
b4ec8aaf5e
VideoState::queue_picture: ffmpeg expects a buffer of 4 pointers in sws_scale
2018-01-21 12:21:22 -05:00
scrawl
4c174ecd12
Merge changes to coverity scan script
2017-10-15 17:06:58 +02:00
Bret Curtis
11c4aed4e5
algo needed for std::min/max in msvc2013
2017-06-10 09:09:30 +02:00
Bret Curtis
39185e6f8c
purge the rest of boost::shared and any other boost related things that no longer are required
...
put boost system back in, clean others up
revert Qt
add back boost fstream
2017-06-09 19:08:53 +02:00
Bret Curtis
d785344fad
purge all instances of <boost/shared_ptr.hpp>, clean up unused headers
2017-06-09 19:08:53 +02:00
Bret Curtis
07f75e1104
replace boost::shared_ptr in extern and components
2017-06-09 19:08:53 +02:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00