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
Hi, Fig1024, your optimization is awesome, it means a lot to me. thanks!
However, i found some bugs there, and below is some of my solutions
First, according to the comment statements from https://github.com/nothings/stb.git. Maybe we should add
#define STB_IMAGE_IMPLEMENTATION
#define STB_IMAGE_WRITE_IMPLEMENTATION
at the begining of RecursiveBilateralFilter.cpp. In some situation, it couldnot pass the compile if we don't.
Second, it crash in RBFilter_SSE2.cpp,when i run your code. After debug, I found it's because out_pix4 is not defined before used in function verticalFilter
pixB = _mm_shuffle_epi8(pixB, mask_pack);
out_pix4 = _mm_srli_si128(out_pix4, 4); // shift
out_pix4 = _mm_or_si128(out_pix4, pixB);
I try to change the codes to be
if (i == 0) //
{
out_pix4 = _mm_shuffle_epi8(pixB, mask_pack);
}
else
{
pixB = _mm_shuffle_epi8(pixB, mask_pack);
First, according to the comment statements from https://github.com/nothings/stb.git. Maybe we should add
#define STB_IMAGE_IMPLEMENTATION
#define STB_IMAGE_WRITE_IMPLEMENTATION
at the begining of RecursiveBilateralFilter.cpp. In some situation, it couldnot pass the compile if we don't.
Second, it crash in RBFilter_SSE2.cpp,when i run your code. After debug, I found it's because out_pix4 is not defined before used in function verticalFilter
pixB = _mm_shuffle_epi8(pixB, mask_pack);
out_pix4 = _mm_srli_si128(out_pix4, 4); // shift
out_pix4 = _mm_or_si128(out_pix4, pixB);
I try to change the codes to be
if (i == 0) //
{
out_pix4 = _mm_shuffle_epi8(pixB, mask_pack);
}
else
{
pixB = _mm_shuffle_epi8(pixB, mask_pack);
}
It seem to work. But i'm not sure it this change is right.
Can you check here,please?
Thank you.
The text was updated successfully, but these errors were encountered: