Mercurial > libavcodec.hg
changeset 11575:5a7797213359 libavcodec
Reduce the size of the bidir refine hashtable from 4096 to 256 and
change the hash function to something more sane and simple.
about 1/3 faster, no meassureable change in psnr or size and i gues
its even same md5 with my test file but i forgot testing that.
author | michael |
---|---|
date | Fri, 02 Apr 2010 11:06:29 +0000 |
parents | 7b86b341edd0 |
children | 56b71cbf22ac |
files | motion_est.c |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/motion_est.c Fri Apr 02 01:13:59 2010 +0000 +++ b/motion_est.c Fri Apr 02 11:06:29 2010 +0000 @@ -1475,11 +1475,11 @@ const int ymin= c->ymin<<shift; const int xmax= c->xmax<<shift; const int ymax= c->ymax<<shift; - uint8_t map[8][8][8][8]; + uint8_t map[256]; memset(map,0,sizeof(map)); #define BIDIR_MAP(fx,fy,bx,by) \ - map[(motion_fx+fx)&7][(motion_fy+fy)&7][(motion_bx+bx)&7][(motion_by+by)&7] + map[((motion_fx+fx)+17*(motion_fy+fy)+63*(motion_bx+bx)+117*(motion_by+by))&255] BIDIR_MAP(0,0,0,0) = 1; fbmin= check_bidir_mv(s, motion_fx, motion_fy,