#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_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 | |
mm0 n | cvtps2pi (%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 |
void | ff_float_interleave2_sse (float *dst, const float **src, unsigned int len) |
void | ff_float_interleave6_mmx (float *dst, const float **src, unsigned int len) |
void | ff_float_interleave6_sse (float *dst, const float **src, unsigned int len) |
static void | float_interleave_mmx (float *dst, const float **src, unsigned int len, int channels) |
static void | float_interleave_sse (float *dst, const float **src, unsigned int len, int channels) |
void | ff_fmt_convert_init_x86 (FmtConvertContext *c, AVCodecContext *avctx) |
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 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.
void ff_float_interleave2_sse | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len | |||
) |
Referenced by float_interleave_sse().
void ff_float_interleave6_mmx | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len | |||
) |
Referenced by float_interleave_mmx().
void ff_float_interleave6_sse | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len | |||
) |
Referenced by float_interleave_sse().
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 | |||
) |
void ff_fmt_convert_init_x86 | ( | FmtConvertContext * | c, | |
AVCodecContext * | avctx | |||
) |
Definition at line 268 of file fmtconvert_mmx.c.
Referenced by ff_fmt_convert_init().
static void float_interleave_mmx | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len, | |||
int | channels | |||
) | [static] |
Definition at line 245 of file fmtconvert_mmx.c.
static void float_interleave_sse | ( | float * | dst, | |
const float ** | src, | |||
unsigned int | len, | |||
int | channels | |||
) | [static] |
Definition at line 256 of file fmtconvert_mmx.c.
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" | ||||
) |
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.
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.
Referenced by dct_unquantize_h263_axp(), decode_mb(), idct_internal(), and wv_get_value().
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 |
Definition at line 207 of file fmtconvert_mmx.c.
Referenced by add_8x8basis(), cavs_idct8_1d(), cavs_idct8_add_mmx(), DEF(), deInterlaceBlendLinear_MMX2(), deInterlaceInterpolateLinear_MMX2(), deInterlaceL5_MMX2(), dering_MMX2(), doVertDefFilter_MMX2(), doVertLowPass_MMX2(), ff_imdct_calc_3dn2(), ff_imdct_half_3dn2(), h264_loop_filter_strength_mmx2(), tempNoiseReducer_MMX2(), try_8x8basis(), vertX1Filter_MMX2(), vsad16_mmx(), vsad16_mmx2(), vsad_intra16_mmx(), vsad_intra16_mmx2(), yuv2rgb32_1_MMX2(), yuv2rgb32_2_MMX2(), yuv2rgb32_X_ar_MMX2(), yuv2rgb32_X_MMX2(), yuv2yuv1_ar_MMX2(), and yuv2yuv1_MMX2().
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 |
Definition at line 207 of file fmtconvert_mmx.c.
Referenced by add_8x8basis(), cavs_idct8_1d(), cavs_idct8_add_mmx(), DEF(), deInterlaceBlendLinear_MMX2(), deInterlaceInterpolateLinear_MMX2(), deInterlaceL5_MMX2(), dering_MMX2(), dint_copy_line_mmx2(), do_a_deblock_MMX2(), doVertDefFilter_MMX2(), doVertLowPass_MMX2(), ff_imdct_calc_3dn2(), ff_imdct_half_3dn2(), h264_loop_filter_strength_mmx2(), tempNoiseReducer_MMX2(), try_8x8basis(), vertClassify_MMX2(), vertX1Filter_MMX2(), vsad16_mmx(), vsad16_mmx2(), vsad_intra16_mmx(), vsad_intra16_mmx2(), yuv2rgb32_1_MMX2(), yuv2rgb32_2_MMX2(), yuv2rgb32_X_ar_MMX2(), and yuv2rgb32_X_MMX2().
Definition at line 207 of file fmtconvert_mmx.c.
Referenced by cavs_idct8_1d(), cavs_idct8_add_mmx(), DEF(), deInterlaceBlendLinear_MMX2(), dering_MMX2(), dint_copy_line_mmx2(), do_a_deblock_MMX2(), doVertDefFilter_MMX2(), doVertLowPass_MMX2(), ff_imdct_half_3dn2(), h264_loop_filter_strength_mmx2(), tempNoiseReducer_MMX2(), vertClassify_MMX2(), yuv2rgb32_1_MMX2(), yuv2rgb32_2_MMX2(), yuv2rgb32_X_ar_MMX2(), and yuv2rgb32_X_MMX2().
Definition at line 207 of file fmtconvert_mmx.c.
Referenced by cavs_idct8_1d(), cavs_idct8_add_mmx(), DEF(), dering_MMX2(), dint_copy_line_mmx2(), do_a_deblock_MMX2(), doVertDefFilter_MMX2(), doVertLowPass_MMX2(), ff_imdct_half_3dn2(), h264_loop_filter_strength_mmx2(), tempNoiseReducer_MMX2(), vertClassify_MMX2(), vertX1Filter_MMX2(), yuv2rgb32_1_MMX2(), yuv2rgb32_2_MMX2(), yuv2rgb32_X_ar_MMX2(), and yuv2rgb32_X_MMX2().
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_MMX2(), 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_MMX2(), deInterlaceFF_MMX2(), deInterlaceInterpolateCubic_MMX2(), deInterlaceInterpolateLinear_MMX2(), deInterlaceL5_MMX2(), deInterlaceMedian_MMX2(), deNoise(), dering_MMX2(), do_a_deblock_MMX2(), doTest(), doVertDefFilter_MMX2(), doVertLowPass_MMX2(), drawBasis(), duplicate_MMX2(), 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(), get_4block_rd(), get_block_rd(), get_dc(), getpix(), guess_mv(), h264_handle_packet(), halfpel_interpol(), http_prepare_data(), indeo3_decode_frame(), iterative_me(), 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_MMX2(), 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_3DNOW(), rgb15to32_3DNOW(), rgb15tobgr24_3DNOW(), rgb16to15_3DNOW(), rgb16to32_3DNOW(), rgb16tobgr24_3DNOW(), rgb24to15_3DNOW(), rgb24to16_3DNOW(), rgb24tobgr15_3DNOW(), rgb24tobgr16_3DNOW(), rgb24tobgr24_3DNOW(), rgb24tobgr32_3DNOW(), rgb32to15_3DNOW(), rgb32to16_3DNOW(), rgb32tobgr15_3DNOW(), rgb32tobgr16_3DNOW(), rgb32tobgr24_3DNOW(), shuffle_bytes_2103_3DNOW(), svq1_decode_frame(), svq1_encode_plane(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq1_skip_block(), svq3_mc_dir_part(), tempNoiseReducer_MMX2(), tgv_decode_inter(), tmv_decode_frame(), to_meta_with_crop(), transpose1_MMX2(), transpose2_MMX2(), 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_MMX2(), vertX1Filter_MMX2(), vp8_mc_luma(), wavpack_decode_block(), xan_decode_chroma(), xan_decode_frame_type0(), xan_decode_frame_type1(), yuv2yuv1_ar_MMX2(), yuv2yuv1_MMX2(), yuy2toyv12_3DNOW(), zmbv_decode_xor_16(), and zmbv_decode_xor_8().