File: plugin_utils.h

package info (click to toggle)
libvpl-tools 1.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,652 kB
  • sloc: cpp: 107,469; python: 4,303; ansic: 3,202; sh: 159; lisp: 52; makefile: 13
file content (64 lines) | stat: -rw-r--r-- 2,451 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*############################################################################
  # Copyright (C) 2005 Intel Corporation
  #
  # SPDX-License-Identifier: MIT
  ############################################################################*/

#ifndef __PLUGIN_UTILS_H__
#define __PLUGIN_UTILS_H__

#include <string>
#include "sample_defs.h"

#if defined(_WIN32) || defined(_WIN64)
    #define MSDK_CPU_ROTATE_PLUGIN "sample_rotate_plugin.dll"
    #define MSDK_OCL_ROTATE_PLUGIN "sample_plugin_opencl.dll"
#else
    #define MSDK_CPU_ROTATE_PLUGIN "libsample_rotate_plugin.so"
    #define MSDK_OCL_ROTATE_PLUGIN "libsample_plugin_opencl.so"
#endif

typedef mfxI32 msdkComponentType;
enum {
    MSDK_VDECODE = 0x0001,
    MSDK_VENCODE = 0x0002,
    MSDK_VPP     = 0x0004,
    MSDK_VENC    = 0x0008,
    MSDK_FEI     = 0x1000,
};

typedef enum { MFX_PLUGINLOAD_TYPE_GUID = 1, MFX_PLUGINLOAD_TYPE_FILE = 2 } MfxPluginLoadType;

struct sPluginParams {
    mfxPluginUID pluginGuid;
    std::string strPluginPath;
    MfxPluginLoadType type;
    sPluginParams() : pluginGuid{ 0 }, strPluginPath(), type(MfxPluginLoadType(0)) {}
};

static const mfxPluginUID MSDK_PLUGINGUID_NULL = { { 0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00,
                                                     0x00 } };

bool AreGuidsEqual(const mfxPluginUID& guid1, const mfxPluginUID& guid2);

const mfxPluginUID& msdkGetPluginUID(mfxIMPL impl, msdkComponentType type, mfxU32 uCodecid);

sPluginParams ParsePluginGuid(const std::string&);
sPluginParams ParsePluginPath(const std::string&);
mfxStatus ConvertStringToGuid(const std::string& strGuid, mfxPluginUID& mfxGuid);

#endif //__PLUGIN_UTILS_H__