Displaying 6 results from an estimated 6 matches for "ec_ilog".
2008 Dec 21
0
[PATCH] Fix ectest to not check a case which isn't guaranteed to work, and which we don't use.
When I removed the special case for EC_ILOG(0) in commit
06390d082dcdfa8addb3dde337543bc0f0ebae44, it broke ec_dec_uint() with _ft=1
(which should encode the value 0 using 0 bits).
This feature was tested by ectest.c, but not actually used by libcelt.
An assert has been added to ec_dec_uint() to ensure that we don't try to use
this fe...
2011 Mar 03
0
[PATCH] Eliminate the ec_int32 and ec_uint32 typedefs.
...s-is in another codec without some porting effort, so
there's no real reason to maintain the typedefs separately.
Hopefully we'll replace these all again somedate with a common set
of Opus typedefs, but for now this will do.
This fixes an issue caused by commit 6c8acbf1, which moved the
ec_ilog() prototype from entcode.h to ecintrin.h, where the
ec_uint32 typedef was not yet available.
Thanks to John Ridges for the report.
---
libcelt/bands.c | 2 +-
libcelt/bands.h | 2 +-
libcelt/celt.c | 12 ++++++------
libcelt/cwrs.c | 2 +-
libcelt/cwrs.h...
2011 Mar 01
1
Another thing it might be nice to fix in CELT
Hi,
Bjoern's solution of adding the line:
#pragma intrinsic(_BitScanReverse)
after the:
# include<intrin.h>
worked for me, so it solves my debug build problem. However, you still
might want to change the location of ec_ilog's prototype in entcode.h
for those platforms that don't have an intrinsic like that.
Cheers,
John Ridges
2010 Feb 12
2
Optimisation Help
...to make
it acceptable for use in games, we would need it to be at least twice
as fast as it currently is for this. I was hoping to be able to crunch
some things down with some SIMD but there doesn''t seem to be any good
candidates for that.<br>
<br>
Some profiling has shown the ec_ilog and decode_pulses would be good
functions to optimise, though they seem quite minimal already. <br>
<br>
Do you guys have any tips on how I might make things faster with the
CELT decoder?<br>
<br>
I am currently on 0.6.1, do the newer versions have any significant
performanc...
2008 Dec 20
5
ectest failed with gcc-4.2.4
Hi,
compiling the latest release 0.5.1 (as well as from git) with gcc-4.2.4 on
zenwalk (slackware current),
ectest fails; using gcc-3.4.6 all tests succeeds.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/opus/attachments/20081220/68be24c8/attachment-0002.htm
2015 Aug 04
1
[PATCH] Simplify and generalize implementation of align(). Should be very efficient on sensible platforms, and correct everywhere.
...int size;
- /* Alignment is determined by the max size of void*, opus_int32 and opus_val32,
- rounded up to the nearest power of two. */
- int tmp = (sizeof(opus_int32)-1)|(sizeof(opus_val32)-1)|(sizeof(void*)-1);
- if (tmp == 0)
- size = 1;
- else
- size = 1 << EC_ILOG(tmp);
- return (i+size-1)&-size;
+ struct foo {char c; union { void* p; opus_int32 i; opus_val32 v; } u;};
+
+ int alignment = offsetof(struct foo, u);
+
+ /* Optimizing compilers should optimize div and multiply into and
+ for all sensible alignment values. */
+ return ((i...