Commit Graph

43 Commits

Author SHA1 Message Date
Jonathan Thomas
de012ac6c8 Improve seek retry fallback and clean up hw decode logging
- add adaptive seek fallback and switch fprintf to ZmqLogger
- improves seeking on certain files by up to 30% (faster)
- avoids situations where seeking too far would sometimes freeze on certain videos
2026-02-06 16:46:40 -06:00
Jonathan Thomas
16f791a55a Adding missing <sstream> includes for older compilers, and because it should be included anyway 2025-12-16 18:23:57 -06:00
Jonathan Thomas
0dfc8a8a37 Updating 1D and 3D unit tests for Color Map to use a more obvious cube color map, with 1D = green and blue, and 3D = red and blue. 2025-11-18 18:11:37 -06:00
Jonathan Thomas
e25763d089 Adding awareness of DOMAIN_MIN and DOMAIN_MAX properties of LUT Color Map files and new unit tests to validate them 2025-11-18 17:36:30 -06:00
Jonathan Thomas
2f82e7d27b Adding support for 1D and 3D LUT Color Map files. Also added new unit tests to verify 1D and 3D LUT files. 2025-11-18 14:26:59 -06:00
Jonathan Thomas
021c6ecc07 Adding unit tests to validate FFmpegReader, Clip, and Timeline frame accuracy of GIF files, plus GIF with time curves. 2025-09-12 22:57:26 -05:00
Jonathan Thomas
a07fe18a14 Adding 5 Spherical test images (needed for unit tests) 2025-09-10 21:33:37 -05:00
Jonathan Thomas
2d6db64b52 Incorporating VideoCacheThread into openshot-example executable, to experiment with caching during export. It works great! 2025-06-06 15:33:04 -05:00
Jonathan Thomas
a4b2af4eb8 Adding FFmpegWriter into openshot-example executable to test with valgrind heapgrind. 2025-06-05 19:38:53 -05:00
Jonathan Thomas
6e73a23259 Changing example program to time decoding of test video, forwards and backwards, with time print-outs. 2025-06-04 17:19:01 -05:00
Jonathan Thomas
48a7a07066 Initial ColorMap effect, which loads a LUT (.cube) file and applies color grading by mapping colors by channel. 2025-05-24 15:30:16 -05:00
Jonathan Thomas
ec890fe74d Adding unit tests for spherical project effect, using 2 PNG assets 2025-05-21 18:25:22 -05:00
Jonathan Thomas
09ce05bbf2 Many improvements for smooth audio playback when 'time' keyframes are used for time remapping.
- Added new Frame::ReverseAudio() helper method - for time keyframe support playing backwards audio
- Fixed math rounding error on time keyframe Resampler, to use the rounded source samples value
- Removed some unused args and Frame audio methods
- Reset FrameMapper resample context when non-adjacent frames are requested
- Correctly reverse Frame audio if a time keyframe is present, and reversing audio
- Rewrite Keyframe::IsIncreasing() function, to give accurate direction of time keyframes at any index (special logic to support first and last indexes)
- Fixed Keyframe unit tests - since logic has changed a bit
- Improved time mapping unit tests
- Replace many c-style casts with static_cast
- Added new sine.wav test file
2023-03-10 01:15:14 -06:00
Jonathan Thomas
70e86ef044 Improved Profile Class (Helper methods, Sortable, Unit tests) (#895)
* Removing legacy profile property. Add new operators for Profile classes (for comparison). Also added new functions to generate different variations of the Profile data (key, short name, long name, long name w/description).

* Add empty constructor for Profile class, and new Profile unit tets

* Adding zero padding to profile Key function, for easier sorting: 01920x1080i2997_16:09

* Clear setfill flag after creating Key() output

* Updating example exe to load an *.osp project file via C++, which makes debugging complex broken projects much easier.

* - Add new unit test to FFmpegWriter to create an animated GIF and verify it can be wrapped with a FrameMapper (with no audio track)
- Improve FrameMapper to ignore missing audio data (i.e. when no audio samples present, don't try and find them or resample them)

* Fix some whitespace issues

* Fix inline documentation mistype

* Fixed missing reuse licensing on new example profile files

* Changing Profile::Key() format to exclude the : character, since Windows file names cannot contain that

* - Large memory leak fixed in FFmpegWriter when closing the video & audio contexts
- Reducing # of cached frames and rescalers to 1, since we no longer use OMP and this is unneeded - we need to refactor much of this code out eventually

* - Fixing whitespace issues
- Code clean-up / line wrapping / etc...
2023-02-02 16:29:38 -06:00
Jonathan Thomas
63ebc4f4f3 Adding test for AV1 sync verification on Windows builder 2022-11-14 12:03:33 -06:00
Jonathan Thomas
5ee38518da Experimental: Adding some fsanitize flags, a new example exe, a mutex on FFmpegReader::Close, and some additional clean-up code on AddImage (when a previous image exists) 2022-07-27 15:33:40 -05:00
Jonathan Thomas
7355ac3c55 Fix regression caused by https://github.com/OpenShot/libopenshot/pull/827, where we changed the class_name of Object Detector 2022-06-21 11:30:30 -05:00
Frank Dana
2d2a062bdc Remove (broken) BlackMagic DeckLink support (#760) 2021-10-20 06:49:08 -04:00
Frank Dana
59138ea3e4 Adopt license management via Reuse project/tool (#711)
* reuse-managed license/copyright headers

reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.

* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
  - Add headers to source files
  - Change blanket licensing in .reuse/dep5 to only cover binary media
  - Import CC-BY-3.0 license and assign to sintel_trailer
2021-10-16 01:26:26 -04:00
Brenno
d9e4f0450e Disabling Examples_opencv because it needs a deep refactor 2021-05-17 12:03:18 -03:00
Brenno
4d9d6ece9a Merge remote-tracking branch 'origin/develop' into effect-parenting 2021-04-21 13:34:49 -03:00
Frank Dana
4e4a95c648 Gitlab-CI: Update Windows builder configs, OpenShotAudio linking; enable Windows unit tests (#657)
* Remove no-longer-used cmake Modules

* Don't use OpenShot.h in ExampleHtml.cpp

When `#include`-ing the whole mess, building the file was leading
to what looked like out-of-memory errors. Replacing the monolithic
header with just the necessary ones cleared it up.

* .gitlab-ci.yml: Update for new Windows setup

* Make unit tests work under Windows

- Copying the built and depended (libopenshot-audio) DLLs into
  the unit test dir before building the tests ensures that when
  the test executables are run by the Catch.cmake module to
  discover their contents, the executables will find the DLLs
  they need in order to run.

* Gitlab-ci: Run unit tests on Windows

* Rename openshot-html-example

(The former name, openshot-html-test, was too close to the new
name format for all of our unit test executables, making things
unnecessarily confusing.)

* Rename JuceHeader.h to OpenShotAudio.h

* Github Actions: Install ALSA libs

With the switch to an EXPORTED CMake configuration for
libopenshot-audio, its dependencies become our dependencies.
Which means that CMake now correctly requires that the ALSA
libs be installed.
2021-04-19 15:59:52 -04:00
FeRD (Frank Dana)
d73da93fb5 Don't use OpenShot.h in OpenCV example 2021-04-18 00:32:03 -04:00
FeRD (Frank Dana)
c6aae47d50 Don't use OpenShot.h in ExampleHtml.cpp
When `#include`-ing the whole mess, building the file was leading
to what looked like out-of-memory errors. Replacing the monolithic
header with just the necessary ones cleared it up.
2021-04-17 21:28:43 -04:00
Brenno
99b5d1e7ab Fixed variable names and comments
thanks to Frank Dana
2021-04-12 21:18:21 -03:00