Commit Graph
189 Commits
Author SHA1 Message Date
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 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 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 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 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 54d0a94a20 Merge branch 'master' into cache-update 2022-08-18 08:12:46 -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 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 02f4be6e3c footage: account for invalid streams before valid streams
Fixes #1983
2022-07-24 08:57:09 -07:00
itsmattkc 187568324a render: ensure correct yuv range handling 2022-07-20 23:16:08 -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 eb9b1850ae minor code cleanup 2022-05-31 20:14:07 -07:00
itsmattkc 9918af2614 Merge branch 'master' into hashremoval 2022-05-30 21:00:05 -07:00
itsmattkc ca26f023f2 viewer: improved frame queuing 2022-05-30 20:55:59 -07:00
itsmattkc 903d7bb1e6 Merge branch 'master' into hashremoval 2022-05-30 17:32:39 -07:00
itsmattkc 156b6adf99 decoder: ensure correct format is used for planes 2022-05-30 15:41:05 -07:00
itsmattkc d28202a2db render: convert yuv to rgb on gpu
Huge performance improvement
2022-05-30 15:34:38 -07:00
itsmattkc e3c3ee9ac4 code: removed unnecessary code 2022-05-30 08:59:25 -07:00
itsmattkc 930848e07a decoder: make texture inside decoder 2022-05-29 18:33:35 -07:00
itsmattkc fc68a123ba project: reprobe and merge params when file changes are found 2022-05-28 12:25:50 -07:00
itsmattkc 6371fe0bc0 decoder: removed interlacing property
Interlacing should be moved somewhere else in the pipeline
2022-05-24 17:18:22 -07:00
itsmattkc eca236134b renderer: use probed params for tex gen 2022-05-24 14:26:02 -07:00
itsmattkc d68cce17f6 ffmpegdecoder: check if instance open before validating pix fmt 2022-05-22 15:30:20 -07:00
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 bb0fedabba simplified and optimized samplebuffer 2022-05-09 14:55:51 -07:00
itsmattkc b290c4d007 audio: extended support for planar/packed formats 2022-05-03 13:41:27 -07:00
itsmattkc 1c30c4d361 ffmpeg: use best effort timestamp instead of pts 2022-03-27 17:43:07 -07:00