[FFmpeg-devel] [RFC] avcodec: Add native DCA decoder based on libdcadec.

Christophe Gisquet christophe.gisquet at gmail.com
Thu Jan 7 12:57:56 CET 2016


2016-01-07 12:48 GMT+01:00 foo86 <foobaz86 at gmail.com>:
>     bench dca pcm_f32le
>     bench dca2 pcm_f32le
>     bench libdcadec pcm_s32le

OK, that was mostly out of curiosity, as "dca2" has benefits
surpassing such issues anyway. And the improvement is 10% for where it
matters (raspberry).

> synth_filter integrates just nicely without any changes, there is no need for
> rewrite. There is 64 subband version of it needed though, as well as fixed
> point versions for 32 and 64 subbands.

In my recollection, the code was weirdly shaped, so I could have
imagined needs for change (e.g., your libdcadec may not be able to
reuse it).

> Other parts can't be directly reused unfortunately. They need to be converted
> to operate on integer input and process entire frame at once (not just one
> subsubframe).

The gap between dca and dca2 will probably increase, as these
"constrains" should actually help make the operation faster.

> Temporary converting the input to floating point before calling them (what
> current dca code does) seems to negate any performance gain from using these
> assembly optimized routines in the first place...

I think it is ok to change the code and remove the arch-specific dsp
implementations. Whether to put that specific removal in a separate
patch is up to you.


More information about the ffmpeg-devel mailing list