Commit Graph
316 Commits
Author SHA1 Message Date
Mike-Solar e5eeaddf2f format: reformatting files 2026-07-13 15:30:43 +08:00
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 cf32fcfee1 Add configurable proxy settings and a menu entry
- Extend ProxyManager::ProxyParams with crf and preset, and update
  ProxyTask/ProxyParamsEqual to use them.
- Add global config keys ProxyWidth, ProxyHeight, ProxyCRF, ProxyPreset.
- Add a Proxy Settings group to Preferences -> Disk with width/height/CRF/preset
  controls.
- Read proxy settings from config when generating proxies from the timeline.
- Add Tools -> Proxy Settings... menu entry that opens Preferences on the Disk tab.
- Add ConfigDialogBase::SetCurrentTab() so PreferencesDialog can start on a
  specific tab.
2026-07-13 10:19:30 +08:00
Mike-Solar 279fb2f442 Fix proxy generation by explicitly setting ffmpeg output format
ffmpeg could not infer the container format because ProxyManager writes
proxies to a temporary '.mp4.working' file. Explicitly pass '-f mp4' (or
the configured proxy extension) so ffmpeg knows the output format
regardless of the temporary extension.
2026-07-13 10:19:30 +08:00
Mike-Solar 94250a7690 Fix proxy decoding path and add proxy generation diagnostics
- RenderWorkerPool::DecodeInputFrame now uses the proxy filename/decoder/stream
  from FootageJob when a proxy is attached, so generated proxies are actually
  used during render.
- Add qDebug/qWarning logging to TimelineWidget::GenerateProxiesForSelectedClips
  and ProxyTask::Run to diagnose why Generate Proxy appears to do nothing.
2026-07-13 10:19:30 +08:00
Mike-Solar 8ae8e3a159 Implement proxy media workflow 2026-07-13 10:19:29 +08:00
Mike-Solar bfb1b2fce4 update copyright back 2026-01-16 21:22:05 +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 245a4f6de5 conformtask: print filename to debug 2023-04-12 22:26:35 +10:00
itsmattkc b091ed8592 project: remove constant root node 2023-02-28 17:01:46 -08:00
itsmattkc b88b738071 project: moved color manager outside of node graph 2023-02-28 15:20:05 -08:00
itsmattkc f12c3b01d5 project: remove ProjectSettings 2023-02-28 11:59:05 -08:00
itsmattkc 7ec8a4dd7e serializer: ensure backwards compatibility 2023-02-26 15:42:54 -08:00
itsmattkc 46d15396a6 Merge branch 'track-redux' into move-serialization 2023-02-23 11:09:45 -08:00
itsmattkc 92af3b5aec loadotio: corrected includes 2023-02-21 16:09:58 -08:00
itsmattkc 12aa67b4f7 otio: fix compilation 2023-02-21 15:36:08 -08:00
itsmattkc 028651f9fb moved serialization 2023-02-21 14:26:34 -08:00
itsmattkc 11e4e051c3 move undo files around for better organization 2023-02-20 16:09:22 -08:00
itsmattkc c5da1339b9 importtask: removed unnecessary line 2023-02-19 21:31:06 -08:00
itsmattkc 9745b536f6 nodes: remove graph and merge into project 2023-02-17 14:13:03 -08:00
itsmattkc aa6b77f800 exporttask: snap to timebase when exporting video
This is a bit of a hack to prevent #2119 from causing problems. The reality is this probably requires a deeper re-think of how the timeline should and shouldn't work - this issue is more of a symptom of something deeper than a simple bug in and of itself.
2023-02-01 00:40:06 -08: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
itsmattkc f234deb9ee core: allow saving uncompressed xml projects too 2022-12-04 22:35:58 -08:00
itsmattkc 5bcb426488 ffmpeg: ensure duration detection responds to cancel action 2022-11-19 17:36:16 -08:00
itsmattkc 373717629e task: improve threading 2022-11-07 10:42:41 -08:00
itsmattkc 3853ef023e exporttask: make copy of project
Fixes #2037
2022-11-05 12:37:38 -07:00
itsmattkc c5a86af181 various: ensure qt 5 compatibility 2022-10-31 18:18:49 -07:00
itsmattkc 4d80044d6d upgrade to qt 6 compliance 2022-10-28 19:42:14 -07:00
Thomas Wilshaw c43d4b7a12 otioload: Improve error reporting 2022-10-21 17:48:47 +01: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 409f24be39 exportdialog: allow restoring parameters 2022-08-10 11:49:21 -07:00
itsmattkc 9012c27ee6 Merge pull request #1987 from ThomasWilshaw/nclc_tags
nclc tags
2022-08-07 23:03:06 -07:00
itsmattkc 9636ec202d render: allow forcing channel count 2022-07-28 08:57:18 -07:00
Thomas Wilshaw 9fa1ce00e5 Add basic nclc tag support
Sets nclc tags based on the selected output color space.

Also adds a Rec.709 OETF to the config
2022-07-26 20:19:23 +01:00
itsmattkc 12f9b1acfc export: allow exporting subtitles to sidecar files 2022-07-23 15:22:57 -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 079d6beff2 timeline: separate markers and workarea 2022-06-27 23:39:31 -07:00
itsmattkc 63f74691a5 render: cleaned up threading 2022-06-25 09:59:43 -07:00
itsmattkc 3f8001b146 render: use single base thread for rendering 2022-06-21 14:08:29 -07:00
itsmattkc 60f7f06de4 implemented base for thumbnail display 2022-05-25 11:18:08 -07:00
itsmattkc 8ff62caf8a rendertask: updated for new architecture 2022-05-16 21:28:06 -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 bfd6a407a5 Merge branch 'master' into hashremoval 2022-05-16 09:12:49 -07:00
itsmattkc 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc 158c1fecb6 import: fixed crash when importing folders 2022-05-10 09:08:49 -07:00