libavcodec/x86/fmtconvert_mmx.c File Reference

#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_sse(a, b, c)   float_to_int16_interleave_misc_sse(a,b,c,6)
#define ff_float_to_int16_interleave6_3dnow(a, b, c)   float_to_int16_interleave_misc_3dnow(a,b,c,6)
#define ff_float_to_int16_interleave6_3dn2(a, b, c)   float_to_int16_interleave_misc_3dnow(a,b,c,6)
#define ff_float_to_int16_interleave6_sse2   ff_float_to_int16_interleave6_sse
#define FLOAT_TO_INT16_INTERLEAVE(cpu, body)

Functions

static void int32_to_float_fmul_scalar_sse (float *dst, const int *src, float mul, int len)
static void int32_to_float_fmul_scalar_sse2 (float *dst, const int *src, float mul, int len)
static void float_to_int16_3dnow (int16_t *dst, const float *src, long len)
static void float_to_int16_sse (int16_t *dst, const float *src, long len)
static void float_to_int16_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)
 FLOAT_TO_INT16_INTERLEAVE (3dnow,"1: \n""pf2id (%2,%0), %%mm0 \n""pf2id 8(%2,%0), %%mm1 \n""pf2id (%3,%0), %%mm2 \n""pf2id 8(%3,%0), %%mm3 \n""packssdw %%mm1, %%mm0 \n""packssdw %%mm3, %%mm2 \n""movq %%mm0, %%mm1 \n""punpcklwd %%mm2, %%mm0 \n""punpckhwd %%mm2, %%mm1 \n""movq %%mm0, (%1,%0)\n""movq %%mm1, 8(%1,%0)\n""add $16, %0 \n""js 1b \n""femms \n") FLOAT_TO_INT16_INTERLEAVE(sse
mm0cvtps2pi (%2,%0)
mm0 n mm1 n mm2 n mm3 n
packssdw mm0 n packssdw mm2 n
movq mm1 n punpcklwd mm0 n
punpckhwd mm1 n movq n movq n
n js n emms n 
FLOAT_TO_INT16_INTERLEAVE (sse2,"1: \n""cvtps2dq (%2,%0), %%xmm0 \n""cvtps2dq (%3,%0), %%xmm1 \n""packssdw %%xmm1, %%xmm0 \n""movhlps %%xmm0, %%xmm1 \n""punpcklwd %%xmm1, %%xmm0 \n""movdqa %%xmm0, (%1,%0) \n""add $16, %0 \n""js 1b \n") static void float_to_int16_interleave_3dn2(int16_t *dst

Variables

 __pad0__
mm0 n mm1 n mm2 n mm3 n packssdw mm1
mm0 n mm1 n mm2 n mm3 n
packssdw mm0 n packssdw 
mm3
mm0 n mm1 n mm2 n mm3 n
packssdw mm0 n packssdw mm2 n
movq 
mm0
mm0 n mm1 n mm2 n mm3 n
packssdw mm0 n packssdw mm2 n
movq mm1 n punpcklwd 
mm2
mm0 n mm1 n mm2 n mm3 n
packssdw mm0 n packssdw mm2 n
movq mm1 n punpcklwd mm0 n
punpckhwd mm1 n movq n movq n 
add
mm0 n mm1 n mm2 n mm3 n
packssdw mm0 n packssdw mm2 n
movq mm1 n punpcklwd mm0 n
punpckhwd mm1 n movq n movq n
n js n emms n const float ** 
src
mm0 n mm1 n mm2 n mm3 n
packssdw mm0 n packssdw mm2 n
movq mm1 n punpcklwd mm0 n
punpckhwd mm1 n movq n movq n
n js n emms n const float long 
len


Define Documentation

#define ff_float_to_int16_interleave6_3dn2 ( a,
b,
c   )     float_to_int16_interleave_misc_3dnow(a,b,c,6)

Definition at line 145 of file fmtconvert_mmx.c.

#define ff_float_to_int16_interleave6_3dnow ( a,
b,
c   )     float_to_int16_interleave_misc_3dnow(a,b,c,6)

