FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
mpegaudiodsp_mips_float.c File Reference

Reference: libavcodec/mpegaudiodsp_template.c libavcodec/dct32.c. More...

#include <string.h>
#include "libavutil/mips/asmdefs.h"
#include "libavcodec/mpegaudiodsp.h"

Go to the source code of this file.

Functions

static void ff_mpadsp_apply_window_mips_float (float *synth_buf, float *window, int *dither_state, float *samples, int incr)
 
static void ff_dct32_mips_float (float *out, const float *tab)
 
static void imdct36_mips_float (float *out, float *buf, float *in, float *win)
 
static void ff_imdct36_blocks_mips_float (float *out, float *buf, float *in, int count, int switch_point, int block_type)
 
void ff_mpadsp_init_mipsfpu (MPADSPContext *s)
 

Detailed Description

Reference: libavcodec/mpegaudiodsp_template.c libavcodec/dct32.c.

Definition in file mpegaudiodsp_mips_float.c.

Function Documentation

static void ff_mpadsp_apply_window_mips_float ( float *  synth_buf,
float *  window,
int *  dither_state,
float *  samples,
int  incr 
)
static

instructions are scheduled to minimize pipeline stall. use of round_sample function from the original code is changed with appropriate assembly instructions.

Definition at line 61 of file mpegaudiodsp_mips_float.c.

Referenced by ff_mpadsp_init_mipsfpu().

static void ff_dct32_mips_float ( float *  out,
const float *  tab 
)
static

instructions are scheduled to minimize pipeline stall.

Definition at line 281 of file mpegaudiodsp_mips_float.c.

Referenced by ff_mpadsp_init_mipsfpu().

static void imdct36_mips_float ( float *  out,
float *  buf,
float *  in,
float *  win 
)
static

all loops are unrolled totally, and instructions are scheduled to minimize pipeline stall. instructions of the first two loops are reorganized, in order to eliminate unnecessary readings and writings into array. values defined in macros and tables are eliminated - they are directly loaded in appropriate variables

Definition at line 790 of file mpegaudiodsp_mips_float.c.

Referenced by ff_imdct36_blocks_mips_float().

static void ff_imdct36_blocks_mips_float ( float *  out,
float *  buf,
float *  in,
int  count,
int  switch_point,
int  block_type 
)
static

Definition at line 1227 of file mpegaudiodsp_mips_float.c.

Referenced by ff_mpadsp_init_mipsfpu().

void ff_mpadsp_init_mipsfpu ( MPADSPContext s)

Definition at line 1246 of file mpegaudiodsp_mips_float.c.

Referenced by ff_mpadsp_init().