[SCM] libav/experimental: remove a branch from an inner loop. 1% faster flac encoding.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:08:46 UTC 2013
The following commit has been merged in the experimental branch:
commit 90f03441654f85a1402a65c3dcaa3f634a24c27e
Author: Loren Merritt <lorenm at u.washington.edu>
Date: Sat Oct 27 13:39:19 2007 +0000
remove a branch from an inner loop.
1% faster flac encoding.
Originally committed as revision 10865 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c
index c0bd830..3e92c06 100644
--- a/libavcodec/flacenc.c
+++ b/libavcodec/flacenc.c
@@ -474,16 +474,15 @@ static uint32_t calc_optimal_rice_params(RiceContext *rc, int porder,
uint32_t all_bits;
part = (1 << porder);
- all_bits = 0;
+ all_bits = 4 * part;
cnt = (n >> porder) - pred_order;
for(i=0; i<part; i++) {
- if(i == 1) cnt = (n >> porder);
k = find_optimal_param(sums[i], cnt);
rc->params[i] = k;
all_bits += rice_encode_count(sums[i], cnt, k);
+ cnt = n >> porder;
}
- all_bits += (4 * part);
rc->porder = porder;
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list