Definition at line 144 of file fmtconvert_mmx.c.

#define ff_float_to_int16_interleave6_sse ( a,
b,
c   )     float_to_int16_interleave_misc_sse(a,b,c,6)

Definition at line 143 of file fmtconvert_mmx.c.

#define ff_float_to_int16_interleave6_sse2   ff_float_to_int16_interleave6_sse

Definition at line 147 of file fmtconvert_mmx.c.

#define FLOAT_TO_INT16_INTERLEAVE ( cpu,
body   ) 

Definition at line 149 of file fmtconvert_mmx.c.


Function Documentation

mm0 n mm1 n mm2 n cvtps2pi ( 2,
0 
)

Type Constraints

void ff_float_to_int16_interleave6_3dn2 ( 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_sse ( int16_t *  dst,
const float **  src,
int  len 
)

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

Definition at line 73 of file fmtconvert_mmx.c.

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm2 n movq mm1 n punpcklwd mm0 n punpckhwd mm1 n movq n movq n n js n emms n FLOAT_TO_INT16_INTERLEAVE ( sse2  ,
"1: \n""cvtps2dq   %2,%0,
%%xmm0\n" "  cvtps2dq%3,%0,
%%xmm1\n" "packssdw%%  xmm1,
%%xmm0\n" "movhlps%%  xmm0,
%%xmm1\n" "punpcklwd%%  xmm1,
%%xmm0\n" "movdqa%%  xmm0,
(%1,%0)\n" "add 16,
%0\n" "js 1b\n"   
)

Type Constraints

FLOAT_TO_INT16_INTERLEAVE ( 3dnow  ,
"1: \n""pf2id   %2,%0,
%%mm0\n" "pf2id   8%2,%0,
%%mm1\n" "  pf2id%3,%0,
%%mm2\n" "pf2id   8%3,%0,
%%mm3\n" "packssdw%%  mm1,
%%mm0\n" "packssdw%%  mm3,
%%mm2\n" "movq%%  mm0,
%%mm1\n" "punpcklwd%%  mm2,
%%mm0\n" "punpckhwd%%  mm2,
%%mm1\n" "movq%%  mm0,
(%1,%0)\n" "movq%%  mm1,
8(%1,%0)\n" "add 16,
%0\n" "js 1b\n" "femms\n"   
)

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

Definition at line 97 of file fmtconvert_mmx.c.

static void float_to_int16_sse2 ( int16_t *  dst,
const float *  src,
long  len 
) [static]

Definition at line 120 of file fmtconvert_mmx.c.

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

Definition at line 29 of file fmtconvert_mmx.c.

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

Definition at line 53 of file fmtconvert_mmx.c.


Variable Documentation

Definition at line 203 of file fmtconvert_mmx.c.

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm2 n movq mm1 n punpcklwd mm0 n punpckhwd mm1 n movq n movq n add

Definition at line 207 of file fmtconvert_mmx.c.

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm2 n movq mm1 n punpcklwd mm0 n punpckhwd mm1 n movq n movq n n js n emms n const float long len

Definition at line 231 of file fmtconvert_mmx.c.

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm2 n movq mm1 n punpcklwd mm0 n punpckhwd mm1 n movq mm0

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm2 n movq mm1 n punpcklwd mm0 n punpckhwd mm1 n movq n movq mm1

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm2 n movq mm1 n punpcklwd mm0 n punpckhwd mm2

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm3

mm0 n mm1 n mm2 n mm3 n packssdw mm0 n packssdw mm2 n movq mm1 n punpcklwd mm0 n punpckhwd mm1 n movq n movq n n js n emms n const float** src

Definition at line 231 of file fmtconvert_mmx.c.

Referenced by adpcm_decode_frame(), apply_dependent_coupling(), apply_independent_coupling(), av_aes_crypt(), avfilter_draw_slice(), bfi_decode_frame(), blockCopy_TMPL(), bmp_decode_frame(), bmp_encode_frame(), cavs_idct8_add_c(), cinaudio_decode_frame(), cmp_direct_inline(), cmp_inline(), copy(), copy_backptr(), copy_block16(), copy_block2(), copy_block4(), copy_block8(), copy_frame(), decode(), decode_frame(), decode_init(), decode_p_frame(), decode_tile(), deInterlaceBlendLinear_TMPL(), deInterlaceFF_TMPL(), deInterlaceInterpolateCubic_TMPL(), deInterlaceInterpolateLinear_TMPL(), deInterlaceL5_TMPL(), deInterlaceMedian_TMPL(), deNoise(), dering_TMPL(), do_a_deblock_TMPL(), doTest(), doVertDefFilter_TMPL(), doVertLowPass_TMPL(), drawBasis(), duplicate_TMPL(), eightsvx_decode_frame(), encode_frame(), encode_rgb48_10bit(), ff_draw_horiz_band(), ff_emulated_edge_mc(), ff_ivi_inverse_slant_4x4(), ff_ivi_inverse_slant_8x8(), ff_ivi_process_empty_tile(), ff_jpegls_decode_picture(), ff_mjpeg_find_marker(), ff_rtmp_packet_dump(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), for(), frame_thread_init(), getpix(), guess_mv(), h264_handle_packet(), halfpel_interpol(), http_prepare_data(), indeo3_decode_frame(), load_input_picture(), long_term_synth(), main(), mca(), mct_decode(), memcpy_backptr(), mimic_decode_update_thread_context(), mix(), msrle_decode_8_16_24_32(), pcm_bluray_decode_frame(), pcm_decode_frame(), pcx_encode_frame(), postProcess_TMPL(), pred16x16_dc(), pred16x16_horizontal(), pred16x16_left_dc(), pred16x16_plane_compat(), pred16x16_top_dc(), pred16x16_vertical(), pred4x4_127_dc(), pred4x4_128_dc(), pred4x4_129_dc(), pred4x4_dc(), pred4x4_down_left(), pred4x4_down_right(), pred4x4_horizontal(), pred4x4_horizontal_down(), pred4x4_horizontal_up(), pred4x4_left_dc(), pred4x4_top_dc(), pred4x4_vertical(), pred4x4_vertical_left(), pred4x4_vertical_right(), prefetch_motion(), put_image(), rgb15to16_TMPL(), rgb15to32_TMPL(), rgb15tobgr24_TMPL(), rgb16to15_TMPL(), rgb16to32_TMPL(), rgb16tobgr24_TMPL(), rgb24to15_TMPL(), rgb24to16_TMPL(), rgb24tobgr15_TMPL(), rgb24tobgr16_TMPL(), rgb24tobgr24_TMPL(), rgb24tobgr32_TMPL(), rgb32to15_TMPL(), rgb32to16_TMPL(), rgb32tobgr15_TMPL(), rgb32tobgr16_TMPL(), rgb32tobgr24_TMPL(), shuffle_bytes_2103_TMPL(), svq1_decode_frame(), svq1_encode_plane(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq1_skip_block(), svq3_mc_dir_part(), tempNoiseReducer_TMPL(), tgv_decode_inter(), tmv_decode_frame(), to_meta_with_crop(), transpose1_TMPL(), transpose2_TMPL(), validate_acl_list(), vc1_interp_mc(), vc1_inv_trans_4x4_c(), vc1_inv_trans_4x8_c(), vc1_inv_trans_8x4_c(), vc1_inv_trans_8x8_c(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), vertClassify_TMPL(), vertX1Filter_TMPL(), vp8_mc_luma(), wavpack_decode_block(), xan_decode_chroma(), xan_decode_frame_type0(), xan_decode_frame_type1(), yuv2yuv1_ar_TMPL(), yuv2yuv1_TMPL(), yuy2toyv12_TMPL(), zmbv_decode_xor_16(), and zmbv_decode_xor_8().


Generated on Fri Oct 26 02:39:47 2012 for FFmpeg by  doxygen 1.5.8