openshot-audio
0.1.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
JuceLibraryCode
modules
juce_audio_formats
codecs
flac
libFLAC
include
private
cpu.h
Go to the documentation of this file.
1
/* libFLAC - Free Lossless Audio Codec library
2
* Copyright (C) 2001-2009 Josh Coalson
3
* Copyright (C) 2011-2014 Xiph.Org Foundation
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* - Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* - Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* - Neither the name of the Xiph.org Foundation nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*/
32
33
#ifndef FLAC__PRIVATE__CPU_H
34
#define FLAC__PRIVATE__CPU_H
35
36
#include "../../../ordinals.h"
37
38
#ifdef HAVE_CONFIG_H
39
#include <config.h>
40
#endif
41
42
typedef
enum
{
43
FLAC__CPUINFO_TYPE_IA32
,
44
FLAC__CPUINFO_TYPE_X86_64
,
45
FLAC__CPUINFO_TYPE_UNKNOWN
46
}
FLAC__CPUInfo_Type
;
47
48
#if defined FLAC__CPU_IA32
49
typedef
struct
{
50
FLAC__bool
cmov;
51
FLAC__bool
mmx;
52
FLAC__bool
sse;
53
FLAC__bool
sse2;
54
55
FLAC__bool
sse3;
56
FLAC__bool
ssse3;
57
FLAC__bool
sse41;
58
FLAC__bool
sse42;
59
FLAC__bool
avx;
60
FLAC__bool
avx2;
61
FLAC__bool
fma;
62
} FLAC__CPUInfo_IA32;
63
#elif defined FLAC__CPU_X86_64
64
typedef
struct
{
65
FLAC__bool
sse3;
66
FLAC__bool
ssse3;
67
FLAC__bool
sse41;
68
FLAC__bool
sse42;
69
FLAC__bool
avx;
70
FLAC__bool
avx2;
71
FLAC__bool
fma;
72
} FLAC__CPUInfo_x86;
73
#endif
74
75
typedef
struct
{
76
FLAC__bool
use_asm
;
77
FLAC__CPUInfo_Type
type
;
78
#if defined FLAC__CPU_IA32
79
FLAC__CPUInfo_IA32 ia32;
80
#elif defined FLAC__CPU_X86_64
81
FLAC__CPUInfo_x86 x86;
82
#endif
83
}
FLAC__CPUInfo
;
84
85
void
FLAC__cpu_info
(
FLAC__CPUInfo
*
info
);
86
87
#ifndef FLAC__NO_ASM
88
# if defined FLAC__CPU_IA32 && defined FLAC__HAS_NASM
89
FLAC__uint32
FLAC__cpu_have_cpuid_asm_ia32(
void
);
90
void
FLAC__cpu_info_asm_ia32(
FLAC__uint32
*flags_edx,
FLAC__uint32
*flags_ecx);
91
# endif
92
# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
93
FLAC__uint32
FLAC__cpu_have_cpuid_x86(
void
);
94
void
FLAC__cpu_info_x86(
FLAC__uint32
level,
FLAC__uint32
*eax,
FLAC__uint32
*ebx,
FLAC__uint32
*ecx,
FLAC__uint32
*edx);
95
FLAC__uint32
FLAC__cpu_xgetbv_x86(
void
);
96
# endif
97
#endif
98
99
#endif
FLAC__cpu_info
void FLAC__cpu_info(FLAC__CPUInfo *info)
Definition:
cpu.c:144
FLAC__uint32
uint32_t FLAC__uint32
Definition:
ordinals.h:65
FLAC__CPUINFO_TYPE_X86_64
Definition:
cpu.h:44
FLAC__CPUInfo::use_asm
FLAC__bool use_asm
Definition:
cpu.h:76
TOUCHINPUT
Definition:
juce_win32_Windowing.cpp:76
FLAC__CPUINFO_TYPE_UNKNOWN
Definition:
cpu.h:45
FLAC__CPUINFO_TYPE_IA32
Definition:
cpu.h:43
FLAC__CPUInfo
Definition:
cpu.h:75
FLAC__CPUInfo::type
FLAC__CPUInfo_Type type
Definition:
cpu.h:77
info
added some headers to allow you to turn off FLAC and commented out a couple of unused bits of and which applies just to the files I ve included in this directory For more info
Definition:
Flac Licence.txt:12
FLAC__CPUInfo_Type
FLAC__CPUInfo_Type
Definition:
cpu.h:42
Generated by
1.8.11