Commit Graph
54 Commits
Author SHA1 Message Date
itsmattkc 60a27961c2 cache frames alongside the frame index
Decoder will now pre-render/decode frames in advance of needing
them
2019-11-17 12:29:53 +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 336b3a8e05 added support for returning audio in the FFmpegDecoder
FFmpeg decoder now indexes and returns audio as expected
2019-11-15 13:53:58 +09:00
itsmattkc 9a44e656b5 added simple wave classes
To assist the input/output of PCM data, we use the fairly straight-forward
WAVE format. These classes simplify the input and output of such data.
2019-11-15 13:49:40 +09:00
itsmattkc 663ae56ac4 more coherent render threading for now
Once again, conceptually this system should work, however it does not seem to
be the most efficient and it wouldn't surprise me if the multithreading was
eventually upgraded to an even more coherent system one day. However for
"core principles" this should be fairly decent.
2019-11-03 04:05:43 +11:00
itsmattkc 133dab1666 some code cleanup
Removal of translations around debug messages since these waste cycles and are
likely not useful
2019-10-31 21:45:53 +11:00
itsmattkc 77bcb70dac started porting renderer to new portable form 2019-10-31 19:14:58 +11:00
itsmattkc 3fb53586d4 updated decoder debug messages 2019-10-26 15:33:25 +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 ce20dc159e correct duration/rate in project explorer 2019-09-26 16:00:21 +10:00
itsmattkc 9fa22938b9 work towards making timeline actions all undoable 2019-09-23 23:00:15 +10:00
itsmattkc 1207e180ec fix for transport streams with no duration 2019-09-17 13:40:23 +10:00
itsmattkc 197cf86382 don't allow ffmpeg through oiio 2019-09-14 02:52:33 +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 4c40475a6c fixed flicker issue when previewing some media 2019-09-10 15:55:59 +10:00
itsmattkc ba7a10177f fixed various caching issues when rapidly changing values 2019-09-09 04:07:51 +10:00
itsmattkc faa7f798ff more or less completed OIIO decoder 2019-09-05 01:15:50 +10:00
itsmattkc 695adea562 added OIIO decoder 2019-09-05 00:03:26 +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 b9ce02a0ec separated setting time and processing node functions 2019-08-27 23:38:24 +10:00
itsmattkc 46ea071b99 mild decoder adjustment 2019-08-26 15:15:20 +10:00
itsmattkc 438e7081f9 foundations for background caching 2019-08-24 22:16:01 +10:00
itsmattkc c0f6ee534a minor code cleanups 2019-08-09 10:43:14 +10:00
itsmattkc f26eea1620 moved more objects to shared ptrs 2019-08-09 08:21:54 +10:00
itsmattkc dfd33310a2 use qvector instead of raw array 2019-08-09 07:49:17 +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 f3b60369aa use IDs for multiple decoders 2019-08-08 15:38:58 +10:00
itsmattkc 8730da4b43 improved decoder documentation and fixed error with >8bppc media 2019-08-08 14:02:12 +10:00
itsmattkc 6708eca0c1 renamed ffmpeg decoder function names 2019-08-08 13:13:01 +10:00
itsmattkc 410c1ff06c cache frame indexes to disk 2019-08-07 12:14:48 +10:00
itsmattkc 1138600f37 indexing prototype 2019-08-06 09:34:37 +10:00
itsmattkc 73a32ad9cd use node graph time to get frame 2019-08-06 08:41:27 +10:00
itsmattkc 360328ccbb more work towards loading media into the node graph 2019-08-06 08:26:25 +10:00
itsmattkc f55094c5df media now plays in node graph 2019-08-04 19:45:06 +10:00
itsmattkc 298ae2f36c mocked up a prototype of decoding data into the node graph 2019-08-04 14:45:17 +10:00
itsmattkc fb8d5df24b created widget bridge 2019-08-04 10:00:29 +10:00
itsmattkc 2e41f6d8f0 minor comment conformance 2019-07-23 10:22:58 -07:00
itsmattkc 9f6d0f9dc7 documented new node classes 2019-07-17 03:05:25 -04:00
itsmattkc 837d43fe07 moved various classes from root to common folder 2019-07-15 03:58:39 -04:00
itsmattkc d76691a9ef began draft of internal node rendering structure 2019-07-10 23:06:09 -04:00
itsmattkc 5e3c2fb7e4 documented (nearly) ever class 2019-07-06 23:32:01 -05:00
itsmattkc a6971b3fde more work on project management 2019-07-06 09:46:55 -05:00
itsmattkc 0f7192fc33 work towards project explorer navigation bar 2019-07-02 16:46:09 -07:00
itsmattkc 85b5bbd5d6 documentation and folded item delegates from old code back in 2019-07-02 03:01:46 -07:00
itsmattkc 0966b62f29 various improvements to import process and project management 2019-07-01 15:40:09 -07:00