xine-lib 1.2.11
Macros | Functions | Variables
memcpy.c File Reference
#include <time.h>
#include <stdlib.h>
#include <string.h>
#include <xine/xine_internal.h>
#include "../xine-engine/xine_private.h"

Macros

#define ARCH_WARN
 
#define LOG_MODULE   "memcpy"
 
#define LOG_VERBOSE
 
#define BUFSIZE   1024*1024
 

Functions

static uint64_t rdtsc (int config_flags)
 
static int xine_probe_fast_memcpy_int (xine_t *xine)
 
static void update_fast_memcpy (void *user_data, xine_cfg_entry_t *entry)
 
void xine_probe_fast_memcpy (xine_t *xine)
 Benchmark available memcpy methods. More...
 

Variables

void *(* xine_fast_memcpy )(void *to, const void *from, size_t len) = NULL
 
struct {
   const char   name [16]
 
   void *(*const   function )(void *to, const void *from,
       size_t len)
 
   uint32_t   cpu_require
 
memcpy_method []
 
static uint64_t memcpy_timing [sizeof(memcpy_method)/sizeof(memcpy_method[0])] = { 0, }
 

Macro Definition Documentation

◆ ARCH_WARN

#define ARCH_WARN

◆ BUFSIZE

#define BUFSIZE   1024*1024

◆ LOG_MODULE

#define LOG_MODULE   "memcpy"

◆ LOG_VERBOSE

#define LOG_VERBOSE

Function Documentation

◆ rdtsc()

static uint64_t rdtsc ( int  config_flags)
static

◆ update_fast_memcpy()

static void update_fast_memcpy ( void *  user_data,
xine_cfg_entry_t entry 
)
static

◆ xine_probe_fast_memcpy()

void xine_probe_fast_memcpy ( xine_t xine)

Benchmark available memcpy methods.

References _, xine_s::config, NULL, config_values_s::register_enum, update_fast_memcpy(), config_values_s::update_num, and xine_fast_memcpy.

Referenced by xine_init().

◆ xine_probe_fast_memcpy_int()

static int xine_probe_fast_memcpy_int ( xine_t xine)
static

Variable Documentation

◆ cpu_require

uint32_t cpu_require

◆ function

void *(*const function) (void *to, const void *from, size_t len) ( void *  to,
const void *  from,
size_t  len 
)

◆ 

const struct { ... } memcpy_method[]
Initial value:
=
{
{ "", NULL, 0 },
{ "libc", memcpy, 0 },
{ "", NULL, 0 }
}
NULL
Definition: xine_plugin.c:78

Referenced by update_fast_memcpy(), and xine_probe_fast_memcpy_int().

◆ memcpy_timing

uint64_t memcpy_timing[sizeof(memcpy_method)/sizeof(memcpy_method[0])] = { 0, }
static

◆ name

const char name[16]

Referenced by _alsa_query_dev(), _x_find_demux_plugin_by_name(), ao_alsa_exit(), asf_header_parse_stream_extended_properties(), demux_ts_dynamic_pmt_clean(), dir_file_concat(), do_record(), DS_VideoDecoder_GetValue(), DS_VideoDecoder_SetValue(), dvb_class_get_autoplay_list(), dvb_plugin_open(), dvbspeed_get(), dvbspeed_put(), ff_audio_init_codec(), ff_video_open_plugin(), find_param_0(), free_channel_list(), goom_plugin_parameters(), goom_secure_b_param(), goom_secure_f_feedback(), goom_secure_f_param(), goom_secure_i_feedback(), goom_secure_i_param(), goom_secure_s_param(), gsl_add_struct(), gsl_declare_external_task(), gsl_declare_global_variable(), gsl_declare_task(), gsl_declare_var(), gsl_enternamespace(), gsl_find_namespace(), gsl_float_decl_global(), gsl_float_decl_local(), gsl_get_struct_id(), gsl_instr_init(), gsl_int_decl_global(), gsl_int_decl_local(), gsl_new_struct_field(), gsl_new_struct_field_struct(), gsl_ptr_decl_global(), gsl_ptr_decl_local(), GSL_PUT_JNZERO(), GSL_PUT_JUMP(), GSL_PUT_JXXX(), GSL_PUT_JZERO(), GSL_PUT_LABEL(), gsl_struct_decl(), gsl_struct_decl_global_from_id(), gsl_struct_decl_local(), gsl_type_of_var(), new_call(), new_call_expr(), new_expr1(), new_expr2(), new_function_intro(), open_internal(), open_plugin(), open_plugin_2(), opengl2_build_program(), opengl_open_plugin(), osd_show_channel(), parse_amf(), show_eit(), update_fast_memcpy(), xine_create_cloexec(), xine_open_cloexec(), xine_post_init(), xine_post_input(), xine_post_output(), xine_probe_fast_memcpy_int(), xml_parser_get_property(), xml_parser_get_property_bool(), xml_parser_get_property_int(), xv_atom_from_name(), xv_autodetect_port(), xvmc_check_colorkey_properties(), and xxmc_autodetect_port().

◆ xine_fast_memcpy

void *(* xine_fast_memcpy) (void *to, const void *from, size_t len) ( void *  to,
const void *  from,
size_t  len 
) = NULL

Referenced by _aom_decode_data(), _copy_plane(), _dav1d_decode_data(), _x_demux_send_data(), _xine_buffer_copyin(), ao_coreaudio_render_proc(), ao_coreaudio_write(), ao_resend_store(), asf_send_buffer_defrag(), audio_fill(), bitplane_decode_data(), cache_plugin_read(), collect_data(), copy_chunk(), copy_slice(), decode_render(), DeinterlaceGreedy2Frame_MMX(), DeinterlaceGreedy2Frame_SSE2(), demux_real_send_chunk(), demux_str_send_chunk(), demux_vc1_es_send_headers(), demux_wv_send_chunk(), draw_fftgraph(), dvaudio_decode_data(), dxr3_spudec_decode_data(), dxr3_spudec_update_nav(), eq2_draw(), eq_draw(), fb_display_frame(), ff_audio_decode_data(), ff_convert_frame(), ff_handle_buffer(), ff_handle_header_buffer(), flac_decode_data(), flac_read_callback(), flush_buffer(), fooaudio_decode_data(), foovideo_decode_data(), frame_copy_content(), gnutls_tcp_pull(), goom_update(), gsm610_decode_data(), handle_realvideo(), handle_sub_utf8(), handle_vobsub(), hevc_decode_data(), init_codec_real(), init_codec_video(), init_codec_vobsub(), init_codec_xiph(), macosx_display_frame(), mad_decode_data(), mms_read(), mmsh_read(), mpc_decode_data(), mpc_reader_read(), nsf_decode_data(), open_dts_file(), open_plugin(), opengl2_draw(), parse_block(), parse_frame(), post_intercept_video_frame(), pvr_plugin_read_block(), qtv_decode_data(), readin_op(), realdec_decode_data(), rgb_decode_data(), scale_line_1_1(), spudec_decode_data(), spudec_process(), stdin_plugin_read(), test_plugin_read(), unsharp(), update_fast_memcpy(), v4l2_input_dequeue_video_buffer(), v4l_plugin_read_block(), vaapi_duplicate_frame_data(), vaapi_overlay_end(), vaapi_ovl_associate(), vdpau_h264_alter_decode_data(), vdpau_mpeg12_decode_data(), vdpau_mpeg4_decode_data(), vdpau_vc1_decode_data(), vdr_execute_rpc_command(), video_overlay_add_event(), vorbis_decode_data(), vpx_decode_data(), w32a_decode_audio(), w32v_decode_data(), wavpack_decode_data(), win32_display_frame(), write_frame_YUV420P2(), xine_buffer_copyout(), xine_buffer_dup(), xine_buffer_read_bytes(), xine_memdup(), xine_memdup0(), xine_probe_fast_memcpy(), xine_realloc_aligned(), xxmc_do_update_frame(), yuv2frame(), yuv2rgb_c_16(), yuv2rgb_c_24_bgr(), yuv2rgb_c_24_rgb(), yuv2rgb_c_32(), yuv2rgb_c_8(), yuv2rgb_c_gray(), yuv2rgb_c_palette(), yuv411_to_yv12_c(), yuv9_to_yv12_c(), yuv_decode_data(), yuy22rgb_c_16(), yuy22rgb_c_24_bgr(), yuy22rgb_c_24_rgb(), yuy22rgb_c_32(), yuy22rgb_c_8(), yuy22rgb_c_gray(), yuy22rgb_c_palette(), and yv12_to_nv12().