From d6cea43bd792c5b2f42c655f5d9af23403231b81 Mon Sep 17 00:00:00 2001 From: ruil2 <ruil2@cisco.com> Date: Tue, 24 Dec 2013 11:49:14 +0800 Subject: [PATCH] remove some redundant files --- processing/src/testbed/WelsVideoProcessor.cpp | 382 ------------------ processing/src/testbed/bundleloader.h | 87 ---- processing/src/testbed/stdafx.cpp | 8 - processing/src/testbed/stdafx.h | 20 - processing/src/testbed/targetver.h | 16 - processing/src/testbed/wels_process.cpp | 181 --------- processing/src/testbed/wels_process.h | 81 ---- processing/targets.mk | 4 - 8 files changed, 779 deletions(-) delete mode 100644 processing/src/testbed/WelsVideoProcessor.cpp delete mode 100644 processing/src/testbed/bundleloader.h delete mode 100644 processing/src/testbed/stdafx.cpp delete mode 100644 processing/src/testbed/stdafx.h delete mode 100644 processing/src/testbed/targetver.h delete mode 100644 processing/src/testbed/wels_process.cpp delete mode 100644 processing/src/testbed/wels_process.h diff --git a/processing/src/testbed/WelsVideoProcessor.cpp b/processing/src/testbed/WelsVideoProcessor.cpp deleted file mode 100644 index 630eae61..00000000 --- a/processing/src/testbed/WelsVideoProcessor.cpp +++ /dev/null @@ -1,382 +0,0 @@ -/*! - * \copy - * Copyright (c) 2013, Cisco Systems - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - */ - -// WelsVideoProcessor.cpp : Defines the entry point for the console application. -// - -#include <tchar.h> -#include "stdafx.h" -#include "wels_process.h" - -////////////////////////////////////////////////////////////////////////// -typedef struct { - FILE* srcfile; - FILE* dstfile; - vPixMap src; - vPixMap dst; - vMethods methods[vMethods_Mask]; -} VpConfigure; -////////////////////////////////////////////////////////////////////////// - -void PrintHelp (TCHAR* strAppName, TCHAR* strError) { - if (strError) { - _tprintf (_T ("Error: %s\n"), strError); - } else { - _tprintf (_T ("Welsvp Sample Console\n")); - } - - _tprintf (_T ("Usage1: %s [Options] -i InputFile -o OutputFile -w 640 -h 480\n"), strAppName); - _tprintf (_T ("Options: \n")); - - _tprintf (_T (" [-sx x] - cropX of src video (def: 0)\n")); - _tprintf (_T (" [-sy y] - cropY of src video (def: 0)\n")); - _tprintf (_T (" [-sw width] - cropW of src video (def: width)\n")); - _tprintf (_T (" [-sh height] - cropH of src video (def: height)\n")); - _tprintf (_T (" [-scc format] - format (FourCC) of src video (def: support yv12|yuy2|rgb3|rgb4)\n")); - - _tprintf (_T (" [-dx x] - cropX of dst video (def: 0)\n")); - _tprintf (_T (" [-dy y] - cropY of dst video (def: 0)\n")); - _tprintf (_T (" [-dw width] - cropW of dst video (def: width)\n")); - _tprintf (_T (" [-dh height] - cropH of dst video (def: height)\n")); - _tprintf (_T (" [-dcc format] - format (FourCC) of dst video (def: nv12. support nv12|yuy2)\n")); - - _tprintf (_T (" Video Processing Algorithms\n")); - _tprintf (_T (" [-vaa] - enable video analysis algorithm \n")); - _tprintf (_T (" [-bgd] - enable background detection algorithm \n")); - _tprintf (_T (" [-scd] - enable scene change detection algorithm \n")); - _tprintf (_T (" [-denoise] - enable denoise algorithm \n")); - _tprintf (_T (" [-downsample] - enable downsample algorithm \n")); - - _tprintf (_T (" [-n frames] - number of frames to VP process\n\n")); - _tprintf (_T ("\n")); - - _tprintf (_T ("Usage2: %s -sw 640 -sh 480 -scc rgb3 -dw 320 -dh 240 -dcc i420 -denoise -vaa -i in.rgb -o out.yuv\n"), - strAppName); - _tprintf (_T ("\n")); -} - -vVideoFormat Str2FourCC (TCHAR* strInput) { - vVideoFormat format = vVideoFormat_I420; // as default - - if (0 == _tcscmp (strInput, _T ("yv12"))) { - format = vVideoFormat_YV12; - } else if (0 == _tcscmp (strInput, _T ("i420"))) { - format = vVideoFormat_I420; - } else if (0 == _tcscmp (strInput, _T ("rgb24"))) { - format = vVideoFormat_RGB24; - } else if (0 == _tcscmp (strInput, _T ("rgb32"))) { - format = vVideoFormat_RGB32; - } else if (0 == _tcscmp (strInput, _T ("yuy2"))) { - format = vVideoFormat_YUY2; - } else if (0 == _tcscmp (strInput, _T ("nv12"))) { - format = vVideoFormat_NV12; - } - - return format; -} - -int ReadFile (vPixMap& pixmap, FILE* fp) { - int ret = 0; - - int size = pixmap.Rect.width * pixmap.Rect.height; - switch (pixmap.eFormat) { - case vVideoFormat_I420: - case vVideoFormat_YV12: { - if (fread (pixmap.pPixel[0], pixmap.nSizeInBits / 8, (3 * size) >> 1, fp) <= 0) - ret = 1; - } - break; - case vVideoFormat_YUY2: { - if (fread (pixmap.pPixel[0], pixmap.nSizeInBits / 8, 2 * size, fp) <= 0) - ret = 1; - } - break; - case vVideoFormat_RGB24: { - if (fread (pixmap.pPixel[0], pixmap.nSizeInBits / 8, 3 * size, fp) <= 0) - ret = 1; - } - break; - case vVideoFormat_RGB32: { - if (fread (pixmap.pPixel[0], pixmap.nSizeInBits / 8, 4 * size, fp) <= 0) - ret = 1; - } - break; - default: - ret = 1; - break; - } - return ret; -} - -int WriteFile (vPixMap& pixmap, FILE* fp) { - int ret = 0; - int size = pixmap.Rect.width * pixmap.Rect.height; - switch (pixmap.eFormat) { - case vVideoFormat_I420: - case vVideoFormat_YV12: { - if (fwrite (pixmap.pPixel[0], pixmap.nSizeInBits / 8, (3 * size) >> 1, fp) <= 0) - ret = 1; - } - break; - case vVideoFormat_YUY2: { - if (fwrite (pixmap.pPixel[0], pixmap.nSizeInBits / 8, 2 * size, fp) <= 0) - ret = 1; - } - break; - case vVideoFormat_RGB24: { - if (fwrite (pixmap.pPixel[0], pixmap.nSizeInBits / 8, 3 * size, fp) <= 0) - ret = 1; - } - break; - case vVideoFormat_RGB32: { - if (fwrite (pixmap.pPixel[0], pixmap.nSizeInBits / 8, 4 * size, fp) <= 0) - ret = 1; - } - break; - default: - ret = 1; - break; - } - return ret; -} - - -int AllocPixMap (vPixMap& pixmap) { - pixmap.nSizeInBits = sizeof (unsigned char) * 8; - - switch (pixmap.eFormat) { - case vVideoFormat_I420: - case vVideoFormat_YV12: { - pixmap.nStride[0] = pixmap.Rect.width; - pixmap.nStride[1] = pixmap.nStride[2] = pixmap.Rect.width / 2; - pixmap.pPixel[0] = new void* [pixmap.nStride[0] * pixmap.Rect.height * pixmap.nSizeInBits / 8 * 3 / 2]; - pixmap.pPixel[1] = (unsigned char*)pixmap.pPixel[0] + pixmap.nStride[0] * pixmap.Rect.height * pixmap.nSizeInBits / 8; - pixmap.pPixel[2] = (unsigned char*)pixmap.pPixel[0] + pixmap.nStride[0] * pixmap.Rect.height * pixmap.nSizeInBits / - 8 * 5 / 4; - } - break; - - case vVideoFormat_YUY2: { - pixmap.nStride[0] = pixmap.nStride[1] = pixmap.nStride[2] = pixmap.Rect.width * 2; - pixmap.pPixel[0] = new void* [pixmap.nStride[0] * pixmap.Rect.height * pixmap.nSizeInBits / 8 * 2]; - pixmap.pPixel[1] = pixmap.pPixel[2] = NULL; - } - break; - - case vVideoFormat_RGB24: { - pixmap.nStride[0] = pixmap.nStride[1] = pixmap.nStride[2] = pixmap.Rect.width * 3; - pixmap.pPixel[0] = new void* [pixmap.nStride[0] * pixmap.Rect.height * pixmap.nSizeInBits / 8 * 3]; - pixmap.pPixel[1] = pixmap.pPixel[2] = NULL; - } - break; - - case vVideoFormat_RGB32: { - pixmap.nStride[0] = pixmap.nStride[1] = pixmap.nStride[2] = pixmap.Rect.width * 4; - pixmap.pPixel[0] = new void* [pixmap.nStride[0] * pixmap.Rect.height * pixmap.nSizeInBits / 8 * 4]; - pixmap.pPixel[1] = pixmap.pPixel[2] = NULL; - } - break; - - default: - return 1; - } - - return (pixmap.pPixel[0]) ? 0 : 1; -} - -void FreePixMap (vPixMap& pixmap) { - if (pixmap.pPixel[0]) { - free (pixmap.pPixel[0]); - pixmap.pPixel[0] = pixmap.pPixel[1] = pixmap.pPixel[2] = NULL; - } -} - -int InitResource (TCHAR* strAppName, VpConfigure& cfg) { - if (0 == cfg.srcfile) { - PrintHelp (strAppName, _T ("Source file can not found!\n")); - goto exit; - }; - - if (0 == cfg.dstfile) { - PrintHelp (strAppName, _T ("Destination file name not found")); - goto exit; - }; - - if (cfg.dst.Rect.width == 0) - cfg.dst.Rect.width = cfg.src.Rect.width; - if (cfg.dst.Rect.height == 0) - cfg.dst.Rect.height = cfg.src.Rect.height; - - cfg.methods[vMethods_ColorSpaceConvert] = vMethods_ColorSpaceConvert; - - if (AllocPixMap (cfg.src)) - goto exit; - - if (AllocPixMap (cfg.dst)) - goto exit; - - return 0; - -exit: - FreePixMap (cfg.src); - FreePixMap (cfg.dst); - return 1; -} - -int ParseCommond (TCHAR* strInput[], int nArgNum, VpConfigure& cfg) { - if (nArgNum < 9) { - PrintHelp (strInput[0], _T ("please specify all necessary parameters!")); - return 1; - } - - int width = 0, height = 0; - for (int i = 1; i < nArgNum; i++) { - if (strInput[i]) { - if (0 == _tcscmp (strInput[i], _T ("-i"))) { - i++; - _tfopen_s (&cfg.srcfile, strInput[i], _T ("rb")); - } else if (0 == _tcscmp (strInput[i], _T ("-o"))) { - i++; - _tfopen_s (&cfg.dstfile, strInput[i], _T ("wb")); - } else if (0 == _tcscmp (strInput[i], _T ("-w"))) { - i++; - _stscanf_s (strInput[i], _T ("%d"), &width); - } else if (0 == _tcscmp (strInput[i], _T ("-h"))) { - i++; - _stscanf_s (strInput[i], _T ("%d"), &height); - } - //----------------------------------------------------------------------------------- - else if (0 == _tcscmp (strInput[i], _T ("-sx"))) { - i++; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.src.Rect.top); - } else if (0 == _tcscmp (strInput[i], _T ("-sy"))) { - i++; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.src.Rect.left); - } else if (0 == _tcscmp (strInput[i], _T ("-sw"))) { - i++; - TCHAR* a = strInput[i]; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.src.Rect.width); - } else if (0 == _tcscmp (strInput[i], _T ("-sh"))) { - i++; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.src.Rect.height); - } else if (0 == _tcscmp (strInput[i], _T ("-scc"))) { - i++; - cfg.src.eFormat = Str2FourCC (strInput[i]); - } - //----------------------------------------------------------------------------------- - else if (0 == _tcscmp (strInput[i], _T ("-dx"))) { - i++; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.dst.Rect.top); - } else if (0 == _tcscmp (strInput[i], _T ("-dy"))) { - i++; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.dst.Rect.left); - } else if (0 == _tcscmp (strInput[i], _T ("-dw"))) { - i++; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.dst.Rect.width); - } else if (0 == _tcscmp (strInput[i], _T ("-dh"))) { - i++; - _stscanf_s (strInput[i], _T ("%hd"), &cfg.dst.Rect.height); - } else if (0 == _tcscmp (strInput[i], _T ("-dcc"))) { - i++; - cfg.dst.eFormat = Str2FourCC (strInput[i]); - } - //----------------------------------------------------------------------------------- - else if (0 == _tcscmp (strInput[i], _T ("-denoise"))) { - cfg.methods[vMethods_Denoise] = vMethods_Denoise; - } else if (0 == _tcscmp (strInput[i], _T ("-scd"))) { - cfg.methods[vMethods_SceneChangeDetection] = vMethods_SceneChangeDetection; - } else if (0 == _tcscmp (strInput[i], _T ("-downsample"))) { - } else if (0 == _tcscmp (strInput[i], _T ("-vaa"))) { - } else if (0 == _tcscmp (strInput[i], _T ("-bgd"))) { - } else if (0 == _tcscmp (strInput[i], _T ("-aq"))) { - } - } - } - - if (cfg.src.Rect.width == 0) cfg.src.Rect.width = width; - if (cfg.src.Rect.height == 0) cfg.src.Rect.height = height; - if (cfg.dst.Rect.width == 0) cfg.dst.Rect.width = width; - if (cfg.dst.Rect.height == 0) cfg.dst.Rect.height = height; - - return InitResource (strInput[0], cfg); -} - -int _tmain (int argc, _TCHAR* argv[]) { - int ret = 0; - VpConfigure cfg = {0}; - IWelsVpPlugin* pVpp = NULL; - - ret = ParseCommond (argv, argc, cfg); - if (ret) - goto exit; - - pVpp = new IWelsVpPlugin (ret); - if (pVpp && ret == 0) { - vResult vret = vRet_Success; - while (1) { - if (feof (cfg.srcfile)) - break; - - if (ReadFile (cfg.src, cfg.srcfile)) - break; - - vret = pVpp->Process (cfg.methods[vMethods_ColorSpaceConvert], &cfg.src, &cfg.dst); - if (vret) - break; - - vret = pVpp->Process (cfg.methods[vMethods_Denoise], &cfg.dst, NULL); - if (vret) - break; - - if (WriteFile (cfg.dst, cfg.dstfile)) - break; - } - } - -exit: - - if (pVpp) { - delete pVpp; - pVpp = NULL; - } - - if (cfg.srcfile) - fclose (cfg.srcfile); - if (cfg.dstfile) - fclose (cfg.dstfile); - - FreePixMap (cfg.src); - FreePixMap (cfg.dst); - - return 0; -} - diff --git a/processing/src/testbed/bundleloader.h b/processing/src/testbed/bundleloader.h deleted file mode 100644 index 92200e86..00000000 --- a/processing/src/testbed/bundleloader.h +++ /dev/null @@ -1,87 +0,0 @@ -/*! - * \copy - * Copyright (c) 2013, Cisco Systems - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef WELS_BOUNDLELOAD_H -#define WELS_BOUNDLELOAD_H - -#if defined(MACOS) - -#include <dlfcn.h> -#include <string> - -CFBundleRef LoadBundle (const char* lpBundlePath) { - if (lpBundlePath == NULL) { - return NULL; - } - CFStringRef bundlePath = CFStringCreateWithCString (kCFAllocatorSystemDefault, lpBundlePath, - CFStringGetSystemEncoding()); - if (NULL == bundlePath) { - return NULL; - } - - CFURLRef bundleURL = CFURLCreateWithString (kCFAllocatorSystemDefault, bundlePath, NULL); - if (NULL == bundleURL) { - return NULL; - } - - // 2.get bundle ref - CFBundleRef bundleRef = CFBundleCreate (kCFAllocatorSystemDefault, bundleURL); - CFRelease (bundleURL); - - // Boolean bReturn = FALSE; - if (NULL != bundleRef) { - // bReturn = CFBundleLoadExecutable(bundleRef); - } - - return bundleRef; -} - -Boolean FreeBundle (CFBundleRef bundleRef) { - if (NULL != bundleRef) { - // CFBundleUnloadExecutable(bundleRef); - CFRelease (bundleRef); - } - return TRUE; -} - -void* GetProcessAddress (CFBundleRef bundleRef, const char* lpProcName) { - void* processAddress = NULL; - if (NULL != bundleRef) { - CFStringRef cfProcName = CFStringCreateWithCString (kCFAllocatorSystemDefault, lpProcName, CFStringGetSystemEncoding()); - processAddress = CFBundleGetFunctionPointerForName (bundleRef, cfProcName); - CFRelease (cfProcName); - } - return processAddress; -} -#endif - -#endif \ No newline at end of file diff --git a/processing/src/testbed/stdafx.cpp b/processing/src/testbed/stdafx.cpp deleted file mode 100644 index 65174ba6..00000000 --- a/processing/src/testbed/stdafx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// WelsVideoProcessor.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/processing/src/testbed/stdafx.h b/processing/src/testbed/stdafx.h deleted file mode 100644 index 09dcae6f..00000000 --- a/processing/src/testbed/stdafx.h +++ /dev/null @@ -1,20 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#ifndef _WELSVP_STDAFX_H -#define _WELSVP_STDAFX_H - -#include "targetver.h" - -#if defined (WIN32) -#include <windows.h> -#include <tchar.h> -#else -#include <string.h> -#endif -#include <stdio.h> -#include <stdlib.h> - -#endif diff --git a/processing/src/testbed/targetver.h b/processing/src/testbed/targetver.h deleted file mode 100644 index 76525153..00000000 --- a/processing/src/testbed/targetver.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _WELSVP_TARGETVER_H -#define _WELSVP_TARGETVER_H - -// The following macros define the minimum required platform. The minimum required platform -// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run -// your application. The macros work by enabling all features available on platform versions up to and -// including the version specified. - -// Modify the following defines if you have to target a platform prior to the ones specified below. -// Refer to MSDN for the latest info on corresponding values for different platforms. -#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. -#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. -#endif - -#endif - diff --git a/processing/src/testbed/wels_process.cpp b/processing/src/testbed/wels_process.cpp deleted file mode 100644 index 3208a727..00000000 --- a/processing/src/testbed/wels_process.cpp +++ /dev/null @@ -1,181 +0,0 @@ -/*! - * \copy - * Copyright (c) 2013, Cisco Systems - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include <windows.h> -#include "wels_process.h" -#include "bundleloader.h" - -// entry API declaration -typedef vResult (WELSAPI* pfnCreateVpInterface) (void**, int); -typedef vResult (WELSAPI* pfnDestroyVpInterface) (void*, int); - -//////////////////////////////////////////////////////// -void* loadlib() { -#if defined(WIN32) - HMODULE shModule = LoadLibraryA ("WelsVP.dll"); - if (shModule == NULL) - shModule = LoadLibraryA ("../WelsVP.dll"); - -#elif defined(MACOS) - const char WelsVPLib[] = "WelsVP.bundle"; - CFBundleRef shModule = LoadBundle (WelsVPLib); - -#elif defined(UNIX) - const char WelsVPLib[] = "WelsVP.so"; - void* shModule = dlopen (WelsVPLib, RTLD_LAZY); -#endif - - return (void*)shModule; -} - -void freelib (void* lib) { - if (lib) { -#ifdef WIN32 - HMODULE shModule = (HMODULE)lib; - FreeLibrary (shModule); - -#elif defined(MACOS) - CFBundleRef shModule = (CFBundleRef)lib; - FreeBundle (shModule); - -#elif defined(UNIX) - void* shModule = lib; - dlclose (shModule); -#endif - } -} - -void* queryfunc (void* lib, const char* name) { - void* pFunc = NULL; -#ifdef WIN32 - HMODULE shModule = (HMODULE)lib; - pFunc = (void*)GetProcAddress (shModule, name); -#elif defined(MACOS) - CFBundleRef shModule = (CFBundleRef)lib; - pFunc = (void*)GetProcessAddress (shModule, name); -#elif defined(UNIX) - void* shModule = lib; - pFunc = (void*)dlsym (shModule, name); -#endif - - return pFunc; -} - -IWelsVpPlugin::IWelsVpPlugin (int& ret) - : flag (0) - , ivp (NULL) - , hlib (NULL) { - pfnCreateVpInterface pCreateVpInterface = NULL; - pfnDestroyVpInterface pDestroyVpInterface = NULL; - iface[0] = iface[1] = NULL; - - hlib = loadlib(); - if (!hlib) - goto exit; - - pCreateVpInterface = (pfnCreateVpInterface) queryfunc (hlib, ("CreateVpInterface")); - pDestroyVpInterface = (pfnDestroyVpInterface) queryfunc (hlib, ("DestroyVpInterface")); - if (!pCreateVpInterface || !pDestroyVpInterface) - goto exit; - - iface[0] = (void*) pCreateVpInterface; - iface[1] = (void*) pDestroyVpInterface; - pCreateVpInterface ((void**)&ivp, WELSVP_INTERFACE_VERION); - if (!iface) - goto exit; - - ret = 0; - return; - -exit: - ret = 1; -} - -IWelsVpPlugin::~IWelsVpPlugin() { - if (hlib) { - pfnDestroyVpInterface pDestroyVpInterface = (pfnDestroyVpInterface) iface[1]; - if (pDestroyVpInterface) - pDestroyVpInterface ((void*)ivp, WELSVP_INTERFACE_VERION); - - freelib (hlib); - hlib = NULL; - } -} - -vResult IWelsVpPlugin::Init (int nType, void* pCfg) { - vResult ret = vRet_NotSupport; - if (hlib && nType > 0) - ret = ivp->Init (nType, pCfg); - return ret; -} - -vResult IWelsVpPlugin::Uninit (int nType) { - vResult ret = vRet_NotSupport; - if (hlib && nType > 0) - ret = ivp->Uninit (nType); - return ret; -} - -vResult IWelsVpPlugin::Flush (int nType) { - vResult ret = vRet_NotSupport; - if (hlib && nType > 0) - ret = ivp->Flush (nType); - return ret; -} - -vResult IWelsVpPlugin::Process (int nType, vPixMap* src, vPixMap* dst) { - vResult ret = vRet_NotSupport; - if (hlib && nType > 0) - ret = ivp->Process (nType, src, dst); - return ret; -} - -vResult IWelsVpPlugin::Get (int nType, void* pParam) { - vResult ret = vRet_NotSupport; - if (hlib && nType > 0) - ret = ivp->Get (nType, pParam); - return ret; -} - -vResult IWelsVpPlugin::Set (int nType, void* pParam) { - vResult ret = vRet_NotSupport; - if (hlib && nType > 0) - ret = ivp->Set (nType, pParam); - return ret; -} - -vResult IWelsVpPlugin::SpecialFeature (int nType, void* pIn, void* pOut) { - vResult ret = vRet_NotSupport; - if (hlib && nType > 0) - ret = ivp->SpecialFeature (nType, pIn, pOut); - return ret; -} \ No newline at end of file diff --git a/processing/src/testbed/wels_process.h b/processing/src/testbed/wels_process.h deleted file mode 100644 index f59c3c7e..00000000 --- a/processing/src/testbed/wels_process.h +++ /dev/null @@ -1,81 +0,0 @@ -/*! - * \copy - * Copyright (c) 2011-2013, Cisco Systems - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \file wels_process.h - * - * \brief interface of video pre-process plugins - * - * \date 03/21/2011 - * - * \description : this class is designed as an interface to unify video pre-processing - * class implement sets such as denoise,colorspace conversion etc... - * - ************************************************************************************* - */ - -#ifndef WELS_PREPROCESS_H -#define WELS_PREPROCESS_H - -#include "../../interface/IWelsVP.h" - -class IWelsVpPlugin { - public: - IWelsVpPlugin (int& ret); - ~IWelsVpPlugin(); - - enum { - STATE_BEFOREENC = 0, /* before picture encoding */ - STATE_AFTERENC , /* after picture encoded */ - }; - - public: - vResult Init (int nType, void* pCfg); - vResult Uninit (int nType); - vResult Flush (int nType); - vResult Process (int nType, vPixMap* src, vPixMap* dst); - vResult Get (int nType, void* pParam); - vResult Set (int nType, void* pParam); - vResult SpecialFeature (int nType, void* pIn, void* pOut); - - void SetFlag (int a) { - flag = a; - } - void GetFlag (int& a) { - a = flag; - } - - private: - int flag; - IWelsVP* ivp; - void* hlib; - void* iface[2]; -}; - -#endif \ No newline at end of file diff --git a/processing/targets.mk b/processing/targets.mk index f65d882b..20afbe6e 100644 --- a/processing/targets.mk +++ b/processing/targets.mk @@ -18,7 +18,6 @@ PROCESSING_CPP_SRCS=\ $(PROCESSING_SRCDIR)/./src/imagerotate/imagerotatefuncs.cpp\ $(PROCESSING_SRCDIR)/./src/scenechangedetection/SceneChangeDetection.cpp\ $(PROCESSING_SRCDIR)/./src/scenechangedetection/SceneChangeDetectionCommon.cpp\ - $(PROCESSING_SRCDIR)/./src/testbed/stdafx.cpp\ $(PROCESSING_SRCDIR)/./src/vaacalc/vaacalcfuncs.cpp\ $(PROCESSING_SRCDIR)/./src/vaacalc/vaacalculation.cpp\ @@ -88,9 +87,6 @@ $(PROCESSING_SRCDIR)/./src/scenechangedetection/SceneChangeDetection.o: $(PROCES $(PROCESSING_SRCDIR)/./src/scenechangedetection/SceneChangeDetectionCommon.o: $(PROCESSING_SRCDIR)/./src/scenechangedetection/SceneChangeDetectionCommon.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(PROCESSING_CFLAGS) $(PROCESSING_INCLUDES) -c -o $(PROCESSING_SRCDIR)/./src/scenechangedetection/SceneChangeDetectionCommon.o $(PROCESSING_SRCDIR)/./src/scenechangedetection/SceneChangeDetectionCommon.cpp -$(PROCESSING_SRCDIR)/./src/testbed/stdafx.o: $(PROCESSING_SRCDIR)/./src/testbed/stdafx.cpp - $(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(PROCESSING_CFLAGS) $(PROCESSING_INCLUDES) -c -o $(PROCESSING_SRCDIR)/./src/testbed/stdafx.o $(PROCESSING_SRCDIR)/./src/testbed/stdafx.cpp - $(PROCESSING_SRCDIR)/./src/vaacalc/vaacalcfuncs.o: $(PROCESSING_SRCDIR)/./src/vaacalc/vaacalcfuncs.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(PROCESSING_CFLAGS) $(PROCESSING_INCLUDES) -c -o $(PROCESSING_SRCDIR)/./src/vaacalc/vaacalcfuncs.o $(PROCESSING_SRCDIR)/./src/vaacalc/vaacalcfuncs.cpp