libavcodec/x86/mlpdsp.c File Reference

#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 Documentation

#define ACCUM   "%%edx"

Definition at line 100 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#define BINC   AV_STRINGIFY(4* MAX_CHANNELS)

Definition at line 106 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#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 FIRMUL ( label,
offset   )     MLPMUL(label, #offset, "0", "0")

Definition at line 110 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#define FIRMULREG ( label,
offset,
firc   )     MLPMUL(label, #offset, "0", "0")

Definition at line 87 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#define IIRMUL ( label,
offset   )     MLPMUL(label, #offset, IOFFS, IOFFC)

Definition at line 111 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#define IOFFC   AV_STRINGIFY(4* MAX_FIR_ORDER)

Definition at line 108 of file mlpdsp.c.

#define IOFFS   AV_STRINGIFY(4*(MAX_FIR_ORDER + MAX_BLOCKSIZE))

Definition at line 107 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#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"

Definition at line 80 of file mlpdsp.c.

#define RESULT   "%%eax"

Definition at line 101 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#define RESULT32   "%%eax"

Definition at line 102 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().

#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().


Function Documentation

void ff_mlp_init_x86 ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 176 of file mlpdsp.c.

Referenced by ff_mlp_init().

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]

Definition at line 113 of file mlpdsp.c.

Referenced by ff_mlp_init_x86().


Variable Documentation

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

Referenced by mlp_filter_channel_x86().

const void* firtable[9] [static]

const void* iirtable[5] [static]

Initial value:

Definition at line 49 of file mlpdsp.c.

Referenced by mlp_filter_channel_x86().


Generated on Tue Apr 20 17:39:35 2010 for FFmpeg by  doxygen 1.5.6