Mike-Solar
d66779d281
Apply export color transform in render worker
...
The export color transform was passed to RenderTask as a ColorProcessor,
but the worker IPC render_frame message never carried it. The worker
always set the ticket's coloroutput to null, so frames were returned in
the project's reference space and encoded without the chosen output
transform (e.g. Rec.709 / sRGB), causing the exported video to look
wrongly tinted.
Serialize the ColorTransform through the render_frame control message
and reconstruct the ColorProcessor on the worker side before rendering.
Also expose ColorTransform as a Qt metatype so it can be stored in a
ticket QVariant.
2026-07-13 10:19:30 +08:00
Mike-Solar
f6211f97a5
Fix render worker reuse and stabilize out-of-process video rendering
2026-07-13 10:19:30 +08:00
Mike-Solar
8b8aa945f0
Sync RenderManager::backend_ after DynamicRenderer fallback
...
DynamicRenderer::Load() can internally fall back from Vulkan to
OpenGL when the Vulkan library is missing or is_available() fails.
Previously RenderManager::backend_ stayed at kVulkan, so callers
asking RenderManager::backend() got the wrong answer. After a
successful dynamic load, sync backend_ from
DynamicRenderer::backend_name() and log any fallback.
ctest still passes 4/4 in build-default-on.
2026-07-13 10:19:29 +08:00
Mike-Solar
225f8505c2
feat(render): dynamic OpenGL/Vulkan backend split and backend-neutral viewer
...
- Extract libolive-rendercore static library to minimize backend link boundary.
- Add DynamicRenderer adapter with C ABI (oakgl/oakvulkan shared libs).
- Make OAK_ENABLE_DYNAMIC_RENDER_BACKEND default ON with OpenGL fallback.
- Implement VulkanRenderer prototype (textures, shaders, UBO blit, readback).
- Add backend-neutral viewer readback path (offscreen -> QImage -> QPainter).
- Refactor PluginRenderer to be renderer-agnostic; OFX plugins fall back to CPU
path on non-OpenGL backends while preserving OpenGL render path.
- Add Renderer::AttachOutputTexture/DetachOutputTexture and C ABI forwards.
- Update docs/zh/render-backend-dynamic-plan.md for Phase 3/4/5.
2026-07-13 10:19:29 +08:00
Mike-Solar
d5d70d0151
Add dynamic render backend adapter scaffold
2026-07-13 10:19:29 +08:00
Mike-Solar
341283b1cd
Add graphics backend selection
2026-07-13 10:19:29 +08:00
Mike-Solar
0daad22129
Complete render process isolation phases 4 and 5
2026-06-06 23:31:52 +08:00
Mike-Solar
042f008a02
Add decoded input slots for render workers
2026-06-04 21:32:43 +08:00
Mike-Solar
98c884c381
Wire render worker pool into render manager
2026-06-04 16:23:36 +08:00
Mike-Solar
bfb1b2fce4
update copyright back
2026-01-16 21:22:05 +08:00
Mike-Solar
e851653fa3
尝试修复粉紫屏未果
2026-01-16 21:11:24 +08:00
Mike-Solar
b8669f6a11
Change project name;
2026-01-05 16:22:26 +08:00
Mike Solar
6fdfd03ffd
update: update copyright
2025-08-05 17:12:49 +08:00
Mike Solar
74f73ab3be
change: change code style to Linux style except indent.
2025-08-03 03:09:40 +08:00
itsmattkc
11e4e051c3
move undo files around for better organization
2023-02-20 16:09:22 -08:00
itsmattkc
5da72e4d35
Squashed commit of the following:
...
commit dec7ca6b96c58decf2c5e5194b665fa2342951b2
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Feb 8 12:32:12 2023 -0800
moved previewautocacher to rendermanager
commit d289d74d82c3911f3fdaa707abe9994c7363594d
Merge: a8a049a28 70d34c674
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Feb 8 12:15:31 2023 -0800
Merge branch 'master' into move-cacher-to-renderman
commit a8a049a2857c438cbab0f1ab21e3299fdfbf1fa1
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Feb 8 11:18:25 2023 -0800
initial work
2023-02-08 12:40:19 -08:00
itsmattkc
dd9c52ab59
start moving core frameworks to external libraries
2023-01-19 09:51:47 -08:00
itsmattkc
76e0e2bd13
Merge branch 'master' into multicam
2022-09-29 21:18:30 -07:00
itsmattkc
6e183fe4be
multicam: refactor to heavily optimize multicam monitor retrieval
2022-09-29 17:50:09 -07:00
itsmattkc
fe159bdd73
rendermanager: use multithreading for waveforms
2022-09-27 22:06:05 -07:00
itsmattkc
752616647c
rendermanager: separate waveform into another thread
2022-09-08 20:29:36 -07:00
itsmattkc
877c967ce2
rendermanager: move ticket to render thread
2022-09-01 11:05:46 -07:00
itsmattkc
b24cf3e658
rendermanager: make declaring render mode mandatory
2022-08-18 08:21:16 -07:00
itsmattkc
54d0a94a20
Merge branch 'master' into cache-update
2022-08-18 08:12:46 -07:00
itsmattkc
9636ec202d
render: allow forcing channel count
2022-07-28 08:57:18 -07:00
itsmattkc
25e94112f8
viewer: implement lookahead to ensure footage is ready in advance
2022-07-26 14:49:19 -07:00
itsmattkc
7e1792cfea
Merge branch 'master' into cache-update
2022-07-01 22:32:49 -05:00
itsmattkc
63f74691a5
render: cleaned up threading
2022-06-25 09:59:43 -07:00
itsmattkc
ec215f7de6
renderer: attach renderer to single thread
2022-06-24 09:59:28 -07:00
itsmattkc
3f8001b146
render: use single base thread for rendering
2022-06-21 14:08:29 -07:00
itsmattkc
b9119e21f4
rendermanager: remove unnecessary debug line
2022-06-10 12:14:15 -07:00
itsmattkc
09a3ce39b9
rendermanager: reimplement clearing old decoders
2022-06-10 12:12:03 -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
2f7dc3c98b
implemented separate waveform cache
2022-05-29 17:52:35 -07:00
itsmattkc
60f7f06de4
implemented base for thumbnail display
2022-05-25 11:18:08 -07:00
itsmattkc
e0bb31b199
remove shifts, operations, and make caches node-agnostic
2022-05-16 19:53:38 -07:00
itsmattkc
c3f0c75558
code: minor improvements to readability/flow
2022-05-16 17:26:40 -07:00
itsmattkc
5539440e7f
move cache saving to renderprocessor
...
In my testing, this doesn't seem to help performance whatsoever, but at least the code is cleaner.
2022-05-16 17:02:18 -07:00
itsmattkc
9ba3f24f3b
cache: fixed double write corruption
2022-05-16 16:10:54 -07:00
itsmattkc
bfd6a407a5
Merge branch 'master' into hashremoval
2022-05-16 09:12:49 -07:00
itsmattkc
ea13f249b7
render: fixed threading regression
2022-05-15 21:36:40 -07:00
itsmattkc
09c57422f9
ffmpeg: significantly optimized decoder
2022-05-15 19:33:01 -07:00
itsmattkc
4bc82ca6df
removed hashes from previewautocacher
2022-05-09 19:40:58 -07:00
itsmattkc
0538c01f45
remove hashtraverser
2022-05-09 18:22:32 -07:00
itsmattkc
4acb89ab1e
minor formatting
...
Yes, we will get a proper clang-format at some point
2022-05-05 09:35:35 -07:00
Bennett Anderson
31dc557909
Update copyright year
2022-05-04 09:47:17 -07:00
Bennett
f9db19e91c
Always prefer constexpr when possible
2022-05-04 09:39:43 -07:00
Bennett
11ea7fcb71
Initial threadpool rewrite/cleanup
2022-05-04 09:39:43 -07:00
itsmattkc
8277748719
render: avoid hashing null node
2021-09-21 21:32:20 -07:00