X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libpostproc%2Fpostprocess_template.c;h=411fc41915b060dde225b46ef31c5648229c2c5b;hb=985c0dac674846721ec8ff23344c16ac7d1c9a1e;hp=0a4398926681ba4b5e6913f7cb8a8f36751a73f6;hpb=022fa7a24ea8f5000e7b6a50e57cc752f417da47;p=ffmpeg diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c index 0a439892668..411fc41915b 100644 --- a/libpostproc/postprocess_template.c +++ b/libpostproc/postprocess_template.c @@ -23,6 +23,7 @@ * mmx/mmx2/3dnow postprocess code. */ +#include "libavutil/mem_internal.h" #include "libavutil/x86/asm.h" /* A single TEMPLATE_PP_* should be defined (to 1) when this template is @@ -1184,10 +1185,10 @@ FIND_MIN_MAX((%0, %1, 8)) #endif "movq %%mm6, %%mm0 \n\t" // max "psubb %%mm7, %%mm6 \n\t" // max - min - "push %4 \n\t" - "movd %%mm6, %k4 \n\t" - "cmpb "MANGLE(deringThreshold)", %b4 \n\t" - "pop %4 \n\t" + "push %%"FF_REG_a" \n\t" + "movd %%mm6, %%eax \n\t" + "cmpb "MANGLE(deringThreshold)", %%al \n\t" + "pop %%"FF_REG_a" \n\t" " jb 1f \n\t" PAVGB(%%mm0, %%mm7) // a=(max + min)/2 "punpcklbw %%mm7, %%mm7 \n\t" @@ -1317,7 +1318,7 @@ DERING_CORE((%0, %1, 8) ,(%%FF_REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5, "1: \n\t" : : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2), "q"(tmp) NAMED_CONSTRAINTS_ADD(deringThreshold,b00,b02,b08) - : "%"FF_REG_a, "%"FF_REG_d, "%"FF_REG_sp + : "%"FF_REG_a, "%"FF_REG_d ); #else // HAVE_7REGS && (TEMPLATE_PP_MMXEXT || TEMPLATE_PP_3DNOW) int y; @@ -2548,7 +2549,7 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st int64_t dc_mask, eq_mask, both_masks; int64_t sums[10*8*2]; src+= step*3; // src points to begin of the 8x8 Block - //{ START_TIMER + __asm__ volatile( "movq %0, %%mm7 \n\t" "movq %1, %%mm6 \n\t" @@ -3071,12 +3072,6 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st : "%"FF_REG_a ); } -/*if(step==16){ - STOP_TIMER("step16") -}else{ - STOP_TIMER("stepX") -} - } */ } #endif //TEMPLATE_PP_MMX