1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-11-29 16:34:30 +00:00
Commit graph

71 commits

Author SHA1 Message Date
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