{"action":"created","issue":{"url":"https://api.github.com/repos/OSGeo/gdal/issues/712","repository_url":"https://api.github.com/repos/OSGeo/gdal","labels_url":"https://api.github.com/repos/OSGeo/gdal/issues/712/labels{/name}","comments_url":"https://api.github.com/repos/OSGeo/gdal/issues/712/comments","events_url":"https://api.github.com/repos/OSGeo/gdal/issues/712/events","html_url":"https://github.com/OSGeo/gdal/pull/712","id":335555985,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk3MjI2NzU2","number":712,"title":"RMF: Rework JPEG decoder via open /vsimem/ file","user":{"login":"drons","id":14954199,"node_id":"MDQ6VXNlcjE0OTU0MTk5","avatar_url":"https://avatars3.githubusercontent.com/u/14954199?v=4","gravatar_id":"","url":"https://api.github.com/users/drons","html_url":"https://github.com/drons","followers_url":"https://api.github.com/users/drons/followers","following_url":"https://api.github.com/users/drons/following{/other_user}","gists_url":"https://api.github.com/users/drons/gists{/gist_id}","starred_url":"https://api.github.com/users/drons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drons/subscriptions","organizations_url":"https://api.github.com/users/drons/orgs","repos_url":"https://api.github.com/users/drons/repos","events_url":"https://api.github.com/users/drons/events{/privacy}","received_events_url":"https://api.github.com/users/drons/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-25T20:29:13Z","updated_at":"2018-06-25T20:43:16Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/OSGeo/gdal/pulls/712","html_url":"https://github.com/OSGeo/gdal/pull/712","diff_url":"https://github.com/OSGeo/gdal/pull/712.diff","patch_url":"https://github.com/OSGeo/gdal/pull/712.patch"},"body":"Fully rework PR #691 via decode JPEG stream using  /vsimem/ file.\r\n\r\nPros:\r\n* Improved stability\r\n\r\nCons:\r\n* Performance overhead ~1.5 in comparison with the previous version 7d74797f29275df6697507883428bcf16466f5dd \r\n"},"comment":{"url":"https://api.github.com/repos/OSGeo/gdal/issues/comments/400088891","html_url":"https://github.com/OSGeo/gdal/pull/712#issuecomment-400088891","issue_url":"https://api.github.com/repos/OSGeo/gdal/issues/712","id":400088891,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMDA4ODg5MQ==","user":{"login":"rouault","id":1192433,"node_id":"MDQ6VXNlcjExOTI0MzM=","avatar_url":"https://avatars2.githubusercontent.com/u/1192433?v=4","gravatar_id":"","url":"https://api.github.com/users/rouault","html_url":"https://github.com/rouault","followers_url":"https://api.github.com/users/rouault/followers","following_url":"https://api.github.com/users/rouault/following{/other_user}","gists_url":"https://api.github.com/users/rouault/gists{/gist_id}","starred_url":"https://api.github.com/users/rouault/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rouault/subscriptions","organizations_url":"https://api.github.com/users/rouault/orgs","repos_url":"https://api.github.com/users/rouault/repos","events_url":"https://api.github.com/users/rouault/events{/privacy}","received_events_url":"https://api.github.com/users/rouault/received_events","type":"User","site_admin":false},"created_at":"2018-06-25T20:43:16Z","updated_at":"2018-06-25T20:43:16Z","author_association":"MEMBER","body":"You could probably recover most of the peformance loss by tuning JPGDatasetCommon::IRasterIO() further. I believe that you must go into this code-path: https://github.com/OSGeo/gdal/blob/master/gdal/frmts/jpeg/jpgdataset.cpp#L1855 . If you passed the output pointer when calling LoadScanline() at https://github.com/OSGeo/gdal/blob/master/gdal/frmts/jpeg/jpgdataset.cpp#L1849 , you would save a unneeded copy. You should make sure to invalidate nLoadedScanline at the end on the loop on y, since the pabyScanline buffer wouldn't be actually filled."}}
{"actor":{"display_login":"rouault"}}