Thomas Wilshaw
7e93eb6e40
Allow image sequences to use a period seperator
...
Allows image sequences of the form xyz.0000.exr as well as xyz_0000.exr
Fixes #1602
2021-05-03 12:09:24 +01:00
itsmattkc
9d2ddbf727
renderer/decoder: clean up decoders after some time
2021-04-30 11:13:57 +10:00
itsmattkc
2416891c76
encoder: minor improvements
2021-04-28 23:12:14 +10:00
itsmattkc
51ccaedc78
render: implemented frame pool
...
Optimization
2021-04-28 17:31:25 +10:00
itsmattkc
1fca3e1767
render: properly defined "out of bounds time" behavior with footage
...
If a user extends a clip beyond the footage's length, they can
choose whether they want a black frame, the last frame continued,
or for the footage to loop infinitely (same for extending earlier
than the start of footage).
2021-04-23 14:49:21 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
cb75e37e77
moved several files around
...
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00
itsmattkc
bb32048c65
use frame rate and timebase less interchangeably
2021-04-07 13:08:25 +10:00
itsmattkc
898ea25e89
finished merge of viewer and footage
2021-04-06 13:08:56 +10:00
itsmattkc
57ddae8920
h264section: set min bit rate on target file size
2021-04-06 12:38:31 +10:00
itsmattkc
fb410e7c96
use vectors for sample buffers rather than raw ptr arrays
2021-03-17 11:54:14 +11:00
itsmattkc
4827782331
moved sequence params into node graph too
...
Reduces code by reusing more of the existing node infrastructure
to synchronize sequence parameters the render backend.
2021-02-18 13:20:23 +11:00
itsmattkc
d7c5ac4b44
implement entire project in nodes
...
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc
81c1922911
use strings to connect nodes
...
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc
6cb6407bd8
don't use shared ptrs on streams
2020-12-16 13:46:19 +11:00
itsmattkc
e12013e2fb
don't use shared ptrs for project items
2020-12-16 10:28:43 +11:00
itsmattkc
0699795c6f
export: implemented audio bit rate setting
...
The UI for this isn't perfect, I just wrote this in because I needed it. But the backend is solid.
2020-12-04 01:01:50 +11:00
itsmattkc
0fa05e1bc9
removed unused file
2020-11-27 14:28:09 +11:00
itsmattkc
f068343a08
oiio: actually store the last opened sequence index
...
Fixes #1376
2020-11-26 19:53:29 +11:00
itsmattkc
42506e0da0
ffmpegdecoder: fallback to footage duration if available
2020-11-20 18:13:53 +11:00
itsmattkc
8c3f0ac64e
oiio: increased minimum version to 2.1.12
2020-11-19 11:06:40 +11:00
itsmattkc
75d4cd899b
use hardcoded namespace
...
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc
d241090a9f
finally updated the copyright year
2020-11-17 20:13:22 +11:00
itsmattkc
15a29288aa
added Q_OBJECT macro to classes that were missing it
2020-11-17 19:13:16 +11:00
itsmattkc
2c086ce9fb
removed debug line
2020-11-16 01:33:24 +11:00
itsmattkc
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
c9a8b96c89
reimplemented export process
2020-11-13 22:05:43 +11:00
itsmattkc
8776bb9c4a
finished upgrade to ocio v2
2020-11-12 15:36:29 +11:00
itsmattkc
3c1ac3eeba
upgraded to ocio v2
2020-11-11 21:53:24 +11:00
itsmattkc
94c0914e50
codec system rework
...
Codecs are now much cleaner and thread safe by design.
2020-11-10 11:23:25 +11:00
itsmattkc
b582843d27
moved things around and started rewriting render backend
2020-10-29 01:36:26 +11:00
itsmattkc
94321c0a86
align frames to 32 bytes instead of 16
2020-10-28 15:50:56 +11:00
itsmattkc
1e6208517f
decoder: fixed regression in image handling in OIIO decoder
...
Fixes #1277
2020-10-27 12:36:55 +11:00
itsmattkc
bc60c74562
finalized very, very basic OTIO support
...
Ironed out various project and footage loading issues, and a single
cache invalidation issue.
2020-10-23 01:26:17 +11:00
itsmattkc
9613730ee8
Merge branch 'otio' of https://github.com/olive-editor/olive into otio
2020-10-22 22:13:37 +11:00
itsmattkc
917738d1de
Merge branch 'master' into otio
2020-10-22 20:26:16 +11:00
itsmattkc
c37607bf66
Merge pull request #1269 from ThomasWilshaw/otio_cmake_fix
...
Fix building without OTIO support
2020-10-20 23:31:19 +11:00
itsmattkc
db8d321fa7
project: improved loading and footage importing
2020-10-19 14:41:01 +11:00
Thomas Wilshaw
70455c1501
Fix building without OTIO support
...
Added a new CMake flag that stops any OTIO related cpp files being
built.
Added extra #ifdefs to catch any OTIO related code in other cpp
files.
2020-10-15 18:59:06 +01:00
itsmattkc
d620af412f
decoder: improved memory management
2020-10-13 23:49:30 +11:00
itsmattkc
7c0d7a9fe3
ffmpeg: manually retrieve audio duration if metadata doesn't provide one
...
We did this for video, now we do it for audio too.
Fixes #1266
2020-10-12 17:58:56 +11:00
itsmattkc
f7ab0bb640
audio: rewrote audio cache to write to contiguous segments rather than one long file
...
Fixes issues with PCM file placement, optimizes some audio-based timeline
and cache operations, just generally a better approach.
2020-10-11 23:27:40 +11:00
itsmattkc
b220dd88e7
otio: implemented some basic import/export functionality
...
Certainly not complete, but mild import/export capability.
2020-09-27 00:39:51 +10:00
itsmattkc
6db591e89f
footage: merge video and image streams and improve image sequence import process
...
Image streams were initially separated from video streams, but they're now
joined with a parameter defining if they're a still image, image sequence,
or regular video. The image sequence import process has also improved so
that if images from the same sequence are imported too, they'll either be
ignored or the user won't be asked again for those if they should be an
image sequence (fixes #1193 ). Also shifts decoder "probe" process to return
an item, useful if the decoder returns a non-footage item.
2020-09-26 19:45:07 +10:00
itsmattkc
85abd6c6b4
Merge branch 'master' into otio
2020-09-25 17:00:02 +10:00
itsmattkc
4290d9b897
oiio: removed unused enum
2020-09-25 16:59:56 +10:00
itsmattkc
818f38d55a
otio: started otio decoder for importing OpenTimelineIO
2020-09-25 16:58:07 +10:00
itsmattkc
7bdaf78af8
oiio: assume it's not an image sequence if the dimensions aren't equal
2020-09-21 12:21:17 +10:00
itsmattkc
8506c82a0c
import: safely handle unsupported files
...
Fixes #1191
2020-09-18 12:58:55 +10:00
itsmattkc
e42ba3f9d4
corrected compile issues on xenial (should fix linux CI)
2020-08-30 13:35:00 +10:00