You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For video receivers, cyndilib recomputes the line-stride in the calc_fourcc_pack_info function instead of using the line-stride declared in the NDIlib_video_frame_v2_t struct.
For most resolution this works fine but some non-standard resolution add some line padding.
In practice, this causes cyndilib to consider that the data buffer is actually shorter than it really is. The get_array function of a video frame returns incomplete data and trying to display it results in a jumbled image.
Here is a screenshot of OBS sending three color bands as a 300x700 rgba image through the OBS-NDI plugin and cyndilib receiving it.
This also happens with the RecvColorFormat.UYVY_RGBA flag, which can also contain padding which cyndilb ignores.
I have a simple fix for this for which I'll open a PR soon.
The text was updated successfully, but these errors were encountered:
For video receivers, cyndilib recomputes the line-stride in the
calc_fourcc_pack_info
function instead of using the line-stride declared in theNDIlib_video_frame_v2_t
struct.For most resolution this works fine but some non-standard resolution add some line padding.
In practice, this causes
cyndilib
to consider that the data buffer is actually shorter than it really is. Theget_array
function of a video frame returns incomplete data and trying to display it results in a jumbled image.Here is a screenshot of OBS sending three color bands as a 300x700 rgba image through the OBS-NDI plugin and cyndilib receiving it.
This also happens with the
RecvColorFormat.UYVY_RGBA
flag, which can also contain padding whichcyndilb
ignores.I have a simple fix for this for which I'll open a PR soon.
The text was updated successfully, but these errors were encountered: