Displaying 20 results from an estimated 22 matches for "subframe_bps".
2014 Jun 30
2
Residual bps and encoding speed
I changed the condition in *_precompute_partition_info_sums_*()
functions from
if(bps <= 16)
to
if(FLAC__bitmath_ilog2(default_partition_samples) + bps < 32)
and then changed the 'subframe_bps' argument of find_best_partition_order_()
in evaluate_fixed_subframe_() and evaluate_lpc_subframe_() as follows:
evaluate_fixed_subframe_(): evaluate_lpc_subframe_():
1) subframe_bps + order subframe_bps + 0
2) subframe_bps + order subframe_bps + 2
3) subframe_bps +...
2014 Jun 30
2
[PATCH] stream_encoder : Improve selection of residual accumulator width
...4 is enough to fix this problem
> > with FLAC__fixed_compute_residual().
>
>
> On the other hand, it is possible to set FLAC__MAX_EXTRA_RESIDUAL_BPS
> to 0, and change evaluate_fixed_subframe_() function instead: in the call
> of find_best_partition_order_() function, replace subframe_bps
> with subframe_bps + order.
Adding the extra bits to bps in evaluate_fixed_subframe_ instead of
precompute_partition_info_sums_ is ok with me, that's what I suggested
in the original thread discussing this problem, but I think it should
be done also in the lpc function. Adding order instea...
2014 Jul 02
0
Residual bps and encoding speed
lvqcl wrote:
> I changed the condition in *_precompute_partition_info_sums_*()
> functions from
> if(bps <= 16)
> to
> if(FLAC__bitmath_ilog2(default_partition_samples) + bps < 32)
>
> and then changed the 'subframe_bps' argument of find_best_partition_order_()
> in evaluate_fixed_subframe_() and evaluate_lpc_subframe_() as follows:
>
> evaluate_fixed_subframe_(): evaluate_lpc_subframe_():
> 1) subframe_bps + order subframe_bps + 0
> 2) subframe_bps + order subframe_b...
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 --------------
A non-text attachment was scrubbed...
Name: bps.patch
Type:...
2015 Oct 11
1
[PATCH] stream_encoder.c: fix subframe_bps comparison
libFLAC limits the value of qlp_coeff_precision to make
sure that 32-bit math is enough for decoding of 16-bit audio.
subframe_bps can be equal to 17 for 16-bit input (for side channel).
So the value of subframe_bps should be compared with 17, not 16
(see also http://git.xiph.org/?p=flac.git;a=blob;f=src/libFLAC/stream_encoder.c;hb=02591f6b4b09e7c6e26bd2ae7225ff2810b227bb#l3431 )
-------------- next part --------------
A non-...
2014 Jun 19
1
[PATCH] stream_encoder : Improve selection of residual accumulator width
On Thu, Jun 19, 2014 at 06:25:57PM +0400, lvqcl wrote:
> Now I wonder why evaluate_lpc_subframe_() function in stream_encoder.c contains
> almost the same code, but without any comments that it's not enough pessimistic:
> evaluate_lpc_subframe_():
>
> if(subframe_bps + qlp_coeff_precision + FLAC__bitmath_ilog2(order) <= 32)
> if(subframe_bps <= 16 && qlp_coeff_precision <= 16)
> encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit(...);
> else
> encoder->private_->local_lpc_compute_residual_fro...
2014 Jun 29
4
[PATCH] stream_encoder : Improve selection of residual accumulator width
Erik de Castro Lopo wrote:
>> It slightly improves the performance with standard encoding levels and
>> 16-bit files as the 17-bit side channel can still be processed with the
>> 32-bit accumulator and correctly selects the 64-bit accumulator with
>> very large 16-bit partitions.
>>
>> This is related to commits 6f7ec60c and 187e596e.
>
> Sorry I
2014 Jul 28
1
Duplicate QLP coefficient restricting code
...witch. I stumbled upon this code
in stream_encoder
> if(encoder->protected_->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);
> max_qlp_coeff_precision =
> flac_max(max_qlp_coeff_precision, min_qlp_coeff_precision);
> }
> else
> max_qlp_coeff_precision = F...
2014 Jul 28
0
[PATCH] Fix bug when using -p switch during compression
...+3428,9 @@ FLAC__bool process_subframe_(
}
if(encoder->protected_->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_c...
2014 Jun 19
5
[PATCH] stream_encoder : Improve selection of residual accumulator width
On Thu, Jun 19, 2014 at 03:30:22PM +0400, lvqcl wrote:
> BTW, what can you say about the following place in stream_decoder.c
> in read_subframe_lpc_() function:
>
> /*@@@@@@ technically not pessimistic enough, should be more like
> if( (FLAC__uint64)order * ((((FLAC__uint64)1)<<bps)-1) * ((1<<subframe->qlp_coeff_precision)-1) < (((FLAC__uint64)-1)
2004 Sep 10
1
lpc slowdown
...eam_encoder.c
--- src/libFLAC/stream_encoder.c 18 Oct 2002 05:49:20 -0000 1.49
+++ src/libFLAC/stream_encoder.c 20 Oct 2002 11:37:18 -0000
@@ -2267,10 +2267,11 @@
if(ret != 0)
return 0; /* this is a hack to indicate to the caller that we can't do lp at this order on this subframe */
- if(subframe_bps <= 16 && qlp_coeff_precision <= 16)
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit(signal+order, residual_samples, qlp_coeff, order, quantization, residual);
- else if(subframe_bps + qlp_coeff_precision + order <= 32)
- encoder->private_->...
2015 Apr 18
2
"keep qlp coeff precision such that only 32-bit math is required"
...m> wrote:
> Hmm, I don't know the history of the code, but flac 1.2.1 stream_encoder.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_()...
2013 Jul 21
3
exhaustive-model-search issue results in multi-gigabyte FLAC file
Miroslav Lichvar wrote:
> On Wed, Jul 17, 2013 at 07:45:53PM +1000, Erik de Castro Lopo wrote:
> > The fix was changing one local variable from FLAC_uint32 to FLAC_uint64
> > in function precompute_partition_info_sums_().
> >
> > https://git.xiph.org/?p=flac.git;a=commit;h=6f7ec60c7e7f05f5ab0b1cf6b7b0945e44afcd4b
>
> I don't like this fix. It will
2014 Jun 29
0
[PATCH] stream_encoder : Improve selection of residual accumulator width
...AC__MAX_EXTRA_RESIDUAL_BPS == 4 is enough to fix this problem
> with FLAC__fixed_compute_residual().
On the other hand, it is possible to set FLAC__MAX_EXTRA_RESIDUAL_BPS
to 0, and change evaluate_fixed_subframe_() function instead: in the call
of find_best_partition_order_() function, replace subframe_bps
with subframe_bps + order.
...And maybe it's also better to use 'subframe_bps + order' instead of 'order'
in calculation of 'estimate' variable in evaluate_fixed_subframe_()?
2015 Apr 19
2
"keep qlp coeff precision such that only 32-bit math is required"
...artijn van Beurden wrote:
> Yes, indeed. I removed the 17-bits part because I just matched
> the code in evaluate_lpc_subframe_ with the process_subframe_
> code. It appears it only makes sense that those two pieces code
> are the same.
A bit of history:
1) The conditional "if(subframe_bps <= 16)" was added to evaluate_lpc_subframe_()
in the commit http://git.xiph.org/?p=flac.git;a=commitdiff;h=20ac2c1cac298b8c0666e191ae913f6481e79879
2) The conditional "if(subframe_bps <= 16)" was added to process_subframe_()
in the commit http://git.xiph.org/?p=flac.git;a=com...
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
2004 Sep 10
3
0.9 problems
...when encoding:
#0 0x200000e7304 in FLAC__fixed_compute_residual (data=0x1202b9c54,
data_len=4607, order=1, residual=0x1202e6cc0) at fixed.c:165
#1 0x200000e1f44 in encoder_evaluate_fixed_subframe_ (signal=0x1202b9c50,
residual=0x1202e6cc0, abs_residual=0x1202fd510, blocksize=4608,
subframe_bps=8, order=1, rice_parameter=1, max_partition_order=4,
subframe=0x200002aa2b0) at encoder.c:1028
#2 0x200000e1764 in encoder_process_subframe_ (encoder=0x1202b9bf0,
max_partition_order=4, verbatim_only=0, frame_header=0x11ffff850,
subframe_bps=8, integer_signal=0x1202b9c50, real_signa...
2012 Apr 05
2
[PATCH 2/2] V2: Use a single definition of MIN and MAX in sources
...partition_order, max_partition_order);
/*
* Setup the frame
@@ -3332,8 +3323,8 @@ FLAC__bool process_subframe_(
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);
+ max_qlp_coeff_precision = flac_min(32 - subframe_bps - lpc_order, FLAC__MAX_QLP_...
2004 Sep 10
0
ERROR: mismatch in decoded data, verify FAILED!
...idual_partitioned_rice_ (bb=0x4085c800,
residual=0x8361200, residual_samples=4580, predictor_order=28,
rice_parameters=0x407dc520, raw_bits=0x407fc520, partition_order=0)
at encoder_framing.c:366
#7 0x80563eb in FLAC__subframe_add_lpc (subframe=0x407dc518,
residual_samples=4580, subframe_bps=17, wasted_bits=0, bb=0x4085c800)
at encoder_framing.c:310
#8 0x80544c8 in encoder_add_subframe_ (encoder=0x8314758,
frame_header=0xbfffe5ac, subframe_bps=17, subframe=0x407dc514,
frame=0x4085c800) at encoder.c:1030
#9 0x8053b48 in encoder_process_subframes_ (encoder=0x8314758,...
2004 Sep 10
5
0.9 problems
Problems in FLAC 0.9:
- On alpha, flac immediately dumps core for both encoding and
decoding (FreeBSD/alpha).
- The distribution Makefile.in files haven't been generated with
"automake --include-deps". The resulting Makefiles aren't fully
portable; in particular they break with BSD make. In the future,
care should be taken to use "--include-deps".
- What is