Commit Graph
2872 Commits
Author SHA1 Message Date
itsmattkc 02ce48d0c6 various: pixel optimizations
Several things are accomplished in this commit, including:

- Use OIIO instead of our own functions for pixel format conversions
  (cleaner code/less for us to maintain)

- Fold all PixelService functions into the PixelFormat class
  (cleaner code)

- Moved OpenGL pixel definitions to OpenGL classes and out of the
  global classes.

- Add support for RGB buffers as well as RGBA (optimization)
2020-02-27 13:54:38 +11:00
itsmattkc 0624184b18 projectexplorer: re-implemented reveal in explorer function 2020-02-27 11:30:26 +11:00
itsmattkc 0fbffc9b8f ffmpegdecoder: mild code cleanup 2020-02-27 01:05:22 +11:00
itsmattkc 428cfc6210 exportdialog: use sequence name and project directory to auto-select export
filename
2020-02-27 00:58:19 +11:00
itsmattkc d7cde3b22e timelinewidget: clear block items before destruction
Prevents block items signalling anything after the TimelineWidget has already
been destroyed.
2020-02-26 14:36:51 +11:00
itsmattkc 9585786c4b exporter: removed unused and problematic function
This array this code made was never actually used and in fact the code was
potentially crash-prone.
2020-02-26 14:07:47 +11:00
itsmattkc 2fe680dccd Merge branch 'master' of https://github.com/olive-editor/olive 2020-02-26 11:39:08 +11:00
itsmattkc 0bef116020 oiiodecoder: set correct image stream
Fixes bug where loading a saved project with still images could crash.
2020-02-26 11:37:57 +11:00
itsmattkc e578ee6264 nodeviewedge: fixed float conversion warning 2020-02-26 01:59:46 +11:00
itsmattkc 7e7ff49777 nodeviewedge: use bezier curves instead of straight lines 2020-02-26 01:07:53 +11:00
itsmattkc 785160b86b nodeview: fixed crash when expanding a NodeViewItem with a NodeInputArray 2020-02-26 00:47:01 +11:00
itsmattkc bf7fc9a0c4 panels: selecting a clip in the timeline automatically selects the corresponding
nodes in the nodeview
2020-02-26 00:39:30 +11:00
itsmattkc 78daf9e28a exporter: updated exporter to function with new render system 2020-02-25 20:03:15 +11:00
itsmattkc ab19e445bd importtool: implemented auto-parameter detection from image streams too 2020-02-25 14:59:54 +11:00
itsmattkc 8d7b94658b footagepropertiesdialog: show colorspace and alpha association properties on
image streams
2020-02-25 14:59:48 +11:00
itsmattkc faffbb0f38 renderer: re-use already created textures if the images are known not to change 2020-02-25 14:57:49 +11:00
itsmattkc 5404fa628d cmake: use rc resource file on windows 2020-02-25 13:18:16 +11:00
itsmattkc fcb8e934c4 config: changed default cache range values 2020-02-24 12:34:28 +11:00
itsmattkc 9f17a23a42 videorenderframecache: use hash-prefix directory structure
Many file systems become inefficient with a lot of files in the same directory.
To solve this we use a semi-arbitrary system to split up all cache files into
several folders to keep things performant.
2020-02-24 12:34:16 +11:00
itsmattkc 2c16bb7c53 renderworker: removed unnecessary declaration 2020-02-24 11:58:38 +11:00
itsmattkc fceb1e8d3e viewer: re-render both video and audio if parameters change 2020-02-24 11:57:39 +11:00
itsmattkc 6239107670 ffmpegdecoder: run timer in main thread at all times 2020-02-24 11:56:48 +11:00
itsmattkc 08ed766771 audiorenderworker: fixed potential false positive in assert 2020-02-24 02:02:08 +11:00
itsmattkc 412ea9cede ffmpegdecoder: fixed bug with frame identification 2020-02-24 02:01:42 +11:00
itsmattkc 8f5a92af9c ffmpegframecache: removed unnecessary debug line 2020-02-24 02:01:21 +11:00
itsmattkc ff516b6202 audiorenderworker: added assert for problematic audio behavior that could
corrupt the heap
2020-02-23 22:20:01 +11:00
itsmattkc 6956e159e6 ffmpegdecoder: remove debug messages 2020-02-23 22:18:59 +11:00
itsmattkc d3bc12b2f5 ffmpegdecoder: use stricted memory interval 2020-02-23 22:18:10 +11:00
itsmattkc c7cb227abb ffmpegdecoder: fixed memory leak introduced in previous commit 2020-02-23 21:24:07 +11:00
itsmattkc b1cb8489df memory: try caching frameptrs instead of avframes so we have more control 2020-02-23 21:20:33 +11:00
itsmattkc 48cdb3a6dd memorymanager: rewrote entire memory management system 2020-02-23 20:29:51 +11:00
itsmattkc 3a90e76fec viewerglwidget: don't check for file exists since OIIO will do that for us 2020-02-23 13:48:02 +11:00
itsmattkc c2d518c681 audiorenderworker: fixed bad memcpy that would corrupt the heap 2020-02-23 13:46:28 +11:00
itsmattkc 813c2e411a rendercache/decodercache: moved qmutex that was only used by decodercache into
decodercache's derived class
2020-02-23 11:46:30 +11:00
itsmattkc 866db58965 taskmanager: use deleteLater rather than delete
This doesn't solve a known issue, but is probably cleaner/more robust code
regardless.
2020-02-23 11:45:16 +11:00
itsmattkc 7a95af7069 taskdialog: fixed issue that would sometimes kill a thread before it was
finished leading to a SIGABRT from qt
2020-02-23 11:44:30 +11:00
itsmattkc 0a74714f5d nodeview/nodepanel: implemented select all/deselect all functionality 2020-02-23 11:38:30 +11:00
itsmattkc 6facdc1f1b projectpanel/projectexplorer: added select all/deselect all functionality 2020-02-23 11:33:49 +11:00
itsmattkc f1f80c0a39 audiomanager: fixed segfault if olive is closed while the devices are getting
refreshed
2020-02-23 02:20:39 +11:00
itsmattkc 1c033e53d4 timeruler: fixed issue that caused dirty cache status to not appear sometimes 2020-02-22 20:08:28 +11:00
itsmattkc 0e7b051228 timelinewidget: show cache status in timeline too 2020-02-22 14:45:50 +11:00
itsmattkc 9cb04b0020 timelineview: simplified TrackRippleRemoveAreaCommand and fixed bug that
incorrectly calculated the splice copy's media in
2020-02-22 01:14:38 +11:00
itsmattkc c7a3906c97 timelineview: fixed bug that wouldn't invalidate all necessary regions of the
cache when using rippleremovearea
2020-02-22 00:49:57 +11:00
itsmattkc 65db108be2 openglcolorprocessor: renamed CreateOpenGL() to Create()
We hide ColorProcessor::Create() to create a derived class rather than the
base class and clear up confusion over the two functions existing.
2020-02-22 00:34:55 +11:00
itsmattkc acb107bd92 Merge branch 'master' of https://github.com/olive-editor/olive 2020-02-22 00:14:20 +11:00
itsmattkc 77c0c9d95a viewer: ported to openglcolorprocessor for simpler code and fixed bug that
snuck in breaking color managed display
2020-02-22 00:13:28 +11:00
itsmattkc 547990b920 ffmpegdecoder/memorymanager: fixed race condition in garbage collection 2020-02-21 23:15:09 +11:00
itsmattkc b0c9711974 ffmpegdecoder: fixed double mutex lock
Error() would call Close() getting stuck in a double mutex lock that could
stall workers. This commit fixes that.
2020-02-21 20:04:36 +11:00
itsmattkc 6c33e85162 decoder: don't start indexing any stream that doesn't need to be 2020-02-21 20:04:08 +11:00
itsmattkc 04759b88cf qt/opengl: fixed bug that caused black screen on some platforms 2020-02-21 18:21:07 +11:00