-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
Prevent unnecessary colorspace conversions (regression in #4163) #4192
Conversation
Looks good to me as well. |
{ | ||
m_formats.push_back(RENDER_FMT_YUV420P10); | ||
m_formats.push_back(RENDER_FMT_YUV420P16); | ||
} |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@Voyager1 can't comment on that one as its not my area of knowledge. Pull it in if you guys and elupus are fine with it. |
else | ||
return 0; | ||
if (!m_processor->PreInit()) | ||
CLog::Log(LOGNOTICE, "CWinRenderer::Preinit - could not init DXVA2 processor - skipping"); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Not sure whether this still has a chance of getting merged or #4201 is preferred now. |
{ | ||
m_renderMethod = RENDER_DXVA; | ||
break; | ||
} |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
I noticed an issue. CWinRenderer::Configure can be called multiple times with different foramts without PreInit being called inbetween. Thus SelectRenderMethod can not delete m_processor if we don't create it there. |
I guess that's the answer why "m_processor->Close();" instead of SAFE_DELETE in SelectRenderMethod(). Admitted, I didn't think that far, I just figured it's that way for a reason and kept it as is... ;-) |
Fixed indent (grml...), changed formatting and added brackets for readability. |
I'm alright with this pull now. I've not tested it thou, so that needs to be done. jenkins build this please |
just tested with hi10p material, on the following renderer settings dxva, pixelshaders, automatic. All works fine, the only thing is I cannot see in PS mode whether the color space is converted or not, my eyes aren't that precise :) |
Not when pressing 'o', but if you check the debug log. There's a line that tells you which color space is being used as destination. If you play a Hi10P file w/ PS rendering without this second patch, it's going to say that the destination color space is "YV12". With this patch, it says "YV12P10". Can't tell you the exact wording since I'm still at work and can't check my saved logs. But I believe that it says "YV12" and "YV12P10", not "YUV420P" and "YUV420P10". Should be easy to find the line. |
ok, thanks that was easy:
all others (Software, PS, Auto)
And indeed I also tested without the patch and I'm only getting YV12. |
@elupus Your button |
Don't have much to test with but I'm fine with @Voyager1 tests. |
Apologies button accident... Reopened |
@elupus - if no further comments, please hit the merge button. |
Prevent unnecessary colorspace conversions (regression in #4163)
Previous PR disables all color spaces except YV12 for all renderers in Windows, not just for DXVA2/-HD. See forum for details: http://forum.xbmc.org/showthread.php?tid=183975&pid=1621870#pid1621870
This is the same patch minus the debug code.