mirror of https://git.ffmpeg.org/ffmpeg.git
put loop counter in a register if possible. makes some of the qpel functions 3% faster.
Originally committed as revision 11876 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
7080ec2937
commit
20d565be6d
|
@ -2061,7 +2061,7 @@ static void OPNAME ## mpeg4_qpel16_h_lowpass_mmx2(uint8_t *dst, uint8_t *src, in
|
||||||
"add %4, %1 \n\t"\
|
"add %4, %1 \n\t"\
|
||||||
"decl %2 \n\t"\
|
"decl %2 \n\t"\
|
||||||
" jnz 1b \n\t"\
|
" jnz 1b \n\t"\
|
||||||
: "+a"(src), "+c"(dst), "+m"(h)\
|
: "+a"(src), "+c"(dst), "+g"(h)\
|
||||||
: "d"((long)srcStride), "S"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
|
: "d"((long)srcStride), "S"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
|
||||||
: "memory"\
|
: "memory"\
|
||||||
);\
|
);\
|
||||||
|
@ -2174,7 +2174,7 @@ static void OPNAME ## mpeg4_qpel8_h_lowpass_mmx2(uint8_t *dst, uint8_t *src, int
|
||||||
"add %4, %1 \n\t"\
|
"add %4, %1 \n\t"\
|
||||||
"decl %2 \n\t"\
|
"decl %2 \n\t"\
|
||||||
" jnz 1b \n\t"\
|
" jnz 1b \n\t"\
|
||||||
: "+a"(src), "+c"(dst), "+m"(h)\
|
: "+a"(src), "+c"(dst), "+g"(h)\
|
||||||
: "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
|
: "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
|
||||||
: "memory"\
|
: "memory"\
|
||||||
);\
|
);\
|
||||||
|
|
|
@ -796,7 +796,7 @@ static av_noinline void OPNAME ## h264_qpel4_h_lowpass_ ## MMX(uint8_t *dst, uin
|
||||||
"add %4, %1 \n\t"\
|
"add %4, %1 \n\t"\
|
||||||
"decl %2 \n\t"\
|
"decl %2 \n\t"\
|
||||||
" jnz 1b \n\t"\
|
" jnz 1b \n\t"\
|
||||||
: "+a"(src), "+c"(dst), "+m"(h)\
|
: "+a"(src), "+c"(dst), "+g"(h)\
|
||||||
: "d"((long)srcStride), "S"((long)dstStride), "m"(ff_pw_5), "m"(ff_pw_16)\
|
: "d"((long)srcStride), "S"((long)dstStride), "m"(ff_pw_5), "m"(ff_pw_16)\
|
||||||
: "memory"\
|
: "memory"\
|
||||||
);\
|
);\
|
||||||
|
@ -930,7 +930,7 @@ static av_noinline void OPNAME ## h264_qpel4_hv_lowpass_ ## MMX(uint8_t *dst, in
|
||||||
"add %3, %1 \n\t"\
|
"add %3, %1 \n\t"\
|
||||||
"decl %2 \n\t"\
|
"decl %2 \n\t"\
|
||||||
" jnz 1b \n\t"\
|
" jnz 1b \n\t"\
|
||||||
: "+a"(tmp), "+c"(dst), "+m"(h)\
|
: "+a"(tmp), "+c"(dst), "+g"(h)\
|
||||||
: "S"((long)dstStride)\
|
: "S"((long)dstStride)\
|
||||||
: "memory"\
|
: "memory"\
|
||||||
);\
|
);\
|
||||||
|
@ -987,7 +987,7 @@ static av_noinline void OPNAME ## h264_qpel8_h_lowpass_ ## MMX(uint8_t *dst, uin
|
||||||
"add %4, %1 \n\t"\
|
"add %4, %1 \n\t"\
|
||||||
"decl %2 \n\t"\
|
"decl %2 \n\t"\
|
||||||
" jnz 1b \n\t"\
|
" jnz 1b \n\t"\
|
||||||
: "+a"(src), "+c"(dst), "+m"(h)\
|
: "+a"(src), "+c"(dst), "+g"(h)\
|
||||||
: "d"((long)srcStride), "S"((long)dstStride), "m"(ff_pw_5), "m"(ff_pw_16)\
|
: "d"((long)srcStride), "S"((long)dstStride), "m"(ff_pw_5), "m"(ff_pw_16)\
|
||||||
: "memory"\
|
: "memory"\
|
||||||
);\
|
);\
|
||||||
|
@ -1201,7 +1201,7 @@ static av_noinline void OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(uint8_t *dst
|
||||||
"add %3, %1 \n\t"\
|
"add %3, %1 \n\t"\
|
||||||
"decl %2 \n\t"\
|
"decl %2 \n\t"\
|
||||||
" jnz 1b \n\t"\
|
" jnz 1b \n\t"\
|
||||||
: "+a"(tmp), "+c"(dst), "+m"(h)\
|
: "+a"(tmp), "+c"(dst), "+g"(h)\
|
||||||
: "S"((long)dstStride)\
|
: "S"((long)dstStride)\
|
||||||
: "memory"\
|
: "memory"\
|
||||||
);\
|
);\
|
||||||
|
|
Loading…
Reference in New Issue