cv::Canny() SSE2, NEON and regular should be mutually exclusive during compile time (Bug #3956)


Added by Ayberk Özgür over 10 years ago. Updated over 10 years ago.


Status:Cancelled Start date:2014-10-15
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:-
Affected version:branch 'master' (3.0-dev) Operating System:Any
Difficulty:Easy HW Platform:Any
Pull request:

Description

This is probably just an overlook, but in canny.cpp, lines 347~363, lines 365~372 and lines 374~375 seem to be calculating the same thing. Therefore, lines 374~375 should be inside `#else ... #endif`.

The same is true for lines 381~397, lines 399~409 and lines 411~412 where lines 411~412 should be inside `#else ... #endif`.


Associated revisions

Revision 26e3bcb9
Added by Vadim Pisarevsky almost 10 years ago

Merge pull request #3956 from ilya-lavrenov:cuda_aarch64

History

Updated by Ayberk Özgür over 10 years ago

Is there any update on this, or should I prepare a PR?

Updated by Ilya Lavrenov over 10 years ago

Hi Ayberk,
All is ok there. First of all, SSE and NEON are already mutual exclusive. Besides, these pieces of code use the same index `j` and typical scenario is:
1. Either SSE or NEON computes the most of the iterations
2. Regular code computes the rest part of iterations that is less then 4 (because both SSE and NEON use vectors with length 4)

So, I'm closing this ticket. Fill free to reopen if you are not agree.

  • Status changed from New to Cancelled

Also available in: Atom PDF