xine-lib 1.2.13-20230125hg15249
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.
 

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 )

◆ [struct]

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]

◆ 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(), _copy_plane(), _dav1d_decode_data(), _upload_texture(), _x_demux_send_data(), _x_va_frame_duplicate_frame_data(), _x_yv12_to_nv12(), _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(), 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(), ff_handle_header_buffer(), flac_decode_data(), flac_read_callback(), 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(), 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_overlay_end(), vaapi_ovl_associate(), vdpau_h264_alter_frame_render(), vdpau_mpeg12_decode_data(), vdpau_mpeg4_decode_data(), vdpau_vc1_decode_data(), vdr_execute_rpc_command(), 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_config_save(), 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(), and yuy22rgb_c_palette().