yum-archive/TaSTT-Whisper

High-performance GPGPU inference of OpenAI's Whisper automatic speech recognition (ASR) model

git clone https://git.yummers.dev/yum-archive/TaSTT-Whisper

KonstantinSource codes8c4603c

master
5.0 KiB101 linesraw
1#pragma once
2#include <stdint.h>
3using HRESULT = int32_t;
4#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc)
5#define SEVERITY_ERROR        1
6#define FACILITY_CONTROL      10
7
8inline constexpr HRESULT MAKE_SCODE( uint32_t sev, uint32_t fac, uint32_t code )
9{
10	return (HRESULT)( ( (uint32_t)( sev ) << 31 ) | ( (unsigned long)( fac ) << 16 ) | ( (unsigned long)( code ) ) );
11};
12
13// ==== Copy-pasted from coreclr-master\src\pal\inc\rt\palrt.h ====
14#define S_OK                             _HRESULT_TYPEDEF_(0x00000000L)
15#define S_FALSE                          _HRESULT_TYPEDEF_(0x00000001L)
16
17#define E_NOTIMPL                        _HRESULT_TYPEDEF_(0x80004001L)
18#define E_NOINTERFACE                    _HRESULT_TYPEDEF_(0x80004002L)
19#define E_UNEXPECTED                     _HRESULT_TYPEDEF_(0x8000FFFFL)
20#define E_OUTOFMEMORY                    _HRESULT_TYPEDEF_(0x8007000EL)
21#define E_INVALIDARG                     _HRESULT_TYPEDEF_(0x80070057L)
22#define E_POINTER                        _HRESULT_TYPEDEF_(0x80004003L)
23#define E_HANDLE                         _HRESULT_TYPEDEF_(0x80070006L)
24#define E_ABORT                          _HRESULT_TYPEDEF_(0x80004004L)
25#define E_FAIL                           _HRESULT_TYPEDEF_(0x80004005L)
26#define E_ACCESSDENIED                   _HRESULT_TYPEDEF_(0x80070005L)
27#define E_PENDING                        _HRESULT_TYPEDEF_(0x8000000AL)
28
29#define DISP_E_PARAMNOTFOUND             _HRESULT_TYPEDEF_(0x80020004L)
30#define DISP_E_TYPEMISMATCH              _HRESULT_TYPEDEF_(0x80020005L)
31#define DISP_E_BADVARTYPE                _HRESULT_TYPEDEF_(0x80020008L)
32#define DISP_E_OVERFLOW                  _HRESULT_TYPEDEF_(0x8002000AL)
33#define DISP_E_DIVBYZERO                 _HRESULT_TYPEDEF_(0x80020012L)
34
35#define CLASS_E_CLASSNOTAVAILABLE        _HRESULT_TYPEDEF_(0x80040111L)
36#define CLASS_E_NOAGGREGATION            _HRESULT_TYPEDEF_(0x80040110L)
37
38#define CO_E_CLASSSTRING                 _HRESULT_TYPEDEF_(0x800401F3L)
39
40#define MK_E_SYNTAX                      _HRESULT_TYPEDEF_(0x800401E4L)
41
42#define STG_E_INVALIDFUNCTION            _HRESULT_TYPEDEF_(0x80030001L)
43#define STG_E_FILENOTFOUND               _HRESULT_TYPEDEF_(0x80030002L)
44#define STG_E_PATHNOTFOUND               _HRESULT_TYPEDEF_(0x80030003L)
45#define STG_E_WRITEFAULT                 _HRESULT_TYPEDEF_(0x8003001DL)
46#define STG_E_FILEALREADYEXISTS          _HRESULT_TYPEDEF_(0x80030050L)
47#define STG_E_ABNORMALAPIEXIT            _HRESULT_TYPEDEF_(0x800300FAL)
48
49#define NTE_BAD_UID                      _HRESULT_TYPEDEF_(0x80090001L)
50#define NTE_BAD_HASH                     _HRESULT_TYPEDEF_(0x80090002L)
51#define NTE_BAD_KEY                      _HRESULT_TYPEDEF_(0x80090003L)
52#define NTE_BAD_LEN                      _HRESULT_TYPEDEF_(0x80090004L)
53#define NTE_BAD_DATA                     _HRESULT_TYPEDEF_(0x80090005L)
54#define NTE_BAD_SIGNATURE                _HRESULT_TYPEDEF_(0x80090006L)
55#define NTE_BAD_VER                      _HRESULT_TYPEDEF_(0x80090007L)
56#define NTE_BAD_ALGID                    _HRESULT_TYPEDEF_(0x80090008L)
57#define NTE_BAD_FLAGS                    _HRESULT_TYPEDEF_(0x80090009L)
58#define NTE_BAD_TYPE                     _HRESULT_TYPEDEF_(0x8009000AL)
59#define NTE_BAD_KEY_STATE                _HRESULT_TYPEDEF_(0x8009000BL)
60#define NTE_BAD_HASH_STATE               _HRESULT_TYPEDEF_(0x8009000CL)
61#define NTE_NO_KEY                       _HRESULT_TYPEDEF_(0x8009000DL)
62#define NTE_NO_MEMORY                    _HRESULT_TYPEDEF_(0x8009000EL)
63#define NTE_SIGNATURE_FILE_BAD           _HRESULT_TYPEDEF_(0x8009001CL)
64#define NTE_FAIL                         _HRESULT_TYPEDEF_(0x80090020L)
65
66#define CRYPT_E_HASH_VALUE               _HRESULT_TYPEDEF_(0x80091007L)
67
68#define TYPE_E_SIZETOOBIG                _HRESULT_TYPEDEF_(0x800288C5L)
69#define TYPE_E_DUPLICATEID               _HRESULT_TYPEDEF_(0x800288C6L)
70
71#define STD_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_CONTROL, n)
72#define CTL_E_OVERFLOW                  STD_CTL_SCODE(6)
73#define CTL_E_OUTOFMEMORY               STD_CTL_SCODE(7)
74#define CTL_E_DIVISIONBYZERO            STD_CTL_SCODE(11)
75#define CTL_E_OUTOFSTACKSPACE           STD_CTL_SCODE(28)
76#define CTL_E_FILENOTFOUND              STD_CTL_SCODE(53)
77#define CTL_E_DEVICEIOERROR             STD_CTL_SCODE(57)
78#define CTL_E_PERMISSIONDENIED          STD_CTL_SCODE(70)
79#define CTL_E_PATHFILEACCESSERROR       STD_CTL_SCODE(75)
80#define CTL_E_PATHNOTFOUND              STD_CTL_SCODE(76)
81
82#define INET_E_CANNOT_CONNECT            _HRESULT_TYPEDEF_(0x800C0004L)
83#define INET_E_RESOURCE_NOT_FOUND        _HRESULT_TYPEDEF_(0x800C0005L)
84#define INET_E_OBJECT_NOT_FOUND          _HRESULT_TYPEDEF_(0x800C0006L)
85#define INET_E_DATA_NOT_AVAILABLE        _HRESULT_TYPEDEF_(0x800C0007L)
86#define INET_E_DOWNLOAD_FAILURE          _HRESULT_TYPEDEF_(0x800C0008L)
87#define INET_E_CONNECTION_TIMEOUT        _HRESULT_TYPEDEF_(0x800C000BL)
88#define INET_E_UNKNOWN_PROTOCOL          _HRESULT_TYPEDEF_(0x800C000DL)
89
90#define DBG_PRINTEXCEPTION_C             _HRESULT_TYPEDEF_(0x40010006L)
91// ==== Done pasting ====
92
93inline constexpr bool SUCCEEDED( HRESULT hr )
94{
95	return hr >= 0;
96}
97
98inline constexpr bool FAILED( HRESULT hr )
99{
100	return hr < 0;
101}