diff --git a/src/zm_image.cpp b/src/zm_image.cpp index 2eb5356d2..21ed8c1fb 100644 --- a/src/zm_image.cpp +++ b/src/zm_image.cpp @@ -299,7 +299,7 @@ void Image::Deinitialise() { void Image::Initialise() { /* Assign the blend pointer to function */ if ( config.fast_image_blends ) { - if ( config.cpu_extensions && sseversion >= 20 ) { + if ( config.cpu_extensions && sse_version >= 20 ) { fptr_blend = &sse2_fastblend; /* SSE2 fast blend */ Debug(4, "Blend: Using SSE2 fast blend function"); } else if ( config.cpu_extensions && neonversion >= 1 ) { @@ -356,22 +356,22 @@ void Image::Initialise() { /* Assign the delta functions */ if ( config.cpu_extensions ) { - if ( sseversion >= 35 ) { + if ( sse_version >= 35 ) { /* SSSE3 available */ fptr_delta8_rgba = &ssse3_delta8_rgba; fptr_delta8_bgra = &ssse3_delta8_bgra; fptr_delta8_argb = &ssse3_delta8_argb; fptr_delta8_abgr = &ssse3_delta8_abgr; fptr_delta8_gray8 = &sse2_delta8_gray8; - Debug(4,"Delta: Using SSSE3 delta functions"); - } else if ( sseversion >= 20 ) { + Debug(4, "Delta: Using SSSE3 delta functions"); + } else if ( sse_version >= 20 ) { /* SSE2 available */ fptr_delta8_rgba = &sse2_delta8_rgba; fptr_delta8_bgra = &sse2_delta8_bgra; fptr_delta8_argb = &sse2_delta8_argb; fptr_delta8_abgr = &sse2_delta8_abgr; fptr_delta8_gray8 = &sse2_delta8_gray8; - Debug(4,"Delta: Using SSE2 delta functions"); + Debug(4, "Delta: Using SSE2 delta functions"); } else if ( neonversion >= 1 ) { /* ARM Neon available */ #if defined(__aarch64__) @@ -380,14 +380,14 @@ void Image::Initialise() { fptr_delta8_argb = &neon64_armv8_delta8_argb; fptr_delta8_abgr = &neon64_armv8_delta8_abgr; fptr_delta8_gray8 = &neon64_armv8_delta8_gray8; - Debug(4,"Delta: Using ARM Neon (AArch64) delta functions"); + Debug(4, "Delta: Using ARM Neon (AArch64) delta functions"); #elif defined(__arm__) fptr_delta8_rgba = &neon32_armv7_delta8_rgba; fptr_delta8_bgra = &neon32_armv7_delta8_bgra; fptr_delta8_argb = &neon32_armv7_delta8_argb; fptr_delta8_abgr = &neon32_armv7_delta8_abgr; fptr_delta8_gray8 = &neon32_armv7_delta8_gray8; - Debug(4,"Delta: Using ARM Neon (AArch32) delta functions"); + Debug(4, "Delta: Using ARM Neon (AArch32) delta functions"); #else Panic("Bug: Non ARM platform but neon present"); #endif @@ -464,11 +464,11 @@ void Image::Initialise() { fptr_deinterlace_4field_argb = &std_deinterlace_4field_argb; fptr_deinterlace_4field_abgr = &std_deinterlace_4field_abgr; fptr_deinterlace_4field_gray8 = &std_deinterlace_4field_gray8; - Debug(4,"Deinterlace: Using standard functions"); + Debug(4, "Deinterlace: Using standard functions"); #if defined(__i386__) && !defined(__x86_64__) /* Use SSE2 aligned memory copy? */ - if ( config.cpu_extensions && sseversion >= 20 ) { + if ( config.cpu_extensions && sse_version >= 20 ) { fptr_imgbufcpy = &sse2_aligned_memcpy; Debug(4, "Image buffer copy: Using SSE2 aligned memcpy"); } else { @@ -480,52 +480,12 @@ void Image::Initialise() { Debug(4, "Image buffer copy: Using standard memcpy"); #endif - /* Code below relocated from zm_local_camera */ - Debug(3, "Setting up static colour tables"); - y_table = y_table_global; uv_table = uv_table_global; r_v_table = r_v_table_global; g_v_table = g_v_table_global; g_u_table = g_u_table_global; b_u_table = b_u_table_global; - /* - y_table = new unsigned char[256]; - for ( int i = 0; i <= 255; i++ ) - { - unsigned char c = i; - if ( c <= 16 ) - y_table[c] = 0; - else if ( c >= 235 ) - y_table[c] = 255; - else - y_table[c] = (255*(c-16))/219; - } - - uv_table = new signed char[256]; - for ( int i = 0; i <= 255; i++ ) - { - unsigned char c = i; - if ( c <= 16 ) - uv_table[c] = -127; - else if ( c >= 240 ) - uv_table[c] = 127; - else - uv_table[c] = (127*(c-128))/112; - } - - r_v_table = new short[255]; - g_v_table = new short[255]; - g_u_table = new short[255]; - b_u_table = new short[255]; - for ( int i = 0; i < 255; i++ ) - { - r_v_table[i] = (1402*(i-128))/1000; - g_u_table[i] = (344*(i-128))/1000; - g_v_table[i] = (714*(i-128))/1000; - b_u_table[i] = (1772*(i-128))/1000; - } - */ initialised = true; } @@ -2179,7 +2139,7 @@ void Image::DeColourise() { subpixelorder = ZM_SUBPIX_ORDER_NONE; size = width * height; - if ( colours == ZM_COLOUR_RGB32 && config.cpu_extensions && sseversion >= 35 ) { + if ( colours == ZM_COLOUR_RGB32 && config.cpu_extensions && sse_version >= 35 ) { /* Use SSSE3 functions */ switch (subpixelorder) { case ZM_SUBPIX_ORDER_BGRA: diff --git a/src/zm_local_camera.cpp b/src/zm_local_camera.cpp index c6030f08a..8274c1ce5 100644 --- a/src/zm_local_camera.cpp +++ b/src/zm_local_camera.cpp @@ -504,7 +504,7 @@ LocalCamera::LocalCamera( subpixelorder = ZM_SUBPIX_ORDER_NONE; } else if ( palette == V4L2_PIX_FMT_YUYV && colours == ZM_COLOUR_GRAY8 ) { /* Fast YUYV->Grayscale conversion by extracting the Y channel */ - if ( config.cpu_extensions && sseversion >= 35 ) { + if ( config.cpu_extensions && sse_version >= 35 ) { conversion_fptr = &ssse3_convert_yuyv_gray8; Debug(2,"Using SSSE3 YUYV->grayscale fast conversion"); } else { @@ -616,7 +616,7 @@ LocalCamera::LocalCamera( } } else if ( (palette == VIDEO_PALETTE_YUYV || palette == VIDEO_PALETTE_YUV422) && colours == ZM_COLOUR_GRAY8 ) { /* Fast YUYV->Grayscale conversion by extracting the Y channel */ - if ( config.cpu_extensions && sseversion >= 35 ) { + if ( config.cpu_extensions && sse_version >= 35 ) { conversion_fptr = &ssse3_convert_yuyv_gray8; Debug(2,"Using SSSE3 YUYV->grayscale fast conversion"); } else { diff --git a/src/zm_utils.cpp b/src/zm_utils.cpp index 18067b38f..323d3c3b4 100644 --- a/src/zm_utils.cpp +++ b/src/zm_utils.cpp @@ -35,7 +35,7 @@ #include #endif -unsigned int sseversion = 0; +unsigned int sse_version = 0; unsigned int neonversion = 0; std::string trimSet(std::string str, std::string trimset) { @@ -227,7 +227,7 @@ int pairsplit(const char* string, const char delim, std::string& name, std::stri /* Detect special hardware features, such as SIMD instruction sets */ void hwcaps_detect() { neonversion = 0; - sseversion = 0; + sse_version = 0; #if (defined(__i386__) || defined(__x86_64__)) /* x86 or x86-64 processor */ uint32_t r_edx, r_ecx, r_ebx; @@ -265,31 +265,31 @@ void hwcaps_detect() { #endif if ( r_ebx & 0x00000020 ) { - sseversion = 52; /* AVX2 */ + sse_version = 52; /* AVX2 */ Debug(1, "Detected a x86\\x86-64 processor with AVX2"); } else if ( r_ecx & 0x10000000 ) { - sseversion = 51; /* AVX */ + sse_version = 51; /* AVX */ Debug(1, "Detected a x86\\x86-64 processor with AVX"); } else if ( r_ecx & 0x00100000 ) { - sseversion = 42; /* SSE4.2 */ + sse_version = 42; /* SSE4.2 */ Debug(1, "Detected a x86\\x86-64 processor with SSE4.2"); } else if ( r_ecx & 0x00080000 ) { - sseversion = 41; /* SSE4.1 */ + sse_version = 41; /* SSE4.1 */ Debug(1, "Detected a x86\\x86-64 processor with SSE4.1"); } else if ( r_ecx & 0x00000200 ) { - sseversion = 35; /* SSSE3 */ + sse_version = 35; /* SSSE3 */ Debug(1,"Detected a x86\\x86-64 processor with SSSE3"); } else if ( r_ecx & 0x00000001 ) { - sseversion = 30; /* SSE3 */ + sse_version = 30; /* SSE3 */ Debug(1, "Detected a x86\\x86-64 processor with SSE3"); } else if ( r_edx & 0x04000000 ) { - sseversion = 20; /* SSE2 */ + sse_version = 20; /* SSE2 */ Debug(1, "Detected a x86\\x86-64 processor with SSE2"); } else if ( r_edx & 0x02000000 ) { - sseversion = 10; /* SSE */ + sse_version = 10; /* SSE */ Debug(1, "Detected a x86\\x86-64 processor with SSE"); } else { - sseversion = 0; + sse_version = 0; Debug(1, "Detected a x86\\x86-64 processor"); } #elif defined(__arm__) diff --git a/src/zm_utils.h b/src/zm_utils.h index 9a8dd1948..9c8cc01a0 100644 --- a/src/zm_utils.h +++ b/src/zm_utils.h @@ -59,7 +59,7 @@ void* sse2_aligned_memcpy(void* dest, const void* src, size_t bytes); void timespec_diff(struct timespec *start, struct timespec *end, struct timespec *diff); void hwcaps_detect(); -extern unsigned int sseversion; +extern unsigned int sse_version; extern unsigned int neonversion; char *timeval_to_string( struct timeval tv ); diff --git a/src/zm_zone.cpp b/src/zm_zone.cpp index 1e0a16cda..ea6c170ac 100644 --- a/src/zm_zone.cpp +++ b/src/zm_zone.cpp @@ -227,7 +227,7 @@ bool Zone::CheckAlarms(const Image *delta_image) { Debug(4, "Checking alarms for zone %d/%s in lines %d -> %d", id, label, lo_y, hi_y); - /* if(config.cpu_extensions && sseversion >= 20) { + /* if(config.cpu_extensions && sse_version >= 20) { sse2_alarmedpixels(diff_image, pg_image, &alarm_pixels, &pixel_diff_count); } else { std_alarmedpixels(diff_image, pg_image, &alarm_pixels, &pixel_diff_count);