-
-
Notifications
You must be signed in to change notification settings - Fork 178
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
better x264 tuning for type of content #1257
Comments
For details on tune, see: Explanation of x264 tune. ie:
Will use YUV420P csc mode, high10 profile, film tune with ultrafast preset (speed). The main question here is to figure out what is the best setting to use, both for video and non-video content. |
As of r13051, we are also more likely to use colour subsampling for video regions, and less likely to use it for other areas (the rest of the window). |
As of r13052, we will use "film" tuning (intended for high-bitrate/high-quality movie content. Lower deblocking is used here) for video regions, and "zerolatency" (optimization for fast encoding and low latency streaming) for everything else. Here's the "-d x264" output for a video region:
And for non-video (no b-frames):
This should be tested together with #800 as there is a lot of overlap. |
r13056 allows us to detect the whole window as a video region, so that we will correctly use colour subsampling and more aggressive compression settings for full screen video (or anything full screen with high fps, like glxgears). If this makes us wrongly detect the whole window as video area, we may need to tweak the video region detection code #967 (#410 - see also #1135, #1060) r13058 also exposes the tune option via xpra info: $ xpra info | grep tune
window.2.encoder.tune=film |
Ready for testing, including b-frames from #800. We want to:
Note: if we end up with a blurry window and delayed paints because the whole window is mistakenly identified as a video region then this needs to go in #967, not here. |
2016-07-25 18:32:10: maxmylyn commented
|
Anything that is mistakenly detected as a video region will end up using film.
Note: you will need to run one or more sets of tests with extra environment variables to compare with and without b-frames and tuning. |
r13436 further lowers the quality of "true" video (more than 10 frames per second, and at least 20 frames have been processed using the given video region) xpra info | grep subregion
xpra info | grep -e "window\.[0-9]*\.encoder.*" |
2016-10-28 19:59:33: maxmylyn commented
|
Closing and hoping for the best :/ |
Related to #1107, #1232 and #800.
We (almost) already know if the content we are encoding using the video encoders is really real video or just fast moving.
This is what we use to enable b-frames (#800), we should also use this to tune x264 better.
The text was updated successfully, but these errors were encountered: