diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2006-03-13 01:27:13 +0000 |
---|---|---|
committer | Loren Merritt <lorenm@u.washington.edu> | 2006-03-13 01:27:13 +0000 |
commit | 8f8ae4951e9157cc4d2a20a390e73cc51f965940 (patch) | |
tree | 6488801e6912ffa98fe184d0fca9cd50a4cf2d06 | |
parent | 07674d518c249e781af94a161733eee110fdc01b (diff) | |
download | ffmpeg-8f8ae4951e9157cc4d2a20a390e73cc51f965940.tar.gz |
seed iterative_me with mvs from conventional search.
+15% speed, +.1 dB
Originally committed as revision 5158 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/snow.c | 11 |
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; |