From c1147a5bc0bcfe4a85031700c3ceb367c85fd4b2 Mon Sep 17 00:00:00 2001 From: MoonCast Date: Wed, 21 Oct 2026 18:05:46 +0000 Subject: [PATCH 1/3] feat(fsr): Super resolution (AMD FSR 1.0) for PS5 streams, with Sharpening (test234) FsrRenderer: the decoder renders into a SurfaceTexture; copy, EASU and RCAS passes (ports of ffx_fsr1.h, MIT) draw to the screen surface with the decoder's presentation time. Only when the stream is clearly smaller than the screen; a fold moves only FSR's output. The mockup comparison is now rendered by these shaders in WebGL 2. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 12 + NOTICE | 1 + .../handheld/HandheldHomeActivity.kt | 7 + app/src/main/assets/licences/fsr1.txt | 19 + .../java/com/limelight/Ps5StreamActivity.kt | 40 +- .../limelight/binding/video/FsrRenderer.kt | 418 ++++++++++++++++++ .../main/java/com/limelight/home/Licences.kt | 1 + .../java/com/limelight/home/HomeActivity.kt | 6 + docs/mockups/fsr/compare.html | 209 +++++++-- docs/mockups/fsr/fsr_compare.png | Bin 171456 -> 211262 bytes 10 files changed, 680 insertions(+), 33 deletions(-) create mode 100644 app/src/main/assets/licences/fsr1.txt create mode 100644 app/src/main/java/com/limelight/binding/video/FsrRenderer.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index dc21fb2d1b..fb7fce85b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## 1.0-test234 (2026-10-21) +- Super resolution (Settings, Picture, both apps): AMD FidelityFX Super Resolution 1.0, for the PS5 first (mockups in docs/mockups/fsr). With it on, and the stream clearly smaller than the screen (a PS5's 1080p or 720p on the Fold's 2448 × 1696, say), each frame takes three GPU passes before it shows: + - a copy of the decoder's frame at the stream's size; + - EASU, FSR's edge-adaptive upscale to the screen's size; + - RCAS, FSR's sharpening, at the new Sharpening setting (0 to 100%, 60% by default). +- How it fits in: + - The shaders are ports of AMD's ffx_fsr1.h (MIT) to OpenGL ES 3.0. Its 4-texel gathers are 4 texel reads, as ES 3.0 has no textureGather. + - Frames keep the decoder's presentation time, so Frame pacing still works. + - On a foldable, a fold only moves FSR's output; the decoder keeps drawing into FSR. + - Off by default. When it's not worth it (the stream is as big as the screen) or the GPU can't set it up, the stream shows directly, as before. +- About, Open-source licences: AMD FidelityFX Super Resolution 1.0 (MIT). + ## 1.0-test233 (2026-10-21) - PS5: frame pacing (Settings, PlayStation, Frame pacing: Lowest delay, Balanced, Smoothest), like the PC's. - Lowest delay (the default, as before): each frame shows the moment it's decoded, so frames that arrive unevenly over Wi-Fi show unevenly. diff --git a/NOTICE b/NOTICE index 2e1cd47187..266618709c 100644 --- a/NOTICE +++ b/NOTICE @@ -16,6 +16,7 @@ The app ------- Moonlight for Android (GPL-3.0): The app MoonCast grew from: PC streaming, the on-screen controller. https://github.com/moonlight-stream/moonlight-android [licences/gpl-3.0.txt] moonlight-common-c (GPL-3.0): The PC streaming protocol. https://github.com/moonlight-stream/moonlight-common-c [licences/gpl-3.0.txt] +AMD FidelityFX Super Resolution 1.0 (MIT): Super resolution: the upscaling and sharpening (FSR 1). https://github.com/GPUOpen-Effects/FidelityFX-FSR [licences/fsr1.txt] ENet (MIT): Inside moonlight-common-c: the network link. https://github.com/lsalzman/enet [licences/enet.txt] nanors (MIT): Inside moonlight-common-c: repairing lost video. https://github.com/sleepybishop/nanors [licences/nanors.txt] diff --git a/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt b/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt index bb38d8f687..16923787dd 100644 --- a/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt +++ b/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt @@ -1254,6 +1254,13 @@ class HandheldHomeActivity : Activity() { else { stream.edit().putInt("seekbar_bitrate_kbps", (Math.round(v * 2) * 500).toInt()).apply(); render(force = true); null } } } + // Super resolution: AMD FSR 1.0 upscales a stream smaller than the screen, then sharpens it (PS5 for now) + choice(list, stream, com.limelight.binding.video.FsrRenderer.PREF, "Super resolution", + "Sharper picture when the stream is smaller than this screen (AMD FSR 1.0). PlayStation for now. Uses a little of the GPU", + listOf("Off" to "off", "FSR 1.0" to "fsr1"), "off") + if (stream.getString(com.limelight.binding.video.FsrRenderer.PREF, "off") == "fsr1") + intChoice(list, com.limelight.binding.video.FsrRenderer.SHARPNESS_PREF, "Sharpening", "How crisp FSR makes edges. Lower it if you see halos", + listOf(0, 20, 40, 60, 80, 100), com.limelight.binding.video.FsrRenderer.DEFAULT_SHARPNESS) { "$it%" } choice(list, stream, "video_format", "Video codec", "H.265 and AV1 look better at the same bitrate", listOf("Auto" to "auto", "H.264" to "neverh265", "H.265" to "forceh265", "AV1" to "forceav1"), "auto") toggle(list, "checkbox_enable_hdr", "HDR", "Only when the PC, the game and this screen support it", false) diff --git a/app/src/main/assets/licences/fsr1.txt b/app/src/main/assets/licences/fsr1.txt new file mode 100644 index 0000000000..324cba594d --- /dev/null +++ b/app/src/main/assets/licences/fsr1.txt @@ -0,0 +1,19 @@ +Copyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/app/src/main/java/com/limelight/Ps5StreamActivity.kt b/app/src/main/java/com/limelight/Ps5StreamActivity.kt index 8451be4712..bcb38a1af5 100644 --- a/app/src/main/java/com/limelight/Ps5StreamActivity.kt +++ b/app/src/main/java/com/limelight/Ps5StreamActivity.kt @@ -183,6 +183,7 @@ class Ps5StreamActivity : Activity(), SurfaceHolder.Callback, com.limelight.home val profile = if (away) preset.copy(bitrate = awayKbps ?: minOf(preset.bitrate, linkCap)) else preset.copy(bitrate = homeKbps) streamInfo = Triple(when (resPreset) { VideoResolutionPreset.RES_540P -> "540p"; VideoResolutionPreset.RES_720P -> "720p"; else -> "1080p" }, if (h264) "H.264" else "H.265", profile.bitrate / 1000) streamRemote = remote + videoW = profile.width; videoH = profile.height Log.i(TAG, "stream ${streamInfo.first}${profile.maxFPS} at ${profile.bitrate / 1000} Mbps (${if (remote) "PSN" else "home"}, ${if (away) "away" else "home"} profile, link ${if (link > 0) "$link Mbps" else "cable/unknown"})") if (!remote) return ConnectInfo(ps5, host, registKey, morning, profile) val account = intent.getStringExtra(EXTRA_ACCOUNT_ID)?.let { @@ -270,7 +271,9 @@ class Ps5StreamActivity : Activity(), SurfaceHolder.Callback, com.limelight.home } catch (e: Exception) { false } override fun surfaceCreated(holder: SurfaceHolder) { - if (started) { session?.setSurface(holder.surface); return } + screenHolder = holder + // with FSR the decoder keeps its own surface: only FSR's output moves to the new screen surface + if (started) { val f = fsr; if (f != null) f.attachOutput(holder.surface) else session?.setSurface(holder.surface); return } started = true val surface = holder.surface val previous = connectThread @@ -334,7 +337,7 @@ class Ps5StreamActivity : Activity(), SurfaceHolder.Callback, com.limelight.home val s = try { Session(connectInfo(remote), null, false) } finally { watch?.interrupt() } if (closed) { try { s.dispose() } catch (e: Exception) {}; return } // the screen closed during the hole-punch s.eventCallback = { ev -> onEvent(ev) } - s.setSurface(surface) + s.setSurface(decoderSurface(surface)) // Only the first picture counts as success; a quit before that is a failed attempt -> retry. // Remote: the data-channel hole-punch may fail. Home: the console may still be waking up. // Armed before start() (#38): a console still waking refuses within milliseconds, often before @@ -740,6 +743,35 @@ class Ps5StreamActivity : Activity(), SurfaceHolder.Callback, com.limelight.home private val menu by lazy { com.limelight.home.QuickMenu(this) } private var comboPending = false @Volatile private var streamInfo = Triple("1080p", "H.265", 0) + + // ---- Super resolution (FSR 1.0): the decoder renders into FSR's surface, FSR upscales to the screen's + @Volatile private var fsr: com.limelight.binding.video.FsrRenderer? = null + @Volatile private var screenHolder: SurfaceHolder? = null + @Volatile private var videoW = 1920 + @Volatile private var videoH = 1080 + + /** The surface the decoder renders into: the screen's, or FSR's when it's on and the stream is smaller than the screen. */ + private fun decoderSurface(screen: android.view.Surface): android.view.Surface { + val prefs = android.preference.PreferenceManager.getDefaultSharedPreferences(this) + if (prefs.getString(com.limelight.binding.video.FsrRenderer.PREF, "off") != "fsr1") return screen + val outH = screenHolder?.surfaceFrame?.height() ?: 0 + if (!com.limelight.binding.video.FsrRenderer.worthIt(videoH, outH)) { + Log.i(TAG, "FSR not needed: stream ${videoW}x$videoH, screen ${screenHolder?.surfaceFrame?.width()}x$outH") + return screen + } + fsr?.let { return it.inputSurface } + return try { + val sharp = prefs.getInt(com.limelight.binding.video.FsrRenderer.SHARPNESS_PREF, com.limelight.binding.video.FsrRenderer.DEFAULT_SHARPNESS) + val f = com.limelight.binding.video.FsrRenderer(videoW, videoH, sharp / 100f) + f.attachOutput(screen) + fsr = f + Log.i(TAG, "FSR on: ${videoW}x$videoH to ${screenHolder?.surfaceFrame?.width()}x$outH, sharpening $sharp%") + f.inputSurface + } catch (e: Exception) { + Log.w(TAG, "FSR unavailable, showing the stream directly: $e") + screen + } + } @Volatile private var streamRemote = false private val startedAt = System.currentTimeMillis() private val swapCrossCircle by lazy { @@ -897,12 +929,14 @@ class Ps5StreamActivity : Activity(), SurfaceHolder.Callback, com.limelight.home // into a dead surface fails, and chiaki then crashed copying a frame into a missing buffer. The release runs on a // worker (it takes chiaki's decoder lock) and the wait is bounded, so a stuck session can't freeze the app. override fun surfaceDestroyed(holder: SurfaceHolder) { + fsr?.detachOutput() // FSR stops drawing to the screen surface before it goes; the decoder keeps FSR's if (closed) { if (session != null && teardownThread == null) teardown(null) // the PS5 quit: tear down now, not in onDestroy try { teardownThread?.join(SURFACE_RELEASE_WAIT_MS) } catch (e: InterruptedException) { } return } val s = session ?: return + if (fsr != null) return // the decoder draws into FSR's surface, which stays val t = Thread({ synchronized(sessionLock) { if (!closed && synchronized(disposed) { s !in disposed }) try { s.setSurface(null) } catch (e: Exception) { } } }, "ps5-surface") t.start() @@ -937,6 +971,8 @@ class Ps5StreamActivity : Activity(), SurfaceHolder.Callback, com.limelight.home try { s.stop() } catch (e: Exception) { } synchronized(sessionLock) { try { s.dispose() } catch (e: Exception) { } } } + // after the decoder has let go of its surface + fsr?.release(); fsr = null if (done != null) android.os.Handler(android.os.Looper.getMainLooper()).post(done) }, "ps5-teardown") teardownThread = t diff --git a/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt b/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt new file mode 100644 index 0000000000..86ab4629bd --- /dev/null +++ b/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt @@ -0,0 +1,418 @@ +package com.limelight.binding.video + +import android.graphics.SurfaceTexture +import android.opengl.EGL14 +import android.opengl.EGLConfig +import android.opengl.EGLContext +import android.opengl.EGLDisplay +import android.opengl.EGLExt +import android.opengl.EGLSurface +import android.opengl.GLES11Ext +import android.opengl.GLES30 +import android.os.Handler +import android.os.HandlerThread +import android.util.Log +import android.view.Surface +import java.util.concurrent.CountDownLatch +import java.util.concurrent.TimeUnit + +/** + * Super resolution with AMD FidelityFX Super Resolution 1.0 (FSR 1, MIT licence, see assets/licences). + * + * The decoder renders into [inputSurface] (a SurfaceTexture). Each frame then takes three GPU passes on our own thread: + * 1. copy the decoder's frame (an external OES texture) into a plain texture at the stream's size, + * 2. EASU: upscale it to the screen surface's size (AMD's edge-adaptive Lanczos), + * 3. RCAS: sharpen at [sharpness] (0..1) and draw to the screen surface. + * The frame keeps the decoder's presentation time, so frame pacing still applies. The screen surface can come and go + * (a foldable's fold) with [attachOutput]/[detachOutput] while the decoder keeps its own surface. + * + * The shaders are ports of ffx_fsr1.h's 32-bit FsrEasuF and FsrRcasF to OpenGL ES 3.0. ES 3.0 has no textureGather, + * so each gather is four texelFetches in gather order. + */ +class FsrRenderer(private val videoWidth: Int, private val videoHeight: Int, sharpness: Float) { + private val thread = HandlerThread("fsr-gl").apply { start() } + private val handler = Handler(thread.looper) + private var display: EGLDisplay = EGL14.EGL_NO_DISPLAY + private var context: EGLContext = EGL14.EGL_NO_CONTEXT + private var config: EGLConfig? = null + private var pbuffer: EGLSurface = EGL14.EGL_NO_SURFACE + private var window: EGLSurface = EGL14.EGL_NO_SURFACE + private var outW = 0 + private var outH = 0 + private var oesTex = 0 + private var copyTex = 0 + private var copyFbo = 0 + private var easuTex = 0 + private var easuFbo = 0 + private var easuW = 0 + private var easuH = 0 + private var copyProg = 0 + private var easuProg = 0 + private var rcasProg = 0 + private lateinit var texture: SurfaceTexture + private val stMatrix = FloatArray(16) + private val sharp = Math.pow(2.0, -((1.0 - sharpness.coerceIn(0f, 1f)) * 2.0)).toFloat() // stops: 100% = 0, 0% = 2 + @Volatile private var released = false + var frames = 0L + private set + + /** The surface the decoder renders into. */ + lateinit var inputSurface: Surface + private set + + init { + val ready = CountDownLatch(1) + var error: Throwable? = null + handler.post { + try { setUp() } catch (t: Throwable) { error = t } + ready.countDown() + } + ready.await(5, TimeUnit.SECONDS) + error?.let { release(); throw RuntimeException("FSR setup failed: ${it.message}", it) } + if (!this::inputSurface.isInitialized) { release(); throw RuntimeException("FSR setup timed out") } + } + + private fun setUp() { + display = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY) + val ver = IntArray(2) + check(EGL14.eglInitialize(display, ver, 0, ver, 1)) { "eglInitialize" } + val attrs = intArrayOf(EGL14.EGL_RED_SIZE, 8, EGL14.EGL_GREEN_SIZE, 8, EGL14.EGL_BLUE_SIZE, 8, + EGL14.EGL_RENDERABLE_TYPE, EGLExt.EGL_OPENGL_ES3_BIT_KHR, EGL14.EGL_SURFACE_TYPE, EGL14.EGL_WINDOW_BIT or EGL14.EGL_PBUFFER_BIT, + EGL14.EGL_NONE) + val configs = arrayOfNulls(1) + val n = IntArray(1) + check(EGL14.eglChooseConfig(display, attrs, 0, configs, 0, 1, n, 0) && n[0] > 0) { "eglChooseConfig" } + config = configs[0] + context = EGL14.eglCreateContext(display, config, EGL14.EGL_NO_CONTEXT, intArrayOf(EGL14.EGL_CONTEXT_CLIENT_VERSION, 3, EGL14.EGL_NONE), 0) + check(context != EGL14.EGL_NO_CONTEXT) { "eglCreateContext" } + pbuffer = EGL14.eglCreatePbufferSurface(display, config, intArrayOf(EGL14.EGL_WIDTH, 1, EGL14.EGL_HEIGHT, 1, EGL14.EGL_NONE), 0) + check(EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context)) { "eglMakeCurrent" } + + copyProg = program(VERTEX, COPY) + easuProg = program(VERTEX, EASU) + rcasProg = program(VERTEX, RCAS) + + val t = IntArray(1) + GLES30.glGenTextures(1, t, 0); oesTex = t[0] + GLES30.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, oesTex) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_MIN_FILTER, GLES30.GL_LINEAR) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_MAG_FILTER, GLES30.GL_LINEAR) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_WRAP_S, GLES30.GL_CLAMP_TO_EDGE) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_WRAP_T, GLES30.GL_CLAMP_TO_EDGE) + val (ct, cf) = target(videoWidth, videoHeight); copyTex = ct; copyFbo = cf + + texture = SurfaceTexture(oesTex).apply { + setDefaultBufferSize(videoWidth, videoHeight) + setOnFrameAvailableListener({ draw() }, handler) + } + inputSurface = Surface(texture) + Log.i(TAG, "ready: ${videoWidth}x$videoHeight, sharpness $sharp, GL ${GLES30.glGetString(GLES30.GL_RENDERER)}") + } + + /** Draw to this screen surface from now on (blocks until it's in use). */ + fun attachOutput(surface: Surface) = onGl { + destroyWindow() + window = EGL14.eglCreateWindowSurface(display, config, surface, intArrayOf(EGL14.EGL_NONE), 0) + if (window == EGL14.EGL_NO_SURFACE) Log.w(TAG, "eglCreateWindowSurface failed: ${EGL14.eglGetError()}") + } + + /** Stop drawing to the screen surface before it goes away (blocks); frames are dropped until [attachOutput]. */ + fun detachOutput() = onGl { destroyWindow() } + + private fun destroyWindow() { + if (window != EGL14.EGL_NO_SURFACE) { + EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context) + EGL14.eglDestroySurface(display, window) + window = EGL14.EGL_NO_SURFACE + } + } + + private fun draw() { + if (released) return + if (window == EGL14.EGL_NO_SURFACE) { + // nowhere to show it: take the frame anyway so the decoder doesn't stall + EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context) + texture.updateTexImage() + return + } + if (!EGL14.eglMakeCurrent(display, window, window, context)) { Log.w(TAG, "eglMakeCurrent: ${EGL14.eglGetError()}"); return } + texture.updateTexImage() + texture.getTransformMatrix(stMatrix) + val q = IntArray(1) + EGL14.eglQuerySurface(display, window, EGL14.EGL_WIDTH, q, 0); outW = q[0] + EGL14.eglQuerySurface(display, window, EGL14.EGL_HEIGHT, q, 0); outH = q[0] + if (outW <= 0 || outH <= 0) return + if (easuW != outW || easuH != outH) { + if (easuTex != 0) { GLES30.glDeleteTextures(1, intArrayOf(easuTex), 0); GLES30.glDeleteFramebuffers(1, intArrayOf(easuFbo), 0) } + val (et, ef) = target(outW, outH); easuTex = et; easuFbo = ef; easuW = outW; easuH = outH + Log.i(TAG, "output ${outW}x$outH (from ${videoWidth}x$videoHeight)") + } + + // 1. the decoder's frame into a plain texture at the stream's size + GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, copyFbo) + GLES30.glViewport(0, 0, videoWidth, videoHeight) + GLES30.glUseProgram(copyProg) + GLES30.glActiveTexture(GLES30.GL_TEXTURE0) + GLES30.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, oesTex) + GLES30.glUniform1i(GLES30.glGetUniformLocation(copyProg, "uTex"), 0) + GLES30.glUniformMatrix4fv(GLES30.glGetUniformLocation(copyProg, "uSt"), 1, false, stMatrix, 0) + GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 3) + + // 2. EASU up to the screen surface's size (constants as FsrEasuCon, kept as floats) + GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, easuFbo) + GLES30.glViewport(0, 0, outW, outH) + GLES30.glUseProgram(easuProg) + GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, copyTex) + GLES30.glUniform1i(GLES30.glGetUniformLocation(easuProg, "uTex"), 0) + val iw = videoWidth.toFloat(); val ih = videoHeight.toFloat() + GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon0"), iw / outW, ih / outH, 0.5f * iw / outW - 0.5f, 0.5f * ih / outH - 0.5f) + GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon1"), 1f / iw, 1f / ih, 1f / iw, -1f / ih) + GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon2"), -1f / iw, 2f / ih, 1f / iw, 2f / ih) + GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon3"), 0f, 4f / ih, 0f, 0f) + GLES30.glUniform2i(GLES30.glGetUniformLocation(easuProg, "uInSize"), videoWidth, videoHeight) + GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 3) + + // 3. RCAS sharpening, to the screen + GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, 0) + GLES30.glViewport(0, 0, outW, outH) + GLES30.glUseProgram(rcasProg) + GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, easuTex) + GLES30.glUniform1i(GLES30.glGetUniformLocation(rcasProg, "uTex"), 0) + GLES30.glUniform1f(GLES30.glGetUniformLocation(rcasProg, "uSharp"), sharp) + GLES30.glUniform2i(GLES30.glGetUniformLocation(rcasProg, "uSize"), outW, outH) + GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 3) + + // the decoder's presentation time: frame pacing keeps working + EGLExt.eglPresentationTimeANDROID(display, window, texture.timestamp) + if (!EGL14.eglSwapBuffers(display, window)) Log.w(TAG, "eglSwapBuffers: ${EGL14.eglGetError()}") + frames++ + } + + /** End it (blocks briefly). Call after the decoder has let go of [inputSurface]. */ + fun release() { + if (released) return + released = true + onGl { + destroyWindow() + if (this::inputSurface.isInitialized) inputSurface.release() + if (this::texture.isInitialized) texture.release() + if (display != EGL14.EGL_NO_DISPLAY) { + EGL14.eglMakeCurrent(display, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_CONTEXT) + if (pbuffer != EGL14.EGL_NO_SURFACE) EGL14.eglDestroySurface(display, pbuffer) + if (context != EGL14.EGL_NO_CONTEXT) EGL14.eglDestroyContext(display, context) + EGL14.eglTerminate(display) + } + display = EGL14.EGL_NO_DISPLAY + } + thread.quitSafely() + } + + private fun onGl(block: () -> Unit) { + if (Thread.currentThread() === thread) { block(); return } + val done = CountDownLatch(1) + if (!handler.post { try { block() } finally { done.countDown() } }) return + done.await(2, TimeUnit.SECONDS) + } + + private fun target(w: Int, h: Int): Pair { + val t = IntArray(1); val f = IntArray(1) + GLES30.glGenTextures(1, t, 0) + GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, t[0]) + GLES30.glTexStorage2D(GLES30.GL_TEXTURE_2D, 1, GLES30.GL_RGBA8, w, h) + GLES30.glTexParameteri(GLES30.GL_TEXTURE_2D, GLES30.GL_TEXTURE_MIN_FILTER, GLES30.GL_NEAREST) + GLES30.glTexParameteri(GLES30.GL_TEXTURE_2D, GLES30.GL_TEXTURE_MAG_FILTER, GLES30.GL_NEAREST) + GLES30.glGenFramebuffers(1, f, 0) + GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, f[0]) + GLES30.glFramebufferTexture2D(GLES30.GL_FRAMEBUFFER, GLES30.GL_COLOR_ATTACHMENT0, GLES30.GL_TEXTURE_2D, t[0], 0) + check(GLES30.glCheckFramebufferStatus(GLES30.GL_FRAMEBUFFER) == GLES30.GL_FRAMEBUFFER_COMPLETE) { "framebuffer ${w}x$h" } + return t[0] to f[0] + } + + private fun program(vs: String, fs: String): Int { + fun shader(type: Int, src: String): Int { + val s = GLES30.glCreateShader(type) + GLES30.glShaderSource(s, src) + GLES30.glCompileShader(s) + val ok = IntArray(1) + GLES30.glGetShaderiv(s, GLES30.GL_COMPILE_STATUS, ok, 0) + check(ok[0] != 0) { "shader: " + GLES30.glGetShaderInfoLog(s) } + return s + } + val p = GLES30.glCreateProgram() + GLES30.glAttachShader(p, shader(GLES30.GL_VERTEX_SHADER, vs)) + GLES30.glAttachShader(p, shader(GLES30.GL_FRAGMENT_SHADER, fs)) + GLES30.glLinkProgram(p) + val ok = IntArray(1) + GLES30.glGetProgramiv(p, GLES30.GL_LINK_STATUS, ok, 0) + check(ok[0] != 0) { "link: " + GLES30.glGetProgramInfoLog(p) } + return p + } + + companion object { + private const val TAG = "MoonCast-FSR" + + /** Settings: Super resolution (off / fsr1) and its Sharpening (0..100). */ + const val PREF = "mc_super_resolution" + const val SHARPNESS_PREF = "mc_fsr_sharpness" + const val DEFAULT_SHARPNESS = 60 + + /** Worth it only when the stream is clearly smaller than the screen surface. */ + fun worthIt(videoHeight: Int, outHeight: Int) = outHeight > videoHeight * 1.1 + + // a full-screen triangle; no vertex buffers + private const val VERTEX = """#version 300 es +out vec2 vUv; +void main() { + vec2 p = vec2(float((gl_VertexID << 1) & 2), float(gl_VertexID & 2)); + vUv = p; + gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0); +}""" + + private const val COPY = """#version 300 es +#extension GL_OES_EGL_image_external_essl3 : require +precision mediump float; +uniform samplerExternalOES uTex; +uniform mat4 uSt; +in vec2 vUv; +out vec4 o; +void main() { o = vec4(texture(uTex, (uSt * vec4(vUv, 0.0, 1.0)).xy).rgb, 1.0); }""" + + // ffx_fsr1.h FsrEasuF (32-bit), with FsrEasuTapF and FsrEasuSetF; textureGather replaced by 4 texelFetches + private const val EASU = """#version 300 es +precision highp float; +precision highp int; +uniform highp sampler2D uTex; +uniform vec4 uCon0; +uniform vec4 uCon1; +uniform vec4 uCon2; +uniform vec4 uCon3; +uniform ivec2 uInSize; +out vec4 o; + +vec3 texel(ivec2 p) { return texelFetch(uTex, clamp(p, ivec2(0), uInSize - 1), 0).rgb; } +// textureGather at a texel corner p: x = (left, upper+1), y = (left+1, upper+1), z = (left+1, upper), w = (left, upper) +void gather(vec2 p, out vec3 x, out vec3 y, out vec3 z, out vec3 w) { + ivec2 tl = ivec2(floor(p * vec2(uInSize) + 0.5)) - 1; + x = texel(tl + ivec2(0, 1)); y = texel(tl + ivec2(1, 1)); z = texel(tl + ivec2(1, 0)); w = texel(tl); +} +float luma(vec3 c) { return c.b * 0.5 + (c.r * 0.5 + c.g); } +float rcp(float x) { return 1.0 / max(x, 1.0e-8); } + +void tap(inout vec3 aC, inout float aW, vec2 off, vec2 dir, vec2 len, float lob, float clp, vec3 c) { + vec2 v; + v.x = (off.x * ( dir.x)) + (off.y * dir.y); + v.y = (off.x * (-dir.y)) + (off.y * dir.x); + v *= len; + float d2 = min(v.x * v.x + v.y * v.y, clp); + float wB = 2.0 / 5.0 * d2 - 1.0; + float wA = lob * d2 - 1.0; + wB *= wB; + wA *= wA; + wB = 25.0 / 16.0 * wB - (25.0 / 16.0 - 1.0); + float w = wB * wA; + aC += c * w; aW += w; +} + +void set(inout vec2 dir, inout float len, vec2 pp, int corner, float lA, float lB, float lC, float lD, float lE) { + float w = 0.0; + if (corner == 0) w = (1.0 - pp.x) * (1.0 - pp.y); + if (corner == 1) w = pp.x * (1.0 - pp.y); + if (corner == 2) w = (1.0 - pp.x) * pp.y; + if (corner == 3) w = pp.x * pp.y; + float dc = lD - lC; + float cb = lC - lB; + float lenX = rcp(max(abs(dc), abs(cb))); + float dirX = lD - lB; + dir.x += dirX * w; + lenX = clamp(abs(dirX) * lenX, 0.0, 1.0); + lenX *= lenX; + len += lenX * w; + float ec = lE - lC; + float ca = lC - lA; + float lenY = rcp(max(abs(ec), abs(ca))); + float dirY = lE - lA; + dir.y += dirY * w; + lenY = clamp(abs(dirY) * lenY, 0.0, 1.0); + lenY *= lenY; + len += lenY * w; +} + +void main() { + vec2 pp = floor(gl_FragCoord.xy) * uCon0.xy + uCon0.zw; + vec2 fp = floor(pp); + pp -= fp; + vec2 p0 = fp * uCon1.xy + uCon1.zw; + vec2 p1 = p0 + uCon2.xy; + vec2 p2 = p0 + uCon2.zw; + vec2 p3 = p0 + uCon3.xy; + vec3 b, c, z0, w0, i, j, f, e, k, l, h, g, x3, y3, oo, n; + gather(p0, b, c, z0, w0); + gather(p1, i, j, f, e); + gather(p2, k, l, h, g); + gather(p3, x3, y3, oo, n); + float bL = luma(b), cL = luma(c), iL = luma(i), jL = luma(j), fL = luma(f), eL = luma(e); + float kL = luma(k), lL = luma(l), hL = luma(h), gL = luma(g), oL = luma(oo), nL = luma(n); + vec2 dir = vec2(0.0); + float len = 0.0; + set(dir, len, pp, 0, bL, eL, fL, gL, jL); + set(dir, len, pp, 1, cL, fL, gL, hL, kL); + set(dir, len, pp, 2, fL, iL, jL, kL, nL); + set(dir, len, pp, 3, gL, jL, kL, lL, oL); + vec2 dir2 = dir * dir; + float dirR = dir2.x + dir2.y; + bool zro = dirR < 1.0 / 32768.0; + dirR = inversesqrt(max(dirR, 1.0e-12)); + dirR = zro ? 1.0 : dirR; + dir.x = zro ? 1.0 : dir.x; + dir *= vec2(dirR); + len = len * 0.5; + len *= len; + float stretch = (dir.x * dir.x + dir.y * dir.y) * rcp(max(abs(dir.x), abs(dir.y))); + vec2 len2 = vec2(1.0 + (stretch - 1.0) * len, 1.0 - 0.5 * len); + float lob = 0.5 + ((1.0 / 4.0 - 0.04) - 0.5) * len; + float clp = rcp(lob); + vec3 min4 = min(min(min(f, g), j), k); + vec3 max4 = max(max(max(f, g), j), k); + vec3 aC = vec3(0.0); + float aW = 0.0; + tap(aC, aW, vec2( 0.0, -1.0) - pp, dir, len2, lob, clp, b); + tap(aC, aW, vec2( 1.0, -1.0) - pp, dir, len2, lob, clp, c); + tap(aC, aW, vec2(-1.0, 1.0) - pp, dir, len2, lob, clp, i); + tap(aC, aW, vec2( 0.0, 1.0) - pp, dir, len2, lob, clp, j); + tap(aC, aW, vec2( 0.0, 0.0) - pp, dir, len2, lob, clp, f); + tap(aC, aW, vec2(-1.0, 0.0) - pp, dir, len2, lob, clp, e); + tap(aC, aW, vec2( 1.0, 1.0) - pp, dir, len2, lob, clp, k); + tap(aC, aW, vec2( 2.0, 1.0) - pp, dir, len2, lob, clp, l); + tap(aC, aW, vec2( 2.0, 0.0) - pp, dir, len2, lob, clp, h); + tap(aC, aW, vec2( 1.0, 0.0) - pp, dir, len2, lob, clp, g); + tap(aC, aW, vec2( 1.0, 2.0) - pp, dir, len2, lob, clp, oo); + tap(aC, aW, vec2( 0.0, 2.0) - pp, dir, len2, lob, clp, n); + o = vec4(min(max4, max(min4, aC * rcp(aW))), 1.0); +}""" + + // ffx_fsr1.h FsrRcasF (32-bit, no denoise) + private const val RCAS = """#version 300 es +precision highp float; +precision highp int; +uniform highp sampler2D uTex; +uniform float uSharp; +uniform ivec2 uSize; +out vec4 o; +vec3 texel(ivec2 p) { return texelFetch(uTex, clamp(p, ivec2(0), uSize - 1), 0).rgb; } +void main() { + ivec2 sp = ivec2(gl_FragCoord.xy); + vec3 b = texel(sp + ivec2(0, -1)); + vec3 d = texel(sp + ivec2(-1, 0)); + vec3 e = texel(sp); + vec3 f = texel(sp + ivec2(1, 0)); + vec3 h = texel(sp + ivec2(0, 1)); + vec3 mn4 = min(min(b, d), min(f, h)); + vec3 mx4 = max(max(b, d), max(f, h)); + vec3 hitMin = min(mn4, e) / max(4.0 * mx4, vec3(1.0e-5)); + vec3 hitMax = (1.0 - max(mx4, e)) / min(4.0 * mn4 - 4.0, vec3(-1.0e-5)); + vec3 lobeRGB = max(-hitMin, hitMax); + float lobe = max(-(0.25 - 1.0 / 16.0), min(max(lobeRGB.r, max(lobeRGB.g, lobeRGB.b)), 0.0)) * uSharp; + o = vec4((lobe * (b + d + h + f) + e) / (4.0 * lobe + 1.0), 1.0); +}""" + } +} diff --git a/app/src/main/java/com/limelight/home/Licences.kt b/app/src/main/java/com/limelight/home/Licences.kt index d3687a976d..e8cbcd99e2 100644 --- a/app/src/main/java/com/limelight/home/Licences.kt +++ b/app/src/main/java/com/limelight/home/Licences.kt @@ -23,6 +23,7 @@ object Licences { val parts = listOf( Part("The app", "Moonlight for Android", "The app MoonCast grew from: PC streaming, the on-screen controller", "GPL-3.0", "gpl-3.0.txt", "https://github.com/moonlight-stream/moonlight-android"), Part("The app", "moonlight-common-c", "The PC streaming protocol", "GPL-3.0", "gpl-3.0.txt", "https://github.com/moonlight-stream/moonlight-common-c"), + Part("The app", "AMD FidelityFX Super Resolution 1.0", "Super resolution: the upscaling and sharpening (FSR 1)", "MIT", "fsr1.txt", "https://github.com/GPUOpen-Effects/FidelityFX-FSR"), Part("The app", "ENet", "Inside moonlight-common-c: the network link", "MIT", "enet.txt", "https://github.com/lsalzman/enet"), Part("The app", "nanors", "Inside moonlight-common-c: repairing lost video", "MIT", "nanors.txt", "https://github.com/sleepybishop/nanors"), Part("PS5", "chiaki-ng", "PS5 Remote Play, with MoonCast's changes (MoonCastDev/chiaki-ng-mooncast)", "AGPL-3.0", "agpl-3.0.txt", "https://github.com/streetpea/chiaki-ng"), diff --git a/app/src/tv/java/com/limelight/home/HomeActivity.kt b/app/src/tv/java/com/limelight/home/HomeActivity.kt index b02a0211c4..01d2a29888 100644 --- a/app/src/tv/java/com/limelight/home/HomeActivity.kt +++ b/app/src/tv/java/com/limelight/home/HomeActivity.kt @@ -983,6 +983,12 @@ class HomeActivity : Activity(), PhoneLink.Listener { val customRate = kbps != 0 && kbps / 1000 !in listOf(10, 20, 30, 50, 80) action(list, "set:customrate", "Custom bitrate", "Any value between the steps above, in Mbps", if (customRate) "${kbps / 1000} Mbps" else "Off") { customBitrate(kbps) } + choice(list, com.limelight.binding.video.FsrRenderer.PREF, "Super resolution", + "Sharper picture when the stream is smaller than this TV (AMD FSR 1.0). PlayStation for now. Uses a little of the GPU", + listOf("Off" to "off", "FSR 1.0" to "fsr1"), "off") + if (stream.getString(com.limelight.binding.video.FsrRenderer.PREF, "off") == "fsr1") + intChoice(list, com.limelight.binding.video.FsrRenderer.SHARPNESS_PREF, "Sharpening", "How crisp FSR makes edges. Lower it if you see halos", + listOf(0, 20, 40, 60, 80, 100), com.limelight.binding.video.FsrRenderer.DEFAULT_SHARPNESS) { "$it%" } choice(list, "video_format", "Video codec", "H.265 and AV1 look better at the same bitrate", listOf("Auto" to "auto", "H.264" to "neverh265", "H.265" to "forceh265", "AV1" to "forceav1"), "auto") toggle(list, "checkbox_enable_hdr", "HDR", "Only when the PC, the game and this TV support it", false) diff --git a/docs/mockups/fsr/compare.html b/docs/mockups/fsr/compare.html index 5651f73d1f..6778bca861 100644 --- a/docs/mockups/fsr/compare.html +++ b/docs/mockups/fsr/compare.html @@ -6,16 +6,17 @@ .pane{position:absolute;top:150px;width:944px;height:944px;border-radius:14px;overflow:hidden;background:#000} .l{left:30px}.r{left:994px} .lab{position:absolute;bottom:18px;left:18px;font-size:28px;font-weight:800;background:rgba(0,0,0,.65);padding:8px 16px;border-radius:10px} -canvas{display:block} .foot{position:absolute;bottom:40px;left:0;right:0;text-align:center;font-size:22px;color:#B5BAC3} +#status{position:absolute;top:120px;left:30px;font-size:18px;color:#f88} +canvas{display:block}
Super resolution: a 720p stream on a 2448 × 1696 screen
The same frame, enlarged 3.4×; a close-up of the middle of the picture
Off: plain enlargement
FSR 1.0, sharpening 60%
-
Illustration: plain enlargement plus FSR's own sharpening pass (RCAS). Real FSR also upscales edges smarter (EASU), so it's crisper still.
+
Rendered by MoonCast's own FSR 1.0 shaders (EASU + RCAS, the code in the app), run here in WebGL 2.
+
+ \ No newline at end of file diff --git a/docs/mockups/fsr/fsr_compare.png b/docs/mockups/fsr/fsr_compare.png index c00917d3c2142d6931dd59c475a98bfbaf856274..030451f3a4814d06fc740d17548fcacc44f7e163 100644 GIT binary patch literal 211262 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 literal 171456 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 ATeho^fFNokkk>4wRb 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

