{"action":"closed","number":7222,"pull_request":{"url":"https://api.github.com/repos/opencv/opencv/pulls/7222","id":83846021,"html_url":"https://github.com/opencv/opencv/pull/7222","diff_url":"https://github.com/opencv/opencv/pull/7222.diff","patch_url":"https://github.com/opencv/opencv/pull/7222.patch","issue_url":"https://api.github.com/repos/opencv/opencv/issues/7222","number":7222,"state":"closed","locked":false,"title":"Improve findContours using SSE2 instruction to find next contour","user":{"login":"mschoeneck","id":15895266,"avatar_url":"https://avatars.githubusercontent.com/u/15895266?v=3","gravatar_id":"","url":"https://api.github.com/users/mschoeneck","html_url":"https://github.com/mschoeneck","followers_url":"https://api.github.com/users/mschoeneck/followers","following_url":"https://api.github.com/users/mschoeneck/following{/other_user}","gists_url":"https://api.github.com/users/mschoeneck/gists{/gist_id}","starred_url":"https://api.github.com/users/mschoeneck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mschoeneck/subscriptions","organizations_url":"https://api.github.com/users/mschoeneck/orgs","repos_url":"https://api.github.com/users/mschoeneck/repos","events_url":"https://api.github.com/users/mschoeneck/events{/privacy}","received_events_url":"https://api.github.com/users/mschoeneck/received_events","type":"User","site_admin":false},"body":"<!-- Please use this line to close one or multiple issues when this pullrequest gets merged\r\nYou can add another line right under the first one:\r\nresolves #1234\r\nresolves #1235\r\n-->\r\n\r\nImprove findContours by using SSE2 instruction to find next contour point. Also the code is cleaned up a little bit.\r\n\r\n<!-- Please describe what your pullrequest is changing -->\r\n\r\nI have added a trailing zeros wrapper function for this in contours.cpp because every compiler has its own implementation. I think this could be used on several places. So it would be great if it could be implemented in a more global location in the library, but for this I need an advice.\r\n\r\nI have added native implementations for Visual Studio and GCC. The rest has to use a general calculation. Perhabs I can implement more compiler specific implementations.","created_at":"2016-09-02T18:34:47Z","updated_at":"2016-10-05T11:21:45Z","closed_at":"2016-10-05T11:21:45Z","merged_at":"2016-10-05T11:21:45Z","merge_commit_sha":"975d2e4294e4eac113be996c2e6a8abf4d951c36","assignee":{"login":"vpisarev","id":2110786,"avatar_url":"https://avatars.githubusercontent.com/u/2110786?v=3","gravatar_id":"","url":"https://api.github.com/users/vpisarev","html_url":"https://github.com/vpisarev","followers_url":"https://api.github.com/users/vpisarev/followers","following_url":"https://api.github.com/users/vpisarev/following{/other_user}","gists_url":"https://api.github.com/users/vpisarev/gists{/gist_id}","starred_url":"https://api.github.com/users/vpisarev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vpisarev/subscriptions","organizations_url":"https://api.github.com/users/vpisarev/orgs","repos_url":"https://api.github.com/users/vpisarev/repos","events_url":"https://api.github.com/users/vpisarev/events{/privacy}","received_events_url":"https://api.github.com/users/vpisarev/received_events","type":"User","site_admin":false},"assignees":[{"login":"vpisarev","id":2110786,"avatar_url":"https://avatars.githubusercontent.com/u/2110786?v=3","gravatar_id":"","url":"https://api.github.com/users/vpisarev","html_url":"https://github.com/vpisarev","followers_url":"https://api.github.com/users/vpisarev/followers","following_url":"https://api.github.com/users/vpisarev/following{/other_user}","gists_url":"https://api.github.com/users/vpisarev/gists{/gist_id}","starred_url":"https://api.github.com/users/vpisarev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vpisarev/subscriptions","organizations_url":"https://api.github.com/users/vpisarev/orgs","repos_url":"https://api.github.com/users/vpisarev/repos","events_url":"https://api.github.com/users/vpisarev/events{/privacy}","received_events_url":"https://api.github.com/users/vpisarev/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/opencv/opencv/pulls/7222/commits","review_comments_url":"https://api.github.com/repos/opencv/opencv/pulls/7222/comments","review_comment_url":"https://api.github.com/repos/opencv/opencv/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opencv/opencv/issues/7222/comments","statuses_url":"https://api.github.com/repos/opencv/opencv/statuses/975d2e4294e4eac113be996c2e6a8abf4d951c36","head":{"label":"mschoeneck:Improve_findContours_with_SSE2","ref":"Improve_findContours_with_SSE2","sha":"975d2e4294e4eac113be996c2e6a8abf4d951c36","user":{"login":"mschoeneck","id":15895266,"avatar_url":"https://avatars.githubusercontent.com/u/15895266?v=3","gravatar_id":"","url":"https://api.github.com/users/mschoeneck","html_url":"https://github.com/mschoeneck","followers_url":"https://api.github.com/users/mschoeneck/followers","following_url":"https://api.github.com/users/mschoeneck/following{/other_user}","gists_url":"https://api.github.com/users/mschoeneck/gists{/gist_id}","starred_url":"https://api.github.com/users/mschoeneck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mschoeneck/subscriptions","organizations_url":"https://api.github.com/users/mschoeneck/orgs","repos_url":"https://api.github.com/users/mschoeneck/repos","events_url":"https://api.github.com/users/mschoeneck/events{/privacy}","received_events_url":"https://api.github.com/users/mschoeneck/received_events","type":"User","site_admin":false},"repo":{"id":63713063,"name":"opencv","full_name":"mschoeneck/opencv","owner":{"login":"mschoeneck","id":15895266,"avatar_url":"https://avatars.githubusercontent.com/u/15895266?v=3","gravatar_id":"","url":"https://api.github.com/users/mschoeneck","html_url":"https://github.com/mschoeneck","followers_url":"https://api.github.com/users/mschoeneck/followers","following_url":"https://api.github.com/users/mschoeneck/following{/other_user}","gists_url":"https://api.github.com/users/mschoeneck/gists{/gist_id}","starred_url":"https://api.github.com/users/mschoeneck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mschoeneck/subscriptions","organizations_url":"https://api.github.com/users/mschoeneck/orgs","repos_url":"https://api.github.com/users/mschoeneck/repos","events_url":"https://api.github.com/users/mschoeneck/events{/privacy}","received_events_url":"https://api.github.com/users/mschoeneck/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mschoeneck/opencv","description":"Open Source Computer Vision Library","fork":true,"url":"https://api.github.com/repos/mschoeneck/opencv","forks_url":"https://api.github.com/repos/mschoeneck/opencv/forks","keys_url":"https://api.github.com/repos/mschoeneck/opencv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mschoeneck/opencv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mschoeneck/opencv/teams","hooks_url":"https://api.github.com/repos/mschoeneck/opencv/hooks","issue_events_url":"https://api.github.com/repos/mschoeneck/opencv/issues/events{/number}","events_url":"https://api.github.com/repos/mschoeneck/opencv/events","assignees_url":"https://api.github.com/repos/mschoeneck/opencv/assignees{/user}","branches_url":"https://api.github.com/repos/mschoeneck/opencv/branches{/branch}","tags_url":"https://api.github.com/repos/mschoeneck/opencv/tags","blobs_url":"https://api.github.com/repos/mschoeneck/opencv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mschoeneck/opencv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mschoeneck/opencv/git/refs{/sha}","trees_url":"https://api.github.com/repos/mschoeneck/opencv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mschoeneck/opencv/statuses/{sha}","languages_url":"https://api.github.com/repos/mschoeneck/opencv/languages","stargazers_url":"https://api.github.com/repos/mschoeneck/opencv/stargazers","contributors_url":"https://api.github.com/repos/mschoeneck/opencv/contributors","subscribers_url":"https://api.github.com/repos/mschoeneck/opencv/subscribers","subscription_url":"https://api.github.com/repos/mschoeneck/opencv/subscription","commits_url":"https://api.github.com/repos/mschoeneck/opencv/commits{/sha}","git_commits_url":"https://api.github.com/repos/mschoeneck/opencv/git/commits{/sha}","comments_url":"https://api.github.com/repos/mschoeneck/opencv/comments{/number}","issue_comment_url":"https://api.github.com/repos/mschoeneck/opencv/issues/comments{/number}","contents_url":"https://api.github.com/repos/mschoeneck/opencv/contents/{+path}","compare_url":"https://api.github.com/repos/mschoeneck/opencv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mschoeneck/opencv/merges","archive_url":"https://api.github.com/repos/mschoeneck/opencv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mschoeneck/opencv/downloads","issues_url":"https://api.github.com/repos/mschoeneck/opencv/issues{/number}","pulls_url":"https://api.github.com/repos/mschoeneck/opencv/pulls{/number}","milestones_url":"https://api.github.com/repos/mschoeneck/opencv/milestones{/number}","notifications_url":"https://api.github.com/repos/mschoeneck/opencv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mschoeneck/opencv/labels{/name}","releases_url":"https://api.github.com/repos/mschoeneck/opencv/releases{/id}","deployments_url":"https://api.github.com/repos/mschoeneck/opencv/deployments","created_at":"2016-07-19T17:08:14Z","updated_at":"2016-07-19T17:08:27Z","pushed_at":"2016-09-24T11:32:47Z","git_url":"git://github.com/mschoeneck/opencv.git","ssh_url":"git@github.com:mschoeneck/opencv.git","clone_url":"https://github.com/mschoeneck/opencv.git","svn_url":"https://github.com/mschoeneck/opencv","homepage":"opencv.org","size":426595,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"opencv:master","ref":"master","sha":"473dba118978f8fd899759378847d7730adae1bd","user":{"login":"opencv","id":5009934,"avatar_url":"https://avatars.githubusercontent.com/u/5009934?v=3","gravatar_id":"","url":"https://api.github.com/users/opencv","html_url":"https://github.com/opencv","followers_url":"https://api.github.com/users/opencv/followers","following_url":"https://api.github.com/users/opencv/following{/other_user}","gists_url":"https://api.github.com/users/opencv/gists{/gist_id}","starred_url":"https://api.github.com/users/opencv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencv/subscriptions","organizations_url":"https://api.github.com/users/opencv/orgs","repos_url":"https://api.github.com/users/opencv/repos","events_url":"https://api.github.com/users/opencv/events{/privacy}","received_events_url":"https://api.github.com/users/opencv/received_events","type":"Organization","site_admin":false},"repo":{"id":5108051,"name":"opencv","full_name":"opencv/opencv","owner":{"login":"opencv","id":5009934,"avatar_url":"https://avatars.githubusercontent.com/u/5009934?v=3","gravatar_id":"","url":"https://api.github.com/users/opencv","html_url":"https://github.com/opencv","followers_url":"https://api.github.com/users/opencv/followers","following_url":"https://api.github.com/users/opencv/following{/other_user}","gists_url":"https://api.github.com/users/opencv/gists{/gist_id}","starred_url":"https://api.github.com/users/opencv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencv/subscriptions","organizations_url":"https://api.github.com/users/opencv/orgs","repos_url":"https://api.github.com/users/opencv/repos","events_url":"https://api.github.com/users/opencv/events{/privacy}","received_events_url":"https://api.github.com/users/opencv/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opencv/opencv","description":"Open Source Computer Vision Library","fork":false,"url":"https://api.github.com/repos/opencv/opencv","forks_url":"https://api.github.com/repos/opencv/opencv/forks","keys_url":"https://api.github.com/repos/opencv/opencv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opencv/opencv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opencv/opencv/teams","hooks_url":"https://api.github.com/repos/opencv/opencv/hooks","issue_events_url":"https://api.github.com/repos/opencv/opencv/issues/events{/number}","events_url":"https://api.github.com/repos/opencv/opencv/events","assignees_url":"https://api.github.com/repos/opencv/opencv/assignees{/user}","branches_url":"https://api.github.com/repos/opencv/opencv/branches{/branch}","tags_url":"https://api.github.com/repos/opencv/opencv/tags","blobs_url":"https://api.github.com/repos/opencv/opencv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opencv/opencv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opencv/opencv/git/refs{/sha}","trees_url":"https://api.github.com/repos/opencv/opencv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opencv/opencv/statuses/{sha}","languages_url":"https://api.github.com/repos/opencv/opencv/languages","stargazers_url":"https://api.github.com/repos/opencv/opencv/stargazers","contributors_url":"https://api.github.com/repos/opencv/opencv/contributors","subscribers_url":"https://api.github.com/repos/opencv/opencv/subscribers","subscription_url":"https://api.github.com/repos/opencv/opencv/subscription","commits_url":"https://api.github.com/repos/opencv/opencv/commits{/sha}","git_commits_url":"https://api.github.com/repos/opencv/opencv/git/commits{/sha}","comments_url":"https://api.github.com/repos/opencv/opencv/comments{/number}","issue_comment_url":"https://api.github.com/repos/opencv/opencv/issues/comments{/number}","contents_url":"https://api.github.com/repos/opencv/opencv/contents/{+path}","compare_url":"https://api.github.com/repos/opencv/opencv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opencv/opencv/merges","archive_url":"https://api.github.com/repos/opencv/opencv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opencv/opencv/downloads","issues_url":"https://api.github.com/repos/opencv/opencv/issues{/number}","pulls_url":"https://api.github.com/repos/opencv/opencv/pulls{/number}","milestones_url":"https://api.github.com/repos/opencv/opencv/milestones{/number}","notifications_url":"https://api.github.com/repos/opencv/opencv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opencv/opencv/labels{/name}","releases_url":"https://api.github.com/repos/opencv/opencv/releases{/id}","deployments_url":"https://api.github.com/repos/opencv/opencv/deployments","created_at":"2012-07-19T09:40:17Z","updated_at":"2016-10-05T09:19:52Z","pushed_at":"2016-10-05T11:21:40Z","git_url":"git://github.com/opencv/opencv.git","ssh_url":"git@github.com:opencv/opencv.git","clone_url":"https://github.com/opencv/opencv.git","svn_url":"https://github.com/opencv/opencv","homepage":"opencv.org","size":1086661,"stargazers_count":11397,"watchers_count":11397,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9330,"mirror_url":null,"open_issues_count":987,"forks":9330,"open_issues":987,"watchers":11397,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opencv/opencv/pulls/7222"},"html":{"href":"https://github.com/opencv/opencv/pull/7222"},"issue":{"href":"https://api.github.com/repos/opencv/opencv/issues/7222"},"comments":{"href":"https://api.github.com/repos/opencv/opencv/issues/7222/comments"},"review_comments":{"href":"https://api.github.com/repos/opencv/opencv/pulls/7222/comments"},"review_comment":{"href":"https://api.github.com/repos/opencv/opencv/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opencv/opencv/pulls/7222/commits"},"statuses":{"href":"https://api.github.com/repos/opencv/opencv/statuses/975d2e4294e4eac113be996c2e6a8abf4d951c36"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"opencv-pushbot","id":2051563,"avatar_url":"https://avatars.githubusercontent.com/u/2051563?v=3","gravatar_id":"","url":"https://api.github.com/users/opencv-pushbot","html_url":"https://github.com/opencv-pushbot","followers_url":"https://api.github.com/users/opencv-pushbot/followers","following_url":"https://api.github.com/users/opencv-pushbot/following{/other_user}","gists_url":"https://api.github.com/users/opencv-pushbot/gists{/gist_id}","starred_url":"https://api.github.com/users/opencv-pushbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencv-pushbot/subscriptions","organizations_url":"https://api.github.com/users/opencv-pushbot/orgs","repos_url":"https://api.github.com/users/opencv-pushbot/repos","events_url":"https://api.github.com/users/opencv-pushbot/events{/privacy}","received_events_url":"https://api.github.com/users/opencv-pushbot/received_events","type":"User","site_admin":false},"comments":9,"review_comments":3,"commits":8,"additions":190,"deletions":29,"changed_files":1}}
{"actor":{"display_login":"opencv-pushbot"}}