-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] differences between dcadec and libdca (videolan) #15
Comments
These are unrelated projects. Main difference is that libdca can decode lossy DTS core only without extensions, while libdcadec decodes all core extensions (XCH, XXCH, XBR, X96) and lossless extension (XLL). |
ok. thanks |
one thing. libdca(videolan) create a 'dcadec' executable like you project. this create conflict between both. you can rename that executable with other name? is for avoid break or this is a work for package maintainers? greetings edited |
ffmpeg doesn't have libdca support, it only has libdcadec support (this project). |
ow, yes. is a dependecy for mplayer and other software installed by mi distro, not for ffmpeg i misread the list of dependencies sorry :S edited |
Hello, How easy is to port existing code using Can you add
|
Use the gst libav plugin? |
Well having a standalone plugin for dts it's much better for embedded (Enigma2) machines, libav is huge when you have only few MB of flash available. Moreover the custom gst plugin downmixes directly to LPCM without further convertions, while libav involves audioconvert making high cpu usage on embedded machines. Finally there is some special code that makes passthough available and with libav there is no such an option. |
You could check dcadec.c for an example of how to use the API. |
libavcodec/libdcadec.c helps a little bit. I guess the following "psedocode" is a good start.
But how I can downmix to strereo? I cannot find something related with downmix. |
Downmix is not supported by libdcadec right now. You would have to do that yourself. Also note that you cannot re-create the context for every audio frame that needs decoding, you need to create it once and keep it (and flush it when seeking), otherwise history information needed for the lossless reconstruction is lost. |
dcadec.c provides high level example of how to use the API to decode raw DTS stream from external file. Decoding from other source (e.g. memory buffer) is more complicated since there is no high level API for this yet. Basically, libdcadec requires the API user to parse DTS bitstream to some degree to find frame boundaries and convert the bitstream into 16-bit big-endian format required by libdcadec. You can check FFmpeg DTS parser code for implementation details, or dca_stream.c code, which is somewhat less capable than FFmpeg's (no support for 14-bit words). Downmixing to stereo using custom matrix coefficients embedded into DTS stream is a planned feature, but yet unsupported. Right now libdcadec always outputs the maximum number of channels it can decode. |
Well I though that support for dowmixed output was there and better than It would be nice API also to support reading from other source (memory buffer). Keep up the good work @foo86 I will monitor frequently the progress. |
Hi
what is the difference between dcadec (this project) and libdca from videolan?
greetings
The text was updated successfully, but these errors were encountered: