From 836e69a40b871ffb95a30053a8eb0945275b8e6e Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 29 Sep 2025 22:16:44 +0900 Subject: [PATCH] CoCg-only channel handling --- .../src/net/torvald/tsvm/GraphicsJSR223Delegate.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tsvm_core/src/net/torvald/tsvm/GraphicsJSR223Delegate.kt b/tsvm_core/src/net/torvald/tsvm/GraphicsJSR223Delegate.kt index ed88b60..db64b7d 100644 --- a/tsvm_core/src/net/torvald/tsvm/GraphicsJSR223Delegate.kt +++ b/tsvm_core/src/net/torvald/tsvm/GraphicsJSR223Delegate.kt @@ -4729,6 +4729,11 @@ class GraphicsJSR223Delegate(private val vm: VM) { } } } + + // write Y=127 if there's no luma channel + if (channelLayout == CHANNEL_LAYOUT_COCG || channelLayout == CHANNEL_LAYOUT_COCG_A) { + Arrays.fill(finalYTile, 127f) + } // Convert to RGB based on TAV version and mode // v1,v3 = YCoCg-R, v2,v4 = ICtCp @@ -5232,6 +5237,11 @@ class GraphicsJSR223Delegate(private val vm: VM) { } } + // write Y=127 if there's no luma channel + if (channelLayout == CHANNEL_LAYOUT_COCG || channelLayout == CHANNEL_LAYOUT_COCG_A) { + Arrays.fill(finalYTile, 127f) + } + // Convert to RGB based on TAV version and mode // v1,v3 = YCoCg-R, v2,v4 = ICtCp if (tavVersion == 2 || tavVersion == 4) {