Mercurial > libavcodec.hg
comparison flacenc.c @ 5852:66317285d195 libavcodec
remove a branch from an inner loop.
1% faster flac encoding.
author | lorenm |
---|---|
date | Sat, 27 Oct 2007 13:39:19 +0000 |
parents | 8ce32ae71c01 |
children | 75804d49f33b |
comparison
equal
deleted
inserted
replaced
5851:dea3ac1d4c67 | 5852:66317285d195 |
---|---|
472 int i; | 472 int i; |
473 int k, cnt, part; | 473 int k, cnt, part; |
474 uint32_t all_bits; | 474 uint32_t all_bits; |
475 | 475 |
476 part = (1 << porder); | 476 part = (1 << porder); |
477 all_bits = 0; | 477 all_bits = 4 * part; |
478 | 478 |
479 cnt = (n >> porder) - pred_order; | 479 cnt = (n >> porder) - pred_order; |
480 for(i=0; i<part; i++) { | 480 for(i=0; i<part; i++) { |
481 if(i == 1) cnt = (n >> porder); | |
482 k = find_optimal_param(sums[i], cnt); | 481 k = find_optimal_param(sums[i], cnt); |
483 rc->params[i] = k; | 482 rc->params[i] = k; |
484 all_bits += rice_encode_count(sums[i], cnt, k); | 483 all_bits += rice_encode_count(sums[i], cnt, k); |
485 } | 484 cnt = n >> porder; |
486 all_bits += (4 * part); | 485 } |
487 | 486 |
488 rc->porder = porder; | 487 rc->porder = porder; |
489 | 488 |
490 return all_bits; | 489 return all_bits; |
491 } | 490 } |