itsmattkc
cab62ba5d1
ffmpegdecoder: read pixel format from frame instead of stream
2022-05-22 13:41:44 -07:00
itsmattkc
b0530cd55d
decoders: upload directly to texture
2022-05-19 16:54:18 -07:00
itsmattkc
5ae6a101c2
ffmpegdecoder: use avframeptrs internally
2022-05-19 16:16:35 -07:00
itsmattkc
5a86c1b47f
ffmpegdecoder: improve scaler refresh
2022-05-19 14:00:56 -07:00
itsmattkc
09c57422f9
ffmpeg: significantly optimized decoder
2022-05-15 19:33:01 -07:00
itsmattkc
c75ee6014c
ffmpeg: bypass ass encoding for srt
...
Fixes #1927
2022-05-14 08:56:06 -07:00
itsmattkc
83e7707025
media: implement importing SRT files
2022-05-11 13:48:59 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
4173eb3c49
conform audio to planar in the decoder
2021-10-13 16:01:26 -07:00
itsmattkc
677277c16d
renderer: improved code flow
2021-09-21 19:10:03 -07:00
itsmattkc
d713ba3be7
fixed 32-bit integer overflow on long audio
2021-08-08 17:05:41 -07:00
itsmattkc
69009180ab
ffmpegdecoder: fixed bug where incorrect divider was stored
2021-05-30 12:25:41 +10:00
itsmattkc
ba9ed99849
footage: check files for changes
2021-05-16 10:29:05 +10:00
itsmattkc
2484daf141
implemented full support for interlaced footage
...
Includes importing and exporting interlaced footage. Fixes #1340 .
2021-05-03 13:56:54 +10:00
itsmattkc
ee6b09f772
ffmpegdecoder: use avfilter system instead of raw swscale commands
...
Heh this was inevitable
2021-05-03 12:10:51 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
4827782331
moved sequence params into node graph too
...
Reduces code by reusing more of the existing node infrastructure
to synchronize sequence parameters the render backend.
2021-02-18 13:20:23 +11:00
itsmattkc
d7c5ac4b44
implement entire project in nodes
...
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc
e12013e2fb
don't use shared ptrs for project items
2020-12-16 10:28:43 +11:00
itsmattkc
0fa05e1bc9
removed unused file
2020-11-27 14:28:09 +11:00
itsmattkc
75d4cd899b
use hardcoded namespace
...
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc
d241090a9f
finally updated the copyright year
2020-11-17 20:13:22 +11:00
itsmattkc
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
3c1ac3eeba
upgraded to ocio v2
2020-11-11 21:53:24 +11:00
itsmattkc
94c0914e50
codec system rework
...
Codecs are now much cleaner and thread safe by design.
2020-11-10 11:23:25 +11:00
itsmattkc
bc60c74562
finalized very, very basic OTIO support
...
Ironed out various project and footage loading issues, and a single
cache invalidation issue.
2020-10-23 01:26:17 +11:00
itsmattkc
917738d1de
Merge branch 'master' into otio
2020-10-22 20:26:16 +11:00
itsmattkc
d620af412f
decoder: improved memory management
2020-10-13 23:49:30 +11:00
itsmattkc
6db591e89f
footage: merge video and image streams and improve image sequence import process
...
Image streams were initially separated from video streams, but they're now
joined with a parameter defining if they're a still image, image sequence,
or regular video. The image sequence import process has also improved so
that if images from the same sequence are imported too, they'll either be
ignored or the user won't be asked again for those if they should be an
image sequence (fixes #1193 ). Also shifts decoder "probe" process to return
an item, useful if the decoder returns a non-footage item.
2020-09-26 19:45:07 +10:00
itsmattkc
050103a857
memory: implemented basic memory limiting functionality
...
Keeps track of total memory usage and uses it as a guide towards
allocating/reusing more memory.
2020-08-29 13:34:54 +10:00
itsmattkc
c99eb68d45
ffmpegdecoder: frame pool by dimensions/format rather than stream
...
Memory optimization.
2020-08-26 17:42:10 +10:00
itsmattkc
f3f81eb2be
ffmpeg: store divided frames in memory cache
...
Since users will most likely be working with a divider most of the time,
there's no reason to waste memory space with undivided frames considering
the dividing process is quite fast.
2020-08-18 04:55:23 +10:00
itsmattkc
d9851dc329
decoders: mild refactoring and code cleanup
...
Just making things a little bit nicer.
2020-08-18 03:17:01 +10:00
itsmattkc
df14c2aaa7
cache: better implemented changing disk cache folders
...
Not complete yet, but getting there.
2020-08-07 02:31:46 +10:00
itsmattkc
fb05594b50
various: allow setting footage aspect ratios
...
We had support for detecting aspect ratios and respecting them in the
render, but this allows people to not only see the aspect ratio in use,
but also override it with their own.
2020-07-25 00:58:01 +10:00
itsmattkc
11afdf32fe
decoder/timeline: improve decoding of still images
2020-07-12 18:25:51 +10:00
itsmattkc
9095dfa463
project: replaced proxy with pre-cache
...
Removed proxy task and replaced with a true honest-to-god pre-cache for
footage. This footage is pre-cached to a sequence and therefore 100% ready
for use in it once the task is done.
2020-06-08 23:17:51 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
2b1640ac04
frame/texture: use dividers when allocating buffers
...
Allows render pipeline to know the "real" and "simulated" resolution of a
divided buffer.
2020-05-04 01:08:46 +10:00
itsmattkc
e4e797c901
proxy: cleaned up, re-use the render cache's disk save system for proxies, multithreaded compression
2020-05-04 00:29:26 +10:00
itsmattkc
e4c3b6bf7b
renderer/decoder: simplified audio PCM transcode
...
Turned the two-step PCM transcode into one step and simplified/removed much of
the unnecessary infrastructure that supported it. This makes the code cleaner
and generally improves the code paths.
2020-05-03 16:07:10 +10:00
itsmattkc
a925476c3f
began work on exr proxy task
2020-05-03 05:23:36 +10:00
itsmattkc
1436d9b3eb
ffmpegdecoder: potential fix for deadlocks when closing
2020-04-23 21:13:43 +10:00
itsmattkc
c8da59a45e
opengltexture: align all data to 16
...
Fixes crash if frame is not aligned to 16. This should probably
be folded into the Frame class itself at some point.
2020-04-22 15:08:36 +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
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
6bb972b4db
decoder: began implementation of a frame pool
2020-04-13 23:44:42 +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