decklink: Output BGRA only when supported #10392
decklink: Output BGRA only when supported #10392DDRBoxman wants to merge 1 commit intoobsproject:masterfrom
Conversation
7e329d2 to
cd0ea9c
Compare
cd0ea9c to
1ee36ad
Compare
dbbdfa1 to
5a2e609
Compare
5a2e609 to
43d9742
Compare
7f04e11 to
4164313
Compare
4c6a2f4 to
927204e
Compare
RytoEX
left a comment
There was a problem hiding this comment.
Fix the commit message so that the subject is not wrapped on GitHub (70 characters or less, I think).
If you need to elaborate, use the commit message body.
Lain-B
left a comment
There was a problem hiding this comment.
Is it intentional to always lock out BGRA/RGBA if it's not HDR? Or am I misunderstanding the PR?
927204e to
17e0db8
Compare
17e0db8 to
3372f6b
Compare
|
I tweaked the logic in decklink-output.cpp to actually match correctly on HDR and keyer. It worked on my device since it supports both but this should fix compatibility on more devices. |
|
The commit message has a too long description in a line, 107 characters, limit 72.
|
RytoEX
left a comment
There was a problem hiding this comment.
@norihiro is right. Wrap the commit message body at 72 characters.
Also, nits:
- fallback -> fall back
- Only output BGRA when supported -> Output BGRA only when supported
On "fallback", the former is a noun. The latter is a verb.
If nits are addressed and @Lain-B or @jpark37 are happy with the PR itself, this should be good afterward.
3372f6b to
e502eb9
Compare
RytoEX
left a comment
There was a problem hiding this comment.
Still nit on commit message subject to place verb first:
- Only output BGRA when supported -> Output BGRA only when supported
decklink: Output BGRA only when supported
Not all devices support the BGRA pixel format in all video modes. Make sure we fall back to YUV when needed.
e502eb9 to
ebd5aa9
Compare
RytoEX
left a comment
There was a problem hiding this comment.
Nits fixed. Will await other reviews.
|
|
||
| struct video_scale_info to = {}; | ||
| to.format = VIDEO_FORMAT_BGRA; | ||
| to.format = (modeSupportsBGRA || supportsHDR) |
There was a problem hiding this comment.
Noticed that this code is "if supports BGR or HDR, use BGRA" -- wouldn't this just be "if supports BGR, use BGR"?
There was a problem hiding this comment.
It's possible I'm misunderstanding this expression though.
There was a problem hiding this comment.
yeah that probably makes more sense, I think I got confused since HDR was setup for bgra
There was a problem hiding this comment.
Hmm HDR is using bmdFormat10BitRGBXLE on the device. We should also probably check if that is supported for the current format too. And then figure out like YUV HDR?
There was a problem hiding this comment.
Probably set this back to always RGB and then do conversions on the GPU here for when we need YUV
|
Setting back to draft per off-thread conversation that the open review thread requires writing new shaders to resolve. |
I presume this is still the case? |
Description
Currently if you select a mode that doesn't support RGBA on Decklink output the image is corrupted.
Fixes #10380
Motivation and Context
#10380
How Has This Been Tested?
Sent video to the Ultra Studio 4k mini with multiple video modes
Types of changes
Checklist: