Commit Graph
78 Commits
Author SHA1 Message Date
Mike-Solar 51ea3ca24e Use 10-bit packed preview format and add OCIO LUT regression tests
Renderer / preview:
- Switch the preview/display readback format from F16 to packed
  10-bit RGBA (PixelFormat::U10) to halve GPU->CPU/IPC bandwidth
  while keeping 10-bit panel precision.
- Add U10 support to VideoParams, FFmpeg/OIIO/OCIO utility mappings,
  OpenGL (GL_RGB10_A2), Vulkan (VK_FORMAT_A2B10G10R10_UNORM_PACK32),
  and plugin bit-depth lookups.
- Update preview autocacher comment to reflect the new behavior.

OCIO LUT tests:
- Add four E2E-style ColorLutNode gtests that drive a SolidGenerator
  -> OCIOLutNode graph through NodeTraverser and compare resulting
  pixels on the CPU. They cover forward/inverse transforms and verify
  that switching LUT direction and LUT file updates both the processor
  and the output pixels.

Cleanup:
- Remove a leftover SolidGenerator::Value debug fprintf.
- Capture render worker stderr in RenderWorkerFootageTest for better
  diagnostics.
2026-07-13 10:19:30 +08:00
Mike-Solar a0abf9cfb0 Fixed: fixed black screen when pulling playhead back. 2026-05-21 16:29:39 +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 5626e6aeb1 framehashcache: ensure loaded jpeg is in correct format 2023-03-29 22:23:53 -07: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 eeea16c5c3 cache: add passthroughs to allow shallow copies of data 2022-06-06 20:06:43 -07:00
itsmattkc 25699ef05b cache: use disk states to share caches 2022-06-05 19:47:33 -07:00
itsmattkc 826090b621 cache: save states to disk 2022-05-29 14:03:09 -07:00
itsmattkc e9404ba869 added second frame cache for thumbnails 2022-05-27 19:16:08 -07:00
itsmattkc 60f7f06de4 implemented base for thumbnail display 2022-05-25 11:18:08 -07:00
itsmattkc 2090d076fe use smarter audio cache that can only have partial sections cached 2022-05-24 16:07:18 -07:00
itsmattkc ac3c38af9f diskmanager: fixed issues regarding frame deletion 2022-05-18 10:57:11 -07:00
itsmattkc e0bb31b199 remove shifts, operations, and make caches node-agnostic 2022-05-16 19:53:38 -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 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc 4bc82ca6df removed hashes from previewautocacher 2022-05-09 19:40:58 -07:00
itsmattkc 2cf0b24e0f framehashcache: refactored to remove hashes 2022-05-09 19:04:59 -07:00
itsmattkc 48adb159b8 various: consolidated dir exists+mkpath into one function 2022-04-07 17:11:50 -07:00
itsmattkc 006d42ecf1 framehashcache: use two relationally linked maps for optimization 2021-10-09 14:09:58 -07:00
itsmattkc 7e884b55e7 if frame is corrupt, delete and try caching again 2021-09-30 14:14:10 -07:00
itsmattkc 5485ea5750 cache: added try/catch to exr reading/writing 2021-09-30 13:54:32 -07:00
itsmattkc 59e228439f cache: ignore shifts beyond map size
Fixes crash
2021-07-18 11:05:33 -07:00
itsmattkc 4bbc75392a nodes: rewrote and simplified length signaling system 2021-07-15 21:00:18 -07:00
itsmattkc c374a03e9d render: further simplified job times
Outside of silly mistakes, this should be significantly faster and more stable.
2021-07-12 15:14:37 -07:00
itsmattkc 310fd3541a various: greatly simplified job times
Hopefully this doesn't break everything
2021-07-11 23:33:21 -07:00
itsmattkc d18f650034 framehashcache: disabled reserve 2021-07-11 17:20:50 -07:00
itsmattkc 8a58ee2bdb renderer: use iterator rather than creating vectors
Creating vectors from the FrameHashCache was one of the slowest functions in the program, this should be significantly faster.
2021-07-11 16:47:12 -07:00
itsmattkc 38c38daf8a framehashcache: use timestamp based vector internally
I think this will be significantly faster, but I guess we'll find out!
2021-07-10 15:37:06 -07:00
itsmattkc 0c04bcf045 timecode: allow specific rounding routines 2021-07-08 11:39:29 -07:00
itsmattkc dce8ebdf01 framehashcache: remove definition for removed function 2021-06-16 17:22:26 -07:00
itsmattkc 33f71d7548 framehashcache: use static const string rather than function
Should be mildly faster
2021-06-16 14:29:43 -07:00
itsmattkc 37915d1c8c framehashcache: improve time list function
Old implementation was particularly slow, this is significantly faster and should be identical in output.
2021-05-14 00:11:20 +10:00
itsmattkc db237d3bd4 update for openexr 3.x 2021-05-09 17:08:06 +10:00
itsmattkc bba23c1589 cache: don't create directories unless necessary 2021-05-05 11:38:27 +10:00
itsmattkc b07e132dbb framehashcache: allow access to frames being saved
Minor optimization and crash fix. If a frame is currently being
saved, it's still technically available in memory and can be
returned faster than loading from EXR. This also prevents
OpenEXR from trying to load a frame that we're midway through
saving.
2021-04-24 18:21:33 +10:00
itsmattkc 74ad4110be transform: hash the generated matrix
Making an exception for the transform node, we use a slightly
heavier hash to save more rendering time later.

Fixes #1560
Addresses some of #1360
2021-04-22 18:01:26 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc 22b2d08baf rational: implement NaN mode
Also clarify code where 0 is used as a rational.
2021-04-17 15:04:03 +10:00
itsmattkc 157da658a5 renderer: prevent cache saving/loading with empty path 2021-04-13 15:53:33 +10:00
itsmattkc 6c30f8cf46 nodes: implemented infrastructure for caching any node
Not accessible through UI yet, but ported Footage node to it
(previously we used a hack to ensure Footage textures were
cached, now it's a formal infrastructure).
2021-04-11 18:56:39 +10:00
itsmattkc 4584d62def removed debug lines 2021-04-08 08:00:16 +10:00
itsmattkc bb32048c65 use frame rate and timebase less interchangeably 2021-04-07 13:08:25 +10:00
itsmattkc cfbf563b2e ensure cache modified time is accurate 2021-02-22 00:23:34 +11:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11:00