Commit Graph
159 Commits
Author SHA1 Message Date
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
itsmattkc 6507cfbfc9 ffmpegencoder: ensure codec ID is initialized 2020-05-21 18:28:34 +10:00
itsmattkc 0cf6c9a1f6 export: use codec IDs rather than strings
Vastly improves portability between library versions.
2020-05-21 03:04:38 +10:00
itsmattkc d5766489e4 export: fixed audio exporting with new renderer system 2020-05-21 02:18:52 +10:00
itsmattkc 87e7564222 cache: heavily reworked exporting for new system
Also cleans up cache in general and moves it to the Task infrastructure.
2020-05-19 23:35:17 +10:00
itsmattkc cd847a89ce decoder: removed old unused code
Minor cleanup.
2020-05-19 03:34:49 +10:00
itsmattkc cb383d760b tasks now emit floats rather than integers
Simplifies code for tasks.
2020-05-19 02:44:38 +10:00
itsmattkc 814bbe8c22 fixed various segfaults in decoder and renderer 2020-05-18 02:40:58 +10:00
itsmattkc 863ae1b913 a first attempt at a new render system 2020-05-14 14:43:03 +10:00
itsmattkc 869f41fc50 ffmpegdecoder: fixed audio bug that failed to conform if the codec didn't supply a channel layout 2020-05-09 16:06:05 +10:00
itsmattkc fb625cb76e nodes: removed XML infrastructure 2020-05-06 15:06:37 +10:00
itsmattkc 22bfff2c62 proxy: improved progress signalling
Signals once cache to disk is fully complete (rather than signalling on decode
and then sitting at 100% for ages until the disk saving is done).
2020-05-04 01:53:47 +10:00
itsmattkc b458bfa542 proxy: improved UI on proxy menu 2020-05-04 01:33:26 +10:00
itsmattkc 2b1640ac04 frame/texture: use dividers when allocating buffers
Allows render pipeline to know the "real" and "simulated" resolution of a
divided buffer.
2020-05-04 01:08:46 +10:00
itsmattkc e4e797c901 proxy: cleaned up, re-use the render cache's disk save system for proxies, multithreaded compression 2020-05-04 00:29:26 +10:00
itsmattkc 6754feb2f6 proxy: began work towards creating proxy from video 2020-05-03 17:09:52 +10:00
itsmattkc e4c3b6bf7b renderer/decoder: simplified audio PCM transcode
Turned the two-step PCM transcode into one step and simplified/removed much of
the unnecessary infrastructure that supported it. This makes the code cleaner
and generally improves the code paths.
2020-05-03 16:07:10 +10:00
itsmattkc a925476c3f began work on exr proxy task 2020-05-03 05:23:36 +10:00
itsmattkc 2d0e5322f2 oiiodecoder: fixed namespace issue 2020-05-02 22:55:45 +10:00
itsmattkc 3e57cdac1d use linesize workaround for setting OIIO pixels as well as getting 2020-05-02 22:51:29 +10:00
itsmattkc e7400adabc oiiodecoder: added compatibility for OIIO 1.x 2020-05-01 18:19:08 +10:00
itsmattkc a2cba8c103 pixelformat: respect linesizes when converting pixel formats 2020-05-01 03:42:31 +10:00
itsmattkc 472030f8f0 oiiodecoder: implemented workaround for oiio stride bug in versions < 2.1.12 2020-05-01 01:38:31 +10:00
itsmattkc 549ecc448a ffmpegencoder: use qstring rather than sprint_s (which is only available on msvc) 2020-04-30 18:54:13 +10:00
itsmattkc ce42388d68 export: allow users to override the thread count 2020-04-30 17:19:43 +10:00
itsmattkc ac09f604b1 Merge branch 'master' of https://github.com/olive-editor/olive 2020-04-23 21:14:07 +10:00
itsmattkc 1436d9b3eb ffmpegdecoder: potential fix for deadlocks when closing 2020-04-23 21:13:43 +10:00
itsmattkc 4490b10032 oiiodecoder: fixed broken reference 2020-04-23 03:58:38 +10:00
itsmattkc 61e3641bcc export: fixed bug where null frames never got signalled and hung exporting 2020-04-23 03:02:04 +10:00
itsmattkc 9beff8b1e8 ffmpegdecoder: fixed deadlock if decoder instance was closed from main thread 2020-04-23 02:23:20 +10:00
itsmattkc 0f825cbc44 oiiodecoder: updated to handle frame linesizes 2020-04-22 16:57:18 +10:00
itsmattkc c9e797abdf various: conformed frame usages to respect stride 2020-04-22 15:54:47 +10:00
itsmattkc eb6b9217ab frame: implemented usage of linesizes
Frame will transparently use an optimized linesize for it's allocated data.
2020-04-22 15:19:04 +10:00
itsmattkc c8da59a45e opengltexture: align all data to 16
Fixes crash if frame is not aligned to 16. This should probably
be folded into the Frame class itself at some point.
2020-04-22 15:08:36 +10:00
itsmattkc ccb02d30aa colormanager: implement default config 2020-04-22 05:08:33 +10:00
itsmattkc 81ad7b5054 ffmpegdecoder: fixed deadlock when closing a decoder instance 2020-04-21 23:15:21 +10:00
itsmattkc 290c8724c4 Merge pull request #1131 from luzpaz/typos-followup
Fix typos cont.
2020-04-16 12:21:45 +10:00
itsmattkc 9f7a9d85b4 ffmpegdecoder: fixed deadlock on non-video streams 2020-04-14 23:42:31 +10:00
itsmattkc a2f954a0a7 memorypool: implemented arenas
A pool can allocate/destroy any amount of arenas during runtime, meaning it
won't run out of memory but we still get the advantages of one large allocation
as opposed to hundreds of small allocations.
2020-04-14 16:23:45 +10:00
itsmattkc feceef0d62 ffmpegdecoder: impose limit on memory frame cache 2020-04-14 15:16:38 +10:00
itsmattkc 9cc343bf13 ffmpegdecoder: share framepool with all instances
We can conserve memory by sharing our frame pool amongst instances of the same
stream.
2020-04-14 14:51:31 +10:00
itsmattkc b3bebeeef3 decoder: removed unused destructor
Very old unused code.
2020-04-14 14:51:15 +10:00