summaryrefslogtreecommitdiff
path: root/libavcodec/snow.c
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2006-03-13 01:27:13 +0000
committerLoren Merritt <lorenm@u.washington.edu>2006-03-13 01:27:13 +0000
commit8f8ae4951e9157cc4d2a20a390e73cc51f965940 (patch)
tree6488801e6912ffa98fe184d0fca9cd50a4cf2d06 /libavcodec/snow.c
parent07674d518c249e781af94a161733eee110fdc01b (diff)
seed iterative_me with mvs from conventional search.
+15% speed, +.1 dB Originally committed as revision 5158 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/snow.c')
-rw-r--r--libavcodec/snow.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 6bd05f1915..ced52ca293 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -3304,6 +3304,17 @@ static void iterative_me(SnowContext *s){
const int b_stride= b_width;
int color[3];
+ {
+ RangeCoder r = s->c;
+ uint8_t state[sizeof(s->block_state)];
+ memcpy(state, s->block_state, sizeof(s->block_state));
+ for(mb_y= 0; mb_y<s->b_height; mb_y++)
+ for(mb_x= 0; mb_x<s->b_width; mb_x++)
+ encode_q_branch(s, 0, mb_x, mb_y);
+ s->c = r;
+ memcpy(s->block_state, state, sizeof(s->block_state));
+ }
+
for(pass=0; pass<50; pass++){
int change= 0;