Displaying 14 results from an estimated 14 matches for "lpc_order".
2015 Apr 18
2
"keep qlp coeff precision such that only 32-bit math is required"
Erik de Castro Lopo wrote:
> There should be some indication of why in the git history.
http://git.xiph.org/?p=flac.git;a=commitdiff;h=27846708fe6271e5e3965a4bbad99baa1ca24c49
Now I remember a discussion about a bug in -p switch: the old code substracts
lpc_order instead of FLAC__bitmath_ilog2(lpc_order), and this commit fixes this.
It seems that the logic in process_subframe_() and in evaluate_lpc_subframe_()
is the same, so the constants in the conditions should be the same: either
both equal to 16, or both equal to 17.
I built two flac executables, t...
2013 Aug 22
2
New routine: FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16
libFLAC have three SSE-accelerated functions FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_N (N = 4, 8, 12). They require lpc_order less than N.
The best compression preset (flac -8) uses lpc_order up to 12; it means that during encoding FLAC also uses unaccelerated C function.
I'm not very familiar with asm so I took FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12, changed it and wrote function ..._sse_lag_16. Accor...
2015 Apr 18
2
"keep qlp coeff precision such that only 32-bit math is required"
...oder.c has
>
> min_qlp_coeff_precision = FLAC__MIN_QLP_COEFF_PRECISION;
> /* try to ensure a 32-bit datapath throughout for 16bps(+1bps for side channel) or less */
> if(subframe_bps <= 17) {
> max_qlp_coeff_precision = min(32 - subframe_bps - lpc_order, FLAC__MAX_QLP_COEFF_PRECISION);
> max_qlp_coeff_precision = max(max_qlp_coeff_precision, min_qlp_coeff_precision);
> }
>
> in process_subframe_(), whereas evaluate_lpc_subframe_() has the comments that you refer to.
>
> I've not done an analysis to determ...
2014 Jul 28
0
[PATCH] Fix bug when using -p switch during compression
...do_qlp_coeff_prec_search) {
min_qlp_coeff_precision = FLAC__MIN_QLP_COEFF_PRECISION;
- /* try to ensure a 32-bit datapath throughout for 16bps(+1bps for side channel) or less */
- if(subframe_bps <= 17) {
- max_qlp_coeff_precision = flac_min(32 - subframe_bps - lpc_order, FLAC__MAX_QLP_COEFF_PRECISION);
+ /* try to keep qlp coeff precision such that only 32-bit math is required for decode of <=16bps streams */
+ if(subframe_bps <= 16) {
+ max_qlp_coeff_precision = flac_min(32 - subframe_bps - FLAC__bitmath_ilog2(lpc_order), FLAC__MAX_...
2017 Feb 18
1
[PATCH 3/5] SIMD: accelerate decoding of some 24-bit FLAC
This patch accelerates decoding of non-Subset 24-bit FLAC files
(where lpc_order > 12).
(The improved function is FLAC__lpc_restore_signal_wide_intrin_sse41().
It requires SSE4.1 and it's used only by 32-bit libFLAC)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 03_wide_decode.patch
Type: application/octet-stream
Size: 5502 bytes
De...
2010 Jan 27
1
Some additions to CELT_RESET_STATE for 0.7.1
...= 0;
st->vbr_offset = 0;
st->vbr_count = 0;
st->xmem = 0;
CELT_MEMSET(st->pitch_buf, 0, (MAX_PERIOD>>1)+2);
and the following lines should be added to CELT_RESET_STATE in
celt_decoder_ctl:
#ifdef NEW_PLC
CELT_MEMSET(st->lpc, 0, C*LPC_ORDER);
#endif
BTW 0.7.1 is working very nicely for me.
Cheers,
John Ridges
2010 Nov 30
1
PLC cpu performance badness
Hello all
Firstly thanks to everyone involved for creating CELT. It is really very
useful :-)
One of my targets is current generation Apple iPod with the fixed point
decoder (latest version from website, 0.9.1)
Based on my simple time-stamp based profiling of my running app it looks
like decoding a null buffer for PLC costs a lot more than decoding a normal
buffer. For example a standard
2013 May 23
2
ASM runtime detection and optimizations
...t_decode_lost(CELTDecoder * OPUS_RESTRICT st, opus_val16 * OPUS_R
ROUND16(buf[DECODE_BUFFER_SIZE-exc_length-1-i], SIG_SHIFT);
}
/* Compute the excitation for exc_length samples before the loss. */
- celt_fir(exc+MAX_PERIOD-exc_length, lpc+c*LPC_ORDER,
+ celt_fir[st->arch&OPUS_ARCHMASK](exc+MAX_PERIOD-exc_length, lpc+c*LPC_ORDER,
exc+MAX_PERIOD-exc_length, exc_length, LPC_ORDER, lpc_mem);
}
diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c
index 26e6ebb..08fddd0 100644
--- a/celt/celt_encoder...
2016 Jun 17
5
ARM NEON optimization -- celt_fir()
Hi all,
This is Linfeng Zhang from Google. I'll work on ARM NEON optimization in the
next few months.
I'm submitting 2 patches in the following couple of emails, which have the new
created celt_fir_neon().
I revised celt_fir_c() to not pass in argument "mem" in Patch 1. If there are
concerns to this change, please let me know.
Many thanks to your comments.
Linfeng Zhang
2015 Apr 18
2
"keep qlp coeff precision such that only 32-bit math is required"
stream_encoder.c has the following code:
/* try to keep qlp coeff precision such that only 32-bit math is required for decode of <=16bps streams */
if(subframe_bps <= 16) {
...
But FLAC can convert 16-bit input to 17-bit if mid-side coding is used.
So, does it make sense to compare subframe_bps with 17?
(The patch is attached. What do you think about it?)
-------------- next part
2016 Jul 14
6
Several patches of ARM NEON optimization
I rebased my previous 3 patches to the current master with minor changes.
Patches 1 to 3 replace all my previous submitted patches.
Patches 4 and 5 are new.
Thanks,
Linfeng Zhang
2014 Jul 28
1
Duplicate QLP coefficient restricting code
...f_prec_search) {
> min_qlp_coeff_precision = FLAC__MIN_QLP_COEFF_PRECISION;
> /* try to ensure a 32-bit datapath throughout for
> 16bps(+1bps for side channel) or less */
> if(subframe_bps <= 17) {
> max_qlp_coeff_precision = flac_min(32 - subframe_bps -
> lpc_order, FLAC__MAX_QLP_COEFF_PRECISION);
> max_qlp_coeff_precision =
> flac_max(max_qlp_coeff_precision, min_qlp_coeff_precision);
> }
> else
> max_qlp_coeff_precision = FLAC__MAX_QLP_COEFF_PRECISION;
> }
> else {
> min_qlp_coeff_precision = max_qlp_coef...
2012 Apr 05
2
[PATCH 2/2] V2: Use a single definition of MIN and MAX in sources
...gt;private_->use_wide_by_block = (encoder->protected_->bits_per_sample + FLAC__bitmath_ilog2(encoder->protected_->blocksize)+1 > 30);
- encoder->private_->use_wide_by_order = (encoder->protected_->bits_per_sample + FLAC__bitmath_ilog2(max(encoder->protected_->max_lpc_order, FLAC__MAX_FIXED_ORDER))+1 > 30); /*@@@ need to use this? */
+ encoder->private_->use_wide_by_order = (encoder->protected_->bits_per_sample + FLAC__bitmath_ilog2(flac_max(encoder->protected_->max_lpc_order, FLAC__MAX_FIXED_ORDER))+1 > 30); /*@@@ need to use this? */
encode...
2016 Jul 14
0
[PATCH 2/5] Optimize fixed-point celt_fir_c() for ARM NEON
.....76a73c0 100644
--- a/celt/celt_lpc.h
+++ b/celt/celt_lpc.h
@@ -35,6 +35,11 @@
#include "x86/celt_lpc_sse.h"
#endif
+#if ((defined(OPUS_ARM_ASM) && defined(FIXED_POINT)) \
+ || defined(OPUS_ARM_MAY_HAVE_NEON_INTR))
+#include "arm/celt_lpc_arm.h"
+#endif
+
#define LPC_ORDER 24
void _celt_lpc(opus_val16 *_lpc, const opus_val32 *ac, int p);
diff --git a/celt/tests/test_unit_dft.c b/celt/tests/test_unit_dft.c
index 6166eb0..582618e 100644
--- a/celt/tests/test_unit_dft.c
+++ b/celt/tests/test_unit_dft.c
@@ -52,6 +52,7 @@
# include "celt_lpc.c"
# include &q...