Skip to content
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

libyuv: add scaling support to YUV input before converting to RGB #4209

Closed
totaam opened this issue May 2, 2024 · 1 comment
Closed

libyuv: add scaling support to YUV input before converting to RGB #4209

totaam opened this issue May 2, 2024 · 1 comment
Labels
encoding enhancement New feature or request

Comments

@totaam
Copy link
Collaborator

totaam commented May 2, 2024

See also 65bb2fd which allows cairo (the "non-opengl" rendering backend) to scale when painting.
This was needed for painting downscaled video.
But libyuv is probably faster than cairo. Worth checking too.

@totaam
Copy link
Collaborator Author

totaam commented Jul 18, 2024

Needed the fix above to get the csc step to provide unscaled images to paint_image_wrapper method.

Tested briefly with glxspheres64 and --opengl=no on a 4k 60Hz monitor, looking at the fps values reported by the server:

  • with cairo doing the scaling:
client.window.5.damage.fps=8
client.window.5.encoder.fps=8
client.window.5.video_subregion.fps=8
  • with libyuv doing it:
client.window.6.damage.fps=15
client.window.6.encoder.fps=17
client.window.6.video_subregion.fps=14

It fluctuates slightly more, but it is also twice as fast.
Case closed.

@totaam totaam closed this as completed Jul 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
encoding enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant