Created attachment 137252 [details] Patches to fix this bug In forward mode every frame stores the delta from the previous frame, in reverse mode it stores the delta to the next frame. This causes images to use the wrong delta while assembling in forward mode. In reverse mode is also bug. The last image is always misplaced because the sign of the delta vector isn't corrected. I attached patches for both bugs.
Created attachment 139758 [details] [review] assembling: Fix assembling of frames for non-reverse stripes
Created attachment 139759 [details] [review] assembling: Fix assembling of last frame in reverse mode
Vasily, any chance you could review this?
(In reply to Timur Celik from comment #0) > Created attachment 137252 [details] > Patches to fix this bug > > In forward mode every frame stores the delta from the previous frame, in > reverse mode it stores the delta to the next frame. This causes images to > use the wrong delta while assembling in forward mode. > > In reverse mode is also bug. The last image is always misplaced because the > sign of the delta vector isn't corrected. > > I attached patches for both bugs. Would be good if you could mention in which cases you saw the problems (particular device, or method), and the result of each patch (could enroll but not verify, could not enroll, etc.)
The device I use is [04f3:0903] Elan Microelectronics Corp, but both bugs should be noticeable with any device by taking a look at the assembled scan. However the resulting error may be more noticeable for reader's that provide relatively large frames (~96x96px). The broken assembling in forward mode will create a small error for linear motion, because the delta of all frames is approximately the same in this case. But if you move your finger, stop and then continue moving in a single scan, the misplaced frames should be visible in the assembled output. The misplaced frame in reverse mode is always there and naturally more visible for a large sensor size. Both bugs resulted in some false positives and bad authentication in general.
(In reply to Bastien Nocera from comment #3) > Vasily, any chance you could review this? Looks good to me.
Created attachment 139844 [details] [review] assembling: Fix assembling of frames for non-reverse stripes Every frame stores the delta from the previous frame, in reverse mode it stores the delta to the next frame. This causes images to use the wrong delta while assembling in forward mode. The broken assembling in forward mode will create a small error for linear motion, because the delta of all frames is approximately the same in this case. But if you move your finger, stop and then continue moving in a single scan, the misplaced frames should be visible in the assembled output. This could result in false positives and verification failing.
Created attachment 139845 [details] [review] assembling: Fix assembling of last frame in reverse mode The last image is always misplaced because the sign of the delta vector isn't corrected. This could result in false positives and verification failing.
Attachment 139844 [details] pushed as 37bb59d - assembling: Fix assembling of frames for non-reverse stripes Attachment 139845 [details] pushed as 0215483 - assembling: Fix assembling of last frame in reverse mode
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.