itsmattkc
ccb02d30aa
colormanager: implement default config
2020-04-22 05:08:33 +10:00
itsmattkc
81ad7b5054
ffmpegdecoder: fixed deadlock when closing a decoder instance
2020-04-21 23:15:21 +10:00
itsmattkc
290c8724c4
Merge pull request #1131 from luzpaz/typos-followup
...
Fix typos cont.
2020-04-16 12:21:45 +10:00
itsmattkc
9f7a9d85b4
ffmpegdecoder: fixed deadlock on non-video streams
2020-04-14 23:42:31 +10:00
itsmattkc
a2f954a0a7
memorypool: implemented arenas
...
A pool can allocate/destroy any amount of arenas during runtime, meaning it
won't run out of memory but we still get the advantages of one large allocation
as opposed to hundreds of small allocations.
2020-04-14 16:23:45 +10:00
itsmattkc
feceef0d62
ffmpegdecoder: impose limit on memory frame cache
2020-04-14 15:16:38 +10:00
itsmattkc
9cc343bf13
ffmpegdecoder: share framepool with all instances
...
We can conserve memory by sharing our frame pool amongst instances of the same
stream.
2020-04-14 14:51:31 +10:00
itsmattkc
b3bebeeef3
decoder: removed unused destructor
...
Very old unused code.
2020-04-14 14:51:15 +10:00
itsmattkc
7bfdf8af7c
ffmpegframepool: implemented functional frame pool
...
Includes splitting off core functionality to a base MemoryPool class that can
be re-used later if necessary.
2020-04-14 02:43:12 +10:00
itsmattkc
2eb03bf386
various: removed constructor.h include
2020-04-14 00:53:25 +10:00
itsmattkc
6bb972b4db
decoder: began implementation of a frame pool
2020-04-13 23:44:42 +10:00
itsmattkc
f80a82459b
ffmpegdecoder: clear cache_at_zero flag if frames are removed
2020-04-13 13:24:30 +10:00
itsmattkc
cdf5a1058d
ffmpegdecoder: re-use existing frame pool for memory management
2020-04-12 14:12:08 +10:00
itsmattkc
4d8af6855f
ffmpegdecoder: made all instances shared
...
Decoders now share instances between them and can interact with other threads
to share resources and continue the work of others.
2020-04-12 01:49:10 +10:00
itsmattkc
e6b47a817c
ffmpegdecoder: separated instance from decoder entity
...
Should allow for different decoders in different threads to share a single
instance.
2020-04-11 17:37:52 +10:00
itsmattkc
ce7fa12520
ffmpegdecoder: implemented basic decoder crosstalk
2020-04-11 13:18:44 +10:00
itsmattkc
8cbac84c96
samplebuffer: added an assert to ensure valid allocations occur
2020-04-06 17:07:38 +10:00
itsmattkc
1aa87cbda6
various: encapsulate all code in the olive namespace to avoid name collisions
...
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc
e3a8d32e4a
audiorenderer: fill destination buffer with zeroes before copying samples over
...
Ensures no uninitialized values end up in the audio cache.
2020-04-05 13:29:04 +10:00
itsmattkc
fb1cf1edaf
ffmpegencoder: improvements to resampling
...
Updates the AVFrame's nb_samples field to the amount of samples retrieved from
swresample so it doesn't encode more or less samples than it has.
2020-04-05 00:12:23 +11:00
itsmattkc
6ea6dd810e
pixelsampler: added pixel sampler panel
...
When visible, this panel will show the current reference and display transformed
color under the cursor of any viewer.
2020-04-01 16:57:10 +11:00
itsmattkc
4aad73a21d
samplebuffer: use delete [] instead of delete for sample buffers
2020-04-01 05:17:45 +11:00
itsmattkc
922e11a23d
frame: refuse to allocate if the video params are invalid
2020-04-01 05:17:24 +11:00
itsmattkc
6f0d72c05d
renderer: switched audio rendering over to planar buffers
...
While planar audio cannot be used for playback, it's much easier for processing.
This should lead to cleaner and easier to write code in the future.
2020-03-31 18:01:20 +11:00
itsmattkc
9603f90072
ffmpegencoder: added range support to audio encoding
...
There isn't UI for this yet, but sending a time range to the encoder will now
encode just that range of audio.
2020-03-31 13:55:57 +11:00
itsmattkc
7328a813f9
ffmpegencoder: fixed bug that failed to flush the audio encoder
...
For some reason, when the encoder closed it only flushed the video encoder and
not the audio encoder. Now it does both.
2020-03-31 12:09:43 +11:00
itsmattkc
84aab543ca
oiiodecoder: always add 1 frame to image sequences so the end frame is shown
2020-03-28 11:29:51 +11:00
luz.paz
4e1cd870a9
Fix typos cont.
2020-03-21 13:46:38 -04:00
itsmattkc
51f02ea01b
viewer: allow switching open sequences
2020-03-21 22:18:17 +11:00
itsmattkc
6ddfd2fc8e
waveinput: return actual read count when reading into an existing buffer
2020-03-18 19:06:08 +11:00
itsmattkc
d4d969872f
ffmpegdecoder: if data is less than duration, fill remainder with 0s
...
Fixes bug where random/uninitialzed audio values may appear in some
circumstances.
Also switches swr_convert_frame to swr_convert for a small
optimization/improvement, no need to use AVFrame struct when we're only
interested in samples.
2020-03-18 19:05:02 +11:00
itsmattkc
4bc5378116
ffmpegencoder: explicit cast from int64_t to int
2020-03-15 20:08:56 +11:00
itsmattkc
fdfe53c700
oiiodecoder: check for sequential images in sequence heuristic
2020-03-13 16:49:59 +11:00
itsmattkc
2d57f22f3a
oiiodecoder: implemented heuristic to auto-detect start and end index
2020-03-09 20:08:05 +11:00
itsmattkc
965242cb29
oiiodecoder: set flag on image sequences to identify them as such
2020-03-09 19:55:35 +11:00
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