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

Color Y formats #12399

Merged
merged 4 commits into from Nov 16, 2023
Merged

Color Y formats #12399

merged 4 commits into from Nov 16, 2023

Conversation

maloel
Copy link
Collaborator

@maloel maloel commented Nov 13, 2023

  • remove Y16 from color formats; tracked on [RSDSO-19329]
  • d500_color processing-blocks now in register_color_processing_blocks()
  • 5e using YUYV instead of M420
  • add Y8 to dds supported color formats; tracked on [LRS-870]
  • fix YUYV -> Y8 SSE conversion (wasn't showing right); tracked on [RSDSO-19402]

@maloel maloel requested a review from Nir-Az November 13, 2023 12:53
__m128i y0 = _mm_shuffle_epi8(s0, _mm_setr_epi8(1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 14));
__m128i y1 = _mm_shuffle_epi8(s1, _mm_setr_epi8(0, 2, 4, 6, 8, 10, 12, 14, 1, 3, 5, 7, 9, 11, 13, 15));
_mm_storeu_si128(&dst[i], _mm_alignr_epi8(y0, y1, 8));
const __m128i vmask = _mm_set1_epi16( 0x00ff );
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain the issue?
We had color Y8 working a few month ago

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

03/08 color Y8 on ROS
image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh now sure if SSE was enabled

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It wasn't working for me. I can show you.
I checked the non-SSE mode, and it works fine. It's only this specific code that doesn't work.
And I cannot say I understand the code that was there before. I understand this code I wrote.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SamerKhshiboun can you check if SSE is enabled on your NUC where you captured this recording?
This was a client request so I want to make sure we don't ruin it somehow (even on ROS)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I verified and found it work on D500 because we use M420 to Y8.
Issue is in YUYV to Y8

@@ -123,15 +123,6 @@ namespace librealsense
_ds_color_common->register_metadata();
}

void d500_color::register_processing_blocks()
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this will have to be implemented on -priv when merged there.

Copy link
Collaborator

@Nir-Az Nir-Az left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
Please pend with merging as it has effect on D500.
Once we merge #12395 I will align and we can add this

@maloel maloel merged commit 08d9d37 into IntelRealSense:development Nov 16, 2023
17 checks passed
@maloel maloel deleted the color-format branch November 16, 2023 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants