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
Color profile check YUV2RGB matrix #7384
base: master
Are you sure you want to change the base?
Conversation
Refer to this link for build results (access rights to CI server needed): |
d00d536
to
8ccede2
Compare
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
@alexandru-bagu looks like the |
Will check them today. I know my ssse tests didnt fail but I did run them on osx. Will setup a docker env for ubuntu. |
It seems to be an intermittent issue. Sometimes I get a test failure for |
I've spent 11 hours I think today working on this.... and it's annoying! The tests that still fail are I will need someone to review the SSE changes I made, more specifically the usage of I have not touched the neon implementation and I don't plan to, I've wrecked my brains today working on this. |
@alexandru-bagu yes, intrinsics are annoying, specifically if you are operating at the limit of the datatypes involved. (that is the reason for the conversion matrix in the spec, it is optimized for 8/16 bit data types). |
I figured out the SSE issues that were left in alexandru-bagu@3885e20 . Reverted the test to use rand() and it's all good. Due to the limitations of SSE I had to do 3 additional operations so there's no rounding done anymore. |
Squashed some commits and created a PR in your branch. akallabeth#3 |
Refer to this link for build results (access rights to CI server needed): |
bf8004f
to
18bc456
Compare
Refer to this link for build results (access rights to CI server needed): |
@alexandru-bagu damn, looks like the different implementations need some more attention, the unit test fails (generic and sse produce differing results) |
Ok, I will have another look and will let you know. |
You are missing my last 3 commits. Seems after you merge my pull-request you overwritten your branch with a force push. |
@alexandru-bagu ok, strange, I've merged your pr. well, cherry-picked them now, lets see if that works out. |
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
@llyzs maybe you can have a look at this too? |
@akallabeth I don't know what was the original issue that the PR is trying to solve, but we should not use different color matrix than specified in the MS spec. The problem could be elsewhere. |
@llyzs the issue is only visible with |
Maybe it would be worth considering whether we can have the matrix change only for decoding when we know we are connected to a Windows terminal server implementation, since that's when the issue presents itself. |
@alexandru-bagu you don´t know that, there is no way to (properly) identify the remote os |
The YUV to RGB conversion matric in [MS-RDPEGFX] 3.3.8.3.1 Color Conversion seems to produce color that is not consistent for AVC420 streams. Using a modified matrix now.
7b6c84f
to
b719ea2
Compare
Refer to this link for build results (access rights to CI server needed): |
thanks to @alexandru-bagu for doing such intensive testing :)