dsputil_mmx.c File Reference

Go to the source code of this file.

Functions

void ff_idct_xvid_mmx (short *block)
void ff_idct_xvid_mmx2 (short *block)
static const uint64_t mm_bone
attribute_used 
__attribute__ ((aligned(8)))
static const double ff_pd_2[2]
attribute_used 
__attribute__ ((aligned(16)))
static void get_pixels_mmx (DCTELEM *block, const uint8_t *pixels, int line_size)
static void diff_pixels_mmx (DCTELEM *block, const uint8_t *s1, const uint8_t *s2, int stride)
void put_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size)
static DECLARE_ALIGNED_8 (const unsigned char, vector128[8])
void put_signed_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size)
void add_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size)
static void put_pixels4_mmx (uint8_t *block, const uint8_t *pixels, int line_size, int h)
static void put_pixels8_mmx (uint8_t *block, const uint8_t *pixels, int line_size, int h)
static void put_pixels16_mmx (uint8_t *block, const uint8_t *pixels, int line_size, int h)
static void clear_blocks_mmx (DCTELEM *blocks)
static int pix_sum16_mmx (uint8_t *pix, int line_size)
static void add_bytes_mmx (uint8_t *dst, uint8_t *src, int w)
static void h263_v_loop_filter_mmx (uint8_t *src, int stride, int qscale)
static void transpose4x4 (uint8_t *dst, uint8_t *src, int dst_stride, int src_stride)
static void h263_h_loop_filter_mmx (uint8_t *src, int stride, int qscale)
static int pix_norm1_mmx (uint8_t *pix, int line_size)
static int sse8_mmx (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int sse16_mmx (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int sse16_sse2 (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int hf_noise8_mmx (uint8_t *pix1, int line_size, int h)
static int hf_noise16_mmx (uint8_t *pix1, int line_size, int h)
static int nsse16_mmx (void *p, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int nsse8_mmx (void *p, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int vsad_intra16_mmx (void *v, uint8_t *pix, uint8_t *dummy, int line_size, int h)
static int vsad_intra16_mmx2 (void *v, uint8_t *pix, uint8_t *dummy, int line_size, int h)
static int vsad16_mmx (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int vsad16_mmx2 (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static void diff_bytes_mmx (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
static void sub_hfyu_median_prediction_mmx2 (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top)
 HADAMARD8_DIFF_MMX (mmx)
 DCT_SAD_FUNC (mmx)
 QPEL_BASE (put_, QPEL_BASE(avg_ ff_pw_16, QPEL_BASE(avg_ _, QPEL_BASE(avg_ PUT_OP, QPEL_BASE(avg_ PUT_OP)
 QPEL_2TAP (put_, QPEL_2TAP(16, mmx2)
static void gmc_mmx (uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height)
 PREFETCH (prefetch_mmx2, prefetcht0)
void ff_avg_cavs_qpel8_mc00_mmx2 (uint8_t *dst, uint8_t *src, int stride)
void ff_put_cavs_qpel16_mc00_mmx2 (uint8_t *dst, uint8_t *src, int stride)
void ff_avg_cavs_qpel16_mc00_mmx2 (uint8_t *dst, uint8_t *src, int stride)
void ff_mmx_idct (DCTELEM *block)
void ff_mmxext_idct (DCTELEM *block)
static void ff_libmpeg2mmx_idct_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_libmpeg2mmx_idct_add (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_libmpeg2mmx2_idct_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_libmpeg2mmx2_idct_add (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_idct_xvid_mmx_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_idct_xvid_mmx_add (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_idct_xvid_mmx2_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_idct_xvid_mmx2_add (uint8_t *dest, int line_size, DCTELEM *block)
static void vorbis_inverse_coupling_3dnow (float *mag, float *ang, int blocksize)
static void vorbis_inverse_coupling_sse (float *mag, float *ang, int blocksize)
static void apply_welch_window_sse2 (const int32_t *data, int len, double *w_data)
static void flac_compute_autocorr_sse2 (const int32_t *data, int len, int lag, double *autoc)
static void vector_fmul_3dnow (float *dst, const float *src, int len)
static void vector_fmul_sse (float *dst, const float *src, int len)
static void vector_fmul_reverse_3dnow2 (float *dst, const float *src0, const float *src1, int len)
static void vector_fmul_reverse_sse (float *dst, const float *src0, const float *src1, int len)
static void vector_fmul_add_add_3dnow (float *dst, const float *src0, const float *src1, const float *src2, int src3, int len, int step)
static void vector_fmul_add_add_sse (float *dst, const float *src0, const float *src1, const float *src2, int src3, int len, int step)
static void float_to_int16_3dnow (int16_t *dst, const float *src, int len)
static void float_to_int16_sse (int16_t *dst, const float *src, int len)
void ff_snow_horizontal_compose97i_sse2 (DWTELEM *b, int width)
void ff_snow_horizontal_compose97i_mmx (DWTELEM *b, int width)
void ff_snow_vertical_compose97i_sse2 (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, DWTELEM *b3, DWTELEM *b4, DWTELEM *b5, int width)
void ff_snow_vertical_compose97i_mmx (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, DWTELEM *b3, DWTELEM *b4, DWTELEM *b5, int width)
void ff_snow_inner_add_yblock_sse2 (const uint8_t *obmc, const int obmc_stride, uint8_t **block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffer *sb, int add, uint8_t *dst8)
void ff_snow_inner_add_yblock_mmx (const uint8_t *obmc, const int obmc_stride, uint8_t **block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffer *sb, int add, uint8_t *dst8)
void dsputil_init_mmx (DSPContext *c, AVCodecContext *avctx)

Variables

int mm_flags


Function Documentation

void ff_idct_xvid_mmx ( short *  block  ) 

Definition at line 485 of file idct_mmx_xvid.c.

void ff_idct_xvid_mmx2 ( short *  block  ) 

Definition at line 508 of file idct_mmx_xvid.c.

static const uint64_t ff_pw_20 attribute_used __attribute__ ( (aligned(8))   )  [static, pure virtual]

Definition at line 43 of file dsputil_mmx.c.

static const double ff_pd_2 [2] attribute_used __attribute__ ( (aligned(16))   )  [static]

static void get_pixels_mmx ( DCTELEM block,
const uint8_t *  pixels,
int  line_size 
) [static]

Definition at line 219 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void diff_pixels_mmx ( DCTELEM block,
const uint8_t *  s1,
const uint8_t *  s2,
int  stride 
) [inline, static]

Definition at line 247 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

void put_pixels_clamped_mmx ( const DCTELEM block,
uint8_t *  pixels,
int  line_size 
)

static DECLARE_ALIGNED_8 ( const unsigned  char,
vector128  [8] 
) [static]

void put_signed_pixels_clamped_mmx ( const DCTELEM block,
uint8_t *  pixels,
int  line_size 
)

Definition at line 335 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx(), ff_vp3_idct_put_mmx(), and ff_vp3_idct_put_sse2().

void add_pixels_clamped_mmx ( const DCTELEM block,
uint8_t *  pixels,
int  line_size 
)

static void put_pixels4_mmx ( uint8_t *  block,
const uint8_t *  pixels,
int  line_size,
int  h 
) [static]

Definition at line 391 of file dsputil_mmx.c.

static void put_pixels8_mmx ( uint8_t *  block,
const uint8_t *  pixels,
int  line_size,
int  h 
) [static]

Definition at line 417 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void put_pixels16_mmx ( uint8_t *  block,
const uint8_t *  pixels,
int  line_size,
int  h 
) [static]

Definition at line 443 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx(), and ff_put_cavs_qpel16_mc00_mmx2().

static void clear_blocks_mmx ( DCTELEM blocks  )  [static]

Definition at line 477 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int pix_sum16_mmx ( uint8_t *  pix,
int  line_size 
) [static]

Definition at line 495 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void add_bytes_mmx ( uint8_t *  dst,
uint8_t *  src,
int  w 
) [static]

Definition at line 534 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void h263_v_loop_filter_mmx ( uint8_t *  src,
int  stride,
int  qscale 
) [static]

Definition at line 627 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void transpose4x4 ( uint8_t *  dst,
uint8_t *  src,
int  dst_stride,
int  src_stride 
) [inline, static]

static void h263_h_loop_filter_mmx ( uint8_t *  src,
int  stride,
int  qscale 
) [static]

Definition at line 682 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int pix_norm1_mmx ( uint8_t *  pix,
int  line_size 
) [static]

Definition at line 736 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int sse8_mmx ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 779 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx(), and nsse8_mmx().

static int sse16_mmx ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 840 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx(), and nsse16_mmx().

static int sse16_sse2 ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 900 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int hf_noise8_mmx ( uint8_t *  pix1,
int  line_size,
int  h 
) [static]

Definition at line 962 of file dsputil_mmx.c.

Referenced by hf_noise16_mmx(), and nsse8_mmx().

static int hf_noise16_mmx ( uint8_t *  pix1,
int  line_size,
int  h 
) [static]

Definition at line 1087 of file dsputil_mmx.c.

Referenced by nsse16_mmx().

static int nsse16_mmx ( void *  p,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 1201 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int nsse8_mmx ( void *  p,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 1213 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int vsad_intra16_mmx ( void *  v,
uint8_t *  pix,
uint8_t *  dummy,
int  line_size,
int  h 
) [static]

Definition at line 1222 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int vsad_intra16_mmx2 ( void *  v,
uint8_t *  pix,
uint8_t *  dummy,
int  line_size,
int  h 
) [static]

Definition at line 1284 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int vsad16_mmx ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 1325 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static int vsad16_mmx2 ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 1404 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void diff_bytes_mmx ( uint8_t *  dst,
uint8_t *  src1,
uint8_t *  src2,
int  w 
) [static]

Definition at line 1462 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void sub_hfyu_median_prediction_mmx2 ( uint8_t *  dst,
uint8_t *  src1,
uint8_t *  src2,
int  w,
int *  left,
int *  left_top 
) [static]

Definition at line 1484 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

HADAMARD8_DIFF_MMX ( mmx   ) 

Definition at line 1802 of file dsputil_mmx.c.

DCT_SAD_FUNC ( mmx   ) 

Definition at line 1865 of file dsputil_mmx.c.

QPEL_BASE ( put_  ,
QPEL_BASE(avg_  ff_pw_16,
QPEL_BASE(avg_  _,
QPEL_BASE(avg_  PUT_OP,
QPEL_BASE(avg_  PUT_OP 
)

Definition at line 2583 of file dsputil_mmx.c.

QPEL_2TAP ( put_  ,
QPEL_2TAP(  16,
mmx2   
)

Definition at line 2630 of file dsputil_mmx.c.

static void gmc_mmx ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  ox,
int  oy,
int  dxx,
int  dxy,
int  dyx,
int  dyy,
int  shift,
int  r,
int  width,
int  height 
) [static]

Definition at line 2649 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

PREFETCH ( prefetch_mmx2  ,
prefetcht0   
)

void ff_avg_cavs_qpel8_mc00_mmx2 ( uint8_t *  dst,
uint8_t *  src,
int  stride 
)

Definition at line 2857 of file dsputil_mmx.c.

void ff_put_cavs_qpel16_mc00_mmx2 ( uint8_t *  dst,
uint8_t *  src,
int  stride 
)

Definition at line 2860 of file dsputil_mmx.c.

void ff_avg_cavs_qpel16_mc00_mmx2 ( uint8_t *  dst,
uint8_t *  src,
int  stride 
)

Definition at line 2863 of file dsputil_mmx.c.

void ff_mmx_idct ( DCTELEM block  ) 

void ff_mmxext_idct ( DCTELEM block  ) 

static void ff_libmpeg2mmx_idct_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2874 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_libmpeg2mmx_idct_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2879 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_libmpeg2mmx2_idct_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2884 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_libmpeg2mmx2_idct_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2889 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_idct_xvid_mmx_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2895 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_idct_xvid_mmx_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2900 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_idct_xvid_mmx2_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2905 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_idct_xvid_mmx2_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 2910 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vorbis_inverse_coupling_3dnow ( float *  mag,
float *  ang,
int  blocksize 
) [static]

Definition at line 2916 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vorbis_inverse_coupling_sse ( float *  mag,
float *  ang,
int  blocksize 
) [static]

Definition at line 2943 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void apply_welch_window_sse2 ( const int32_t data,
int  len,
double *  w_data 
) [static]

Definition at line 2975 of file dsputil_mmx.c.

Referenced by flac_compute_autocorr_sse2().

static void flac_compute_autocorr_sse2 ( const int32_t data,
int  len,
int  lag,
double *  autoc 
) [static]

Definition at line 3019 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vector_fmul_3dnow ( float *  dst,
const float *  src,
int  len 
) [static]

Definition at line 3093 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vector_fmul_sse ( float *  dst,
const float *  src,
int  len 
) [static]

Definition at line 3111 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vector_fmul_reverse_3dnow2 ( float *  dst,
const float *  src0,
const float *  src1,
int  len 
) [static]

Definition at line 3129 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vector_fmul_reverse_sse ( float *  dst,
const float *  src0,
const float *  src1,
int  len 
) [static]

Definition at line 3147 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vector_fmul_add_add_3dnow ( float *  dst,
const float *  src0,
const float *  src1,
const float *  src2,
int  src3,
int  len,
int  step 
) [static]

Definition at line 3167 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void vector_fmul_add_add_sse ( float *  dst,
const float *  src0,
const float *  src1,
const float *  src2,
int  src3,
int  len,
int  step 
) [static]

Definition at line 3216 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void float_to_int16_3dnow ( int16_t dst,
const float *  src,
int  len 
) [static]

Definition at line 3273 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

static void float_to_int16_sse ( int16_t dst,
const float *  src,
int  len 
) [static]

Definition at line 3288 of file dsputil_mmx.c.

Referenced by dsputil_init_mmx().

void ff_snow_horizontal_compose97i_sse2 ( DWTELEM b,
int  width 
)

Referenced by dsputil_init_mmx().

void ff_snow_horizontal_compose97i_mmx ( DWTELEM b,
int  width 
)

Referenced by dsputil_init_mmx().

void ff_snow_vertical_compose97i_sse2 ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
DWTELEM b3,
DWTELEM b4,
DWTELEM b5,
int  width 
)

Referenced by dsputil_init_mmx().

void ff_snow_vertical_compose97i_mmx ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
DWTELEM b3,
DWTELEM b4,
DWTELEM b5,
int  width 
)

Referenced by dsputil_init_mmx().

void ff_snow_inner_add_yblock_sse2 ( const uint8_t *  obmc,
const int  obmc_stride,
uint8_t **  block,
int  b_w,
int  b_h,
int  src_x,
int  src_y,
int  src_stride,
slice_buffer sb,
int  add,
uint8_t *  dst8 
)

Definition at line 849 of file snowdsp_mmx.c.

Referenced by dsputil_init_mmx().

void ff_snow_inner_add_yblock_mmx ( const uint8_t *  obmc,
const int  obmc_stride,
uint8_t **  block,
int  b_w,
int  b_h,
int  src_x,
int  src_y,
int  src_stride,
slice_buffer sb,
int  add,
uint8_t *  dst8 
)

Definition at line 863 of file snowdsp_mmx.c.

Referenced by dsputil_init_mmx().

void dsputil_init_mmx ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 3314 of file dsputil_mmx.c.

Referenced by dsputil_init().


Variable Documentation

int mm_flags

Definition at line 40 of file dsputil_mmx.c.


Generated on Sat Dec 18 05:15:51 2010 for MythTV by  doxygen 1.5.5