Revision 80ba1ddb libavcodec/x86/dsputil_mmx.c

View differences:

libavcodec/x86/dsputil_mmx.c
2190 2190
    );
2191 2191
}
2192 2192

  
2193
static void vector_fmul_window_3dnow2(float *dst, const float *src0, const float *src1,
2194
                                      const float *win, float add_bias, int len){
2195 2193
#if HAVE_6REGS
2196
    if(add_bias == 0){
2194
static void vector_fmul_window_3dnow2(float *dst, const float *src0, const float *src1,
2195
                                      const float *win, int len){
2197 2196
        x86_reg i = -len*4;
2198 2197
        x86_reg j = len*4-8;
2199 2198
        __asm__ volatile(
......
2220 2219
            :"+r"(i), "+r"(j)
2221 2220
            :"r"(dst+len), "r"(src0+len), "r"(src1), "r"(win+len)
2222 2221
        );
2223
    }else
2224
#endif
2225
        ff_vector_fmul_window_c(dst, src0, src1, win, add_bias, len);
2226 2222
}
2227 2223

  
2228 2224
static void vector_fmul_window_sse(float *dst, const float *src0, const float *src1,
2229
                                   const float *win, float add_bias, int len){
2230
#if HAVE_6REGS
2231
    if(add_bias == 0){
2225
                                   const float *win, int len){
2232 2226
        x86_reg i = -len*4;
2233 2227
        x86_reg j = len*4-16;
2234 2228
        __asm__ volatile(
......
2256 2250
            :"+r"(i), "+r"(j)
2257 2251
            :"r"(dst+len), "r"(src0+len), "r"(src1), "r"(win+len)
2258 2252
        );
2259
    }else
2260
#endif
2261
        ff_vector_fmul_window_c(dst, src0, src1, win, add_bias, len);
2262 2253
}
2254
#endif /* HAVE_6REGS */
2263 2255

  
2264 2256
static void int32_to_float_fmul_scalar_sse(float *dst, const int *src, float mul, int len)
2265 2257
{
......
2882 2874
        }
2883 2875
        if(mm_flags & AV_CPU_FLAG_3DNOWEXT){
2884 2876
            c->vector_fmul_reverse = vector_fmul_reverse_3dnow2;
2877
#if HAVE_6REGS
2885 2878
            c->vector_fmul_window = vector_fmul_window_3dnow2;
2879
#endif
2886 2880
            if(!(avctx->flags & CODEC_FLAG_BITEXACT)){
2887 2881
                c->float_to_int16_interleave = float_to_int16_interleave_3dn2;
2888 2882
            }
......
2899 2893
            c->vector_fmul = vector_fmul_sse;
2900 2894
            c->vector_fmul_reverse = vector_fmul_reverse_sse;
2901 2895
            c->vector_fmul_add = vector_fmul_add_sse;
2896
#if HAVE_6REGS
2902 2897
            c->vector_fmul_window = vector_fmul_window_sse;
2898
#endif
2903 2899
            c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_sse;
2904 2900
            c->vector_clipf = vector_clipf_sse;
2905 2901
            c->float_to_int16 = float_to_int16_sse;

Also available in: Unified diff