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

Improve the multithread support #1831

Open
lu-zero opened this issue Nov 5, 2019 · 4 comments
Open

Improve the multithread support #1831

lu-zero opened this issue Nov 5, 2019 · 4 comments

Comments

@lu-zero
Copy link
Collaborator

lu-zero commented Nov 5, 2019

Currently we have some of issue that are well known:

image

@lu-zero
Copy link
Collaborator Author

lu-zero commented Nov 5, 2019

The upcoming rayon solves its problems neatly:

image

And we have compute_block_importances and compute_lookahead_data that could happily live in a separate thread and not stall the rest of the encoding.

@KyleSiefring
Copy link
Collaborator

I believe compute_block_importances could be split into multiple threads similar to tiling.

@shssoichiro
Copy link
Collaborator

shssoichiro commented Nov 8, 2019

Ah, compute_block_importances should be tiled anyway or the block importances will be inaccurate for blocks that move across tile boundaries.

Edit: This might be incorrect, because it looks like we do use tiles in compute_lookahead_motion_vectors which is one of the data points block importances are based on and the one that would impact this.

@lu-zero
Copy link
Collaborator Author

lu-zero commented Nov 18, 2019

8cc2268 and 1e0a8ce resulted in ~21% speedup over Chimera 1080p with 8 tiles and >8 threads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants