comparison apedec.c @ 10639:4e0b0c0cb915 libavcodec

1-13% faster apply_filter, 1-3% faster ape decoding on core2
author lorenm
date Fri, 04 Dec 2009 15:12:09 +0000
parents 40ff9c7958da
children 5da7180afadf
comparison
equal deleted inserted replaced
10638:40ff9c7958da 10639:4e0b0c0cb915
676 f->adaptcoeffs[-8] >>= 1; 676 f->adaptcoeffs[-8] >>= 1;
677 } else { 677 } else {
678 /* Version 3.98 and later files */ 678 /* Version 3.98 and later files */
679 679
680 /* Update the adaption coefficients */ 680 /* Update the adaption coefficients */
681 absres = (res < 0 ? -res : res); 681 absres = FFABS(res);
682 682 if (absres)
683 if (absres > (f->avg * 3)) 683 *f->adaptcoeffs = ((res & (1<<31)) - (1<<30)) >> (25 + (absres <= f->avg*3) + (absres <= f->avg*4/3));
684 *f->adaptcoeffs = ((res >> 25) & 64) - 32;
685 else if (absres > (f->avg * 4) / 3)
686 *f->adaptcoeffs = ((res >> 26) & 32) - 16;
687 else if (absres > 0)
688 *f->adaptcoeffs = ((res >> 27) & 16) - 8;
689 else 684 else
690 *f->adaptcoeffs = 0; 685 *f->adaptcoeffs = 0;
691 686
692 f->avg += (absres - f->avg) / 16; 687 f->avg += (absres - f->avg) / 16;
693 688