Commit Graph
56 Commits
Author SHA1 Message Date
itsmattkc 492c8f474a added clone functions for nodes
Since nodes are are extremely derivative types, we use a clone/copy function
to produce new types of the derived class easily.
2019-11-22 16:53:30 +09:00
itsmattkc a9660201f1 miscellaneous other changes to make audio rendering work
Many changes were made throughout the codebase to support audio, these are
most of the small changes necessary.

The audio support still is not perfect. I still need to write in resampling
support. After that it should work correctly with all audio types.
2019-11-15 13:57:49 +09:00
itsmattkc 3b224c7638 multithreaded download and files that probably should have been in the last
commit

For testing the new iteration, the texture cache disk download was written
into the main thread instead of into the separate threads. Now they're back
in separate threads again.

Also I think some of these files probably should have been in the previous
commit.
2019-11-06 09:14:20 +11:00
itsmattkc 97a4294bb3 refactoring work to improve issues with new rendering pipeline 2019-11-04 11:34:43 +11:00
itsmattkc 16ac2fc0e1 sweeping node graph changes for new rendering pipeline
The new rendering pipeline strives to simplify the nodes themselves as much
as possible and move much of the logic to an external rendering engine. This
change removes all of the responsibilities that no longer belong to the
nodes themselves and will soon be folded into the renderer.
2019-11-02 01:39:37 +11:00
itsmattkc 55f7d6aa8a restored previous renderer iteration for porting 2019-10-31 20:06:11 +11:00
itsmattkc 77bcb70dac started porting renderer to new portable form 2019-10-31 19:14:58 +11:00
itsmattkc 401aff52a8 attempts at folding opencl support in 2019-10-28 18:21:20 +11:00
itsmattkc 4d96ac9e39 don't police data type connections between nodes
Nodes were previously written to be "strongly typed" in that a parameter's
"type" enforced whether it could be connected to another. All code related
to that has now been removed since not only is it hard to maintain and
likely unnecessary, it's possible the nodes will work differently later on
anyway.
2019-10-25 00:44:14 +11:00
itsmattkc 076f2699c5 implemented audio decoder and some of the audio node functionality 2019-10-24 21:33:46 +11:00
itsmattkc af702835da forked MediaInput into two derived classes for video and audio
Rather than convoluting the MediaInput node, te MediaInput is now an abstract
base class that provides access to a Decoder and derived classes are
responsible for handling it
2019-10-24 17:03:33 +11:00
itsmattkc 2fdf78df4a implemented preliminary pre-cacher for audio
FFmpegDecoder now implements an "indexer" for audio, which actually just
extracts the raw PCM audio from an audio codec and saves it to disk
2019-10-24 16:36:26 +11:00
itsmattkc c38b4dca99 fixed viewport issues 2019-10-23 01:12:15 +11:00
itsmattkc 7dec79ceaa various changes to rendering flow and structure 2019-10-23 00:42:52 +11:00
itsmattkc 5f86b9b9c7 nodes are given a time range 2019-10-22 14:58:06 +11:00
itsmattkc 5105568291 moved renderer files 2019-10-19 14:02:15 +11:00
itsmattkc d6483916ac base audio renderer classes created 2019-10-16 13:51:56 +11:00
itsmattkc 45bfad2b20 setting ocio config specific to project 2019-09-30 05:40:14 +10:00
itsmattkc d2dc0d2823 work on internal color management 2019-09-28 01:38:15 +10:00
itsmattkc 088b0543eb footage combobox returns streams rather than footage 2019-09-19 00:51:45 +10:00
itsmattkc d002da8f60 transform effect complete 2019-09-18 01:28:22 +10:00
itsmattkc c48787cdab no need to lock twice on siblings 2019-09-13 12:47:59 +10:00
itsmattkc 3f5f79a8c7 some improvements to nodes 2019-09-11 01:33:57 +10:00
itsmattkc a7744f15a7 use integer bytes for hash rather than string 2019-09-11 00:04:29 +10:00
itsmattkc 69ca2b2a50 fixed bug where an unindexed video would cache a blank first frame 2019-09-10 19:12:19 +10:00
itsmattkc 333d7392d9 use correct size with media node 2019-09-10 12:56:07 +10:00
itsmattkc fc4ce3b26e transform effect complete 2019-09-10 12:39:08 +10:00
itsmattkc ba7a10177f fixed various caching issues when rapidly changing values 2019-09-09 04:07:51 +10:00
itsmattkc 3aa85c0ecc began transform node and added vec2/3/4 data types 2019-09-07 00:51:05 +10:00
itsmattkc 12bc5839a6 fixed various caching issues 2019-09-02 22:58:44 +10:00
itsmattkc e87ed9dd3d finished hashing algorithm for cache 2019-09-02 19:51:31 +10:00
itsmattkc b563b9e783 began node hashing for improved cache 2019-09-02 12:06:24 +10:00
itsmattkc a4369c4d79 filled out alpha over and opacity nodes 2019-08-31 14:45:13 +10:00
itsmattkc f6db7b6893 implemented alpha dis/re/assoc functions for offline pathway 2019-08-30 19:38:09 +10:00
itsmattkc 27effb9473 use OIIO DWAA for cache 2019-08-29 14:44:01 +10:00
itsmattkc 836943e58a convert to reference space in media node 2019-08-29 12:43:52 +10:00
itsmattkc deff114241 media node upgrades to reference pixel format 2019-08-29 12:30:42 +10:00
itsmattkc 5afe7d523c shifted to new dependency structure 2019-08-28 01:24:50 +10:00
itsmattkc b9ce02a0ec separated setting time and processing node functions 2019-08-27 23:38:24 +10:00
itsmattkc 4b5516abb5 split fbo and texture into two separate objects 2019-08-27 15:36:13 +10:00
itsmattkc 438e7081f9 foundations for background caching 2019-08-24 22:16:01 +10:00
itsmattkc 02ea535c8a added IDs to parameters for serialization 2019-08-13 17:22:32 +10:00
itsmattkc e9702aeb52 added some basic timeline functionality 2019-08-12 23:24:58 +10:00
itsmattkc 3eee9893f8 implemented conversions between internal pixel formats 2019-08-12 18:24:52 +10:00
itsmattkc 7dd7e83373 work towards dropping clips into the timeline 2019-08-09 22:25:16 +10:00
itsmattkc 7a858aeca3 moved decoders to shared ptrs 2019-08-09 07:46:53 +10:00
itsmattkc 6833b18829 merged probe functions into decoder class 2019-08-08 17:22:26 +10:00
itsmattkc c6dfab4caf use decoder ID in media node 2019-08-08 15:52:53 +10:00
itsmattkc 8730da4b43 improved decoder documentation and fixed error with >8bppc media 2019-08-08 14:02:12 +10:00
itsmattkc f55094c5df media now plays in node graph 2019-08-04 19:45:06 +10:00