dsputil: remove butterflies_float_interleave.

The function is unused.
pull/11/head
Ronald S. Bultje 12 years ago
parent c9311f3e46
commit 8a4f26206d
  1. 13
      libavcodec/dsputil.c
  2. 17
      libavcodec/dsputil.h
  3. 44
      libavcodec/x86/dsputil.asm
  4. 7
      libavcodec/x86/dsputil_mmx.c

@ -2377,18 +2377,6 @@ static void butterflies_float_c(float *restrict v1, float *restrict v2,
}
}
static void butterflies_float_interleave_c(float *dst, const float *src0,
const float *src1, int len)
{
int i;
for (i = 0; i < len; i++) {
float f1 = src0[i];
float f2 = src1[i];
dst[2*i ] = f1 + f2;
dst[2*i + 1] = f1 - f2;
}
}
float ff_scalarproduct_float_c(const float *v1, const float *v2, int len)
{
float p = 0.0;
@ -2823,7 +2811,6 @@ av_cold void ff_dsputil_init(DSPContext* c, AVCodecContext *avctx)
c->vector_clip_int32 = vector_clip_int32_c;
c->scalarproduct_float = ff_scalarproduct_float_c;
c->butterflies_float = butterflies_float_c;
c->butterflies_float_interleave = butterflies_float_interleave_c;
c->shrink[0]= av_image_copy_plane;
c->shrink[1]= ff_shrink22;

@ -364,23 +364,6 @@ typedef struct DSPContext {
*/
void (*butterflies_float)(float *restrict v1, float *restrict v2, int len);
/**
* Calculate the sum and difference of two vectors of floats and interleave
* results into a separate output vector of floats, with each sum
* positioned before the corresponding difference.
*
* @param dst output vector
* constraints: 16-byte aligned
* @param src0 first input vector
* constraints: 32-byte aligned
* @param src1 second input vector
* constraints: 32-byte aligned
* @param len number of elements in the input
* constraints: multiple of 8
*/
void (*butterflies_float_interleave)(float *dst, const float *src0,
const float *src1, int len);
/* (I)DCT */
void (*fdct)(DCTELEM *block/* align 16*/);
void (*fdct248)(DCTELEM *block/* align 16*/);

@ -632,50 +632,6 @@ VECTOR_FMUL_ADD
INIT_YMM avx
VECTOR_FMUL_ADD
;-----------------------------------------------------------------------------
; void ff_butterflies_float_interleave(float *dst, const float *src0,
; const float *src1, int len);
;-----------------------------------------------------------------------------
%macro BUTTERFLIES_FLOAT_INTERLEAVE 0
cglobal butterflies_float_interleave, 4,4,3, dst, src0, src1, len
%if ARCH_X86_64
movsxd lenq, lend
%endif
test lenq, lenq
jz .end
shl lenq, 2
lea src0q, [src0q + lenq]
lea src1q, [src1q + lenq]
lea dstq, [ dstq + 2*lenq]
neg lenq
.loop:
mova m0, [src0q + lenq]
mova m1, [src1q + lenq]
subps m2, m0, m1
addps m0, m0, m1
unpcklps m1, m0, m2
unpckhps m0, m0, m2
%if cpuflag(avx)
vextractf128 [dstq + 2*lenq ], m1, 0
vextractf128 [dstq + 2*lenq + 16], m0, 0
vextractf128 [dstq + 2*lenq + 32], m1, 1
vextractf128 [dstq + 2*lenq + 48], m0, 1
%else
mova [dstq + 2*lenq ], m1
mova [dstq + 2*lenq + mmsize], m0
%endif
add lenq, mmsize
jl .loop
.end:
REP_RET
%endmacro
INIT_XMM sse
BUTTERFLIES_FLOAT_INTERLEAVE
INIT_YMM avx
BUTTERFLIES_FLOAT_INTERLEAVE
; %1 = aligned/unaligned
%macro BSWAP_LOOPS 1
mov r3, r2

@ -1867,11 +1867,6 @@ void ff_vector_clip_int32_int_sse2(int32_t *dst, const int32_t *src,
void ff_vector_clip_int32_sse4 (int32_t *dst, const int32_t *src,
int32_t min, int32_t max, unsigned int len);
extern void ff_butterflies_float_interleave_sse(float *dst, const float *src0,
const float *src1, int len);
extern void ff_butterflies_float_interleave_avx(float *dst, const float *src0,
const float *src1, int len);
#define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU, PREFIX) \
do { \
c->PFX ## _pixels_tab[IDX][ 0] = PREFIX ## PFX ## SIZE ## _mc00_ ## CPU; \
@ -2149,7 +2144,6 @@ static void dsputil_init_sse(DSPContext *c, AVCodecContext *avctx, int mm_flags)
c->vector_fmul_add = ff_vector_fmul_add_sse;
c->scalarproduct_float = ff_scalarproduct_float_sse;
c->butterflies_float_interleave = ff_butterflies_float_interleave_sse;
#endif /* HAVE_YASM */
}
@ -2300,7 +2294,6 @@ static void dsputil_init_avx(DSPContext *c, AVCodecContext *avctx, int mm_flags)
c->avg_h264_chroma_pixels_tab[0] = ff_avg_h264_chroma_mc8_10_avx;
}
}
c->butterflies_float_interleave = ff_butterflies_float_interleave_avx;
c->vector_fmul_reverse = ff_vector_fmul_reverse_avx;
c->vector_fmul_add = ff_vector_fmul_add_avx;
#endif /* HAVE_AVX_EXTERNAL */

Loading…
Cancel
Save