Revision 755bfeab libpostproc/postprocess.c

View differences:

libpostproc/postprocess.c
47 47
MedianDeinterlace#      E       Ec      Ec
48 48
TempDeNoiser#           E               e       e       Ec
49 49

  
50
* i dont have a 3dnow CPU -> its untested, but noone said it doesnt work so it seems to work
51
# more or less selfinvented filters so the exactness isnt too meaningfull
50
* i do not have a 3DNow! CPU -> it is untested, but no one said it does not work so it seems to work
51
# more or less selfinvented filters so the exactness is not too meaningful
52 52
E = Exact implementation
53 53
e = allmost exact implementation (slightly different rounding,...)
54 54
a = alternative / approximate impl
......
398 398
 * Experimental Filter 1 (Horizontal)
399 399
 * will not damage linear gradients
400 400
 * Flat blocks should look like they where passed through the (1,1,2,2,4,2,2,1,1) 9-Tap filter
401
 * can only smooth blocks at the expected locations (it cant smooth them if they did move)
402
 * MMX2 version does correct clipping C version doesnt
401
 * can only smooth blocks at the expected locations (it cannot smooth them if they did move)
402
 * MMX2 version does correct clipping C version does not
403 403
 * not identical with the vertical one
404 404
 */
405 405
static inline void horizX1Filter(uint8_t *src, int stride, int QP)
......
646 646
#include "postprocess_template.c"
647 647
#endif
648 648

  
649
// minor note: the HAVE_xyz is messed up after that line so dont use it
649
// minor note: the HAVE_xyz is messed up after that line so do not use it.
650 650

  
651 651
static inline void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height,
652 652
        QP_STORE_T QPs[], int QPStride, int isColor, pp_mode_t *vm, pp_context_t *vc)
......
655 655
        PPMode *ppMode= (PPMode *)vm;
656 656
        c->ppMode= *ppMode; //FIXME
657 657

  
658
        // useing ifs here as they are faster than function pointers allthough the
659
        // difference wouldnt be messureable here but its much better because
660
        // someone might exchange the cpu whithout restarting mplayer ;)
658
        // Using ifs here as they are faster than function pointers although the
659
        // difference would not be measureable here but it is much better because
660
        // someone might exchange the CPU whithout restarting MPlayer ;)
661 661
#ifdef RUNTIME_CPUDETECT
662 662
#if defined(ARCH_X86)
663 663
        // ordered per speed fasterst first
......
961 961

  
962 962
        for(i=0; i<3; i++)
963 963
        {
964
                //Note:the +17*1024 is just there so i dont have to worry about r/w over te end
964
                //Note: The +17*1024 is just there so i do not have to worry about r/w over the end.
965 965
                reallocAlign((void **)&c->tempBlured[i], 8, stride*mbHeight*16 + 17*1024);
966 966
                reallocAlign((void **)&c->tempBluredPast[i], 8, 256*((height+7)&(~7))/2 + 17*1024);//FIXME size
967 967
        }

Also available in: Unified diff