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
itsmattkc
050103a857
memory: implemented basic memory limiting functionality
...
Keeps track of total memory usage and uses it as a guide towards
allocating/reusing more memory.
2020-08-29 13:34:54 +10:00
itsmattkc
c99eb68d45
ffmpegdecoder: frame pool by dimensions/format rather than stream
...
Memory optimization.
2020-08-26 17:42:10 +10:00
itsmattkc
c12e39b597
ffmpegframepool: reduced frame pool size
2020-08-19 17:41:46 +10:00
itsmattkc
f3f81eb2be
ffmpeg: store divided frames in memory cache
...
Since users will most likely be working with a divider most of the time,
there's no reason to waste memory space with undivided frames considering
the dividing process is quite fast.
2020-08-18 04:55:23 +10:00
itsmattkc
d9851dc329
decoders: mild refactoring and code cleanup
...
Just making things a little bit nicer.
2020-08-18 03:17:01 +10:00
itsmattkc
35692b9fba
frame: removed native timestamp member
...
Wasn't used anymore.
2020-08-18 02:08:22 +10:00
itsmattkc
4f1e7ea4ef
oiio: fixed incorrect version namespace
2020-08-10 02:54:03 +10:00
itsmattkc
28dcff10c0
various: implement sequence pixel aspect ratios and interlacing settings
...
Implements the following:
- Sequences have pixel aspect ratios that work in tandem with footage PARs
to render footage correctly. Viewer and export also acknowledge PARs
- Sequences can have interlacing settings. This doesn't do anything yet,
eventually the renderer will need to interlace/deinterlace/reinterlace
appropriately in order to conform all the footage to the sequence. Export
acknowledges interlacing, but this only affects metadata, not the image.
2020-08-10 01:47:26 +10:00
itsmattkc
901f1001af
renderer: improved memory management
...
Clear up more memory when it isn't used for a while.
2020-08-09 14:03:11 +10:00
itsmattkc
df14c2aaa7
cache: better implemented changing disk cache folders
...
Not complete yet, but getting there.
2020-08-07 02:31:46 +10:00
itsmattkc
9a4dcd8277
ffmpegdecoder: handle unexpected EOF
2020-08-05 22:31:14 +10:00
itsmattkc
d453c13c15
initialize variable (fixes gcc build issue)
2020-08-05 01:38:00 +10:00
itsmattkc
fb05594b50
various: allow setting footage aspect ratios
...
We had support for detecting aspect ratios and respecting them in the
render, but this allows people to not only see the aspect ratio in use,
but also override it with their own.
2020-07-25 00:58:01 +10:00
itsmattkc
5235975d6d
export: allow selecting output pixel format
2020-07-24 14:45:27 +10:00
itsmattkc
e570abb556
sequencedialog: split off the preset code for use elsewhere (particularly the export dialog)
2020-07-23 20:07:11 +10:00
itsmattkc
11afdf32fe
decoder/timeline: improve decoding of still images
2020-07-12 18:25:51 +10:00
itsmattkc
b456b6b0f6
oiiodecoder: make sure spec is used instead of basetype
...
Fixed issue with image alpha handling.
2020-06-17 19:53:21 +10:00
itsmattkc
a818e17c55
export: made progress on headless export
...
Still incomplete and unusable, but less so than before.
2020-06-17 18:06:50 +10:00
itsmattkc
a871c5081b
nodeparamtable: bare bones table view for node inputs
2020-06-17 17:48:07 +10:00
itsmattkc
cbbf1c9149
framehashcache: use correct linesize when saving EXR
...
Fixes stride issues on non-standard frame sizes.
2020-06-16 15:38:23 +10:00
itsmattkc
8d21a2c1ef
ffmpegdecoder: restore multithreading
2020-06-16 13:34:49 +10:00
itsmattkc
406f61e546
ffmpegdecoder: use last timestamp for initial seek calculations
...
Fixes bug that would destroy cache performance. Like... just annihilate it.
Like an absolute nuclear holocaust of cache performance.
2020-06-16 02:58:21 +10:00
itsmattkc
0c9435c94d
frame: implemented set pixel function
...
Counterpart to Frame::GetPixel()
2020-06-13 03:00:41 +10:00
itsmattkc
23365074f0
samplebuffer: fixed segfault when changing speed
2020-06-12 14:53:27 +10:00
itsmattkc
54091549df
samplebuffer: added convenience functions for altering sample data
2020-06-12 03:27:14 +10:00
itsmattkc
a9a13c4b0c
framehashcache: remove code for saving integer-based frames to cache
...
Since we don't allow non-float cached frames now, there's no need to have
this code complicating the codebase.
2020-06-10 14:12:26 +10:00
itsmattkc
9095dfa463
project: replaced proxy with pre-cache
...
Removed proxy task and replaced with a true honest-to-god pre-cache for
footage. This footage is pre-cached to a sequence and therefore 100% ready
for use in it once the task is done.
2020-06-08 23:17:51 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
c2e47a296c
timeline: heavily optimized and improved nearly all timeline optimizations
...
Features a lot of timeline-related cache optimizations as well as general
optimizations and improvements in timeline behavior. Should improve
usability significantly.
2020-06-01 04:42:59 +10:00