Commit Graph
43 Commits
Author SHA1 Message Date
itsmattkc 8866428589 removed unnecessary debug line in ffmpegdecoder 2019-11-30 02:54:49 +11:00
itsmattkc 1a54d18862 wrote sample rate conform code into ffmpegdecoder
Audio no longer needs to be the same format/sample rate to play correctly. This
should be the last step to making audio work correctly (minus several
optimizations still yet to be done).
2019-11-30 02:52:31 +11:00
itsmattkc 16f4ec8468 began audio conform code in ffmpegdecoder
For accuracy, whenever we need to perform an audio resample, we need to do it
in advance. This is in a process called "conforming" and this commit introduces
the framework by which the decoder can automatically conform an audio stream
to arbitrary parameters for accurate rendering.
2019-11-29 02:10:28 +11:00
itsmattkc 755b4233ff fixed bug where a timecode of 0 wouldn't always return the first frame
Not all media starts with a timecode of 0 and the Decoder class needs to
handle such a situation. This commit corrects that.
2019-11-29 01:35:53 +11:00
itsmattkc 59f658f73a removed old retrieve code from ffmpegdecoder
Code cleanup
2019-11-24 02:04:37 +09:00
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 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 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 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 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 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 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 d76691a9ef began draft of internal node rendering structure 2019-07-10 23:06:09 -04: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
itsmattkc ff17c5d167 decoder source documentation and license boilerplate 2019-06-27 09:37:38 -07:00
itsmattkc 955f80c622 added probe on import functionality 2019-06-27 08:51:44 -07:00
itsmattkc d133ee9832 finished merging earlier decoder code 2019-06-26 22:52:44 -07:00