search for: local_lpc_restore_signal_16bit

Displaying 7 results from an estimated 7 matches for "local_lpc_restore_signal_16bit".

2004 Sep 10
3
Altivec, automake
I think I've gotten FLAC__lpc_restore_signal() about as good as I'm going to get it. Here's what I have: -a new file, lpc_asm.s, which has the assembly routines -changes to cpu.h, cpu.c, and stream_decoder.c to enable them -changes to configure.in to support the new cpu stuff -a preliminary Makefile.am -maybe something else I'm forgetting Now automake complains that configure.in
2004 Sep 10
2
Altivec, automake
..., unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]); void (*local_lpc_restore_signal_64bit)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]); void (*local_lpc_restore_signal_16bit)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]); void *client_data; FLAC__BitBuffer *input; FLAC__int32 *output[FLAC__MAX_CHANNELS]; ! FLAC__int32 *residual[FLAC__MAX_CHANNELS]; FLAC__EntropyCodin...
2014 Jul 02
2
[PATCH] two patches of doubtful usefulness
...ode for error += lp_coeff[i] * (1 << *shift); is less efficient than for error += lp_coeff[i] * (1 << pshift); Cons: * the speed increase is probably negligible 2) There's the following code in stream_decoder.c: if(order <= 8) decoder->private_->local_lpc_restore_signal_16bit_order8( ... ); else decoder->private_->local_lpc_restore_signal_16bit( ... ); but local_lpc_restore_signal_16bit is equal to ..._order8 for all architectures except powerpc/altivec. The patch hides local_lpc_restore_signal_16bit_order8 under #ifdef FLAC__CPU_PPC / #endif direc...
2004 Sep 10
1
lpc slowdown
...quot; #include "private/fixed.h" @@ -1738,10 +1739,11 @@ /* decode the subframe */ memcpy(decoder->private_->output[channel], subframe->warmup, sizeof(FLAC__int32) * order); - if(bps <= 16 && subframe->qlp_coeff_precision <= 16) - decoder->private_->local_lpc_restore_signal_16bit(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->output[channel]+order); - else if(bps + subframe->qlp_coeff_precision + order <= 32) - decoder->priva...
2014 Jun 19
5
[PATCH] stream_encoder : Improve selection of residual accumulator width
...unusual data the residual signal can be wider than bps. The FLAC format specification doesn't seem to mention this. Should it be treated as a valid FLAC stream? Based on the analysis above, the currently used check allows residuals at most 1 bit wider than bps. Another problem could be that the local_lpc_restore_signal_16bit function may truncate the residual to 16 bits. -- Miroslav Lichvar
2014 Jun 19
1
[PATCH] stream_encoder : Improve selection of residual accumulator width
...XTRA_RESIDUAL_BPS <= 16 && qlp_coeff_precision <= 16) > vs. read_subframe_lpc_(): > > if(bps + subframe->qlp_coeff_precision + FLAC__bitmath_ilog2(order) <= 32) > if(bps <= 16 && subframe->qlp_coeff_precision <= 16) > decoder->private_->local_lpc_restore_signal_16bit(...); > else > decoder->private_->local_lpc_restore_signal(...); > else > decoder->private_->local_lpc_restore_signal_64bit(...); -- Miroslav Lichvar
2014 Jun 19
7
[PATCH] stream_encoder : Improve selection of residual accumulator width
In the precompute_partition_info_sums_ function, instead of selecting 64-bit accumulator when the signal bps is larger than 16, revert to the original approach based on partition size, but make room for few extra bits to not overflow with unusual signals where the average residual magnitude may be larger than bps. It slightly improves the performance with standard encoding levels and 16-bit files