f;`Nsx0UG&Ty8)@6}1Iiv`W!z2j#!T&N^ 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

kzY+{8c(+ae}hs~er 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 ^p;V-*{5I0 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 Date: Wed, 21 Oct 2026 18:16:08 +0000 Subject: [PATCH 2/3] feat(fsr): Super resolution on PC and Xbox too; shared FsrPasses (test235) PC: MediaCodecDecoderRenderer.setSurfaceOverride, no setFixedSize while FSR is planned, off with HDR. Xbox: FsrGlDrawer as SurfaceViewRenderer's GlDrawer, hardware scaler off. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 7 + .../handheld/HandheldHomeActivity.kt | 2 +- app/src/main/java/com/limelight/Game.java | 42 +- .../java/com/limelight/XboxStreamActivity.kt | 9 +- .../limelight/binding/video/FsrRenderer.kt | 419 +++++++++++------- .../video/MediaCodecDecoderRenderer.java | 9 +- .../java/com/limelight/home/HomeActivity.kt | 2 +- 7 files changed, 320 insertions(+), 170 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb7fce85b5..ff775713c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 1.0-test235 (2026-10-21) +- Super resolution now works on PC and Xbox streams too, not only PS5. The FSR passes are shared (`FsrPasses`), used by: + - PC: Moonlight's decoder renders into FSR's surface. FSR stays off with HDR, since its passes are 8-bit. The screen surface keeps the screen's size instead of the stream's, so FSR has room to upscale into; with Stretch, the picture is stretched by FSR. + - Xbox: WebRTC's renderer draws each frame through FSR's drawer (`FsrGlDrawer`), with WebRTC's hardware scaler off so the surface keeps the view's size. Frames that aren't hardware-decoded, and GPUs without OpenGL ES 3, are drawn by WebRTC's own drawer, as before. + - PS5: as in test234. +- In all three, FSR only takes effect when the stream is clearly smaller than the screen; otherwise the picture shows as before. + ## 1.0-test234 (2026-10-21) - Super resolution (Settings, Picture, both apps): AMD FidelityFX Super Resolution 1.0, for the PS5 first (mockups in docs/mockups/fsr). With it on, and the stream clearly smaller than the screen (a PS5's 1080p or 720p on the Fold's 2448 × 1696, say), each frame takes three GPU passes before it shows: - a copy of the decoder's frame at the stream's size; diff --git a/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt b/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt index 16923787dd..1276e6a9b5 100644 --- a/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt +++ b/app/src/handheld/java/com/limelight/handheld/HandheldHomeActivity.kt @@ -1256,7 +1256,7 @@ class HandheldHomeActivity : Activity() { } // Super resolution: AMD FSR 1.0 upscales a stream smaller than the screen, then sharpens it (PS5 for now) choice(list, stream, com.limelight.binding.video.FsrRenderer.PREF, "Super resolution", - "Sharper picture when the stream is smaller than this screen (AMD FSR 1.0). PlayStation for now. Uses a little of the GPU", + "Sharper picture when the stream is smaller than this screen (AMD FSR 1.0), on PC, PS5 and Xbox. Not with HDR. Uses a little of the GPU", listOf("Off" to "off", "FSR 1.0" to "fsr1"), "off") if (stream.getString(com.limelight.binding.video.FsrRenderer.PREF, "off") == "fsr1") intChoice(list, com.limelight.binding.video.FsrRenderer.SHARPNESS_PREF, "Sharpening", "How crisp FSR makes edges. Lower it if you see halos", diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index 004784edab..7ff4d1ecc6 100644 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -125,6 +125,10 @@ public class Game extends Activity implements SurfaceHolder.Callback, private boolean connected = false; private boolean autoEnterPip = false; private boolean surfaceCreated = false; + // MoonCast: Super resolution (FSR 1.0) + private boolean fsrPlanned = false; + private float fsrSharpness = 0.6f; + private volatile com.limelight.binding.video.FsrRenderer fsr; private boolean attemptedConnection = false; private int suppressPipRefCount = 0; private String pcName; @@ -405,6 +409,21 @@ public void notifyCrash(Exception e) { Toast.makeText(this, "Decoder does not support HDR10 profile", Toast.LENGTH_LONG).show(); } + // MoonCast: Super resolution (FSR 1.0) when it's on, the stream isn't HDR (FSR's passes are 8-bit) and the + // stream is clearly smaller than this screen. The surface then keeps the screen's size (no setFixedSize) + // so FSR has room to upscale into. + { + android.content.SharedPreferences sp = android.preference.PreferenceManager.getDefaultSharedPreferences(this); + android.graphics.Point real = new android.graphics.Point(); + getWindowManager().getDefaultDisplay().getRealSize(real); + fsrPlanned = com.limelight.binding.video.FsrRenderer.Companion.enabled(sp) && !willStreamHdr + && com.limelight.binding.video.FsrRenderer.Companion.worthIt(prefConfig.height, Math.min(real.x, real.y)); + fsrSharpness = com.limelight.binding.video.FsrRenderer.Companion.sharpness(sp); + if (com.limelight.binding.video.FsrRenderer.Companion.enabled(sp)) + LimeLog.info("FSR " + (fsrPlanned ? "on" : "not needed") + ": stream " + prefConfig.width + "x" + prefConfig.height + + ", screen " + real.x + "x" + real.y + (willStreamHdr ? ", HDR" : "")); + } + // Display a message to the user if HEVC was forced on but we still didn't find a decoder if (prefConfig.videoFormat == PreferenceConfiguration.FormatOption.FORCE_HEVC && !decoderRenderer.isHevcSupported()) { Toast.makeText(this, "No HEVC decoder found", Toast.LENGTH_LONG).show(); @@ -972,15 +991,16 @@ else if (!isRefreshRateGoodMatch(candidate.getRefreshRate())) { } } - if (prefConfig.stretchVideo || aspectRatioMatch) { + if (!fsrPlanned && (prefConfig.stretchVideo || aspectRatioMatch)) { // Set the surface to the size of the video streamView.getHolder().setFixedSize(prefConfig.width, prefConfig.height); } - else { + else if (!(fsrPlanned && prefConfig.stretchVideo)) { // Set the surface to scale based on the aspect ratio of the stream streamView.setDesiredAspectRatio((double)prefConfig.width / (double)prefConfig.height); streamView.setFill(prefConfig.fillVideo); } + // (FSR with Stretch: the view fills the screen and FSR stretches the picture into it) // MoonCast: Settings, Video, Zoom. Enlarges the picture for TVs that crop the edges (overscan). if (prefConfig.videoZoomPercent > 100) { @@ -2411,6 +2431,10 @@ private void stopConnection(final Runnable done) { new Thread() { public void run() { conn.stop(); + // the decoder is gone: FSR's surface can go too + com.limelight.binding.video.FsrRenderer f = fsr; + fsr = null; + if (f != null) f.release(); if (done != null) runOnUiThread(done); } }.start(); @@ -2723,6 +2747,17 @@ public void surfaceChanged(SurfaceHolder holder, int format, int width, int heig UiHelper.notifyStreamConnecting(Game.this); decoderRenderer.setRenderTarget(holder); + if (fsrPlanned && fsr == null) { + try { + fsr = new com.limelight.binding.video.FsrRenderer(prefConfig.width, prefConfig.height, fsrSharpness); + fsr.attachOutput(holder.getSurface()); + decoderRenderer.setSurfaceOverride(fsr.getInputSurface()); + LimeLog.info("FSR on: " + prefConfig.width + "x" + prefConfig.height + " to " + width + "x" + height); + } catch (RuntimeException e) { + LimeLog.warning("FSR unavailable, showing the stream directly: " + e); + fsr = null; + } + } conn.start(new AndroidAudioRenderer(Game.this, prefConfig.enableAudioFx), decoderRenderer, Game.this); } @@ -2775,6 +2810,9 @@ public void surfaceDestroyed(SurfaceHolder holder) { throw new IllegalStateException("Surface destroyed before creation!"); } + // FSR stops drawing to the screen surface before it goes + if (fsr != null) fsr.detachOutput(); + if (attemptedConnection) { // Let the decoder know immediately that the surface is gone decoderRenderer.prepareForStop(); diff --git a/app/src/main/java/com/limelight/XboxStreamActivity.kt b/app/src/main/java/com/limelight/XboxStreamActivity.kt index 46edab3a4e..a26c67f429 100644 --- a/app/src/main/java/com/limelight/XboxStreamActivity.kt +++ b/app/src/main/java/com/limelight/XboxStreamActivity.kt @@ -71,13 +71,18 @@ class XboxStreamActivity : Activity(), com.limelight.home.MoveToTv.LocalSession com.limelight.binding.video.MediaCodecHelper.initialize(this, com.limelight.preferences.GlPreferences.readPreferences(this).glRenderer) val r = SurfaceViewRenderer(this).also { renderer = it } + // Super resolution (FSR 1.0): WebRTC's renderer draws each frame through FSR's drawer. The surface then keeps + // the view's real size (no hardware scaler, which would shrink it to the frame's) so FSR has room to upscale + val fsrOn = com.limelight.binding.video.FsrRenderer.enabled(prefs) r.init(egl.eglBaseContext, object : RendererCommon.RendererEvents { override fun onFirstFrameRendered() { firstFrame = true; main.removeCallbacks(pictureWatchdog); showStatus(null); com.limelight.home.StreamReport.playing() } override fun onFrameResolutionChanged(w: Int, h: Int, rotation: Int) { Log.i(TAG, "picture ${w}x$h"); runOnUiThread { applyShape(w, h) } } - }) - r.setEnableHardwareScaler(true) + }, org.webrtc.EglBase.CONFIG_PLAIN, + if (fsrOn) com.limelight.binding.video.FsrGlDrawer(com.limelight.binding.video.FsrRenderer.sharpness(prefs)) else org.webrtc.GlRectDrawer()) + r.setEnableHardwareScaler(!fsrOn) + if (fsrOn) Log.i(TAG, "FSR drawer on") applyShape(0, 0) status = TextView(this).apply { setTextColor(0xFFE8ECFF.toInt()); textSize = 22f; gravity = Gravity.CENTER diff --git a/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt b/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt index 86ab4629bd..8eb3f6e511 100644 --- a/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt +++ b/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt @@ -16,202 +16,99 @@ import android.view.Surface import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit +// Super resolution with AMD FidelityFX Super Resolution 1.0 (FSR 1, MIT licence, see assets/licences). +// The shaders are ports of ffx_fsr1.h's 32-bit FsrEasuF and FsrRcasF to OpenGL ES 3.0. ES 3.0 has no textureGather, +// so each gather is four texelFetches in gather order. + /** - * Super resolution with AMD FidelityFX Super Resolution 1.0 (FSR 1, MIT licence, see assets/licences). - * - * The decoder renders into [inputSurface] (a SurfaceTexture). Each frame then takes three GPU passes on our own thread: - * 1. copy the decoder's frame (an external OES texture) into a plain texture at the stream's size, - * 2. EASU: upscale it to the screen surface's size (AMD's edge-adaptive Lanczos), - * 3. RCAS: sharpen at [sharpness] (0..1) and draw to the screen surface. - * The frame keeps the decoder's presentation time, so frame pacing still applies. The screen surface can come and go - * (a foldable's fold) with [attachOutput]/[detachOutput] while the decoder keeps its own surface. - * - * The shaders are ports of ffx_fsr1.h's 32-bit FsrEasuF and FsrRcasF to OpenGL ES 3.0. ES 3.0 has no textureGather, - * so each gather is four texelFetches in gather order. + * The three FSR passes on the current GL context (OpenGL ES 3.0): copy an external OES frame into a plain texture at + * the frame's size, EASU (AMD's edge-adaptive Lanczos) to the output size, RCAS sharpening into [targetFb]'s viewport. + * GL objects are made on first use and remade when a size changes. Used by [FsrRenderer] (PS5, PC) and [FsrGlDrawer] + * (Xbox, inside WebRTC's renderer). */ -class FsrRenderer(private val videoWidth: Int, private val videoHeight: Int, sharpness: Float) { - private val thread = HandlerThread("fsr-gl").apply { start() } - private val handler = Handler(thread.looper) - private var display: EGLDisplay = EGL14.EGL_NO_DISPLAY - private var context: EGLContext = EGL14.EGL_NO_CONTEXT - private var config: EGLConfig? = null - private var pbuffer: EGLSurface = EGL14.EGL_NO_SURFACE - private var window: EGLSurface = EGL14.EGL_NO_SURFACE - private var outW = 0 - private var outH = 0 - private var oesTex = 0 +class FsrPasses(sharpness: Float) { + private var copyProg = 0 + private var easuProg = 0 + private var rcasProg = 0 private var copyTex = 0 private var copyFbo = 0 + private var copyW = 0 + private var copyH = 0 private var easuTex = 0 private var easuFbo = 0 private var easuW = 0 private var easuH = 0 - private var copyProg = 0 - private var easuProg = 0 - private var rcasProg = 0 - private lateinit var texture: SurfaceTexture - private val stMatrix = FloatArray(16) + private val vao = IntArray(1) private val sharp = Math.pow(2.0, -((1.0 - sharpness.coerceIn(0f, 1f)) * 2.0)).toFloat() // stops: 100% = 0, 0% = 2 - @Volatile private var released = false - var frames = 0L - private set - /** The surface the decoder renders into. */ - lateinit var inputSurface: Surface - private set - - init { - val ready = CountDownLatch(1) - var error: Throwable? = null - handler.post { - try { setUp() } catch (t: Throwable) { error = t } - ready.countDown() + /** Draws one frame. [oesTex] with [texMatrix] is the frame ([inW] x [inH]); the result fills the viewport. */ + fun draw(oesTex: Int, texMatrix: FloatArray, inW: Int, inH: Int, targetFb: Int, vx: Int, vy: Int, outW: Int, outH: Int) { + if (inW <= 0 || inH <= 0 || outW <= 0 || outH <= 0) return + if (copyProg == 0) { + copyProg = program(VERTEX, COPY); easuProg = program(VERTEX, EASU); rcasProg = program(VERTEX, RCAS) + GLES30.glGenVertexArrays(1, vao, 0) } - ready.await(5, TimeUnit.SECONDS) - error?.let { release(); throw RuntimeException("FSR setup failed: ${it.message}", it) } - if (!this::inputSurface.isInitialized) { release(); throw RuntimeException("FSR setup timed out") } - } - - private fun setUp() { - display = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY) - val ver = IntArray(2) - check(EGL14.eglInitialize(display, ver, 0, ver, 1)) { "eglInitialize" } - val attrs = intArrayOf(EGL14.EGL_RED_SIZE, 8, EGL14.EGL_GREEN_SIZE, 8, EGL14.EGL_BLUE_SIZE, 8, - EGL14.EGL_RENDERABLE_TYPE, EGLExt.EGL_OPENGL_ES3_BIT_KHR, EGL14.EGL_SURFACE_TYPE, EGL14.EGL_WINDOW_BIT or EGL14.EGL_PBUFFER_BIT, - EGL14.EGL_NONE) - val configs = arrayOfNulls(1) - val n = IntArray(1) - check(EGL14.eglChooseConfig(display, attrs, 0, configs, 0, 1, n, 0) && n[0] > 0) { "eglChooseConfig" } - config = configs[0] - context = EGL14.eglCreateContext(display, config, EGL14.EGL_NO_CONTEXT, intArrayOf(EGL14.EGL_CONTEXT_CLIENT_VERSION, 3, EGL14.EGL_NONE), 0) - check(context != EGL14.EGL_NO_CONTEXT) { "eglCreateContext" } - pbuffer = EGL14.eglCreatePbufferSurface(display, config, intArrayOf(EGL14.EGL_WIDTH, 1, EGL14.EGL_HEIGHT, 1, EGL14.EGL_NONE), 0) - check(EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context)) { "eglMakeCurrent" } - - copyProg = program(VERTEX, COPY) - easuProg = program(VERTEX, EASU) - rcasProg = program(VERTEX, RCAS) - - val t = IntArray(1) - GLES30.glGenTextures(1, t, 0); oesTex = t[0] - GLES30.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, oesTex) - GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_MIN_FILTER, GLES30.GL_LINEAR) - GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_MAG_FILTER, GLES30.GL_LINEAR) - GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_WRAP_S, GLES30.GL_CLAMP_TO_EDGE) - GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_WRAP_T, GLES30.GL_CLAMP_TO_EDGE) - val (ct, cf) = target(videoWidth, videoHeight); copyTex = ct; copyFbo = cf - - texture = SurfaceTexture(oesTex).apply { - setDefaultBufferSize(videoWidth, videoHeight) - setOnFrameAvailableListener({ draw() }, handler) + if (copyW != inW || copyH != inH) { + free(copyTex, copyFbo) + val (t, f) = target(inW, inH); copyTex = t; copyFbo = f; copyW = inW; copyH = inH } - inputSurface = Surface(texture) - Log.i(TAG, "ready: ${videoWidth}x$videoHeight, sharpness $sharp, GL ${GLES30.glGetString(GLES30.GL_RENDERER)}") - } - - /** Draw to this screen surface from now on (blocks until it's in use). */ - fun attachOutput(surface: Surface) = onGl { - destroyWindow() - window = EGL14.eglCreateWindowSurface(display, config, surface, intArrayOf(EGL14.EGL_NONE), 0) - if (window == EGL14.EGL_NO_SURFACE) Log.w(TAG, "eglCreateWindowSurface failed: ${EGL14.eglGetError()}") - } - - /** Stop drawing to the screen surface before it goes away (blocks); frames are dropped until [attachOutput]. */ - fun detachOutput() = onGl { destroyWindow() } - - private fun destroyWindow() { - if (window != EGL14.EGL_NO_SURFACE) { - EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context) - EGL14.eglDestroySurface(display, window) - window = EGL14.EGL_NO_SURFACE - } - } - - private fun draw() { - if (released) return - if (window == EGL14.EGL_NO_SURFACE) { - // nowhere to show it: take the frame anyway so the decoder doesn't stall - EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context) - texture.updateTexImage() - return - } - if (!EGL14.eglMakeCurrent(display, window, window, context)) { Log.w(TAG, "eglMakeCurrent: ${EGL14.eglGetError()}"); return } - texture.updateTexImage() - texture.getTransformMatrix(stMatrix) - val q = IntArray(1) - EGL14.eglQuerySurface(display, window, EGL14.EGL_WIDTH, q, 0); outW = q[0] - EGL14.eglQuerySurface(display, window, EGL14.EGL_HEIGHT, q, 0); outH = q[0] - if (outW <= 0 || outH <= 0) return if (easuW != outW || easuH != outH) { - if (easuTex != 0) { GLES30.glDeleteTextures(1, intArrayOf(easuTex), 0); GLES30.glDeleteFramebuffers(1, intArrayOf(easuFbo), 0) } - val (et, ef) = target(outW, outH); easuTex = et; easuFbo = ef; easuW = outW; easuH = outH - Log.i(TAG, "output ${outW}x$outH (from ${videoWidth}x$videoHeight)") + free(easuTex, easuFbo) + val (t, f) = target(outW, outH); easuTex = t; easuFbo = f; easuW = outW; easuH = outH + Log.i(TAG, "output ${outW}x$outH (from ${inW}x$inH)") } + GLES30.glBindVertexArray(vao[0]) + GLES30.glDisable(GLES30.GL_BLEND) + GLES30.glActiveTexture(GLES30.GL_TEXTURE0) - // 1. the decoder's frame into a plain texture at the stream's size + // 1. the frame into a plain texture at its own size GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, copyFbo) - GLES30.glViewport(0, 0, videoWidth, videoHeight) + GLES30.glViewport(0, 0, inW, inH) GLES30.glUseProgram(copyProg) - GLES30.glActiveTexture(GLES30.GL_TEXTURE0) GLES30.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, oesTex) GLES30.glUniform1i(GLES30.glGetUniformLocation(copyProg, "uTex"), 0) - GLES30.glUniformMatrix4fv(GLES30.glGetUniformLocation(copyProg, "uSt"), 1, false, stMatrix, 0) + GLES30.glUniformMatrix4fv(GLES30.glGetUniformLocation(copyProg, "uSt"), 1, false, texMatrix, 0) GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 3) - // 2. EASU up to the screen surface's size (constants as FsrEasuCon, kept as floats) + // 2. EASU up to the output size (constants as FsrEasuCon, kept as floats) GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, easuFbo) GLES30.glViewport(0, 0, outW, outH) GLES30.glUseProgram(easuProg) GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, copyTex) GLES30.glUniform1i(GLES30.glGetUniformLocation(easuProg, "uTex"), 0) - val iw = videoWidth.toFloat(); val ih = videoHeight.toFloat() + val iw = inW.toFloat(); val ih = inH.toFloat() GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon0"), iw / outW, ih / outH, 0.5f * iw / outW - 0.5f, 0.5f * ih / outH - 0.5f) GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon1"), 1f / iw, 1f / ih, 1f / iw, -1f / ih) GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon2"), -1f / iw, 2f / ih, 1f / iw, 2f / ih) GLES30.glUniform4f(GLES30.glGetUniformLocation(easuProg, "uCon3"), 0f, 4f / ih, 0f, 0f) - GLES30.glUniform2i(GLES30.glGetUniformLocation(easuProg, "uInSize"), videoWidth, videoHeight) + GLES30.glUniform2i(GLES30.glGetUniformLocation(easuProg, "uInSize"), inW, inH) GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 3) - // 3. RCAS sharpening, to the screen - GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, 0) - GLES30.glViewport(0, 0, outW, outH) + // 3. RCAS sharpening into the target + GLES30.glBindFramebuffer(GLES30.GL_FRAMEBUFFER, targetFb) + GLES30.glViewport(vx, vy, outW, outH) GLES30.glUseProgram(rcasProg) GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, easuTex) GLES30.glUniform1i(GLES30.glGetUniformLocation(rcasProg, "uTex"), 0) GLES30.glUniform1f(GLES30.glGetUniformLocation(rcasProg, "uSharp"), sharp) GLES30.glUniform2i(GLES30.glGetUniformLocation(rcasProg, "uSize"), outW, outH) + GLES30.glUniform2i(GLES30.glGetUniformLocation(rcasProg, "uOrigin"), vx, vy) GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 3) - - // the decoder's presentation time: frame pacing keeps working - EGLExt.eglPresentationTimeANDROID(display, window, texture.timestamp) - if (!EGL14.eglSwapBuffers(display, window)) Log.w(TAG, "eglSwapBuffers: ${EGL14.eglGetError()}") - frames++ + GLES30.glBindVertexArray(0) + GLES30.glUseProgram(0) } - /** End it (blocks briefly). Call after the decoder has let go of [inputSurface]. */ + /** Frees the GL objects; call on the same GL context. */ fun release() { - if (released) return - released = true - onGl { - destroyWindow() - if (this::inputSurface.isInitialized) inputSurface.release() - if (this::texture.isInitialized) texture.release() - if (display != EGL14.EGL_NO_DISPLAY) { - EGL14.eglMakeCurrent(display, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_CONTEXT) - if (pbuffer != EGL14.EGL_NO_SURFACE) EGL14.eglDestroySurface(display, pbuffer) - if (context != EGL14.EGL_NO_CONTEXT) EGL14.eglDestroyContext(display, context) - EGL14.eglTerminate(display) - } - display = EGL14.EGL_NO_DISPLAY - } - thread.quitSafely() + free(copyTex, copyFbo); free(easuTex, easuFbo) + copyTex = 0; easuTex = 0; copyW = 0; easuW = 0 + if (copyProg != 0) { GLES30.glDeleteProgram(copyProg); GLES30.glDeleteProgram(easuProg); GLES30.glDeleteProgram(rcasProg); copyProg = 0 } + if (vao[0] != 0) { GLES30.glDeleteVertexArrays(1, vao, 0); vao[0] = 0 } } - private fun onGl(block: () -> Unit) { - if (Thread.currentThread() === thread) { block(); return } - val done = CountDownLatch(1) - if (!handler.post { try { block() } finally { done.countDown() } }) return - done.await(2, TimeUnit.SECONDS) + private fun free(tex: Int, fbo: Int) { + if (tex != 0) GLES30.glDeleteTextures(1, intArrayOf(tex), 0) + if (fbo != 0) GLES30.glDeleteFramebuffers(1, intArrayOf(fbo), 0) } private fun target(w: Int, h: Int): Pair { @@ -250,15 +147,6 @@ class FsrRenderer(private val videoWidth: Int, private val videoHeight: Int, sha companion object { private const val TAG = "MoonCast-FSR" - - /** Settings: Super resolution (off / fsr1) and its Sharpening (0..100). */ - const val PREF = "mc_super_resolution" - const val SHARPNESS_PREF = "mc_fsr_sharpness" - const val DEFAULT_SHARPNESS = 60 - - /** Worth it only when the stream is clearly smaller than the screen surface. */ - fun worthIt(videoHeight: Int, outHeight: Int) = outHeight > videoHeight * 1.1 - // a full-screen triangle; no vertex buffers private const val VERTEX = """#version 300 es out vec2 vUv; @@ -398,9 +286,10 @@ uniform highp sampler2D uTex; uniform float uSharp; uniform ivec2 uSize; out vec4 o; +uniform ivec2 uOrigin; vec3 texel(ivec2 p) { return texelFetch(uTex, clamp(p, ivec2(0), uSize - 1), 0).rgb; } void main() { - ivec2 sp = ivec2(gl_FragCoord.xy); + ivec2 sp = ivec2(gl_FragCoord.xy) - uOrigin; vec3 b = texel(sp + ivec2(0, -1)); vec3 d = texel(sp + ivec2(-1, 0)); vec3 e = texel(sp); @@ -416,3 +305,207 @@ void main() { }""" } } + +/** + * Super resolution for a decoder that renders into a Surface (PS5 via chiaki, PC via MediaCodec): the decoder renders + * into [inputSurface] (a SurfaceTexture) and each frame is drawn to the screen surface through [FsrPasses], on our own + * GL thread. The frame keeps the decoder's presentation time, so frame pacing still applies. The screen surface can + * come and go (a foldable's fold) with [attachOutput]/[detachOutput] while the decoder keeps its own surface. + */ +class FsrRenderer(private val videoWidth: Int, private val videoHeight: Int, sharpness: Float) { + private val thread = HandlerThread("fsr-gl").apply { start() } + private val handler = Handler(thread.looper) + private var display: EGLDisplay = EGL14.EGL_NO_DISPLAY + private var context: EGLContext = EGL14.EGL_NO_CONTEXT + private var config: EGLConfig? = null + private var pbuffer: EGLSurface = EGL14.EGL_NO_SURFACE + private var window: EGLSurface = EGL14.EGL_NO_SURFACE + private var oesTex = 0 + private val passes = FsrPasses(sharpness) + private lateinit var texture: SurfaceTexture + private val stMatrix = FloatArray(16) + @Volatile private var released = false + var frames = 0L + private set + + /** The surface the decoder renders into. */ + lateinit var inputSurface: Surface + private set + + init { + val ready = CountDownLatch(1) + var error: Throwable? = null + handler.post { + try { setUp() } catch (t: Throwable) { error = t } + ready.countDown() + } + ready.await(5, TimeUnit.SECONDS) + error?.let { release(); throw RuntimeException("FSR setup failed: ${it.message}", it) } + if (!this::inputSurface.isInitialized) { release(); throw RuntimeException("FSR setup timed out") } + } + + private fun setUp() { + display = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY) + val ver = IntArray(2) + check(EGL14.eglInitialize(display, ver, 0, ver, 1)) { "eglInitialize" } + val attrs = intArrayOf(EGL14.EGL_RED_SIZE, 8, EGL14.EGL_GREEN_SIZE, 8, EGL14.EGL_BLUE_SIZE, 8, + EGL14.EGL_RENDERABLE_TYPE, EGLExt.EGL_OPENGL_ES3_BIT_KHR, EGL14.EGL_SURFACE_TYPE, EGL14.EGL_WINDOW_BIT or EGL14.EGL_PBUFFER_BIT, + EGL14.EGL_NONE) + val configs = arrayOfNulls(1) + val n = IntArray(1) + check(EGL14.eglChooseConfig(display, attrs, 0, configs, 0, 1, n, 0) && n[0] > 0) { "eglChooseConfig" } + config = configs[0] + context = EGL14.eglCreateContext(display, config, EGL14.EGL_NO_CONTEXT, intArrayOf(EGL14.EGL_CONTEXT_CLIENT_VERSION, 3, EGL14.EGL_NONE), 0) + check(context != EGL14.EGL_NO_CONTEXT) { "eglCreateContext" } + pbuffer = EGL14.eglCreatePbufferSurface(display, config, intArrayOf(EGL14.EGL_WIDTH, 1, EGL14.EGL_HEIGHT, 1, EGL14.EGL_NONE), 0) + check(EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context)) { "eglMakeCurrent" } + val t = IntArray(1) + GLES30.glGenTextures(1, t, 0); oesTex = t[0] + GLES30.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, oesTex) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_MIN_FILTER, GLES30.GL_LINEAR) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_MAG_FILTER, GLES30.GL_LINEAR) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_WRAP_S, GLES30.GL_CLAMP_TO_EDGE) + GLES30.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES30.GL_TEXTURE_WRAP_T, GLES30.GL_CLAMP_TO_EDGE) + // compile the shaders now: a GPU that can't run them fails here, and the caller shows the stream directly + passes.draw(oesTex, IDENTITY, 2, 2, 0, 0, 0, 2, 2) + texture = SurfaceTexture(oesTex).apply { + setDefaultBufferSize(videoWidth, videoHeight) + setOnFrameAvailableListener({ draw() }, handler) + } + inputSurface = Surface(texture) + Log.i(TAG, "ready: ${videoWidth}x$videoHeight, GL ${GLES30.glGetString(GLES30.GL_RENDERER)}") + } + + /** Draw to this screen surface from now on (blocks until it's in use). */ + fun attachOutput(surface: Surface) = onGl { + destroyWindow() + window = EGL14.eglCreateWindowSurface(display, config, surface, intArrayOf(EGL14.EGL_NONE), 0) + if (window == EGL14.EGL_NO_SURFACE) Log.w(TAG, "eglCreateWindowSurface failed: ${EGL14.eglGetError()}") + } + + /** Stop drawing to the screen surface before it goes away (blocks); frames are dropped until [attachOutput]. */ + fun detachOutput() = onGl { destroyWindow() } + + private fun destroyWindow() { + if (window != EGL14.EGL_NO_SURFACE) { + EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context) + EGL14.eglDestroySurface(display, window) + window = EGL14.EGL_NO_SURFACE + } + } + + private fun draw() { + if (released) return + if (window == EGL14.EGL_NO_SURFACE) { + // nowhere to show it: take the frame anyway so the decoder doesn't stall + EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context) + texture.updateTexImage() + return + } + if (!EGL14.eglMakeCurrent(display, window, window, context)) { Log.w(TAG, "eglMakeCurrent: ${EGL14.eglGetError()}"); return } + texture.updateTexImage() + texture.getTransformMatrix(stMatrix) + val q = IntArray(1) + EGL14.eglQuerySurface(display, window, EGL14.EGL_WIDTH, q, 0); val outW = q[0] + EGL14.eglQuerySurface(display, window, EGL14.EGL_HEIGHT, q, 0); val outH = q[0] + passes.draw(oesTex, stMatrix, videoWidth, videoHeight, 0, 0, 0, outW, outH) + // the decoder's presentation time: frame pacing keeps working + EGLExt.eglPresentationTimeANDROID(display, window, texture.timestamp) + if (!EGL14.eglSwapBuffers(display, window)) Log.w(TAG, "eglSwapBuffers: ${EGL14.eglGetError()}") + frames++ + } + + /** End it (blocks briefly). Call after the decoder has let go of [inputSurface]. */ + fun release() { + if (released) return + released = true + onGl { + destroyWindow() + if (display != EGL14.EGL_NO_DISPLAY && context != EGL14.EGL_NO_CONTEXT) { + EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context) + passes.release() + } + if (this::inputSurface.isInitialized) inputSurface.release() + if (this::texture.isInitialized) texture.release() + if (display != EGL14.EGL_NO_DISPLAY) { + EGL14.eglMakeCurrent(display, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_CONTEXT) + if (pbuffer != EGL14.EGL_NO_SURFACE) EGL14.eglDestroySurface(display, pbuffer) + if (context != EGL14.EGL_NO_CONTEXT) EGL14.eglDestroyContext(display, context) + EGL14.eglTerminate(display) + } + display = EGL14.EGL_NO_DISPLAY + } + thread.quitSafely() + } + + private fun onGl(block: () -> Unit) { + if (Thread.currentThread() === thread) { block(); return } + val done = CountDownLatch(1) + if (!handler.post { try { block() } finally { done.countDown() } }) return + done.await(2, TimeUnit.SECONDS) + } + + companion object { + private const val TAG = "MoonCast-FSR" + + /** Settings: Super resolution (off / fsr1) and its Sharpening (0..100). */ + const val PREF = "mc_super_resolution" + const val SHARPNESS_PREF = "mc_fsr_sharpness" + const val DEFAULT_SHARPNESS = 60 + + private val IDENTITY = floatArrayOf(1f, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f) + + /** Worth it only when the stream is clearly smaller than the screen surface. */ + fun worthIt(videoHeight: Int, outHeight: Int) = outHeight > videoHeight * 1.1 + + /** Settings, Picture, Super resolution is FSR 1.0. */ + fun enabled(prefs: android.content.SharedPreferences) = prefs.getString(PREF, "off") == "fsr1" + + /** Settings, Picture, Sharpening as 0..1. */ + fun sharpness(prefs: android.content.SharedPreferences) = prefs.getInt(SHARPNESS_PREF, DEFAULT_SHARPNESS) / 100f + } +} + +/** + * Super resolution for Xbox: WebRTC's SurfaceViewRenderer draws each frame through this GlDrawer, on its own GL thread. + * Hardware-decoded frames (OES) take the FSR passes when they're clearly smaller than the view; everything else, and + * any GPU without OpenGL ES 3, goes to WebRTC's own drawer. + */ +class FsrGlDrawer(sharpness: Float) : org.webrtc.RendererCommon.GlDrawer { + private val plain = org.webrtc.GlRectDrawer() + private val passes = FsrPasses(sharpness) + private var es3: Boolean? = null + private var logged = false + + override fun drawOes(oesTextureId: Int, texMatrix: FloatArray, frameWidth: Int, frameHeight: Int, + viewportX: Int, viewportY: Int, viewportWidth: Int, viewportHeight: Int) { + if (es3 == null) { + val v = GLES30.glGetString(GLES30.GL_VERSION) ?: "" + es3 = Regex("OpenGL ES (\\d+)").find(v)?.groupValues?.get(1)?.toIntOrNull()?.let { it >= 3 } ?: false + Log.i("MoonCast-FSR", "Xbox drawer: $v -> ${if (es3 == true) "FSR" else "plain"}") + } + if (es3 == true && FsrRenderer.worthIt(frameHeight, viewportHeight)) { + try { + if (!logged) { Log.i("MoonCast-FSR", "Xbox: ${frameWidth}x$frameHeight to ${viewportWidth}x$viewportHeight"); logged = true } + passes.draw(oesTextureId, texMatrix, frameWidth, frameHeight, 0, viewportX, viewportY, viewportWidth, viewportHeight) + return + } catch (e: RuntimeException) { + Log.w("MoonCast-FSR", "Xbox FSR failed, drawing plain: $e"); es3 = false + } + } + plain.drawOes(oesTextureId, texMatrix, frameWidth, frameHeight, viewportX, viewportY, viewportWidth, viewportHeight) + } + + override fun drawRgb(textureId: Int, texMatrix: FloatArray, frameWidth: Int, frameHeight: Int, + viewportX: Int, viewportY: Int, viewportWidth: Int, viewportHeight: Int) = + plain.drawRgb(textureId, texMatrix, frameWidth, frameHeight, viewportX, viewportY, viewportWidth, viewportHeight) + + override fun drawYuv(yuvTextures: IntArray, texMatrix: FloatArray, frameWidth: Int, frameHeight: Int, + viewportX: Int, viewportY: Int, viewportWidth: Int, viewportHeight: Int) = + plain.drawYuv(yuvTextures, texMatrix, frameWidth, frameHeight, viewportX, viewportY, viewportWidth, viewportHeight) + + override fun release() { + plain.release() + if (es3 == true) try { passes.release() } catch (e: RuntimeException) { } + } +} diff --git a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java index e3a910b1d6..6400927809 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java @@ -273,6 +273,13 @@ public void setRenderTarget(SurfaceHolder renderTarget) { this.renderTarget = renderTarget; } + // MoonCast: Super resolution. The decoder renders into FSR's surface instead of the screen's + private android.view.Surface surfaceOverride; + + public void setSurfaceOverride(android.view.Surface surface) { + this.surfaceOverride = surface; + } + public MediaCodecDecoderRenderer(Activity activity, PreferenceConfiguration prefs, CrashListener crashListener, int consecutiveCrashCount, boolean meteredData, boolean requestedHdr, @@ -516,7 +523,7 @@ else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { LimeLog.info("Configuring with format: "+format); - videoDecoder.configure(format, renderTarget.getSurface(), null, 0); + videoDecoder.configure(format, surfaceOverride != null ? surfaceOverride : renderTarget.getSurface(), null, 0); configuredFormat = format; diff --git a/app/src/tv/java/com/limelight/home/HomeActivity.kt b/app/src/tv/java/com/limelight/home/HomeActivity.kt index 01d2a29888..433b2419c8 100644 --- a/app/src/tv/java/com/limelight/home/HomeActivity.kt +++ b/app/src/tv/java/com/limelight/home/HomeActivity.kt @@ -984,7 +984,7 @@ class HomeActivity : Activity(), PhoneLink.Listener { action(list, "set:customrate", "Custom bitrate", "Any value between the steps above, in Mbps", if (customRate) "${kbps / 1000} Mbps" else "Off") { customBitrate(kbps) } choice(list, com.limelight.binding.video.FsrRenderer.PREF, "Super resolution", - "Sharper picture when the stream is smaller than this TV (AMD FSR 1.0). PlayStation for now. Uses a little of the GPU", + "Sharper picture when the stream is smaller than this TV (AMD FSR 1.0), on PC, PS5 and Xbox. Not with HDR. Uses a little of the GPU", listOf("Off" to "off", "FSR 1.0" to "fsr1"), "off") if (stream.getString(com.limelight.binding.video.FsrRenderer.PREF, "off") == "fsr1") intChoice(list, com.limelight.binding.video.FsrRenderer.SHARPNESS_PREF, "Sharpening", "How crisp FSR makes edges. Lower it if you see halos", From 612b3aae0ac99b0190c5cad4290a9e20eff6d71b Mon Sep 17 00:00:00 2001 From: MoonCast Date: Wed, 21 Oct 2026 18:53:06 +0000 Subject: [PATCH 3/3] fix(fsr,ps5): FSR EGL setup falls back (Mali TV), decoder drops low-latency keys stepwise (test236) Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 6 +++++ .../limelight/binding/video/FsrRenderer.kt | 26 +++++++++++++------ third-party/chiaki-ng | 2 +- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff775713c7..3ccfc2796a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 1.0-test236 (2026-10-21) +- Found on the JAL TV (AQUOS, Android 11, MediaTek with a Mali GPU), PS5 over PlayStation Network at 720p: + - Super resolution didn't start there ("eglChooseConfig"): the GPU has no OpenGL ES 3 setup for both a window and an off-screen surface. FSR now tries several setups, and without an off-screen surface it works surfaceless. Before, it fell back to the plain picture, as designed. + - PS5 decoder: the TV's decoder (OMX.MS.HEVC.Decoder) refused the low-latency settings, and MoonCast dropped all of them. Now it drops them one step at a time (vendor settings, then MediaTek's low-latency decode, then Android's standard low-latency mode, then real-time priority), so a decoder keeps as many as it takes. The log says which level was used. +- The same JAL TV test passed: PS5 over PSN on OpenSSL 3 (connected in 84 s including waking the console), 60 fps, 25 ms network delay, no lost packets, Decode time 20.5 ms, and Put PS5 to rest from the Quick menu. + ## 1.0-test235 (2026-10-21) - Super resolution now works on PC and Xbox streams too, not only PS5. The FSR passes are shared (`FsrPasses`), used by: - PC: Moonlight's decoder renders into FSR's surface. FSR stays off with HDR, since its passes are 8-bit. The screen surface keeps the screen's size instead of the stream's, so FSR has room to upscale into; with Stretch, the picture is stretched by FSR. diff --git a/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt b/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt index 8eb3f6e511..6ed3aba833 100644 --- a/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt +++ b/app/src/main/java/com/limelight/binding/video/FsrRenderer.kt @@ -348,17 +348,27 @@ class FsrRenderer(private val videoWidth: Int, private val videoHeight: Int, sha display = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY) val ver = IntArray(2) check(EGL14.eglInitialize(display, ver, 0, ver, 1)) { "eglInitialize" } - val attrs = intArrayOf(EGL14.EGL_RED_SIZE, 8, EGL14.EGL_GREEN_SIZE, 8, EGL14.EGL_BLUE_SIZE, 8, - EGL14.EGL_RENDERABLE_TYPE, EGLExt.EGL_OPENGL_ES3_BIT_KHR, EGL14.EGL_SURFACE_TYPE, EGL14.EGL_WINDOW_BIT or EGL14.EGL_PBUFFER_BIT, - EGL14.EGL_NONE) + // GPUs differ in what they offer (the JAL TV's Mali had no ES 3 config that does both window and pbuffer): + // ask for the most useful first, then less. Without a pbuffer, a surfaceless context stands in for it. + val es3 = EGLExt.EGL_OPENGL_ES3_BIT_KHR + val es2 = EGL14.EGL_OPENGL_ES2_BIT + val both = EGL14.EGL_WINDOW_BIT or EGL14.EGL_PBUFFER_BIT + val tries = listOf(es3 to both, es3 to EGL14.EGL_WINDOW_BIT, es2 to both, es2 to EGL14.EGL_WINDOW_BIT) val configs = arrayOfNulls(1) val n = IntArray(1) - check(EGL14.eglChooseConfig(display, attrs, 0, configs, 0, 1, n, 0) && n[0] > 0) { "eglChooseConfig" } - config = configs[0] + var surfaces = 0 + for ((renderable, surfaceType) in tries) { + val attrs = intArrayOf(EGL14.EGL_RED_SIZE, 8, EGL14.EGL_GREEN_SIZE, 8, EGL14.EGL_BLUE_SIZE, 8, + EGL14.EGL_RENDERABLE_TYPE, renderable, EGL14.EGL_SURFACE_TYPE, surfaceType, EGL14.EGL_NONE) + if (EGL14.eglChooseConfig(display, attrs, 0, configs, 0, 1, n, 0) && n[0] > 0) { config = configs[0]; surfaces = surfaceType; break } + } + check(config != null) { "eglChooseConfig: no RGB888 window config (${EGL14.eglGetError()})" } context = EGL14.eglCreateContext(display, config, EGL14.EGL_NO_CONTEXT, intArrayOf(EGL14.EGL_CONTEXT_CLIENT_VERSION, 3, EGL14.EGL_NONE), 0) - check(context != EGL14.EGL_NO_CONTEXT) { "eglCreateContext" } - pbuffer = EGL14.eglCreatePbufferSurface(display, config, intArrayOf(EGL14.EGL_WIDTH, 1, EGL14.EGL_HEIGHT, 1, EGL14.EGL_NONE), 0) - check(EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context)) { "eglMakeCurrent" } + check(context != EGL14.EGL_NO_CONTEXT) { "eglCreateContext ES 3 (${EGL14.eglGetError()})" } + if (surfaces and EGL14.EGL_PBUFFER_BIT != 0) + pbuffer = EGL14.eglCreatePbufferSurface(display, config, intArrayOf(EGL14.EGL_WIDTH, 1, EGL14.EGL_HEIGHT, 1, EGL14.EGL_NONE), 0) + check(EGL14.eglMakeCurrent(display, pbuffer, pbuffer, context)) { "eglMakeCurrent ${if (pbuffer == EGL14.EGL_NO_SURFACE) "surfaceless" else "pbuffer"} (${EGL14.eglGetError()})" } + Log.i(TAG, "EGL: ${if (surfaces and EGL14.EGL_PBUFFER_BIT != 0) "pbuffer" else "surfaceless"}, GL ${GLES30.glGetString(GLES30.GL_VERSION)}") val t = IntArray(1) GLES30.glGenTextures(1, t, 0); oesTex = t[0] GLES30.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, oesTex) diff --git a/third-party/chiaki-ng b/third-party/chiaki-ng index 5d5411183d..c5fa7fad63 160000 --- a/third-party/chiaki-ng +++ b/third-party/chiaki-ng @@ -1 +1 @@ -Subproject commit 5d5411183dca913725d2d0b8210660e058bf01dc +Subproject commit c5fa7fad63d56e08fc503c3b746bec4824dfaabc