Skip to content
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

FTBFS with "fixed-point" and Deep PLC #356

Open
umlaeute opened this issue Jul 9, 2024 · 0 comments
Open

FTBFS with "fixed-point" and Deep PLC #356

umlaeute opened this issue Jul 9, 2024 · 0 comments

Comments

@umlaeute
Copy link

umlaeute commented Jul 9, 2024

While packaging opus for Debian, we encountered a build failure on the armel architecture (32bit arm, softfloat):

In file included from celt/celt_decoder.c:37:
celt/celt_decoder.c: In function ‘celt_decode_lost’:
celt/os_support.h:79:83: error: invalid operands to binary - (have ‘float *’ and ‘celt_sig *’ {aka ‘int *’})
   79 | #define OPUS_COPY(dst, src, n) (memcpy((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) ))
      |                                                                              ~~~~~^~~~~~
celt/celt_decoder.c:914:13: note: in expansion of macro ‘OPUS_COPY’
  914 |             OPUS_COPY(buf_copy+c*overlap, &decode_mem[c][DECODE_BUFFER_SIZE-N], overlap);
      |             ^~~~~~~~~

the full build log can be found at: https://buildd.debian.org/status/fetch.php?pkg=opus&arch=armel&ver=1.5.2-1&stamp=1719267895

it actually seems to be a problem with fixed-point, rather than armel itself (it's just that armel is the last architecture on Debian that does not have an FPU, so we enforce fixed-point here).

The relevant configure flags are:

--enable-custom-modes --enable-fixed-point --enable-deep-plc --enable-osce

If the underlying problem cannot be fixed, maybe Deep PLC should be disabled when requesting fixed point (or vice versa, but then we would have had an unusably slow OPUS on CPUs without FPU, without properly noticing it at build time); or ./configure could simply fail if these mutually exclusive flags were specified.

But of course, fixing would be best :-)

(sidenote: I also reported this as https://gitlab.xiph.org/xiph/opus/-/issues/2375, but it seems that the bugtracker on GitHub is the one that is actually monitored by the devs...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant