On Thu, Dec 01, 2022 at 02:42:20PM +0800, Junxian Zhu wrote:
> From: Junxian Zhu <zhujunx...@oss.cipunited.com>
> 
> Rewrite mid_pred function in generic mathops.h, reduce branch jump to improve 
> performance. And because nowadays new version compiler can compile enough 
> short asmbbely code as handwritting in these function, so remove specified 
> optimized mips inline asmbbely mathops.h.
> 
> Signed-off-by: Junxian Zhu <zhujunx...@oss.cipunited.com>
> ---
>  libavcodec/mathops.h      | 20 ++++--------
>  libavcodec/mips/mathops.h | 67 ---------------------------------------
>  2 files changed, 6 insertions(+), 81 deletions(-)
>  delete mode 100644 libavcodec/mips/mathops.h
> 
> diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h
> index c89054d6ed..526ffe0eec 100644
> --- a/libavcodec/mathops.h
> +++ b/libavcodec/mathops.h
> @@ -41,8 +41,6 @@ extern const uint8_t ff_zigzag_scan[16+1];
>  #   include "arm/mathops.h"
>  #elif ARCH_AVR32
>  #   include "avr32/mathops.h"
> -#elif ARCH_MIPS
> -#   include "mips/mathops.h"
>  #elif ARCH_PPC
>  #   include "ppc/mathops.h"
>  #elif ARCH_X86
> @@ -98,18 +96,12 @@ static av_always_inline unsigned UMULH(unsigned a, 
> unsigned b){
>  #define mid_pred mid_pred
>  static inline av_const int mid_pred(int a, int b, int c)
>  {
> -    if(a>b){
> -        if(c>b){
> -            if(c>a) b=a;
> -            else    b=c;
> -        }
> -    }else{
> -        if(b>c){
> -            if(c>a) b=c;
> -            else    b=a;
> -        }
> -    }
> -    return b;
> +    int t0,t1,t2,t3;
> +    t0 = (a > b) ? b : a ;
> +    t1 = (a > b) ? a : b ;
> +    t2 = (t0 > c) ? t0 : c;

> +    t3 = (t1 > t2) ? t2 : t1;
> +    return t3; 

t3 intermediate is unneeded
return (t1 > t2) ? t2 : t1;

also benchmarks would be usefull

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have often repented speaking, but never of holding my tongue.
-- Xenocrates

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to