{"action":"created","issue":{"url":"https://api.github.com/repos/foo86/dcadec/issues/8","labels_url":"https://api.github.com/repos/foo86/dcadec/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/foo86/dcadec/issues/8/comments","events_url":"https://api.github.com/repos/foo86/dcadec/issues/8/events","html_url":"https://github.com/foo86/dcadec/issues/8","id":63212978,"number":8,"title":"XLL decoding issues","user":{"login":"madshi","id":977539,"avatar_url":"https://avatars.githubusercontent.com/u/977539?v=3","gravatar_id":"","url":"https://api.github.com/users/madshi","html_url":"https://github.com/madshi","followers_url":"https://api.github.com/users/madshi/followers","following_url":"https://api.github.com/users/madshi/following{/other_user}","gists_url":"https://api.github.com/users/madshi/gists{/gist_id}","starred_url":"https://api.github.com/users/madshi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/madshi/subscriptions","organizations_url":"https://api.github.com/users/madshi/orgs","repos_url":"https://api.github.com/users/madshi/repos","events_url":"https://api.github.com/users/madshi/events{/privacy}","received_events_url":"https://api.github.com/users/madshi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":53,"created_at":"2015-03-20T11:36:11Z","updated_at":"2015-03-25T20:32:08Z","closed_at":null,"body":"Testing your decoder, I've started with simple channel order tests, using conventional DTS files (no HD), testing all possible speaker/channel configurations: All tests passed with flying colors.\r\n\r\nThen I've run XLL decoding tests, using my XLL sample collection with various format combinations. I'd say about 60-70% of them decoded identical to the ArcSoft DTS Decoder. However, several of them failed to decode properly. I've identified 5 different problems:\r\n\r\n1) dcadec.exe reports \"Failed to decode block code + invalid bitstream format\".\r\n2) dcadec.exe reports \"PCM output parameters changed\". libdcadec.dll's dcadec_context_filter() function suddenly changes bits_per_sample from 16 to 14 with one of the samples, when this happens. And decoded data is not correct, anymore.\r\n3) dcadec.exe reports \"PCM output overflow\".\r\n4) Decoding runs through without any errors, but the final result doesn't match the ArcSoft decoder.\r\n5) Everything is fine, but dcadec.exe stops at \"Progress: -95%\". Just a cosmetical issue.\r\n\r\nI'm uploading samples right now. Contained are the original DTS files and ArcSoft decoded WAV files, so you have a reference to compare to. Upload will take about 1,5 hours, so wait a little before you download:\r\n\r\nhttp://madshi.net/dcaDecBugs.zip   (413MB)\r\n\r\nBTW, does the XLL extension have some sort of CRC check so that dcadec can check if the final decoded result is really bit perfect? I know that TrueHD has such a CRC. Not sure about XLL, though. I could imagine that XLL itself can be checked, but maybe not the final core+XLL combined data? Having some way to check that for lossless-ness would be very helpful, of course, so that users can know if lossless decoding succeeded or not. This might not be crucial for realtime playback, but for reencoding purposes (e.g. conversion to FLAC), having some sort of indication whether decoding was perfectly lossless or not would be very helpful.\r\n\r\nGreat job, in any case! The dcadec interface is easy to use, and decoding generally looks promising.\r\n\r\nHmmmm... One question: The \"samples\" buffer always seems to be 32bit? For lossless decoding I suppose I can simply extract the lower 16/24 bit and ignore the other 8/16 bit, correct? That's what I'm currently doing and it seems to match what dcadec.exe produces. However, what should I do for lossy decoding? Is the full 32bit data always filled? In that case I should probably always treat the dcadec lossy decoding results as 32bit PCM, so that eac3to later dithers the data down to the final output bitdepth, correct?"},"comment":{"url":"https://api.github.com/repos/foo86/dcadec/issues/comments/86204120","html_url":"https://github.com/foo86/dcadec/issues/8#issuecomment-86204120","issue_url":"https://api.github.com/repos/foo86/dcadec/issues/8","id":86204120,"user":{"login":"Nevcairiel","id":17890,"avatar_url":"https://avatars.githubusercontent.com/u/17890?v=3","gravatar_id":"","url":"https://api.github.com/users/Nevcairiel","html_url":"https://github.com/Nevcairiel","followers_url":"https://api.github.com/users/Nevcairiel/followers","following_url":"https://api.github.com/users/Nevcairiel/following{/other_user}","gists_url":"https://api.github.com/users/Nevcairiel/gists{/gist_id}","starred_url":"https://api.github.com/users/Nevcairiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nevcairiel/subscriptions","organizations_url":"https://api.github.com/users/Nevcairiel/orgs","repos_url":"https://api.github.com/users/Nevcairiel/repos","events_url":"https://api.github.com/users/Nevcairiel/events{/privacy}","received_events_url":"https://api.github.com/users/Nevcairiel/received_events","type":"User","site_admin":false},"created_at":"2015-03-25T20:32:08Z","updated_at":"2015-03-25T20:32:08Z","body":"Thanks for the fallback to core decoding, that way I can make it default as well without having to worry about people reporting regressions in some streams (which previously at least decoded core)\r\n\r\nLooking forward to future improvements! Great work, the open source media community thanks you!"}}