itsmattkc
5fe6faf15a
ffmpeg: slightly improve performance of yuv2rgb
2022-10-29 09:59:45 -07:00
Thomas Wilshaw
ddeab29da3
ffmepgdecoder: simplify code and improve vairable name
2022-10-26 21:02:59 +01:00
Thomas Wilshaw
9bc10e8301
ffmpegdecoder: add comment
2022-10-25 17:39:45 +01:00
Thomas Wilshaw
d011229864
ffmpegdecoder: Catch bad stream duration estimates
...
For some formats, particularly mxf, FFmpeg calculates the duration
of the stream incorrectly. Here we try to catch that and force Olive
to use it's much slower, but correct fallback method.
2022-10-25 17:24:40 +01:00
itsmattkc
876bc26a5c
decoder: track divider in cached frame
2022-10-24 10:13:17 -07:00
itsmattkc
7791dde954
ffmpegdecoder: use inline avtimebase rather than macro
2022-10-11 00:59:12 -07:00
itsmattkc
e17a24021f
ffmpegdecoder: disable interlaced scaling
...
So for some reason enabling interlaced scaling causes memory corruption. Is it an FFmpeg bug or ours? I have no idea. But it only happens if interlaced scaling is enabled. If it isn't, either by forcing it off or deinterlacing it beforehand, it doesn't happen. Since scaling is only done for low quality preview, I opted to just disable it, but maybe I'll decide against it later.
2022-10-11 00:27:27 -07:00
itsmattkc
202342e24f
ffmpegdecoder: factor in AVFormatContext::start_time
2022-10-11 00:25:56 -07:00
itsmattkc
4f6dd6aeb1
ffmpegdecoder: offset target timestamp by start timestamp
...
Fixes #2054
2022-10-10 18:54:45 -07:00
itsmattkc
bb63b6968c
decoder: use atomic int instead of mutex for access time
...
Prevents main thread from getting hung up if the decoder is doing something slow
2022-10-10 18:54:45 -07:00
itsmattkc
184e43fb68
encodingparams: fix bug where pixel aspect wasn't serialized
2022-10-06 09:42:57 -07:00
itsmattkc
b2b32805ee
ffmpegdecoder: ensure scaled frame is unref'd
2022-10-06 00:32:24 -07:00
itsmattkc
5d5b2440a1
ffmpegdecoder: improved glsl and swscale interoperability
2022-10-04 21:24:05 -07:00
itsmattkc
73e1e60f82
Revert "ffmpegdecoder: removed conflicting deinterlacing code"
...
This reverts commit 95851c0656 .
2022-10-04 20:52:56 -07:00
itsmattkc
783d9af864
encoder: fix bug where audio bitrate wasn't serialized
2022-10-04 12:36:19 -07:00
itsmattkc
75e78ae1e0
ffmpegdecoder: minor code cleanup
2022-10-04 11:29:28 -07:00
itsmattkc
95851c0656
ffmpegdecoder: removed conflicting deinterlacing code
2022-10-04 11:08:33 -07:00
itsmattkc
3275dac50f
decoder: fixed longstanding audio sync issue
...
Wow this has probably been a bug for 3 years straight
2022-10-03 15:30:52 -07:00
itsmattkc
c0d8ff403f
nodes: rework so that jobs can be completely deferred
...
Big optimization requiring a lot of refactoring.
2022-09-24 18:44:59 -07:00
itsmattkc
3cb9caa35d
Merge branch 'cache-update'
2022-09-15 16:10:25 -07:00
itsmattkc
16b9cdda8d
ffmpegdecoder: downsample frame where possible before gpu transfer
2022-09-08 20:35:08 -07:00
itsmattkc
4f53869b98
samplebuffer: use std::vector and size_t for all calculations
2022-09-01 12:12:15 -07:00
itsmattkc
54d0a94a20
Merge branch 'master' into cache-update
2022-08-18 08:12:46 -07:00
Olivier Gayot
29cf63b10a
ffmpegdecoder: fix missing include avcodec.h to avoid build failures
...
ffmpegdecoder.h declares a pointer to AVCodecContext ; which is a type
defined in libavcodec/avcodec.h.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com >
2022-08-16 18:41:18 +02:00
itsmattkc
5853c114c2
exportdialog: implemented basic preset saving/loading
...
This may not work perfectly yet, but we can build upon it
2022-08-12 09:16:59 -07:00
itsmattkc
409f24be39
exportdialog: allow restoring parameters
2022-08-10 11:49:21 -07:00
itsmattkc
30b64d9b9c
render: reimplemented deinterlacing with new shader-based format conversion
2022-08-08 14:05:11 -07:00
itsmattkc
a270b1e3e1
ffmpegdecoder: re-enable hardware scaling
2022-08-08 12:55:57 -07:00
itsmattkc
1ac205413c
footage: allow overriding YCbCr range
...
Fixes #1354
2022-08-08 12:49:50 -07:00
itsmattkc
ad1b8a5a35
ffmpegdecoder: use real colorspace coefficients in shader
2022-08-07 23:40:21 -07:00
itsmattkc
73fa930f02
ffmpegencoder: use avfilter instead of swscale for pixel format conversions
2022-08-07 14:00:12 -07:00
itsmattkc
91eaa759b7
ffmpegencoder: various improvements
2022-07-27 13:39:27 -07:00
itsmattkc
559b1f18e7
Merge branch 'master' into pr/1987
2022-07-27 10:05:00 -07:00
Thomas Wilshaw
fb34a4b799
Reset transfer tag
2022-07-27 14:17:06 +01:00
itsmattkc
25e94112f8
viewer: implement lookahead to ensure footage is ready in advance
2022-07-26 14:49:19 -07:00
Thomas Wilshaw
9fa1ce00e5
Add basic nclc tag support
...
Sets nclc tags based on the selected output color space.
Also adds a Rec.709 OETF to the config
2022-07-26 20:19:23 +01:00
itsmattkc
07f63ddc17
renderer: reinstated new and improved texture cache
2022-07-26 10:12:19 -07:00
itsmattkc
e3403a5a53
render: create less textures
2022-07-26 09:40:26 -07:00
itsmattkc
33742a62cf
oiiodecoder: set correct stream count
...
Fixes #1985
2022-07-25 13:08:28 -07:00
itsmattkc
02f4be6e3c
footage: account for invalid streams before valid streams
...
Fixes #1983
2022-07-24 08:57:09 -07:00
itsmattkc
12f9b1acfc
export: allow exporting subtitles to sidecar files
2022-07-23 15:22:57 -07:00
itsmattkc
187568324a
render: ensure correct yuv range handling
2022-07-20 23:16:08 -07:00
itsmattkc
5ea97f7a64
render: remove alpha request option
2022-07-20 23:14:16 -07:00
itsmattkc
2a1e87c9a9
decoder: cache still textures
2022-07-17 15:42:11 -07:00
itsmattkc
0d9727b6d2
architecture: move loop modes to clips
2022-07-17 15:22:36 -07:00
itsmattkc
a8d46c4c5f
render: fix issue responding to cancelled tasks
2022-07-10 12:54:55 -07:00
itsmattkc
7e1792cfea
Merge branch 'master' into cache-update
2022-07-01 22:32:49 -05:00
itsmattkc
3f8001b146
render: use single base thread for rendering
2022-06-21 14:08:29 -07:00
itsmattkc
998b9ba482
Merge branch 'master' into hashremoval
2022-06-01 10:06:33 -07:00
itsmattkc
8939a3aa66
allow concurrent decoders for different blocks
2022-06-01 10:03:33 -07:00