Mike-Solar
3f43073261
Add dynamic backend load smoke test
2026-07-13 10:19:29 +08:00
Mike-Solar
2d6b2107af
Enable experimental OpenGL backend library build
2026-07-13 10:19:29 +08:00
Mike-Solar
14778873b9
Fix LUT tests for OCIO 2.1
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
c74cc92879
Set default OCIO config for gtests
2026-07-13 10:19:29 +08:00
Mike-Solar
5b069b47fd
Fix CI compatibility for LUT and decoder tests
2026-07-13 10:19:29 +08:00
Mike-Solar
8ae8e3a159
Implement proxy media workflow
2026-07-13 10:19:29 +08:00
Mike-Solar
9c1fba4932
Add timeline audio sync actions
2026-07-13 10:19:29 +08:00
Mike-Solar
08b1c6d562
Implement audio sync foundations
2026-07-13 10:19:29 +08:00
Mike-Solar
4d52267c4a
Merge pull request #13 from riffpointer/main
...
Update build dependencies for Fedora 44
2026-07-13 10:07:42 +08:00
RiffPointer
60a96df295
Add one more missing dependency to Fedora build dependencies docs
2026-06-10 22:35:52 +05:30
RiffPointer
6f6db0a576
Update build dependencies for Fedora 44
2026-06-10 22:30:50 +05:30
Mike-Solar
cac5a40b58
Implement color LUT v0.4 features
2026-06-07 00:24:08 +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
b23e01b916
Add render worker IPC loop
2026-06-04 13:57:36 +08:00
Mike-Solar
8c1c7658d9
fix(macos): skip self-copy when lib already in Frameworks
2026-06-03 20:59:50 +08:00
Mike-Solar
3fc6d0f485
chore: bump version to 0.3.0-alpha, unify all icons from icon.png
2026-06-03 20:43:31 +08:00
Mike-Solar
830f5f76af
fix(macos): replace dylibbundler with custom Python script for dependency bundling
2026-06-03 20:34:56 +08:00
Mike-Solar
3205a27985
fix(macos): add dylibbundler search paths and debug output
2026-06-03 20:25:01 +08:00
Mike-Solar
ef8cefcbed
fix(windows): add OutFile directive to nsis script
2026-06-03 20:11:06 +08:00
Mike-Solar
7a3ac3186a
ci: cache MSYS2 packages in Windows builds
2026-06-03 20:06:56 +08:00
Mike-Solar
9406704f6c
fix(windows): replace ShellExecAsUser plugin with built-in ExecShell
2026-06-03 20:00:24 +08:00
Mike-Solar
34ed808d42
change: Change CI OpenFX -j
2026-06-03 19:49:01 +08:00
Mike-Solar
6c9d53d01b
fix(cd): fix AppStream validation, update runners to Warp, verify bundled libs
2026-06-03 19:43:34 +08:00
Mike-Solar
04aad3415f
fix(cd): bundle all runtime dependencies for Windows, macOS and Linux
2026-06-03 18:30:48 +08:00
Mike-Solar
f731470c0f
fix macOS timer bug
2026-06-03 17:49:21 +08:00
Mike-Solar
a2af4b5bf6
fix ci
2026-06-03 14:52:32 +08:00
Mike-Solar
2181669825
Add libavfilter-dev to CI/CD dependencies
2026-05-29 00:54:46 +08:00
Mike-Solar
a3724d3ec9
Update CI/CD to use Ubuntu 24.04 and distro FFmpeg 6.x
2026-05-29 00:50:02 +08:00
Mike-Solar
5c40a3376f
Fix Arch Linux CD.
2026-05-29 00:12:03 +08:00
Mike-Solar
8657c3f549
add GitHub Actions CD.
2026-05-29 00:01:33 +08:00
Mike-Solar
e6fe406318
fix Ubuntu and Windows CI
2026-05-28 23:26:33 +08:00
Mike-Solar
4802b897fa
fix Ubuntu and Windows CI
2026-05-28 22:29:37 +08:00
Mike-Solar
9a4d635a7a
Merge branch 'main' of https://github.com/OakVideoEditorCommunity/oak
2026-05-28 21:43:57 +08:00
Mike-Solar
9cae5d9c5f
fix Ubuntu and Windows CI
2026-05-28 21:43:33 +08:00
孙羽
00f57533e6
Add null checks for color processing functions
2026-05-28 18:21:42 +08:00
孙羽
116a4b8368
fix windows compile
2026-05-27 21:34:09 +08:00
Mike-Solar
6b94ceea14
docs:Add plan of spilting into multi-library
2026-05-21 20:31:17 +08:00
Mike-Solar
295c5eaa24
fix: Use makefile to compile OpenFX-Misc
2026-05-21 17:46:08 +08:00
Mike-Solar
0984756c19
fix: Compile v8.1.1 instead of latest ffmpeg for Ubuntu, remove override for MainWindow::nativeEvent, and change Windows packages to UCRT.
2026-05-21 17:40:24 +08:00
Mike-Solar
444a8e5287
fix: Compile latest ffmpeg for Ubuntu, install fmt for Windows.
2026-05-21 17:26:37 +08:00
Mike-Solar
3f238ce08e
fix: Define WIN32 and WINDOWS for MSYS2, and remove <qtypes.h> in image.h.
2026-05-21 17:06:29 +08:00
Mike-Solar
027476e691
docs: update roadmap
2026-05-21 17:01:36 +08:00
Mike-Solar
0daef48b62
fix: remove <qtypes.h> to fix Linux CI.
2026-05-21 16:53:55 +08:00
Mike-Solar
393a9eda63
docs: add build guide and CI.
2026-05-21 16:50:17 +08:00
Mike-Solar
a0abf9cfb0
Fixed: fixed black screen when pulling playhead back.
2026-05-21 16:29:39 +08:00
Mike-Solar
2a84027ff9
fix(renderer): macOS TBDR cross-context sync and OFX instance thread-safety
...
This commit fixes crashes (SIGSEGV in CImg blur_bilateral) and black-frame
corruption artifacts during playback and scrubbing on macOS Apple Silicon.
Root cause analysis:
1. macOS uses Tile-Based Deferred Rendering (TBDR). glFlush() does not
guarantee tile memory writeback, causing glReadPixels to read incomplete
tiles (black/corrupted frames) and cache them to disk.
2. Olive uses multiple shared OpenGL contexts (RenderProcessor contexts vs.
thread-local PluginRenderer context). glFinish() only waits for the
current context, not the shared context that produced the texture. CPU
readback in PluginRenderer could read partially-rendered tiles.
3. OlivePluginInstance and OliveClipInstance are not thread-safe. Concurrent
RenderProcessors could corrupt internal QMap/images_ and params_ via
setInputTexture/renderAction races.
Fixes:
- OpenGLRenderer::Flush() on macOS now uses glFinish() unconditionally.
- OpenGLRenderer::DownloadFromTexture() and OpenGLRenderer::Blit() insert
glFinish() before readback/detach to ensure tile writeback completes.
- PluginRenderer::RenderPlugin() now acquires a per-instance mutex to
serialize concurrent OFX render calls.
- Before CPU readback in PluginRenderer, flush the renderer that originally
produced each input texture, ensuring cross-context synchronization.
- RenderProcessor::ProcessVideoFootage() flushes after BlitColorManaged.
- Add black-frame detection in ProcessVideoCacheJob() to auto-purge TBDR-
corrupted cache files.
- Add diagnostic qDebug() logging in viewer, decoder, renderer, and plugin
paths to aid future debugging.
2026-05-17 14:54:49 +08:00