xine-lib  1.2.9
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 XINE_ENGINE_INTERNAL
 
#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

◆ XINE_ENGINE_INTERNAL

#define XINE_ENGINE_INTERNAL

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)

Referenced by gsl_enternamespace().

◆ memcpy_method

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

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]

◆ xine_fast_memcpy

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

Referenced by _x_demux_send_data(), _xine_buffer_copyin(), ao_coreaudio_render_proc(), ao_coreaudio_write(), asf_reorder(), asf_send_buffer_defrag(), audio_fill(), bitplane_decode_data(), cache_plugin_read(), collect_data(), collect_plugins(), 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(), goom_update(), gsm610_decode_data(), handle_realvideo(), handle_sub_utf8(), handle_vobsub(), hevc_decode_data(), init_codec_audio(), 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(), nv12_to_yv12(), open_ac3_file(), 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_decode_nav(), spudec_process(), spudec_update_nav(), 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(), yuy2_to_yuy2(), yv12_to_nv12(), and yv12_to_yv12().