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
itsmattkc
03f0ec9f64
ffmpeg: updated for 5.0
2022-02-17 14:53:12 -08:00