Re: DTS support progress?
Posted: Fri Mar 04, 2011 11:45 am
I am still working on it, but at the moment I am a little bit stuck.
DTS passthrough requires some parts within samdrv.ko which are not present at the moment. You need to know that exeDSP just sets audio codec (PCM, WMA, AC3, etc.) and then later just sends down the audio frames.
I tried the following:
1) extracted AIDA DTS ucode from C series TV.
2) wrote samdrvext.ko as hook/extension to samdrv.ko for loading the C series ucode
3) instead of sending PCM 2.0 i sent DTS frames to samdrv.ko
4) the ucode gets loaded, but due to different hardware/memory architecture it is not processing the frames
-> stuck here
5) normally I would have implemented the functions for SPDIF output in samdrvext.ko next, but right now there is reason
For item 4) there is two options:
4a) reverse engineer AIDA DTS ucode and compile for B series TV.
4b) move DTS decoding library (e.g. ffmpeg) to samdrvext.ko to get fed the DTS audio frames and send them via SPDIF out and PCM 2.0 to AIDA PCM engine.
I started with 4a), but without knowledge on that proprietary piece of hardware it is more or less trial and error in order to analyze which registers/memories perform which tasks. Also I would estimate one man year in doing this work. So this path is not leading to a fast solution.
At the moment I am experimenting with 4b).
Questions, suggestions and volunteers are welcome.
DTS passthrough requires some parts within samdrv.ko which are not present at the moment. You need to know that exeDSP just sets audio codec (PCM, WMA, AC3, etc.) and then later just sends down the audio frames.
I tried the following:
1) extracted AIDA DTS ucode from C series TV.
2) wrote samdrvext.ko as hook/extension to samdrv.ko for loading the C series ucode
3) instead of sending PCM 2.0 i sent DTS frames to samdrv.ko
4) the ucode gets loaded, but due to different hardware/memory architecture it is not processing the frames
-> stuck here
5) normally I would have implemented the functions for SPDIF output in samdrvext.ko next, but right now there is reason
For item 4) there is two options:
4a) reverse engineer AIDA DTS ucode and compile for B series TV.
4b) move DTS decoding library (e.g. ffmpeg) to samdrvext.ko to get fed the DTS audio frames and send them via SPDIF out and PCM 2.0 to AIDA PCM engine.
I started with 4a), but without knowledge on that proprietary piece of hardware it is more or less trial and error in order to analyze which registers/memories perform which tasks. Also I would estimate one man year in doing this work. So this path is not leading to a fast solution.
At the moment I am experimenting with 4b).
Questions, suggestions and volunteers are welcome.
