-
-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Downsampling pixel when min-quality set as 100 #4397
Comments
What is the actual problem here?
The only
Unless you can prove that you will do the work for supporting this feature in the long term, including all the build and packaging for all platforms, I cannot merge this type of change.
That should work. Is this a desktop or seamless session? |
The actual problem is downsampling still happens. The GUI is smooth. And some region is not update correctly (until I do refresh operation in the software.)
I see,
It is a seamless session. I think it is due to "fallback"
Could be, *: I see this in the log so I think jpeg is using nvjpeg.
But you suggested not to use --encoding=jpeg and use automatic (I agree if xpra is working well). What information I can provide is that: it usually happens on partial updating (my window is 1920x1080 and in this example Xpra is trying to update 613x673. The refresh operation force my software re-draw the whole window so Xpra seems like will update whole window so, and in this case xpra usually OK. I took two pictures from MS Windows screenshot. Not easy to say the reason why but this looks like due to downsample on YUV420. I checked the server log and find quality is 100, sometime is 99 (Very few). Neither 100 or 99 should not have downsample.
|
I mean here.
I don't understand what that means.
That's because the other encodings have non-subsampled pixel formats supported at both ends.
The debug flag to get details on picture compression is |
I think Threaded Lock Contention makes the fallback mechanism, and I observed the subsampling appears with the fallback mechanism is applied. I am writing code to change to acquire(True) for blocking mode to avoid temporary fallback to verify if it is real reason.
See above.
Sure, let me add compress and check the log. |
Then the easy solution is to raise the quality for the fallback path. |
|
|
Please try to collect |
Hi Totamm, I have sent an email to [email protected] with title of "[Github Issue #4343] Video Recording of the Incorrect Rendering" All recording uses the following config. NVENC is disabled by blocking access libcuda.so.1 for Xpra.
Please consider delete these files after using. |
So, it turns out that this quite tricky to fix. I thought that adding a good AV1 decoder would solve this problem, with one major downside: this would require an It does support YUV444 input with HEVC (and I have the hardware required), but again, we don't have a decoder for it, yet. I don't really want to change the heuristics too much at this point, so I guess that I will give a bigger discount to subsampled encoders when quality is at 100%. |
Describe the bug
Threaded Lock Contention while threaded-clean thread is cleaning.
So that NVENC failed and fallback (see below)
Reason why I notice that:
See https://github.com/orgs/Xpra-org/discussions/4343#discussioncomment-10554736
I set the parameter of
--min-quality=100
on client side, but even that, theYUV420
downsampling will still appears so that I can not see rectangle clearly.To Reproduce
Steps to reproduce the behavior:
xpra start :A_DISPLAY -d video,cuda
Xpra_cmd.exe attach ssh://Server/A_DISPLAY --min-quality=100
System Information (please complete the following information):
Debug Code
Change https://github.com/Xpra-org/xpra/blob/v6.2.x/xpra/codecs/nvidia/cuda/context.py#L524
To the following:
(And import threading and also change slots)
Additional context
** Extra Comment**
Well, I really want to have a way to avoid YUV420 with Xpra 6.x Windows Client.
But now the H264 with YUV444 is not supported on Xpra 6.x Windows Client. Maybe I should consider port ffmpeg from 5.x branch? Or just use 5.x client with 6.x server?
The text was updated successfully, but these errors were encountered: