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 }