itsmattkc
d12a0dca23
oiiodecoder: fixed mistake when using OIIO 1.x
2020-03-06 17:02:51 +11:00
itsmattkc
9e8a384f14
encoder/exportdialog: add compression options for H264 exporting
2020-03-03 01:47:04 +11:00
itsmattkc
d7f5584374
oiiodecoder: various improvements
...
Use start_time in VideoStream to determine the starting number of an image
sequence and use ImageBufAlgo::resample instead of ImageBufAlgo::resize for
faster image processing (since the quality with a divider is always expected
to be draft quality).
2020-03-02 14:32:36 +11:00
itsmattkc
de5955b403
oiiodecoder: implemented rudimentary image sequence support
2020-03-02 14:06:44 +11:00
itsmattkc
597f50fa37
ffmpeg: print more debug information, less useless information
2020-02-29 17:22:19 +11:00
itsmattkc
139c14f941
footage: fixed appearance of some metadata, particularly audio metadata
2020-02-29 17:19:47 +11:00
itsmattkc
adcab06d4e
fixed faulty while loop break
2020-02-27 18:15:55 +11:00
itsmattkc
83c5cd2bc1
oiiodecoder: made line backwards compatible with OIIO < 2.1.x
2020-02-27 16:03:56 +11:00
itsmattkc
d87b4fde8c
renderer/decoder: use divider at the footage level
...
Optimizes rendering if a divider is being used.
2020-02-27 15:47:08 +11:00
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
0fbffc9b8f
ffmpegdecoder: mild code cleanup
2020-02-27 01:05:22 +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
faffbb0f38
renderer: re-use already created textures if the images are known not to change
2020-02-25 14:57:49 +11:00
itsmattkc
6239107670
ffmpegdecoder: run timer in main thread at all times
2020-02-24 11:56:48 +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
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
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
dcedf12dbe
ffmpegdecoder: stop clear_timer on deconstruction
2020-02-21 14:25:27 +11:00
itsmattkc
befaf34a4c
oiiodecoder: use QStringLiteral()
...
Minor code improvement/optimization.
2020-02-21 14:21:53 +11:00
itsmattkc
e74c4c2d1c
global: implemented rudimentary memory manager to use available system memory
...
without forcing the OS to page swap
2020-02-21 14:20:57 +11:00
itsmattkc
2e38e7e3fb
indexmanager: moved files
2020-02-21 10:47:41 +11:00
itsmattkc
7797bf4971
ffmpegdecoder: added helper functions for memory handling
2020-02-21 01:18:21 +11:00
itsmattkc
4532c3884e
ffmpegdecoder: fixed cast issue on gcc
2020-02-21 00:21:31 +11:00
itsmattkc
2299fda73a
ffmpegdecoder: handle media that starts at a non-zero pts
2020-02-21 00:09:45 +11:00
itsmattkc
162c91ec52
ffmpegdecoder: allow probe duration pickup to be cancelled
2020-02-20 23:54:40 +11:00
itsmattkc
bc2be7a2a4
ffmpegdecoder: use simpler loop to find duration if the container doesn't
...
provide one
2020-02-20 23:52:23 +11:00
itsmattkc
73e639757e
ffmpegdecoder: fix bug that slowed down low fps footage unnecessarily
2020-02-20 23:34:49 +11:00
itsmattkc
3bd1c885cf
decoder: round double to int
2020-02-20 19:24:59 +11:00
itsmattkc
e373c40853
ffmpegdecoder: handle eof in retrieve
2020-02-20 16:50:03 +11:00
itsmattkc
3e776b62e1
oiiodecoder: added new mutex structures
2020-02-20 16:38:23 +11:00
itsmattkc
1cce8abd85
frame: added bool function returning whether the frame is allocated or not
2020-02-20 16:37:43 +11:00
itsmattkc
2145efa2a0
decoder/renderer: use memory cache and single decoder to optimize frames for
...
cycles
2020-02-20 15:32:12 +11:00
itsmattkc
71048f40a8
ffmpegdecoder: removed all old code to clean up
2020-02-20 02:22:59 +11:00
itsmattkc
95ca19d547
ffmpegdecoder: began work on the index process working in tandem with the
...
retrieval process
2020-02-20 00:06:20 +11:00
itsmattkc
e68e89c40b
renderer/decoder: use same background mechanism to conform audio as well
2020-02-19 16:45:34 +11:00
itsmattkc
a719618b31
waveinput: better handling of WAV data sections
2020-02-19 12:45:21 +11:00
itsmattkc
56adf5005f
decoder: provide conform progress signal
2020-02-19 12:45:01 +11:00
itsmattkc
08e6c6ffc0
decoder: move conform function to base class
...
There's no reason the Conform() function can't live in the base class since its
functionality isn't necessarily specific to FFmpeg.
2020-02-19 12:28:37 +11:00
itsmattkc
53551246da
decoder: signal indexing progress
...
Better UI interactions, actually shows the progress of the index function in
the task manager now.
2020-02-19 12:19:42 +11:00
itsmattkc
03bdf01357
decoder/renderer: no longer index automatically as part of the retrieve
...
functions
Indexing is a lengthy process and had a high chance of getting RenderWorkers
stuck doing it rather than being responsive to cache requests. This commit
introduces a system where workers never index media, but instead signal that
media is not ready to their RenderBackends which ensure that the media gets
indexed and re-queues the affected frames when those indexes are ready.
2020-02-19 11:44:29 +11:00
itsmattkc
5e75e9b3b0
waveinput/output: allowed external access to data length value
2020-02-19 11:40:54 +11:00
itsmattkc
22046535ca
various: added hooks so that various lengthy functions could be cancelled from another thread
2020-02-17 02:10:12 +11:00
itsmattkc
35ab379e9f
ffmpegdecoder: updated comment to better describe error handling
2020-02-16 10:28:18 +11:00