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
9f6d0f9dc7
documented new node classes
2019-07-17 03:05:25 -04: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