SSE-optimized absdiff returns negative values on CV_32S input (Bug #1529)


Added by Andrey Kamaev about 13 years ago. Updated almost 13 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:core
Target version:2.4.0
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

Here are values of input Mat elements where results are incorrect:

absdiff=-2147476831 for a=375685183  b=-1771805282
absdiff=-2147475690 for a=966082107  b=-1181409499
absdiff=-2147483496 for a=-817265941  b=1330217859
absdiff=-2146550536 for a=-1519733149  b=628683611

Associated revisions

Revision b6ab96ae
Added by Vadim Pisarevsky almost 13 years ago

added special notice about the missing saturation in 32s case (ticket #1529)

Revision 4c7ecf20
Added by Roman Donchenko over 11 years ago

Merge pull request #1529 from vpisarev:polyfit_accuracy_2

History

Updated by Andrey Kamaev about 13 years ago

Saturation in cv::add and cv::subtract also does not work on 32S data. But the documentation says that saturation is applied in both functions.

Updated by Alexander Shishkov almost 13 years ago

  • Target version deleted ()

Updated by Alexander Shishkov almost 13 years ago

  • Assignee deleted (Vadim Pisarevsky)

Updated by Vadim Pisarevsky almost 13 years ago

thanks! in SVN trunk, r7664, the documentation on absdiff, add, addWeighted, subtract, multiply and divide has been updated to state explicitly that the saturation is not applied in 32s case.

  • Status changed from Open to Done
  • Assignee set to Vadim Pisarevsky

Updated by Alexander Shishkov almost 13 years ago

  • Target version set to 2.4.0

Also available in: Atom PDF