Commit Graph
373 Commits
Author SHA1 Message Date
itsmattkc 0a54585ece ffmpegdecoder: disable stills in otherwise audio only files by default 2023-03-20 16:50:11 -07:00
itsmattkc 9745b536f6 nodes: remove graph and merge into project 2023-02-17 14:13:03 -08:00
itsmattkc fa88db42e4 Merge pull request #1943 from jazztickets/av1
AV1 export support
2023-02-08 13:03:51 -08:00
itsmattkc c322bb6463 exportdialog: fixed UI issue that allowed "sidecar" files on direct subtitle exports 2023-02-06 17:27:27 -08:00
jazztickets 9959f15bc4 Merge branch 'master' into av1 2023-01-30 14:04:15 -07:00
itsmattkc c1c6893713 various: moved more to core lib 2023-01-19 16:01:31 -08:00
itsmattkc dd9c52ab59 start moving core frameworks to external libraries 2023-01-19 09:51:47 -08:00
jazztickets d54465b16a Merge branch 'olive-editor:master' into av1 2022-11-25 11:18:49 -07:00
itsmattkc 5bcb426488 ffmpeg: ensure duration detection responds to cancel action 2022-11-19 17:36:16 -08:00
itsmattkc 7e604e7433 ffmpeg: re-enable glsl and track colspace and colrange 2022-11-16 17:07:33 -08:00
itsmattkc 6b6f164c44 ffmpeg: refactor so swscale is an optional step before glsl 2022-11-16 17:00:45 -08:00
itsmattkc ca47792dc7 nodes: clamp footage retrieval times for clips
Fixes #2070
2022-11-01 12:44:01 -07:00
itsmattkc 5e92930de0 nodes: fix loop mode regression 2022-11-01 09:15:51 -07:00
itsmattkc e94580c369 ffmpegencoder: split sample buffer when writing audio
Avoids integer overflow in FFmpeg

Fixes #2072
2022-10-29 12:07:55 -07:00
itsmattkc 972ec1e340 ffmpegencoder: catch error on sample array alloc 2022-10-29 11:36:09 -07:00
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
jazztickets cb2f960b2d Merge branch 'olive-editor:master' into av1 2022-10-12 09:11:27 -06: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
jazztickets b650d2d20e Merge branch 'olive-editor:master' into av1 2022-09-26 17:31:01 -06: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
jazztickets baceba1fda Merge branch 'olive-editor:master' into av1 2022-09-16 15:20:30 -06: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
jazztickets b901762df9 Merge branch 'olive-editor:master' into av1 2022-09-07 17:26:09 -06: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