Libav 0.7.1
Defines | Functions | Variables
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,
 
)    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,
 
)    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,
 
)    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 
)
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.

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"   
)
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_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
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(), avfilter_link(), bfi_decode_frame(), bgr24ToUV_mmx_TMPL(), 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(), decode(), decode_frame(), decode_hextile(), decode_init(), decode_p_frame(), deInterlaceBlendLinear_TMPL(), deInterlaceFF_TMPL(), deInterlaceInterpolateCubic_TMPL(), deInterlaceInterpolateLinear_TMPL(), deInterlaceL5_TMPL(), deInterlaceMedian_TMPL(), deNoise(), dering_altivec(), dering_TMPL(), do_a_deblock_TMPL(), doTest(), doVertDefFilter_TMPL(), doVertLowPass_altivec(), doVertLowPass_TMPL(), duplicate_TMPL(), encode_frame(), encode_rgb48_10bit(), ff_avg_pixels16x16(), ff_avg_pixels8x8(), ff_copy_picture(), ff_draw_horiz_band(), ff_emulated_edge_mc(), ff_h264_decode_nal(), ff_h264_decode_rbsp_trailing(), ff_ivi_inverse_slant_4x4(), ff_ivi_inverse_slant_8x8(), ff_ivi_process_empty_tile(), ff_jpegls_decode_picture(), ff_mjpeg_find_marker(), ff_put_pixels16x16(), ff_put_pixels8x8(), ff_rtmp_packet_dump(), ff_shrink22(), ff_shrink44(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), float_to_int16_3dnow(), float_to_int16_sse(), float_to_int16_sse2(), frame_thread_init(), gmc1_c(), guess_mv(), h263_h_loop_filter_mmx(), h264_handle_packet(), halfpel_interpol(), hpel_motion(), hpel_motion_lowres(), http_prepare_data(), indeo3_decode_frame(), interleave_stereo(), lag_decode_zero_run_line(), load_input_picture(), long_term_synth(), lz_unpack(), main(), mc_block(), mca(), memcpy_backptr(), mimic_decode_update_thread_context(), mix(), mjpeg_copy_block(), mov_open_dref(), msrle_decode_8_16_24_32(), palToRgbWrapper(), pcm_bluray_decode_frame(), pcm_decode_frame(), pcx_encode_frame(), pcx_rle_decode(), png_get_interlaced_row(), png_put_interlaced_row(), postProcess_TMPL(), pred16x16_dc(), pred16x16_horizontal(), pred16x16_left_dc(), pred16x16_plane(), 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(), pred8x8_mad_cow_dc_0l0(), pred8x8_mad_cow_dc_0lt(), pred8x8_mad_cow_dc_l00(), pred8x8_mad_cow_dc_l0t(), prefetch_motion(), put_h264_qpel8or16_hv1_lowpass_sse2(), rgb15to16_c(), rgb15to16_TMPL(), rgb15to32_TMPL(), rgb15tobgr24_TMPL(), rgb16to15_c(), rgb16to15_TMPL(), rgb16to32_TMPL(), rgb16tobgr24_TMPL(), rgb24_to_yuv420p(), rgb24to15_c(), rgb24to15_TMPL(), rgb24to16_c(), rgb24to16_TMPL(), rgb24tobgr15_c(), rgb24tobgr15_TMPL(), rgb24tobgr16_c(), rgb24tobgr16_TMPL(), rgb24tobgr24_TMPL(), rgb24tobgr32_c(), rgb24tobgr32_TMPL(), rgb32to15_c(), rgb32to15_TMPL(), rgb32to16_c(), rgb32to16_TMPL(), rgb32tobgr15_c(), rgb32tobgr15_TMPL(), rgb32tobgr16_c(), rgb32tobgr16_TMPL(), rgb32tobgr24_c(), rgb32tobgr24_TMPL(), rgbToRgbWrapper(), rle_unpack(), seq_decode_op1(), seq_decode_op2(), seq_decode_op3(), seq_unpack_rle_block(), shuffle_bytes_2103_TMPL(), split_field_copy(), svq1_decode_frame(), svq1_encode_plane(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq1_skip_block(), svq3_mc_dir_part(), targa_decode_rle(), tempNoiseReducer_TMPL(), tgv_decode_inter(), tiff_unpack_strip(), tmv_decode_frame(), to_meta_with_crop(), transpose1_TMPL(), transpose2_TMPL(), unsharpen(), uyvytoyuv420_TMPL(), uyvytoyuv422_TMPL(), uyvytoyv12_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(), vc1_put_ver_16b_shift2_mmx(), vc1_unescape_buffer(), vector_clipf_sse(), vertClassify_altivec(), vertClassify_TMPL(), vertX1Filter_TMPL(), vp56_mc(), vp6_filter_diag2(), vp8_mc_luma(), wavpack_decode_block(), wmv2_mspel8_h_lowpass(), wmv2_mspel8_v_lowpass(), xan_decode_chroma(), xan_decode_frame_type0(), xan_decode_frame_type1(), yuv2yuv1_ar_TMPL(), yuv2yuv1_TMPL(), yuy2toyv12_TMPL(), yuyvtoyuv420_TMPL(), yuyvtoyuv422_TMPL(), zmbv_decode_xor_16(), and zmbv_decode_xor_8().