{"action":"created","issue":{"url":"https://api.github.com/repos/arrayfire/arrayfire/issues/1375","repository_url":"https://api.github.com/repos/arrayfire/arrayfire","labels_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/1375/labels{/name}","comments_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/1375/comments","events_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/1375/events","html_url":"https://github.com/arrayfire/arrayfire/issues/1375","id":145965918,"number":1375,"title":"Feature Request: 2D DCT and IDCT","user":{"login":"ZacDiggum","id":11495528,"avatar_url":"https://avatars.githubusercontent.com/u/11495528?v=3","gravatar_id":"","url":"https://api.github.com/users/ZacDiggum","html_url":"https://github.com/ZacDiggum","followers_url":"https://api.github.com/users/ZacDiggum/followers","following_url":"https://api.github.com/users/ZacDiggum/following{/other_user}","gists_url":"https://api.github.com/users/ZacDiggum/gists{/gist_id}","starred_url":"https://api.github.com/users/ZacDiggum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZacDiggum/subscriptions","organizations_url":"https://api.github.com/users/ZacDiggum/orgs","repos_url":"https://api.github.com/users/ZacDiggum/repos","events_url":"https://api.github.com/users/ZacDiggum/events{/privacy}","received_events_url":"https://api.github.com/users/ZacDiggum/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2016-04-05T11:54:47Z","updated_at":"2016-04-06T16:13:18Z","closed_at":null,"body":"Hi,\r\nI made myself a 2D discrete cosine transform (DCT-II) and its inverse (DCT-III) based on matrix multiplication as described [here](http://people.missouristate.edu/jrebaza/assets/10compression.pdf). It outperforms Scipy's DCT especially with some odd combinations of array dimensions. Python code is attached.\r\n\r\n[dct_matmul.zip](https://github.com/arrayfire/arrayfire/files/204354/dct_matmul.zip)\r\nIf you're interested I could implement 1D as well.\r\n"},"comment":{"url":"https://api.github.com/repos/arrayfire/arrayfire/issues/comments/206445756","html_url":"https://github.com/arrayfire/arrayfire/issues/1375#issuecomment-206445756","issue_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/1375","id":206445756,"user":{"login":"pavanky","id":364829,"avatar_url":"https://avatars.githubusercontent.com/u/364829?v=3","gravatar_id":"","url":"https://api.github.com/users/pavanky","html_url":"https://github.com/pavanky","followers_url":"https://api.github.com/users/pavanky/followers","following_url":"https://api.github.com/users/pavanky/following{/other_user}","gists_url":"https://api.github.com/users/pavanky/gists{/gist_id}","starred_url":"https://api.github.com/users/pavanky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pavanky/subscriptions","organizations_url":"https://api.github.com/users/pavanky/orgs","repos_url":"https://api.github.com/users/pavanky/repos","events_url":"https://api.github.com/users/pavanky/events{/privacy}","received_events_url":"https://api.github.com/users/pavanky/received_events","type":"User","site_admin":false},"created_at":"2016-04-06T16:13:18Z","updated_at":"2016-04-06T16:13:18Z","body":"@ZacDiggum I think the equation is correct. I think what @FilipeMaia is asking is to do something like this ?\r\n\r\n**transpose(dct(transpose(dct(in))))**\r\n\r\nAnd you only implement a 1D DCT"}}