#include "libavutil/x86_cpu.h"
#include "libavcodec/dsputil.h"
#include "libavcodec/mlp.h"
Go to the source code of this file.
Defines | |
#define | MLPMUL(label, offset, offs, offc) |
#define | FIRMULREG(label, offset, firc) MLPMUL(label, #offset, "0", "0") |
#define | CLEAR_ACCUM |
#define | SHIFT_ACCUM |
#define | ACCUM "%%edx" |
#define | RESULT "%%eax" |
#define | RESULT32 "%%eax" |
#define | BINC AV_STRINGIFY(4* MAX_CHANNELS) |
#define | IOFFS AV_STRINGIFY(4*(MAX_FIR_ORDER + MAX_BLOCKSIZE)) |
#define | IOFFC AV_STRINGIFY(4* MAX_FIR_ORDER) |
#define | FIRMUL(label, offset) MLPMUL(label, #offset, "0", "0") |
#define | IIRMUL(label, offset) MLPMUL(label, #offset, IOFFS, IOFFC) |
Functions | |
static void | mlp_filter_channel_x86 (int32_t *state, const int32_t *coeff, int firorder, int iirorder, unsigned int filter_shift, int32_t mask, int blocksize, int32_t *sample_buffer) |
void | ff_mlp_init_x86 (DSPContext *c, AVCodecContext *avctx) |
Variables | |
void | ff_mlp_firorder_8 |
void | ff_mlp_firorder_7 |
void | ff_mlp_firorder_6 |
void | ff_mlp_firorder_5 |
void | ff_mlp_firorder_4 |
void | ff_mlp_firorder_3 |
void | ff_mlp_firorder_2 |
void | ff_mlp_firorder_1 |
void | ff_mlp_firorder_0 |
void | ff_mlp_iirorder_4 |
void | ff_mlp_iirorder_3 |
void | ff_mlp_iirorder_2 |
void | ff_mlp_iirorder_1 |
void | ff_mlp_iirorder_0 |
static const void * | firtable [9] |
static const void * | iirtable [5] |
#define ACCUM "%%edx" |
#define BINC AV_STRINGIFY(4* MAX_CHANNELS) |
#define CLEAR_ACCUM |
Value:
"xor %%esi, %%esi\n\t" \ "xor %%ecx, %%ecx\n\t"
Definition at line 90 of file mlpdsp.c.
Referenced by mlp_filter_channel_x86().
#define IOFFS AV_STRINGIFY(4*(MAX_FIR_ORDER + MAX_BLOCKSIZE)) |
#define MLPMUL | ( | label, | |||
offset, | |||||
offs, | |||||
offc | ) |
Value:
LABEL_MANGLE(label)": \n\t" \ "mov "offset"+"offs"(%0), %%eax\n\t" \ "imull "offset"+"offc"(%1) \n\t" \ "add %%eax , %%esi\n\t" \ "adc %%edx , %%ecx\n\t"
#define RESULT "%%eax" |
#define RESULT32 "%%eax" |
#define SHIFT_ACCUM |
Value:
"mov %%ecx, %%edx\n\t" \ "mov %%esi, %%eax\n\t" \ "movzbl %7 , %%ecx\n\t" \ "shrd %%cl, %%edx, %%eax\n\t" \
Definition at line 94 of file mlpdsp.c.
Referenced by mlp_filter_channel_x86().
void ff_mlp_init_x86 | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
static void mlp_filter_channel_x86 | ( | int32_t * | state, | |
const int32_t * | coeff, | |||
int | firorder, | |||
int | iirorder, | |||
unsigned int | filter_shift, | |||
int32_t | mask, | |||
int | blocksize, | |||
int32_t * | sample_buffer | |||
) | [static] |
void ff_mlp_firorder_0 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_1 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_2 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_3 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_4 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_5 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_6 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_7 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_firorder_8 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_iirorder_0 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_iirorder_1 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_iirorder_2 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_iirorder_3 |
Referenced by mlp_filter_channel_x86().
void ff_mlp_iirorder_4 |
Referenced by mlp_filter_channel_x86().
const void* firtable[9] [static] |
Initial value:
{ &ff_mlp_firorder_0, &ff_mlp_firorder_1, &ff_mlp_firorder_2, &ff_mlp_firorder_3, &ff_mlp_firorder_4, &ff_mlp_firorder_5, &ff_mlp_firorder_6, &ff_mlp_firorder_7, &ff_mlp_firorder_8 }
Definition at line 44 of file mlpdsp.c.
Referenced by mlp_filter_channel_x86().
const void* iirtable[5] [static] |
Initial value:
{ &ff_mlp_iirorder_0, &ff_mlp_iirorder_1, &ff_mlp_iirorder_2, &ff_mlp_iirorder_3, &ff_mlp_iirorder_4 }
Definition at line 49 of file mlpdsp.c.
Referenced by mlp_filter_channel_x86().