#include "libavutil/cpu.h"
#include "libavutil/x86_cpu.h"
#include "libavcodec/fmtconvert.h"
Go to the source code of this file.
Defines | |
#define | ff_float_to_int16_interleave6_sse2 ff_float_to_int16_interleave6_sse |
#define | FLOAT_TO_INT16_INTERLEAVE(cpu) |
Functions | |
void | ff_int32_to_float_fmul_scalar_sse (float *dst, const int *src, float mul, int len) |
void | ff_int32_to_float_fmul_scalar_sse2 (float *dst, const int *src, float mul, int len) |
void | ff_float_to_int16_3dnow (int16_t *dst, const float *src, long len) |
void | ff_float_to_int16_sse (int16_t *dst, const float *src, long len) |
void | ff_float_to_int16_sse2 (int16_t *dst, const float *src, long len) |
void | ff_float_to_int16_interleave2_3dnow (int16_t *dst, const float **src, long len) |
void | ff_float_to_int16_interleave2_sse (int16_t *dst, const float **src, long len) |
void | ff_float_to_int16_interleave2_sse2 (int16_t *dst, const float **src, long len) |
void | ff_float_to_int16_interleave6_sse (int16_t *dst, const float **src, int len) |
void | ff_float_to_int16_interleave6_3dnow (int16_t *dst, const float **src, int len) |
void | ff_float_to_int16_interleave6_3dn2 (int16_t *dst, const float **src, int len) |
static void | float_to_int16_interleave_3dn2 (int16_t *dst, const float **src, long len, int channels) |
void | ff_float_interleave2_mmx (float *dst, const float **src, unsigned int len) |
void | ff_float_interleave2_sse (float *dst, const float **src, unsigned int len) |
void | ff_float_interleave6_mmx (float *dst, const float **src, unsigned int len) |
void | ff_float_interleave6_sse (float *dst, const float **src, unsigned int len) |
static void | float_interleave_mmx (float *dst, const float **src, unsigned int len, int channels) |
static void | float_interleave_sse (float *dst, const float **src, unsigned int len, int channels) |
void | ff_fmt_convert_init_x86 (FmtConvertContext *c, AVCodecContext *avctx) |
#define ff_float_to_int16_interleave6_sse2 ff_float_to_int16_interleave6_sse |
Definition at line 46 of file fmtconvert_mmx.c.
#define FLOAT_TO_INT16_INTERLEAVE | ( | cpu | ) |
/* gcc pessimizes register allocation if this is in the same function as float_to_int16_interleave_sse2*/\ static av_noinline void float_to_int16_interleave_misc_##cpu(int16_t *dst, const float **src, long len, int channels){\ DECLARE_ALIGNED(16, int16_t, tmp)[len];\ int i,j,c;\ for(c=0; c<channels; c++){\ ff_float_to_int16_##cpu(tmp, src[c], len);\ for(i=0, j=c; i<len; i++, j+=channels)\ dst[j] = tmp[i];\ }\ }\ \ static void float_to_int16_interleave_##cpu(int16_t *dst, const float **src, long len, int channels){\ if(channels==1)\ ff_float_to_int16_##cpu(dst, src[0], len);\ else if(channels==2){\ ff_float_to_int16_interleave2_##cpu(dst, src, len);\ }else if(channels==6){\ ff_float_to_int16_interleave6_##cpu(dst, src, len);\ }else\ float_to_int16_interleave_misc_##cpu(dst, src, len, channels);\ }
Definition at line 48 of file fmtconvert_mmx.c.
void ff_float_interleave2_mmx | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len | |||
) |
Referenced by float_interleave_mmx().
void ff_float_interleave2_sse | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len | |||
) |
Referenced by float_interleave_sse().
void ff_float_interleave6_mmx | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len | |||
) |
Referenced by float_interleave_mmx().
void ff_float_interleave6_sse | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len | |||
) |
Referenced by float_interleave_sse().
void ff_float_to_int16_3dnow | ( | int16_t * | dst, | |
const float * | src, | |||
long | len | |||
) |
void ff_float_to_int16_interleave2_3dnow | ( | int16_t * | dst, | |
const float ** | src, | |||
long | len | |||
) |
void ff_float_to_int16_interleave2_sse | ( | int16_t * | dst, | |
const float ** | src, | |||
long | len | |||
) |
void ff_float_to_int16_interleave2_sse2 | ( | int16_t * | dst, | |
const float ** | src, | |||
long | len | |||
) |
void ff_float_to_int16_interleave6_3dn2 | ( | int16_t * | dst, | |
const float ** | src, | |||
int | len | |||
) |
Referenced by float_to_int16_interleave_3dn2().
void ff_float_to_int16_interleave6_3dnow | ( | int16_t * | dst, | |
const float ** | src, | |||
int | len | |||
) |
void ff_float_to_int16_interleave6_sse | ( | int16_t * | dst, | |
const float ** | src, | |||
int | len | |||
) |
void ff_float_to_int16_sse | ( | int16_t * | dst, | |
const float * | src, | |||
long | len | |||
) |
void ff_float_to_int16_sse2 | ( | int16_t * | dst, | |
const float * | src, | |||
long | len | |||
) |
void ff_fmt_convert_init_x86 | ( | FmtConvertContext * | c, | |
AVCodecContext * | avctx | |||
) |
Definition at line 111 of file fmtconvert_mmx.c.
Referenced by ff_fmt_convert_init().
void ff_int32_to_float_fmul_scalar_sse | ( | float * | dst, | |
const int * | src, | |||
float | mul, | |||
int | len | |||
) |
void ff_int32_to_float_fmul_scalar_sse2 | ( | float * | dst, | |
const int * | src, | |||
float | mul, | |||
int | len | |||
) |
static void float_interleave_mmx | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len, | |||
int | channels | |||
) | [static] |
Definition at line 88 of file fmtconvert_mmx.c.
static void float_interleave_sse | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len, | |||
int | channels | |||
) | [static] |
Definition at line 99 of file fmtconvert_mmx.c.
static void float_to_int16_interleave_3dn2 | ( | int16_t * | dst, | |
const float ** | src, | |||
long | len, | |||
int | channels | |||
) | [static] |
Definition at line 75 of file fmtconvert_mmx.c.