itsmattkc
c0b710b8c0
use round instead of floor to convert time to samples
2020-11-15 23:51:12 +11:00
itsmattkc
fbfa3e1348
use virtual texture size rather than physical and clear destination when running shaders
2020-11-15 23:02:20 +11:00
itsmattkc
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
ee5307336e
re-implemented alpha assoc/deassoc when color managing
2020-11-15 10:41:29 +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
ddbca1ba51
Merge branch 'master' of https://github.com/olive-editor/olive into render-singleton
2020-11-12 00:57:12 +11:00
itsmattkc
3c1ac3eeba
upgraded to ocio v2
2020-11-11 21:53:24 +11:00
itsmattkc
0429e70fe0
merged all drawing functions into a single shader processing function
2020-11-10 15:50:13 +11:00
itsmattkc
1d61f89920
large scale renderer rework
...
- Abstracts all OpenGL functionality including UI objects
- Cleans up several rendering codepaths
- Improves threading functionality
- Removes old code and problematic functions
2020-11-10 11:24:51 +11:00
itsmattkc
6ecdb02fd0
okay maybe not
2020-11-08 00:47:59 +11:00
itsmattkc
83cefbd7c7
uhh yeah this might be fubar
2020-11-07 22:44:27 +11:00
itsmattkc
13dd31d5be
began rewrite of renderer inner workings
2020-11-06 20:18:10 +11:00
itsmattkc
26e351d363
moved frame cache saving to our custom thread pool so we can control the priority
2020-10-29 03:12:04 +11:00
itsmattkc
84a1ec0ca3
began graphics backend enum
2020-10-29 02:59:18 +11:00
itsmattkc
a3a57181a6
re-copy list when waiting since it may have changed
2020-10-29 02:59:10 +11:00
itsmattkc
34cb7c96de
further enclosed C locale setting
2020-10-29 02:20:59 +11:00
itsmattkc
00fef29cac
fixed issues where hashes wouldn't set correctly
2020-10-29 02:18:58 +11:00
itsmattkc
07dc7104c5
made timerangelist a encapsulation rather than a derivation
...
Locks off functionality that really shouldn't be used.
2020-10-29 02:18:41 +11:00
itsmattkc
59241f9023
generate OCIO extraction directory BEFORE setting C locale for OCIO
2020-10-29 01:39:22 +11:00
itsmattkc
b582843d27
moved things around and started rewriting render backend
2020-10-29 01:36:26 +11:00
itsmattkc
43873e79e9
clear decoders when viewer is disconnected
2020-10-28 15:50:20 +11:00
itsmattkc
5343ec4b86
use default playback cache if there's no project
2020-10-28 15:49:53 +11:00
itsmattkc
5f5d6e82ab
audioplaybackcache: fixed bug in one of the shift operations
2020-10-24 14:18:59 +11:00
itsmattkc
921608e1df
audioplaybackcache: fixed various audio issues
...
Fixes #1276
2020-10-24 13:59:12 +11:00
itsmattkc
7e637a7372
calculate audio bytes as a 64-bit number
2020-10-24 13:55:07 +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
917738d1de
Merge branch 'master' into otio
2020-10-22 20:26:16 +11:00
itsmattkc
e5b18fa45b
audioplaybackcache: fixed bug where the wrong segment may be targeted
2020-10-14 17:40:15 +11:00
itsmattkc
d20877570e
Merge branch 'master' of https://github.com/olive-editor/olive
2020-10-13 23:59:52 +11:00
itsmattkc
65507d81ea
audioplaybackcache: use null samplebuffer to write silence
2020-10-13 23:48:59 +11:00
Thomas Wilshaw
b676f2f8b6
Fix #1252
...
Checks if the SampleBuffer is valid before trying to extract its
packed data. If it is not valid Olive writes blank segments instead.
2020-10-13 12:19:06 +01: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
909dd37cc2
files: continue using temp location for temp files and use cache location just for ocio
2020-09-28 14:20:48 +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
871bc08c12
Revert "renderer: if texture is null, don't allocate a frame unless exporting"
...
This reverts commit 8e0c86a6fa .
Fixes #1209
2020-09-21 17:28:28 +10:00
itsmattkc
9a46fc5891
cache: invalidate AFTER iterating map
...
Fixes #1183
2020-09-21 12:28:47 +10:00
itsmattkc
8e0c86a6fa
renderer: if texture is null, don't allocate a frame unless exporting
2020-09-19 12:53:07 +10:00
itsmattkc
01428276f7
export: alternate method of checking video/audio parameters based on ticket type
...
Fixes #1196
2020-09-18 13:06:10 +10:00
itsmattkc
43d0129004
renderer: unqueue deleted node inputs
...
Fixes segfault when renderer tries to update from a since deleted node
input.
2020-09-05 19:49:34 +10:00
itsmattkc
cabcd49b25
renderer: copy cache path before render to avoid race conditions
2020-09-05 18:48:54 +10:00
itsmattkc
f86ab6a965
renderer: prevent infinite loop occurring on some time invalidations
2020-08-26 17:38:16 +10:00
itsmattkc
f6760386ce
renderer: improved handling of pixel aspect ratio and footage cache
2020-08-21 14:43:13 +10:00
itsmattkc
75c3a37c17
removed speed/duration dialog
...
This is the first step in what will eventually be keyframable time
remapping. The speed/duration dialog was a holdover from 0.1 and we can
probably do better here.
2020-08-19 17:42:52 +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
0f3a60aa49
cache: save disk cache index on a regular interval in case of crashing
...
DiskManager tries to keep track of all files made across sessions in an
index, but the index was only saved on close. This meant if the program
crashed (not an uncommon occurrence at the moment), it would "forget" about
any files it had made that session.
2020-08-16 17:08:04 +10:00
itsmattkc
b3e30b8daf
renderer: clear auto-cache tasks when disconnecting viewer node
...
Fixes segfault that could occur when switching sequences.
2020-08-16 16:50:23 +10:00
itsmattkc
ec8b046f02
viewer: implemented basic deinterlace
...
Implements a very basic GLSL deinterlace that simply halves the vertical
resolution and then interpolates between the fields. This can be toggled
on or off.
The reasons for being so basic is:
- Speed, very quick code running in OpenGL
- It would seem the highest quality deinterlacers are temporally based
which doesn't make much sense for the viewer, particularly since we can't
double the frame rate since our timecode is fixed to the frames.
Higher quality interlacing/deinterlacing will be present in the actual
renderer.
2020-08-11 02:02:50 +10:00
itsmattkc
03e33227b3
cache: moved disk settings to a separate dialog
...
This way the cache settings can be accessed in both ProjectProperties and
Preferences.
2020-08-10 20:30:11 +10:00
itsmattkc
e21b68be53
renderer: queue hash setting from another thread
...
Fixes race condition that caused many segfaults.
2020-08-10 02:09:24 +10:00