├── .gitignore
├── Assets
├── Materials.meta
├── Materials
│ ├── CubeMat.mat
│ └── CubeMat.mat.meta
├── Plugins.meta
├── Plugins
│ ├── WSA.meta
│ ├── WSA
│ │ ├── TexturesUWP.dll
│ │ └── TexturesUWP.dll.meta
│ ├── WebRtcWrapper.meta
│ └── WebRtcWrapper
│ │ ├── WebRtc.meta
│ │ ├── WebRtc
│ │ ├── Org.WebRtc.dll
│ │ ├── Org.WebRtc.dll.meta
│ │ ├── Org.WebRtc.winmd
│ │ └── Org.WebRtc.winmd.meta
│ │ ├── WebRtcWrapper.dll
│ │ ├── WebRtcWrapper.dll.mdb
│ │ ├── WebRtcWrapper.dll.mdb.meta
│ │ ├── WebRtcWrapper.dll.meta
│ │ └── WebRtcWrapper.pdb.meta
├── Scenes.meta
├── Scenes
│ ├── HLPluginPerfTest.unity
│ ├── HLPluginPerfTest.unity.meta
│ ├── HLPluginPerfTestThread.unity
│ ├── HLPluginPerfTestThread.unity.meta
│ ├── RenderTexture.unity
│ ├── RenderTexture.unity.meta
│ ├── RenderTextureHL.unity
│ ├── RenderTextureHL.unity.meta
│ ├── StereoSideBySideTexture.unity
│ └── StereoSideBySideTexture.unity.meta
├── Scripts.meta
└── Scripts
│ ├── CameraControl.cs
│ ├── CameraControl.cs.meta
│ ├── ControlScript.cs
│ ├── ControlScript.cs.meta
│ ├── UIControls.cs
│ └── UIControls.cs.meta
├── ExternalProjects
├── .gitignore
├── WebRTCPeerConnectionServerExe
│ └── peerconnection_server.exe
└── WebRtcIntegration
│ ├── .gitignore
│ ├── TexturesUWP
│ ├── TexturesUWP.cpp
│ ├── TexturesUWP.def
│ ├── TexturesUWP.h
│ ├── TexturesUWP.vcxproj
│ ├── TexturesUWP.vcxproj.filters
│ ├── UnityPluginAPI
│ │ ├── IUnityEventQueue.h
│ │ ├── IUnityGraphics.h
│ │ ├── IUnityGraphicsD3D11.h
│ │ ├── IUnityGraphicsD3D12.h
│ │ ├── IUnityGraphicsD3D9.h
│ │ ├── IUnityGraphicsMetal.h
│ │ └── IUnityInterface.h
│ ├── VideoDecoder.cpp
│ ├── VideoDecoder.h
│ ├── defs.h
│ ├── dllmain.cpp
│ ├── libyuv
│ │ ├── basic_types.h
│ │ ├── compare.h
│ │ ├── compare_row.h
│ │ ├── convert.h
│ │ ├── convert_argb.h
│ │ ├── convert_from.h
│ │ ├── convert_from_argb.h
│ │ ├── cpu_id.h
│ │ ├── libs.zip
│ │ ├── libs
│ │ │ ├── Debug
│ │ │ │ ├── libyuv_win10_x64.lib
│ │ │ │ └── libyuv_win10_x86.lib
│ │ │ └── Release
│ │ │ │ ├── libyuv_win10_x64.lib
│ │ │ │ └── libyuv_win10_x86.lib
│ │ ├── libyuv.h
│ │ ├── mjpeg_decoder.h
│ │ ├── planar_functions.h
│ │ ├── rotate.h
│ │ ├── rotate_argb.h
│ │ ├── rotate_row.h
│ │ ├── row.h
│ │ ├── scale.h
│ │ ├── scale_argb.h
│ │ ├── scale_row.h
│ │ ├── version.h
│ │ └── video_common.h
│ ├── macros.h
│ ├── pch.cpp
│ ├── pch.h
│ └── targetver.h
│ ├── WebRtcIntegration.sln
│ ├── WebRtcWrapper
│ ├── Model
│ │ ├── IceServer.cs
│ │ └── Peer.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── WebRtcWrapper.rd.xml
│ ├── Signalling
│ │ ├── Conductor.cs
│ │ └── Signalling.cs
│ ├── Utilities
│ │ ├── ActionCommand.cs
│ │ ├── AppPerf.cs
│ │ ├── BoolToVisConverter.cs
│ │ ├── InvertedBooleanConverter.cs
│ │ ├── NtpService.cs
│ │ ├── NullToVisibleConverter.cs
│ │ ├── SdpUtils.cs
│ │ ├── ToggleImageConverter.cs
│ │ ├── UI
│ │ │ ├── ErrorControl.xaml
│ │ │ └── ErrorControl.xaml.cs
│ │ ├── ValidableBase.cs
│ │ ├── ValidableIntegerString.cs
│ │ ├── ValidableNonEmptyString.cs
│ │ ├── VideoCaptureFormat.cs
│ │ └── XmlSerializer.cs
│ ├── WebRtcControl.cs
│ ├── WebRtcWrapper.csproj
│ └── project.json
│ └── XamlTestApp
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ ├── LockScreenLogo.scale-200.png
│ ├── SplashScreen.scale-200.png
│ ├── Square150x150Logo.scale-200.png
│ ├── Square44x44Logo.scale-200.png
│ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ ├── StoreLogo.png
│ └── Wide310x150Logo.scale-200.png
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── Package.appxmanifest
│ ├── Properties
│ ├── AssemblyInfo.cs
│ └── Default.rd.xml
│ ├── XamlTestApp.csproj
│ └── project.json
├── License.txt
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
└── UnityConnectSettings.asset
├── README.md
└── UnityPackageManager
└── manifest.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # =============== #
2 | # Unity generated #
3 | # =============== #
4 | [Tt]emp/
5 | [Oo]bj/
6 | [Bb]uild/
7 | [Ll]ibrary/
8 | sysinfo.txt
9 | *.stackdump
10 |
11 | # ===================================== #
12 | # Visual Studio / MonoDevelop generated #
13 | # ===================================== #
14 | [Ee]xported[Oo]bj/
15 | .vs/
16 | /*.userprefs
17 | /*.csproj
18 | /*.pidb
19 | /*.suo
20 | /*.sln*
21 | /*.user
22 | /*.unityproj
23 | /*.booproj
24 | /WindowsStoreApp/
25 | /App/
26 | /UWP/
27 | /Assets/*.pfx*
28 | /ExternalProjects/*.pfx*
29 |
30 |
31 | # ============ #
32 | # OS generated #
33 | # ============ #
34 | .DS_Store*
35 | ._*
36 | .Spotlight-V100
37 | .Trashes
38 | Icon?
39 | ehthumbs.db
40 | [Tt]humbs.db
41 |
42 | # Unity3D generated meta files
43 | *.pidb.meta
44 |
45 | # Unity3D Generated File On Crash Reports
46 | sysinfo.txt
47 |
48 | HoloToolkit-Examples
--------------------------------------------------------------------------------
/Assets/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f8402b3966e61e499724f6089401761
3 | folderAsset: yes
4 | timeCreated: 1491520886
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Materials/CubeMat.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: CubeMat
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_CustomRenderQueue: -1
15 | stringTagMap: {}
16 | disabledShaderPasses: []
17 | m_SavedProperties:
18 | serializedVersion: 3
19 | m_TexEnvs:
20 | - _BumpMap:
21 | m_Texture: {fileID: 0}
22 | m_Scale: {x: 1, y: 1}
23 | m_Offset: {x: 0, y: 0}
24 | - _DetailAlbedoMap:
25 | m_Texture: {fileID: 0}
26 | m_Scale: {x: 1, y: 1}
27 | m_Offset: {x: 0, y: 0}
28 | - _DetailMask:
29 | m_Texture: {fileID: 0}
30 | m_Scale: {x: 1, y: 1}
31 | m_Offset: {x: 0, y: 0}
32 | - _DetailNormalMap:
33 | m_Texture: {fileID: 0}
34 | m_Scale: {x: 1, y: 1}
35 | m_Offset: {x: 0, y: 0}
36 | - _EmissionMap:
37 | m_Texture: {fileID: 0}
38 | m_Scale: {x: 1, y: 1}
39 | m_Offset: {x: 0, y: 0}
40 | - _MainTex:
41 | m_Texture: {fileID: 0}
42 | m_Scale: {x: 1, y: 1}
43 | m_Offset: {x: 0, y: 0}
44 | - _MetallicGlossMap:
45 | m_Texture: {fileID: 0}
46 | m_Scale: {x: 1, y: 1}
47 | m_Offset: {x: 0, y: 0}
48 | - _OcclusionMap:
49 | m_Texture: {fileID: 0}
50 | m_Scale: {x: 1, y: 1}
51 | m_Offset: {x: 0, y: 0}
52 | - _ParallaxMap:
53 | m_Texture: {fileID: 0}
54 | m_Scale: {x: 1, y: 1}
55 | m_Offset: {x: 0, y: 0}
56 | m_Floats:
57 | - _BumpScale: 1
58 | - _Cutoff: 0.5
59 | - _DetailNormalMapScale: 1
60 | - _DstBlend: 0
61 | - _GlossMapScale: 1
62 | - _Glossiness: 0.5
63 | - _GlossyReflections: 1
64 | - _Metallic: 0
65 | - _Mode: 0
66 | - _OcclusionStrength: 1
67 | - _Parallax: 0.02
68 | - _SmoothnessTextureChannel: 0
69 | - _SpecularHighlights: 1
70 | - _SrcBlend: 1
71 | - _UVSec: 0
72 | - _ZWrite: 1
73 | m_Colors:
74 | - _Color: {r: 0.49264705, g: 0.49264705, b: 0.49264705, a: 1}
75 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
76 |
--------------------------------------------------------------------------------
/Assets/Materials/CubeMat.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d689a31b93a2039419d936660accdfad
3 | timeCreated: 1491520746
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | mainObjectFileID: 2100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 21603b86e817ac041b135dc73f16b40f
3 | folderAsset: yes
4 | timeCreated: 1491427551
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/WSA.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: abde8998a96acf14cb8b51661672ec93
3 | folderAsset: yes
4 | timeCreated: 1492729211
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/WSA/TexturesUWP.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/Assets/Plugins/WSA/TexturesUWP.dll
--------------------------------------------------------------------------------
/Assets/Plugins/WSA/TexturesUWP.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c39586c7dbfa86c45b6e9ff8c648b4b3
3 | timeCreated: 1493885254
4 | licenseType: Pro
5 | PluginImporter:
6 | serializedVersion: 2
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | isOverridable: 0
11 | platformData:
12 | data:
13 | first:
14 | '': Any
15 | second:
16 | enabled: 0
17 | settings:
18 | Exclude Android: 1
19 | Exclude Editor: 1
20 | Exclude Linux: 1
21 | Exclude Linux64: 1
22 | Exclude LinuxUniversal: 1
23 | Exclude OSXIntel: 1
24 | Exclude OSXIntel64: 1
25 | Exclude OSXUniversal: 1
26 | Exclude SamsungTV: 1
27 | Exclude Tizen: 1
28 | Exclude WebGL: 1
29 | Exclude Win: 1
30 | Exclude Win64: 1
31 | Exclude WindowsStoreApps: 0
32 | Exclude iOS: 1
33 | Exclude tvOS: 1
34 | data:
35 | first:
36 | '': Editor
37 | second:
38 | enabled: 0
39 | settings:
40 | CPU: AnyCPU
41 | OS: AnyOS
42 | data:
43 | first:
44 | Android: Android
45 | second:
46 | enabled: 0
47 | settings:
48 | CPU: ARMv7
49 | data:
50 | first:
51 | Any:
52 | second:
53 | enabled: 0
54 | settings: {}
55 | data:
56 | first:
57 | Editor: Editor
58 | second:
59 | enabled: 0
60 | settings:
61 | DefaultValueInitialized: true
62 | data:
63 | first:
64 | Facebook: Win
65 | second:
66 | enabled: 0
67 | settings:
68 | CPU: AnyCPU
69 | data:
70 | first:
71 | Facebook: Win64
72 | second:
73 | enabled: 0
74 | settings:
75 | CPU: AnyCPU
76 | data:
77 | first:
78 | Samsung TV: SamsungTV
79 | second:
80 | enabled: 0
81 | settings:
82 | STV_MODEL: STANDARD_15
83 | data:
84 | first:
85 | Standalone: Linux
86 | second:
87 | enabled: 0
88 | settings:
89 | CPU: x86
90 | data:
91 | first:
92 | Standalone: Linux64
93 | second:
94 | enabled: 0
95 | settings:
96 | CPU: x86_64
97 | data:
98 | first:
99 | Standalone: OSXIntel
100 | second:
101 | enabled: 0
102 | settings:
103 | CPU: AnyCPU
104 | data:
105 | first:
106 | Standalone: OSXIntel64
107 | second:
108 | enabled: 0
109 | settings:
110 | CPU: AnyCPU
111 | data:
112 | first:
113 | Standalone: Win
114 | second:
115 | enabled: 0
116 | settings:
117 | CPU: AnyCPU
118 | data:
119 | first:
120 | Standalone: Win64
121 | second:
122 | enabled: 0
123 | settings:
124 | CPU: AnyCPU
125 | data:
126 | first:
127 | Windows Store Apps: WindowsStoreApps
128 | second:
129 | enabled: 1
130 | settings:
131 | CPU: X86
132 | DontProcess: False
133 | PlaceholderPath:
134 | SDK: AnySDK
135 | ScriptingBackend: AnyScriptingBackend
136 | data:
137 | first:
138 | iPhone: iOS
139 | second:
140 | enabled: 0
141 | settings:
142 | CompileFlags:
143 | FrameworkDependencies:
144 | data:
145 | first:
146 | tvOS: tvOS
147 | second:
148 | enabled: 0
149 | settings:
150 | CompileFlags:
151 | FrameworkDependencies:
152 | userData:
153 | assetBundleName:
154 | assetBundleVariant:
155 |
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 05620dd4557d0294ab8088b1882c5a6e
3 | folderAsset: yes
4 | timeCreated: 1491427551
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d2a200dc98a6ca347bca1ad14f136338
3 | folderAsset: yes
4 | timeCreated: 1491427551
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtc/Org.WebRtc.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/Assets/Plugins/WebRtcWrapper/WebRtc/Org.WebRtc.dll
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtc/Org.WebRtc.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 57763667ccace3948a7b41babb1044c3
3 | timeCreated: 1491427554
4 | licenseType: Pro
5 | PluginImporter:
6 | serializedVersion: 2
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | isOverridable: 0
11 | platformData:
12 | data:
13 | first:
14 | '': Any
15 | second:
16 | enabled: 0
17 | settings:
18 | Exclude Android: 1
19 | Exclude Editor: 1
20 | Exclude Linux: 1
21 | Exclude Linux64: 1
22 | Exclude LinuxUniversal: 1
23 | Exclude OSXIntel: 1
24 | Exclude OSXIntel64: 1
25 | Exclude OSXUniversal: 1
26 | Exclude SamsungTV: 1
27 | Exclude Tizen: 1
28 | Exclude WebGL: 1
29 | Exclude Win: 1
30 | Exclude Win64: 1
31 | Exclude WindowsStoreApps: 0
32 | Exclude iOS: 1
33 | Exclude tvOS: 1
34 | data:
35 | first:
36 | '': Editor
37 | second:
38 | enabled: 0
39 | settings:
40 | CPU: AnyCPU
41 | OS: AnyOS
42 | data:
43 | first:
44 | Android: Android
45 | second:
46 | enabled: 0
47 | settings:
48 | CPU: ARMv7
49 | data:
50 | first:
51 | Any:
52 | second:
53 | enabled: 0
54 | settings: {}
55 | data:
56 | first:
57 | Editor: Editor
58 | second:
59 | enabled: 0
60 | settings:
61 | DefaultValueInitialized: true
62 | data:
63 | first:
64 | Facebook: Win
65 | second:
66 | enabled: 0
67 | settings:
68 | CPU: AnyCPU
69 | data:
70 | first:
71 | Facebook: Win64
72 | second:
73 | enabled: 0
74 | settings:
75 | CPU: AnyCPU
76 | data:
77 | first:
78 | Samsung TV: SamsungTV
79 | second:
80 | enabled: 0
81 | settings:
82 | STV_MODEL: STANDARD_15
83 | data:
84 | first:
85 | Standalone: Linux
86 | second:
87 | enabled: 0
88 | settings:
89 | CPU: x86
90 | data:
91 | first:
92 | Standalone: Linux64
93 | second:
94 | enabled: 0
95 | settings:
96 | CPU: x86_64
97 | data:
98 | first:
99 | Standalone: LinuxUniversal
100 | second:
101 | enabled: 0
102 | settings:
103 | CPU: None
104 | data:
105 | first:
106 | Standalone: OSXIntel
107 | second:
108 | enabled: 0
109 | settings:
110 | CPU: AnyCPU
111 | data:
112 | first:
113 | Standalone: OSXIntel64
114 | second:
115 | enabled: 0
116 | settings:
117 | CPU: AnyCPU
118 | data:
119 | first:
120 | Standalone: OSXUniversal
121 | second:
122 | enabled: 0
123 | settings:
124 | CPU: None
125 | data:
126 | first:
127 | Standalone: Win
128 | second:
129 | enabled: 0
130 | settings:
131 | CPU: AnyCPU
132 | data:
133 | first:
134 | Standalone: Win64
135 | second:
136 | enabled: 0
137 | settings:
138 | CPU: AnyCPU
139 | data:
140 | first:
141 | Windows Store Apps: WindowsStoreApps
142 | second:
143 | enabled: 1
144 | settings:
145 | CPU: X86
146 | DontProcess: True
147 | PlaceholderPath:
148 | SDK: UWP
149 | ScriptingBackend: AnyScriptingBackend
150 | data:
151 | first:
152 | iPhone: iOS
153 | second:
154 | enabled: 0
155 | settings:
156 | CompileFlags:
157 | FrameworkDependencies:
158 | data:
159 | first:
160 | tvOS: tvOS
161 | second:
162 | enabled: 0
163 | settings:
164 | CompileFlags:
165 | FrameworkDependencies:
166 | userData:
167 | assetBundleName:
168 | assetBundleVariant:
169 |
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtc/Org.WebRtc.winmd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/Assets/Plugins/WebRtcWrapper/WebRtc/Org.WebRtc.winmd
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtc/Org.WebRtc.winmd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 703f190d2c61df742bcda2954898cfe1
3 | timeCreated: 1491427552
4 | licenseType: Pro
5 | PluginImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | iconMap: {}
9 | executionOrder: {}
10 | isPreloaded: 0
11 | isOverridable: 0
12 | platformData:
13 | - first:
14 | '': Any
15 | second:
16 | enabled: 0
17 | settings:
18 | Exclude Android: 1
19 | Exclude Editor: 1
20 | Exclude Linux: 1
21 | Exclude Linux64: 1
22 | Exclude LinuxUniversal: 1
23 | Exclude OSXIntel: 1
24 | Exclude OSXIntel64: 1
25 | Exclude OSXUniversal: 1
26 | Exclude SamsungTV: 1
27 | Exclude Tizen: 1
28 | Exclude WebGL: 1
29 | Exclude Win: 1
30 | Exclude Win64: 1
31 | Exclude WindowsStoreApps: 0
32 | Exclude iOS: 1
33 | Exclude tvOS: 1
34 | - first:
35 | '': Editor
36 | second:
37 | enabled: 0
38 | settings:
39 | CPU: AnyCPU
40 | OS: AnyOS
41 | - first:
42 | Android: Android
43 | second:
44 | enabled: 0
45 | settings:
46 | CPU: ARMv7
47 | - first:
48 | Any:
49 | second:
50 | enabled: 0
51 | settings: {}
52 | - first:
53 | Editor: Editor
54 | second:
55 | enabled: 0
56 | settings:
57 | CPU: AnyCPU
58 | DefaultValueInitialized: true
59 | OS: AnyOS
60 | - first:
61 | Facebook: Win
62 | second:
63 | enabled: 0
64 | settings:
65 | CPU: AnyCPU
66 | - first:
67 | Facebook: Win64
68 | second:
69 | enabled: 0
70 | settings:
71 | CPU: AnyCPU
72 | - first:
73 | Samsung TV: SamsungTV
74 | second:
75 | enabled: 0
76 | settings:
77 | STV_MODEL: STANDARD_15
78 | - first:
79 | Standalone: Linux
80 | second:
81 | enabled: 0
82 | settings:
83 | CPU: x86
84 | - first:
85 | Standalone: Linux64
86 | second:
87 | enabled: 0
88 | settings:
89 | CPU: x86_64
90 | - first:
91 | Standalone: OSXIntel
92 | second:
93 | enabled: 0
94 | settings:
95 | CPU: AnyCPU
96 | - first:
97 | Standalone: OSXIntel64
98 | second:
99 | enabled: 0
100 | settings:
101 | CPU: AnyCPU
102 | - first:
103 | Standalone: OSXUniversal
104 | second:
105 | enabled: 0
106 | settings:
107 | CPU: AnyCPU
108 | - first:
109 | Standalone: Win
110 | second:
111 | enabled: 0
112 | settings:
113 | CPU: AnyCPU
114 | - first:
115 | Standalone: Win64
116 | second:
117 | enabled: 0
118 | settings:
119 | CPU: AnyCPU
120 | - first:
121 | Windows Store Apps: WindowsStoreApps
122 | second:
123 | enabled: 1
124 | settings:
125 | CPU: AnyCPU
126 | DontProcess: True
127 | PlaceholderPath:
128 | SDK: UWP
129 | ScriptingBackend: AnyScriptingBackend
130 | - first:
131 | XboxOne: XboxOne
132 | second:
133 | enabled: 1
134 | settings: {}
135 | - first:
136 | iPhone: iOS
137 | second:
138 | enabled: 0
139 | settings:
140 | CompileFlags:
141 | FrameworkDependencies:
142 | - first:
143 | tvOS: tvOS
144 | second:
145 | enabled: 0
146 | settings:
147 | CompileFlags:
148 | FrameworkDependencies:
149 | userData:
150 | assetBundleName:
151 | assetBundleVariant:
152 |
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtcWrapper.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/Assets/Plugins/WebRtcWrapper/WebRtcWrapper.dll
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtcWrapper.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/Assets/Plugins/WebRtcWrapper/WebRtcWrapper.dll.mdb
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtcWrapper.dll.mdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 262165630205c9d4ba215940b8544ad3
3 | timeCreated: 1518501796
4 | licenseType: Pro
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtcWrapper.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e366a9c732e131b439d81e4c56b138aa
3 | timeCreated: 1497029689
4 | licenseType: Pro
5 | PluginImporter:
6 | serializedVersion: 2
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | isOverridable: 0
11 | platformData:
12 | data:
13 | first:
14 | '': Any
15 | second:
16 | enabled: 0
17 | settings:
18 | Exclude Android: 1
19 | Exclude Editor: 1
20 | Exclude Linux: 1
21 | Exclude Linux64: 1
22 | Exclude LinuxUniversal: 1
23 | Exclude OSXIntel: 1
24 | Exclude OSXIntel64: 1
25 | Exclude OSXUniversal: 1
26 | Exclude SamsungTV: 1
27 | Exclude Tizen: 1
28 | Exclude WebGL: 1
29 | Exclude Win: 1
30 | Exclude Win64: 1
31 | Exclude WindowsStoreApps: 0
32 | Exclude iOS: 1
33 | Exclude tvOS: 1
34 | data:
35 | first:
36 | '': Editor
37 | second:
38 | enabled: 0
39 | settings:
40 | CPU: AnyCPU
41 | OS: AnyOS
42 | data:
43 | first:
44 | Android: Android
45 | second:
46 | enabled: 0
47 | settings:
48 | CPU: ARMv7
49 | data:
50 | first:
51 | Any:
52 | second:
53 | enabled: 0
54 | settings: {}
55 | data:
56 | first:
57 | Editor: Editor
58 | second:
59 | enabled: 0
60 | settings:
61 | DefaultValueInitialized: true
62 | data:
63 | first:
64 | Facebook: Win
65 | second:
66 | enabled: 0
67 | settings:
68 | CPU: None
69 | data:
70 | first:
71 | Facebook: Win64
72 | second:
73 | enabled: 0
74 | settings:
75 | CPU: None
76 | data:
77 | first:
78 | Samsung TV: SamsungTV
79 | second:
80 | enabled: 0
81 | settings:
82 | STV_MODEL: STANDARD_15
83 | data:
84 | first:
85 | Standalone: Linux
86 | second:
87 | enabled: 0
88 | settings:
89 | CPU: None
90 | data:
91 | first:
92 | Standalone: Linux64
93 | second:
94 | enabled: 0
95 | settings:
96 | CPU: None
97 | data:
98 | first:
99 | Standalone: LinuxUniversal
100 | second:
101 | enabled: 0
102 | settings:
103 | CPU: None
104 | data:
105 | first:
106 | Standalone: OSXIntel
107 | second:
108 | enabled: 0
109 | settings:
110 | CPU: None
111 | data:
112 | first:
113 | Standalone: OSXIntel64
114 | second:
115 | enabled: 0
116 | settings:
117 | CPU: None
118 | data:
119 | first:
120 | Standalone: OSXUniversal
121 | second:
122 | enabled: 0
123 | settings:
124 | CPU: None
125 | data:
126 | first:
127 | Standalone: Win
128 | second:
129 | enabled: 0
130 | settings:
131 | CPU: None
132 | data:
133 | first:
134 | Standalone: Win64
135 | second:
136 | enabled: 0
137 | settings:
138 | CPU: None
139 | data:
140 | first:
141 | Windows Store Apps: WindowsStoreApps
142 | second:
143 | enabled: 1
144 | settings:
145 | CPU: AnyCPU
146 | DontProcess: False
147 | PlaceholderPath:
148 | SDK: UWP
149 | ScriptingBackend: AnyScriptingBackend
150 | data:
151 | first:
152 | iPhone: iOS
153 | second:
154 | enabled: 0
155 | settings:
156 | CompileFlags:
157 | FrameworkDependencies:
158 | data:
159 | first:
160 | tvOS: tvOS
161 | second:
162 | enabled: 0
163 | settings:
164 | CompileFlags:
165 | FrameworkDependencies:
166 | userData:
167 | assetBundleName:
168 | assetBundleVariant:
169 |
--------------------------------------------------------------------------------
/Assets/Plugins/WebRtcWrapper/WebRtcWrapper.pdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a9565f14b2fe4042a0e2e1fc8292809
3 | timeCreated: 1518493687
4 | licenseType: Pro
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aa575f33cd4a8a542a31955028df578f
3 | folderAsset: yes
4 | timeCreated: 1491520893
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Scenes/HLPluginPerfTest.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ed330a8a6e30d4d4294990c854f33643
3 | timeCreated: 1497073044
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/HLPluginPerfTestThread.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 377e5300db99a744fbcf91e292de2dda
3 | timeCreated: 1497078505
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/RenderTexture.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5425aa1f238ee674481b5c84bfa7e01c
3 | timeCreated: 1492122364
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/RenderTextureHL.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8dfb59eeb05b4c542bbbb7a08661c45e
3 | timeCreated: 1497041524
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/StereoSideBySideTexture.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9a9dc3d97525f3d42851c4743227ba29
3 | timeCreated: 1495857693
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 16df857ddb9076e4ab7b5679b3fb83fd
3 | folderAsset: yes
4 | timeCreated: 1491449087
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Scripts/CameraControl.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License. See LICENSE in the project root for license information.
3 | //
4 | // Ritchie Lozada (rlozada@microsoft.com)
5 |
6 | using System.Collections;
7 | using System.Collections.Generic;
8 | using UnityEngine;
9 |
10 | public class CameraControl : MonoBehaviour
11 | {
12 | public float MoveRate = 1f;
13 | public float TurnRate = 90f;
14 |
15 |
16 | void Update()
17 | {
18 | var pitch = Input.GetAxis("Vertical");
19 | var yaw = Input.GetAxis("Horizontal");
20 |
21 | var mx = Input.GetAxis("MoveX");
22 | var my = Input.GetAxis("MoveY");
23 | var mz = Input.GetAxis("MoveZ");
24 |
25 | var MouseX = Input.GetAxis("Mouse X");
26 | var MouseY = Input.GetAxis("Mouse Y");
27 |
28 | // Right Mouse Button
29 | if (Input.GetMouseButton(1))
30 | {
31 | transform.Rotate(new Vector3(-MouseY, MouseX, 0f) * Time.deltaTime * TurnRate);
32 | }
33 |
34 | // Left Mouse Button
35 | if (Input.GetMouseButton(0))
36 | {
37 | transform.Translate(new Vector3(MouseX, 0f, MouseY) * Time.deltaTime * MoveRate);
38 | }
39 |
40 | transform.Rotate(new Vector3(pitch, yaw, 0f) * Time.deltaTime * TurnRate);
41 | transform.Translate(new Vector3(mx, my, mz) * Time.deltaTime * MoveRate);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Assets/Scripts/CameraControl.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68016f231d2ae864da6f60df6012532e
3 | timeCreated: 1491521087
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Scripts/ControlScript.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f16859116aaf76641abff9890f3277fb
3 | timeCreated: 1491449261
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Scripts/UIControls.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License. See LICENSE in the project root for license information.
3 | //
4 | // Ritchie Lozada (rlozada@microsoft.com)
5 |
6 |
7 | using System.Collections;
8 | using UnityEngine;
9 |
10 | public class UIControls : MonoBehaviour
11 | {
12 | public RectTransform panelMain;
13 |
14 | private IEnumerator panelCoRoutineControl;
15 | private float width;
16 | private float height;
17 | private float xPos;
18 | private float yPos;
19 | private bool isPanelOpen;
20 | private float moveSpeed;
21 |
22 | void Start()
23 | {
24 | width = panelMain.rect.width;
25 | height = panelMain.rect.height;
26 | moveSpeed = height * 3f;
27 |
28 | xPos = panelMain.rect.x;
29 | isPanelOpen = true;
30 | panelCoRoutineControl = panelCoRoutine(height, 1);
31 | }
32 |
33 | public void TogglePanel()
34 | {
35 | if (isPanelOpen)
36 | {
37 | ClosePanel();
38 | }
39 | else
40 | {
41 | OpenPanel();
42 | }
43 | isPanelOpen = !isPanelOpen;
44 | }
45 |
46 |
47 | public void OpenPanel()
48 | {
49 | StopCoroutine(panelCoRoutineControl);
50 | panelCoRoutineControl = panelCoRoutine(0, 1);
51 | StartCoroutine(panelCoRoutineControl);
52 | }
53 |
54 | public void ClosePanel()
55 | {
56 | StopCoroutine(panelCoRoutineControl);
57 | panelCoRoutineControl = panelCoRoutine(-height, -1);
58 | StartCoroutine(panelCoRoutineControl);
59 | }
60 |
61 | IEnumerator panelCoRoutine(float yTargetValue, int direction)
62 | {
63 | var targetY = yTargetValue;
64 | yPos = panelMain.anchoredPosition.y;
65 |
66 | while (
67 | ((direction > 0) && (yPos < targetY)) ||
68 | ((direction < 0) && (yPos > targetY))
69 | )
70 | {
71 | yPos += direction * moveSpeed * Time.deltaTime;
72 | panelMain.anchoredPosition = new Vector3(xPos, yPos);
73 | yield return null;
74 | }
75 | panelMain.anchoredPosition = new Vector3(xPos, yTargetValue);
76 | yield return null;
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/Assets/Scripts/UIControls.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e2124036feabe014194bc905ba3ad785
3 | timeCreated: 1493933908
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/ExternalProjects/.gitignore:
--------------------------------------------------------------------------------
1 | !WebRTCPeerConnectionServerExe/*
--------------------------------------------------------------------------------
/ExternalProjects/WebRTCPeerConnectionServerExe/peerconnection_server.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/ExternalProjects/WebRTCPeerConnectionServerExe/peerconnection_server.exe
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # MSTest test Results
33 | [Tt]est[Rr]esult*/
34 | [Bb]uild[Ll]og.*
35 |
36 | # NUNIT
37 | *.VisualState.xml
38 | TestResult.xml
39 |
40 | # Build Results of an ATL Project
41 | [Dd]ebugPS/
42 | [Rr]eleasePS/
43 | dlldata.c
44 |
45 | # .NET Core
46 | project.lock.json
47 | project.fragment.lock.json
48 | artifacts/
49 | **/Properties/launchSettings.json
50 |
51 | *_i.c
52 | *_p.c
53 | *_i.h
54 | *.ilk
55 | *.meta
56 | *.obj
57 | *.pch
58 | *.pdb
59 | *.pgc
60 | *.pgd
61 | *.rsp
62 | *.sbr
63 | *.tlb
64 | *.tli
65 | *.tlh
66 | *.tmp
67 | *.tmp_proj
68 | *.log
69 | *.vspscc
70 | *.vssscc
71 | .builds
72 | *.pidb
73 | *.svclog
74 | *.scc
75 |
76 | # Chutzpah Test files
77 | _Chutzpah*
78 |
79 | # Visual C++ cache files
80 | ipch/
81 | *.aps
82 | *.ncb
83 | *.opendb
84 | *.opensdf
85 | *.sdf
86 | *.cachefile
87 | *.VC.db
88 | *.VC.VC.opendb
89 |
90 | # Visual Studio profiler
91 | *.psess
92 | *.vsp
93 | *.vspx
94 | *.sap
95 |
96 | # TFS 2012 Local Workspace
97 | $tf/
98 |
99 | # Guidance Automation Toolkit
100 | *.gpState
101 |
102 | # ReSharper is a .NET coding add-in
103 | _ReSharper*/
104 | *.[Rr]e[Ss]harper
105 | *.DotSettings.user
106 |
107 | # JustCode is a .NET coding add-in
108 | .JustCode
109 |
110 | # TeamCity is a build add-in
111 | _TeamCity*
112 |
113 | # DotCover is a Code Coverage Tool
114 | *.dotCover
115 |
116 | # Visual Studio code coverage results
117 | *.coverage
118 | *.coveragexml
119 |
120 | # NCrunch
121 | _NCrunch_*
122 | .*crunch*.local.xml
123 | nCrunchTemp_*
124 |
125 | # MightyMoose
126 | *.mm.*
127 | AutoTest.Net/
128 |
129 | # Web workbench (sass)
130 | .sass-cache/
131 |
132 | # Installshield output folder
133 | [Ee]xpress/
134 |
135 | # DocProject is a documentation generator add-in
136 | DocProject/buildhelp/
137 | DocProject/Help/*.HxT
138 | DocProject/Help/*.HxC
139 | DocProject/Help/*.hhc
140 | DocProject/Help/*.hhk
141 | DocProject/Help/*.hhp
142 | DocProject/Help/Html2
143 | DocProject/Help/html
144 |
145 | # Click-Once directory
146 | publish/
147 |
148 | # Publish Web Output
149 | *.[Pp]ublish.xml
150 | *.azurePubxml
151 | # TODO: Comment the next line if you want to checkin your web deploy settings
152 | # but database connection strings (with potential passwords) will be unencrypted
153 | *.pubxml
154 | *.publishproj
155 |
156 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
157 | # checkin your Azure Web App publish settings, but sensitive information contained
158 | # in these scripts will be unencrypted
159 | PublishScripts/
160 |
161 | # NuGet Packages
162 | *.nupkg
163 | # The packages folder can be ignored because of Package Restore
164 | **/packages/*
165 | # except build/, which is used as an MSBuild target.
166 | !**/packages/build/
167 | # Uncomment if necessary however generally it will be regenerated when needed
168 | #!**/packages/repositories.config
169 | # NuGet v3's project.json files produces more ignorable files
170 | *.nuget.props
171 | *.nuget.targets
172 |
173 | # Microsoft Azure Build Output
174 | csx/
175 | *.build.csdef
176 |
177 | # Microsoft Azure Emulator
178 | ecf/
179 | rcf/
180 |
181 | # Windows Store app package directories and files
182 | AppPackages/
183 | BundleArtifacts/
184 | Package.StoreAssociation.xml
185 | _pkginfo.txt
186 |
187 | # Visual Studio cache files
188 | # files ending in .cache can be ignored
189 | *.[Cc]ache
190 | # but keep track of directories ending in .cache
191 | !*.[Cc]ache/
192 |
193 | # Others
194 | ClientBin/
195 | ~$*
196 | *~
197 | *.dbmdl
198 | *.dbproj.schemaview
199 | *.jfm
200 | *.pfx
201 | *.publishsettings
202 | orleans.codegen.cs
203 |
204 | # Since there are multiple workflows, uncomment next line to ignore bower_components
205 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
206 | #bower_components/
207 |
208 | # RIA/Silverlight projects
209 | Generated_Code/
210 |
211 | # Backup & report files from converting an old project file
212 | # to a newer Visual Studio version. Backup files are not needed,
213 | # because we have git ;-)
214 | _UpgradeReport_Files/
215 | Backup*/
216 | UpgradeLog*.XML
217 | UpgradeLog*.htm
218 |
219 | # SQL Server files
220 | *.mdf
221 | *.ldf
222 | *.ndf
223 |
224 | # Business Intelligence projects
225 | *.rdl.data
226 | *.bim.layout
227 | *.bim_*.settings
228 |
229 | # Microsoft Fakes
230 | FakesAssemblies/
231 |
232 | # GhostDoc plugin setting file
233 | *.GhostDoc.xml
234 |
235 | # Node.js Tools for Visual Studio
236 | .ntvs_analysis.dat
237 | node_modules/
238 |
239 | # Typescript v1 declaration files
240 | typings/
241 |
242 | # Visual Studio 6 build log
243 | *.plg
244 |
245 | # Visual Studio 6 workspace options file
246 | *.opt
247 |
248 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
249 | *.vbw
250 |
251 | # Visual Studio LightSwitch build output
252 | **/*.HTMLClient/GeneratedArtifacts
253 | **/*.DesktopClient/GeneratedArtifacts
254 | **/*.DesktopClient/ModelManifest.xml
255 | **/*.Server/GeneratedArtifacts
256 | **/*.Server/ModelManifest.xml
257 | _Pvt_Extensions
258 |
259 | # Paket dependency manager
260 | .paket/paket.exe
261 | paket-files/
262 |
263 | # FAKE - F# Make
264 | .fake/
265 |
266 | # JetBrains Rider
267 | .idea/
268 | *.sln.iml
269 |
270 | # CodeRush
271 | .cr/
272 |
273 | # Python Tools for Visual Studio (PTVS)
274 | __pycache__/
275 | *.pyc
276 |
277 | # Cake - Uncomment if you are using it
278 | # tools/**
279 | # !tools/packages.config
280 |
281 | # Telerik's JustMock configuration file
282 | *.jmconfig
283 |
284 | # BizTalk build output
285 | *.btp.cs
286 | *.btm.cs
287 | *.odx.cs
288 | *.xsd.cs
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/TexturesUWP.def:
--------------------------------------------------------------------------------
1 | ; file used by Visual Studio plugin builds, mostly for 32-bit
2 | ; to stop mangling our exported function names
3 |
4 | LIBRARY
5 |
6 | EXPORTS
7 | UnityPluginLoad
8 | UnityPluginUnload
9 | SetTextureFromUnity
10 | GetRenderEventFunc
11 | SetPluginMode
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/TexturesUWP.h:
--------------------------------------------------------------------------------
1 | #pragma once
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/TexturesUWP.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
6 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms
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 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/UnityPluginAPI/IUnityGraphics.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "IUnityInterface.h"
3 |
4 | typedef enum UnityGfxRenderer
5 | {
6 | //kUnityGfxRendererOpenGL = 0, // Legacy OpenGL, removed
7 | kUnityGfxRendererD3D9 = 1, // Direct3D 9
8 | kUnityGfxRendererD3D11 = 2, // Direct3D 11
9 | kUnityGfxRendererGCM = 3, // PlayStation 3
10 | kUnityGfxRendererNull = 4, // "null" device (used in batch mode)
11 | kUnityGfxRendererOpenGLES20 = 8, // OpenGL ES 2.0
12 | kUnityGfxRendererOpenGLES30 = 11, // OpenGL ES 3.0
13 | kUnityGfxRendererGXM = 12, // PlayStation Vita
14 | kUnityGfxRendererPS4 = 13, // PlayStation 4
15 | kUnityGfxRendererXboxOne = 14, // Xbox One
16 | kUnityGfxRendererMetal = 16, // iOS Metal
17 | kUnityGfxRendererOpenGLCore = 17, // OpenGL core
18 | kUnityGfxRendererD3D12 = 18, // Direct3D 12
19 | kUnityGfxRendererVulkan = 21, // Vulkan
20 | } UnityGfxRenderer;
21 |
22 | typedef enum UnityGfxDeviceEventType
23 | {
24 | kUnityGfxDeviceEventInitialize = 0,
25 | kUnityGfxDeviceEventShutdown = 1,
26 | kUnityGfxDeviceEventBeforeReset = 2,
27 | kUnityGfxDeviceEventAfterReset = 3,
28 | } UnityGfxDeviceEventType;
29 |
30 | typedef void (UNITY_INTERFACE_API * IUnityGraphicsDeviceEventCallback)(UnityGfxDeviceEventType eventType);
31 |
32 | // Should only be used on the rendering thread unless noted otherwise.
33 | UNITY_DECLARE_INTERFACE(IUnityGraphics)
34 | {
35 | UnityGfxRenderer(UNITY_INTERFACE_API * GetRenderer)(); // Thread safe
36 |
37 | // This callback will be called when graphics device is created, destroyed, reset, etc.
38 | // It is possible to miss the kUnityGfxDeviceEventInitialize event in case plugin is loaded at a later time,
39 | // when the graphics device is already created.
40 | void(UNITY_INTERFACE_API * RegisterDeviceEventCallback)(IUnityGraphicsDeviceEventCallback callback);
41 | void(UNITY_INTERFACE_API * UnregisterDeviceEventCallback)(IUnityGraphicsDeviceEventCallback callback);
42 | };
43 | UNITY_REGISTER_INTERFACE_GUID(0x7CBA0A9CA4DDB544ULL, 0x8C5AD4926EB17B11ULL, IUnityGraphics)
44 |
45 |
46 | // Certain Unity APIs (GL.IssuePluginEvent, CommandBuffer.IssuePluginEvent) can callback into native plugins.
47 | // Provide them with an address to a function of this signature.
48 | typedef void (UNITY_INTERFACE_API * UnityRenderingEvent)(int eventId);
49 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/UnityPluginAPI/IUnityGraphicsD3D11.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "IUnityInterface.h"
3 |
4 | struct RenderSurfaceBase;
5 | typedef struct RenderSurfaceBase* UnityRenderBuffer;
6 |
7 | // Should only be used on the rendering thread unless noted otherwise.
8 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D11)
9 | {
10 | ID3D11Device* (UNITY_INTERFACE_API * GetDevice)();
11 |
12 | ID3D11Resource* (UNITY_INTERFACE_API * TextureFromRenderBuffer)(UnityRenderBuffer buffer);
13 | };
14 | UNITY_REGISTER_INTERFACE_GUID(0xAAB37EF87A87D748ULL, 0xBF76967F07EFB177ULL, IUnityGraphicsD3D11)
15 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/UnityPluginAPI/IUnityGraphicsD3D12.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "IUnityInterface.h"
3 | #ifndef __cplusplus
4 | #include
5 | #endif
6 |
7 | typedef struct UnityGraphicsD3D12ResourceState UnityGraphicsD3D12ResourceState;
8 | struct UnityGraphicsD3D12ResourceState
9 | {
10 | ID3D12Resource* resource; // Resource to barrier.
11 | D3D12_RESOURCE_STATES expected; // Expected resource state before this command list is executed.
12 | D3D12_RESOURCE_STATES current; // State this resource will be in after this command list is executed.
13 | };
14 |
15 | typedef struct UnityGraphicsD3D12PhysicalVideoMemoryControlValues UnityGraphicsD3D12PhysicalVideoMemoryControlValues;
16 | struct UnityGraphicsD3D12PhysicalVideoMemoryControlValues // all values in bytes
17 | {
18 | UINT64 reservation; // Minimum required physical memory for an application [default = 64MB].
19 | UINT64 systemMemoryThreshold; // If free physical video memory drops below this threshold, resources will be allocated in system memory. [default = 64MB]
20 | UINT64 residencyThreshold; // Minimum free physical video memory needed to start bringing evicted resources back after shrunken video memory budget expands again. [default = 128MB]
21 | };
22 |
23 | // Should only be used on the rendering/submission thread.
24 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v4)
25 | {
26 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)();
27 |
28 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)();
29 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed
30 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)();
31 |
32 | // Executes a given command list on a worker thread.
33 | // [Optional] Declares expected and post-execution resource states.
34 | // Returns the fence value.
35 | UINT64(UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList * commandList, int stateCount, UnityGraphicsD3D12ResourceState * states);
36 |
37 | void(UNITY_INTERFACE_API * SetPhysicalVideoMemoryControlValues)(const UnityGraphicsD3D12PhysicalVideoMemoryControlValues * memInfo);
38 |
39 | ID3D12CommandQueue* (UNITY_INTERFACE_API * GetCommandQueue)();
40 | };
41 | UNITY_REGISTER_INTERFACE_GUID(0X498FFCC13EC94006ULL, 0XB18F8B0FF67778C8ULL, IUnityGraphicsD3D12v4)
42 |
43 | // Should only be used on the rendering/submission thread.
44 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v3)
45 | {
46 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)();
47 |
48 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)();
49 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed
50 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)();
51 |
52 | // Executes a given command list on a worker thread.
53 | // [Optional] Declares expected and post-execution resource states.
54 | // Returns the fence value.
55 | UINT64(UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList * commandList, int stateCount, UnityGraphicsD3D12ResourceState * states);
56 |
57 | void(UNITY_INTERFACE_API * SetPhysicalVideoMemoryControlValues)(const UnityGraphicsD3D12PhysicalVideoMemoryControlValues * memInfo);
58 | };
59 | UNITY_REGISTER_INTERFACE_GUID(0x57C3FAFE59E5E843ULL, 0xBF4F5998474BB600ULL, IUnityGraphicsD3D12v3)
60 |
61 | // Should only be used on the rendering/submission thread.
62 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v2)
63 | {
64 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)();
65 |
66 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)();
67 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed
68 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)();
69 |
70 | // Executes a given command list on a worker thread.
71 | // [Optional] Declares expected and post-execution resource states.
72 | // Returns the fence value.
73 | UINT64(UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList * commandList, int stateCount, UnityGraphicsD3D12ResourceState * states);
74 | };
75 | UNITY_REGISTER_INTERFACE_GUID(0xEC39D2F18446C745ULL, 0xB1A2626641D6B11FULL, IUnityGraphicsD3D12v2)
76 |
77 |
78 | // Obsolete
79 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12)
80 | {
81 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)();
82 | ID3D12CommandQueue* (UNITY_INTERFACE_API * GetCommandQueue)();
83 |
84 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)();
85 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed
86 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)();
87 |
88 | // Returns the state a resource will be in after the last command list is executed
89 | bool(UNITY_INTERFACE_API * GetResourceState)(ID3D12Resource * resource, D3D12_RESOURCE_STATES * outState);
90 | // Specifies the state a resource will be in after a plugin command list with resource barriers is executed
91 | void(UNITY_INTERFACE_API * SetResourceState)(ID3D12Resource * resource, D3D12_RESOURCE_STATES state);
92 | };
93 | UNITY_REGISTER_INTERFACE_GUID(0xEF4CEC88A45F4C4CULL, 0xBD295B6F2A38D9DEULL, IUnityGraphicsD3D12)
94 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/UnityPluginAPI/IUnityGraphicsD3D9.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "IUnityInterface.h"
3 |
4 | // Should only be used on the rendering thread unless noted otherwise.
5 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D9)
6 | {
7 | IDirect3D9* (UNITY_INTERFACE_API * GetD3D)();
8 | IDirect3DDevice9* (UNITY_INTERFACE_API * GetDevice)();
9 | };
10 | UNITY_REGISTER_INTERFACE_GUID(0xE90746A523D53C4CULL, 0xAC825B19B6F82AC3ULL, IUnityGraphicsD3D9)
11 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/UnityPluginAPI/IUnityGraphicsMetal.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "IUnityInterface.h"
3 |
4 | #ifndef __OBJC__
5 | #error metal plugin is objc code.
6 | #endif
7 | #ifndef __clang__
8 | #error only clang compiler is supported.
9 | #endif
10 |
11 | @class NSBundle;
12 | @protocol MTLDevice;
13 | @protocol MTLCommandBuffer;
14 | @protocol MTLCommandEncoder;
15 | @protocol MTLTexture;
16 |
17 | struct RenderSurfaceBase;
18 | typedef struct RenderSurfaceBase* UnityRenderBuffer;
19 |
20 | // Should only be used on the rendering thread unless noted otherwise.
21 | UNITY_DECLARE_INTERFACE(IUnityGraphicsMetal)
22 | {
23 | NSBundle* (UNITY_INTERFACE_API * MetalBundle)();
24 | id(UNITY_INTERFACE_API * MetalDevice)();
25 |
26 | id(UNITY_INTERFACE_API * CurrentCommandBuffer)();
27 |
28 | // for custom rendering support there are two scenarios:
29 | // you want to use current in-flight MTLCommandEncoder (NB: it might be nil)
30 | id(UNITY_INTERFACE_API * CurrentCommandEncoder)();
31 | // or you might want to create your own encoder.
32 | // In that case you should end unity's encoder before creating your own and end yours before returning control to unity
33 | void(UNITY_INTERFACE_API * EndCurrentCommandEncoder)();
34 |
35 | // converting trampoline UnityRenderBufferHandle into native RenderBuffer
36 | UnityRenderBuffer(UNITY_INTERFACE_API * RenderBufferFromHandle)(void* bufferHandle);
37 |
38 | // access to RenderBuffer's texure
39 | // NB: you pass here *native* RenderBuffer, acquired by calling (C#) RenderBuffer.GetNativeRenderBufferPtr
40 | // AAResolvedTextureFromRenderBuffer will return nil in case of non-AA RenderBuffer or if called for depth RenderBuffer
41 | // StencilTextureFromRenderBuffer will return nil in case of no-stencil RenderBuffer or if called for color RenderBuffer
42 | id(UNITY_INTERFACE_API * TextureFromRenderBuffer)(UnityRenderBuffer buffer);
43 | id(UNITY_INTERFACE_API * AAResolvedTextureFromRenderBuffer)(UnityRenderBuffer buffer);
44 | id(UNITY_INTERFACE_API * StencilTextureFromRenderBuffer)(UnityRenderBuffer buffer);
45 | };
46 | UNITY_REGISTER_INTERFACE_GUID(0x992C8EAEA95811E5ULL, 0x9A62C4B5B9876117ULL, IUnityGraphicsMetal)
47 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/VideoDecoder.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 | #include
14 |
15 | #include "macros.h"
16 | #include "defs.h"
17 |
18 | namespace WebRTCDirectXClientComponent
19 | {
20 | class VideoDecoder
21 | {
22 | private:
23 | IMFSourceResolver* m_pSourceResolver;
24 | IUnknown* m_pSource;
25 | IMFMediaSource* m_pMediaFileSource;
26 | IMFAttributes* m_pVideoReaderAttributes;
27 | IMFSourceReader* m_pSourceReader;
28 | MF_OBJECT_TYPE m_objectType;
29 | IMFMediaType* m_pFileVideoMediaType;
30 |
31 | IUnknown* m_pDecTransformUnk;
32 | IMFTransform* m_pDecoderTransform;
33 | IMFMediaType* m_pDecInputMediaType;
34 | IMFMediaType* m_pDecOutputMediaType;
35 | DWORD m_mftStatus;
36 |
37 | // Ready to start processing frames.
38 | MFT_OUTPUT_DATA_BUFFER m_outputDataBuffer;
39 | DWORD m_processOutputStatus;
40 | IMFSample* m_pVideoSample;
41 | DWORD m_streamIndex;
42 | DWORD m_flags;
43 | DWORD m_bufferCount;
44 | LONGLONG m_llVideoTimeStamp;
45 | LONGLONG m_llSampleDuration;
46 | LONGLONG m_yuvVideoTimeStamp;
47 | LONGLONG m_yuvSampleDuration;
48 | HRESULT m_mftProcessInput;
49 | HRESULT m_mftProcessOutput;
50 | MFT_OUTPUT_STREAM_INFO m_streamInfo;
51 | IMFSample* m_pOutSample;
52 | IMFMediaBuffer* m_pBuffer;
53 | IMFMediaBuffer* m_pReConstructedBuffer;
54 | int m_sampleCount;
55 | DWORD m_mftOutFlags;
56 | DWORD m_sampleFlags;
57 | LONGLONG m_reconVideoTimeStamp;
58 | LONGLONG m_reconSampleDuration;
59 | DWORD m_reconSampleFlags;
60 |
61 | IMFMediaBuffer* m_pInBuffer;
62 | char* m_pInputBuffer;
63 | int m_iOffset;
64 |
65 | public:
66 | VideoDecoder();
67 |
68 | ~VideoDecoder();
69 |
70 | void Initialize(int width, int height);
71 |
72 | void Deinitialize();
73 |
74 | int DecodeH264VideoFrame(
75 | const uint8_t* h264FrameData,
76 | const int h264FrameLength,
77 | int width,
78 | int height,
79 | uint8_t** i420FrameData,
80 | int* i420FrameLength);
81 | };
82 | }
83 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/defs.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define INPUT_BUFFER_SIZE 1024 * 1024
4 | #define FRAME_RATE 30
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/dllmain.cpp:
--------------------------------------------------------------------------------
1 | #include "pch.h"
2 |
3 | BOOL APIENTRY DllMain(HMODULE /* hModule */, DWORD ul_reason_for_call, LPVOID /* lpReserved */)
4 | {
5 | switch (ul_reason_for_call)
6 | {
7 | case DLL_PROCESS_ATTACH:
8 | case DLL_THREAD_ATTACH:
9 | case DLL_THREAD_DETACH:
10 | case DLL_PROCESS_DETACH:
11 | break;
12 | }
13 | return TRUE;
14 | }
15 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/basic_types.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_BASIC_TYPES_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_BASIC_TYPES_H_
13 |
14 | #include // for NULL, size_t
15 |
16 | #if defined(__ANDROID__) || (defined(_MSC_VER) && (_MSC_VER < 1600))
17 | #include // for uintptr_t on x86
18 | #else
19 | #include // for uintptr_t
20 | #endif
21 |
22 | #ifndef GG_LONGLONG
23 | #ifndef INT_TYPES_DEFINED
24 | #define INT_TYPES_DEFINED
25 | #ifdef COMPILER_MSVC
26 | typedef unsigned __int64 uint64;
27 | typedef __int64 int64;
28 | #ifndef INT64_C
29 | #define INT64_C(x) x ## I64
30 | #endif
31 | #ifndef UINT64_C
32 | #define UINT64_C(x) x ## UI64
33 | #endif
34 | #define INT64_F "I64"
35 | #else // COMPILER_MSVC
36 | #if defined(__LP64__) && !defined(__OpenBSD__) && !defined(__APPLE__)
37 | typedef unsigned long uint64; // NOLINT
38 | typedef long int64; // NOLINT
39 | #ifndef INT64_C
40 | #define INT64_C(x) x ## L
41 | #endif
42 | #ifndef UINT64_C
43 | #define UINT64_C(x) x ## UL
44 | #endif
45 | #define INT64_F "l"
46 | #else // defined(__LP64__) && !defined(__OpenBSD__) && !defined(__APPLE__)
47 | typedef unsigned long long uint64; // NOLINT
48 | typedef long long int64; // NOLINT
49 | #ifndef INT64_C
50 | #define INT64_C(x) x ## LL
51 | #endif
52 | #ifndef UINT64_C
53 | #define UINT64_C(x) x ## ULL
54 | #endif
55 | #define INT64_F "ll"
56 | #endif // __LP64__
57 | #endif // COMPILER_MSVC
58 | typedef unsigned int uint32;
59 | typedef int int32;
60 | typedef unsigned short uint16; // NOLINT
61 | typedef short int16; // NOLINT
62 | typedef unsigned char uint8;
63 | typedef signed char int8;
64 | #endif // INT_TYPES_DEFINED
65 | #endif // GG_LONGLONG
66 |
67 | // Detect compiler is for x86 or x64.
68 | #if defined(__x86_64__) || defined(_M_X64) || \
69 | defined(__i386__) || defined(_M_IX86)
70 | #define CPU_X86 1
71 | #endif
72 | // Detect compiler is for ARM.
73 | #if defined(__arm__) || defined(_M_ARM)
74 | #define CPU_ARM 1
75 | #endif
76 |
77 | #ifndef ALIGNP
78 | #ifdef __cplusplus
79 | #define ALIGNP(p, t) \
80 | (reinterpret_cast(((reinterpret_cast(p) + \
81 | ((t) - 1)) & ~((t) - 1))))
82 | #else
83 | #define ALIGNP(p, t) \
84 | ((uint8*)((((uintptr_t)(p) + ((t) - 1)) & ~((t) - 1)))) /* NOLINT */
85 | #endif
86 | #endif
87 |
88 | #if !defined(LIBYUV_API)
89 | #if defined(_WIN32) || defined(__CYGWIN__)
90 | #if defined(LIBYUV_BUILDING_SHARED_LIBRARY)
91 | #define LIBYUV_API __declspec(dllexport)
92 | #elif defined(LIBYUV_USING_SHARED_LIBRARY)
93 | #define LIBYUV_API __declspec(dllimport)
94 | #else
95 | #define LIBYUV_API
96 | #endif // LIBYUV_BUILDING_SHARED_LIBRARY
97 | #elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__APPLE__) && \
98 | (defined(LIBYUV_BUILDING_SHARED_LIBRARY) || \
99 | defined(LIBYUV_USING_SHARED_LIBRARY))
100 | #define LIBYUV_API __attribute__ ((visibility ("default")))
101 | #else
102 | #define LIBYUV_API
103 | #endif // __GNUC__
104 | #endif // LIBYUV_API
105 |
106 | #define LIBYUV_BOOL int
107 | #define LIBYUV_FALSE 0
108 | #define LIBYUV_TRUE 1
109 |
110 | // Visual C x86 or GCC little endian.
111 | #if defined(__x86_64__) || defined(_M_X64) || \
112 | defined(__i386__) || defined(_M_IX86) || \
113 | defined(__arm__) || defined(_M_ARM) || \
114 | (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
115 | #define LIBYUV_LITTLE_ENDIAN
116 | #endif
117 |
118 | #endif // INCLUDE_LIBYUV_BASIC_TYPES_H_ NOLINT
119 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/compare.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_COMPARE_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_COMPARE_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | namespace libyuv {
18 | extern "C" {
19 | #endif
20 |
21 | // Compute a hash for specified memory. Seed of 5381 recommended.
22 | LIBYUV_API
23 | uint32 HashDjb2(const uint8* src, uint64 count, uint32 seed);
24 |
25 | // Scan an opaque argb image and return fourcc based on alpha offset.
26 | // Returns FOURCC_ARGB, FOURCC_BGRA, or 0 if unknown.
27 | LIBYUV_API
28 | uint32 ARGBDetect(const uint8* argb, int stride_argb, int width, int height);
29 |
30 | // Sum Square Error - used to compute Mean Square Error or PSNR.
31 | LIBYUV_API
32 | uint64 ComputeSumSquareError(const uint8* src_a,
33 | const uint8* src_b, int count);
34 |
35 | LIBYUV_API
36 | uint64 ComputeSumSquareErrorPlane(const uint8* src_a, int stride_a,
37 | const uint8* src_b, int stride_b,
38 | int width, int height);
39 |
40 | static const int kMaxPsnr = 128;
41 |
42 | LIBYUV_API
43 | double SumSquareErrorToPsnr(uint64 sse, uint64 count);
44 |
45 | LIBYUV_API
46 | double CalcFramePsnr(const uint8* src_a, int stride_a,
47 | const uint8* src_b, int stride_b,
48 | int width, int height);
49 |
50 | LIBYUV_API
51 | double I420Psnr(const uint8* src_y_a, int stride_y_a,
52 | const uint8* src_u_a, int stride_u_a,
53 | const uint8* src_v_a, int stride_v_a,
54 | const uint8* src_y_b, int stride_y_b,
55 | const uint8* src_u_b, int stride_u_b,
56 | const uint8* src_v_b, int stride_v_b,
57 | int width, int height);
58 |
59 | LIBYUV_API
60 | double CalcFrameSsim(const uint8* src_a, int stride_a,
61 | const uint8* src_b, int stride_b,
62 | int width, int height);
63 |
64 | LIBYUV_API
65 | double I420Ssim(const uint8* src_y_a, int stride_y_a,
66 | const uint8* src_u_a, int stride_u_a,
67 | const uint8* src_v_a, int stride_v_a,
68 | const uint8* src_y_b, int stride_y_b,
69 | const uint8* src_u_b, int stride_u_b,
70 | const uint8* src_v_b, int stride_v_b,
71 | int width, int height);
72 |
73 | #ifdef __cplusplus
74 | } // extern "C"
75 | } // namespace libyuv
76 | #endif
77 |
78 | #endif // INCLUDE_LIBYUV_COMPARE_H_ NOLINT
79 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/compare_row.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_COMPARE_ROW_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_COMPARE_ROW_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | namespace libyuv {
18 | extern "C" {
19 | #endif
20 |
21 | #if defined(__pnacl__) || defined(__CLR_VER) || \
22 | (defined(__i386__) && !defined(__SSE2__))
23 | #define LIBYUV_DISABLE_X86
24 | #endif
25 | // MemorySanitizer does not support assembly code yet. http://crbug.com/344505
26 | #if defined(__has_feature)
27 | #if __has_feature(memory_sanitizer)
28 | #define LIBYUV_DISABLE_X86
29 | #endif
30 | #endif
31 |
32 | // Visual C 2012 required for AVX2.
33 | #if defined(_M_IX86) && !defined(__clang__) && \
34 | defined(_MSC_VER) && _MSC_VER >= 1700
35 | #define VISUALC_HAS_AVX2 1
36 | #endif // VisualStudio >= 2012
37 |
38 | // clang >= 3.4.0 required for AVX2.
39 | #if defined(__clang__) && (defined(__x86_64__) || defined(__i386__))
40 | #if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4))
41 | #define CLANG_HAS_AVX2 1
42 | #endif // clang >= 3.4
43 | #endif // __clang__
44 |
45 | #if !defined(LIBYUV_DISABLE_X86) && \
46 | defined(_M_IX86) && (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2))
47 | #define HAS_HASHDJB2_AVX2
48 | #endif
49 |
50 | // The following are available for Visual C and GCC:
51 | #if !defined(LIBYUV_DISABLE_X86) && \
52 | (defined(__x86_64__) || (defined(__i386__) || defined(_M_IX86)))
53 | #define HAS_HASHDJB2_SSE41
54 | #define HAS_SUMSQUAREERROR_SSE2
55 | #endif
56 |
57 | // The following are available for Visual C and clangcl 32 bit:
58 | #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \
59 | (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2))
60 | #define HAS_HASHDJB2_AVX2
61 | #define HAS_SUMSQUAREERROR_AVX2
62 | #endif
63 |
64 | // The following are available for Neon:
65 | #if !defined(LIBYUV_DISABLE_NEON) && \
66 | (defined(__ARM_NEON__) || defined(LIBYUV_NEON) || defined(__aarch64__))
67 | #define HAS_SUMSQUAREERROR_NEON
68 | #endif
69 |
70 | uint32 SumSquareError_C(const uint8* src_a, const uint8* src_b, int count);
71 | uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count);
72 | uint32 SumSquareError_AVX2(const uint8* src_a, const uint8* src_b, int count);
73 | uint32 SumSquareError_NEON(const uint8* src_a, const uint8* src_b, int count);
74 |
75 | uint32 HashDjb2_C(const uint8* src, int count, uint32 seed);
76 | uint32 HashDjb2_SSE41(const uint8* src, int count, uint32 seed);
77 | uint32 HashDjb2_AVX2(const uint8* src, int count, uint32 seed);
78 |
79 | #ifdef __cplusplus
80 | } // extern "C"
81 | } // namespace libyuv
82 | #endif
83 |
84 | #endif // INCLUDE_LIBYUV_COMPARE_ROW_H_ NOLINT
85 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/convert_from.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_CONVERT_FROM_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_CONVERT_FROM_H_
13 |
14 | #include "libyuv/basic_types.h"
15 | #include "libyuv/rotate.h"
16 |
17 | #ifdef __cplusplus
18 | namespace libyuv {
19 | extern "C" {
20 | #endif
21 |
22 | // See Also convert.h for conversions from formats to I420.
23 |
24 | // I420Copy in convert to I420ToI420.
25 |
26 | LIBYUV_API
27 | int I420ToI422(const uint8* src_y, int src_stride_y,
28 | const uint8* src_u, int src_stride_u,
29 | const uint8* src_v, int src_stride_v,
30 | uint8* dst_y, int dst_stride_y,
31 | uint8* dst_u, int dst_stride_u,
32 | uint8* dst_v, int dst_stride_v,
33 | int width, int height);
34 |
35 | LIBYUV_API
36 | int I420ToI444(const uint8* src_y, int src_stride_y,
37 | const uint8* src_u, int src_stride_u,
38 | const uint8* src_v, int src_stride_v,
39 | uint8* dst_y, int dst_stride_y,
40 | uint8* dst_u, int dst_stride_u,
41 | uint8* dst_v, int dst_stride_v,
42 | int width, int height);
43 |
44 | LIBYUV_API
45 | int I420ToI411(const uint8* src_y, int src_stride_y,
46 | const uint8* src_u, int src_stride_u,
47 | const uint8* src_v, int src_stride_v,
48 | uint8* dst_y, int dst_stride_y,
49 | uint8* dst_u, int dst_stride_u,
50 | uint8* dst_v, int dst_stride_v,
51 | int width, int height);
52 |
53 | // Copy to I400. Source can be I420, I422, I444, I400, NV12 or NV21.
54 | LIBYUV_API
55 | int I400Copy(const uint8* src_y, int src_stride_y,
56 | uint8* dst_y, int dst_stride_y,
57 | int width, int height);
58 |
59 | LIBYUV_API
60 | int I420ToNV12(const uint8* src_y, int src_stride_y,
61 | const uint8* src_u, int src_stride_u,
62 | const uint8* src_v, int src_stride_v,
63 | uint8* dst_y, int dst_stride_y,
64 | uint8* dst_uv, int dst_stride_uv,
65 | int width, int height);
66 |
67 | LIBYUV_API
68 | int I420ToNV21(const uint8* src_y, int src_stride_y,
69 | const uint8* src_u, int src_stride_u,
70 | const uint8* src_v, int src_stride_v,
71 | uint8* dst_y, int dst_stride_y,
72 | uint8* dst_vu, int dst_stride_vu,
73 | int width, int height);
74 |
75 | LIBYUV_API
76 | int I420ToYUY2(const uint8* src_y, int src_stride_y,
77 | const uint8* src_u, int src_stride_u,
78 | const uint8* src_v, int src_stride_v,
79 | uint8* dst_frame, int dst_stride_frame,
80 | int width, int height);
81 |
82 | LIBYUV_API
83 | int I420ToUYVY(const uint8* src_y, int src_stride_y,
84 | const uint8* src_u, int src_stride_u,
85 | const uint8* src_v, int src_stride_v,
86 | uint8* dst_frame, int dst_stride_frame,
87 | int width, int height);
88 |
89 | LIBYUV_API
90 | int I420ToARGB(const uint8* src_y, int src_stride_y,
91 | const uint8* src_u, int src_stride_u,
92 | const uint8* src_v, int src_stride_v,
93 | uint8* dst_argb, int dst_stride_argb,
94 | int width, int height);
95 |
96 | LIBYUV_API
97 | int I420ToBGRA(const uint8* src_y, int src_stride_y,
98 | const uint8* src_u, int src_stride_u,
99 | const uint8* src_v, int src_stride_v,
100 | uint8* dst_argb, int dst_stride_argb,
101 | int width, int height);
102 |
103 | LIBYUV_API
104 | int I420ToABGR(const uint8* src_y, int src_stride_y,
105 | const uint8* src_u, int src_stride_u,
106 | const uint8* src_v, int src_stride_v,
107 | uint8* dst_argb, int dst_stride_argb,
108 | int width, int height);
109 |
110 | LIBYUV_API
111 | int I420ToRGBA(const uint8* src_y, int src_stride_y,
112 | const uint8* src_u, int src_stride_u,
113 | const uint8* src_v, int src_stride_v,
114 | uint8* dst_rgba, int dst_stride_rgba,
115 | int width, int height);
116 |
117 | LIBYUV_API
118 | int I420ToRGB24(const uint8* src_y, int src_stride_y,
119 | const uint8* src_u, int src_stride_u,
120 | const uint8* src_v, int src_stride_v,
121 | uint8* dst_frame, int dst_stride_frame,
122 | int width, int height);
123 |
124 | LIBYUV_API
125 | int I420ToRAW(const uint8* src_y, int src_stride_y,
126 | const uint8* src_u, int src_stride_u,
127 | const uint8* src_v, int src_stride_v,
128 | uint8* dst_frame, int dst_stride_frame,
129 | int width, int height);
130 |
131 | LIBYUV_API
132 | int I420ToRGB565(const uint8* src_y, int src_stride_y,
133 | const uint8* src_u, int src_stride_u,
134 | const uint8* src_v, int src_stride_v,
135 | uint8* dst_frame, int dst_stride_frame,
136 | int width, int height);
137 |
138 | // Convert I420 To RGB565 with 4x4 dither matrix (16 bytes).
139 | // Values in dither matrix from 0 to 7 recommended.
140 | // The order of the dither matrix is first byte is upper left.
141 |
142 | LIBYUV_API
143 | int I420ToRGB565Dither(const uint8* src_y, int src_stride_y,
144 | const uint8* src_u, int src_stride_u,
145 | const uint8* src_v, int src_stride_v,
146 | uint8* dst_frame, int dst_stride_frame,
147 | const uint8* dither4x4, int width, int height);
148 |
149 | LIBYUV_API
150 | int I420ToARGB1555(const uint8* src_y, int src_stride_y,
151 | const uint8* src_u, int src_stride_u,
152 | const uint8* src_v, int src_stride_v,
153 | uint8* dst_frame, int dst_stride_frame,
154 | int width, int height);
155 |
156 | LIBYUV_API
157 | int I420ToARGB4444(const uint8* src_y, int src_stride_y,
158 | const uint8* src_u, int src_stride_u,
159 | const uint8* src_v, int src_stride_v,
160 | uint8* dst_frame, int dst_stride_frame,
161 | int width, int height);
162 |
163 | // Convert I420 to specified format.
164 | // "dst_sample_stride" is bytes in a row for the destination. Pass 0 if the
165 | // buffer has contiguous rows. Can be negative. A multiple of 16 is optimal.
166 | LIBYUV_API
167 | int ConvertFromI420(const uint8* y, int y_stride,
168 | const uint8* u, int u_stride,
169 | const uint8* v, int v_stride,
170 | uint8* dst_sample, int dst_sample_stride,
171 | int width, int height,
172 | uint32 format);
173 |
174 | #ifdef __cplusplus
175 | } // extern "C"
176 | } // namespace libyuv
177 | #endif
178 |
179 | #endif // INCLUDE_LIBYUV_CONVERT_FROM_H_ NOLINT
180 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/convert_from_argb.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_CONVERT_FROM_ARGB_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_CONVERT_FROM_ARGB_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | namespace libyuv {
18 | extern "C" {
19 | #endif
20 |
21 | // Copy ARGB to ARGB.
22 | #define ARGBToARGB ARGBCopy
23 | LIBYUV_API
24 | int ARGBCopy(const uint8* src_argb, int src_stride_argb,
25 | uint8* dst_argb, int dst_stride_argb,
26 | int width, int height);
27 |
28 | // Convert ARGB To BGRA.
29 | LIBYUV_API
30 | int ARGBToBGRA(const uint8* src_argb, int src_stride_argb,
31 | uint8* dst_bgra, int dst_stride_bgra,
32 | int width, int height);
33 |
34 | // Convert ARGB To ABGR.
35 | LIBYUV_API
36 | int ARGBToABGR(const uint8* src_argb, int src_stride_argb,
37 | uint8* dst_abgr, int dst_stride_abgr,
38 | int width, int height);
39 |
40 | // Convert ARGB To RGBA.
41 | LIBYUV_API
42 | int ARGBToRGBA(const uint8* src_argb, int src_stride_argb,
43 | uint8* dst_rgba, int dst_stride_rgba,
44 | int width, int height);
45 |
46 | // Convert ARGB To RGB24.
47 | LIBYUV_API
48 | int ARGBToRGB24(const uint8* src_argb, int src_stride_argb,
49 | uint8* dst_rgb24, int dst_stride_rgb24,
50 | int width, int height);
51 |
52 | // Convert ARGB To RAW.
53 | LIBYUV_API
54 | int ARGBToRAW(const uint8* src_argb, int src_stride_argb,
55 | uint8* dst_rgb, int dst_stride_rgb,
56 | int width, int height);
57 |
58 | // Convert ARGB To RGB565.
59 | LIBYUV_API
60 | int ARGBToRGB565(const uint8* src_argb, int src_stride_argb,
61 | uint8* dst_rgb565, int dst_stride_rgb565,
62 | int width, int height);
63 |
64 | // Convert ARGB To RGB565 with 4x4 dither matrix (16 bytes).
65 | // Values in dither matrix from 0 to 7 recommended.
66 | // The order of the dither matrix is first byte is upper left.
67 | // TODO(fbarchard): Consider pointer to 2d array for dither4x4.
68 | // const uint8(*dither)[4][4];
69 | LIBYUV_API
70 | int ARGBToRGB565Dither(const uint8* src_argb, int src_stride_argb,
71 | uint8* dst_rgb565, int dst_stride_rgb565,
72 | const uint8* dither4x4, int width, int height);
73 |
74 | // Convert ARGB To ARGB1555.
75 | LIBYUV_API
76 | int ARGBToARGB1555(const uint8* src_argb, int src_stride_argb,
77 | uint8* dst_argb1555, int dst_stride_argb1555,
78 | int width, int height);
79 |
80 | // Convert ARGB To ARGB4444.
81 | LIBYUV_API
82 | int ARGBToARGB4444(const uint8* src_argb, int src_stride_argb,
83 | uint8* dst_argb4444, int dst_stride_argb4444,
84 | int width, int height);
85 |
86 | // Convert ARGB To I444.
87 | LIBYUV_API
88 | int ARGBToI444(const uint8* src_argb, int src_stride_argb,
89 | uint8* dst_y, int dst_stride_y,
90 | uint8* dst_u, int dst_stride_u,
91 | uint8* dst_v, int dst_stride_v,
92 | int width, int height);
93 |
94 | // Convert ARGB To I422.
95 | LIBYUV_API
96 | int ARGBToI422(const uint8* src_argb, int src_stride_argb,
97 | uint8* dst_y, int dst_stride_y,
98 | uint8* dst_u, int dst_stride_u,
99 | uint8* dst_v, int dst_stride_v,
100 | int width, int height);
101 |
102 | // Convert ARGB To I420. (also in convert.h)
103 | LIBYUV_API
104 | int ARGBToI420(const uint8* src_argb, int src_stride_argb,
105 | uint8* dst_y, int dst_stride_y,
106 | uint8* dst_u, int dst_stride_u,
107 | uint8* dst_v, int dst_stride_v,
108 | int width, int height);
109 |
110 | // Convert ARGB to J420. (JPeg full range I420).
111 | LIBYUV_API
112 | int ARGBToJ420(const uint8* src_argb, int src_stride_argb,
113 | uint8* dst_yj, int dst_stride_yj,
114 | uint8* dst_u, int dst_stride_u,
115 | uint8* dst_v, int dst_stride_v,
116 | int width, int height);
117 |
118 | // Convert ARGB to J422.
119 | LIBYUV_API
120 | int ARGBToJ422(const uint8* src_argb, int src_stride_argb,
121 | uint8* dst_yj, int dst_stride_yj,
122 | uint8* dst_u, int dst_stride_u,
123 | uint8* dst_v, int dst_stride_v,
124 | int width, int height);
125 |
126 | // Convert ARGB To I411.
127 | LIBYUV_API
128 | int ARGBToI411(const uint8* src_argb, int src_stride_argb,
129 | uint8* dst_y, int dst_stride_y,
130 | uint8* dst_u, int dst_stride_u,
131 | uint8* dst_v, int dst_stride_v,
132 | int width, int height);
133 |
134 | // Convert ARGB to J400. (JPeg full range).
135 | LIBYUV_API
136 | int ARGBToJ400(const uint8* src_argb, int src_stride_argb,
137 | uint8* dst_yj, int dst_stride_yj,
138 | int width, int height);
139 |
140 | // Convert ARGB to I400.
141 | LIBYUV_API
142 | int ARGBToI400(const uint8* src_argb, int src_stride_argb,
143 | uint8* dst_y, int dst_stride_y,
144 | int width, int height);
145 |
146 | // Convert ARGB to G. (Reverse of J400toARGB, which replicates G back to ARGB)
147 | LIBYUV_API
148 | int ARGBToG(const uint8* src_argb, int src_stride_argb,
149 | uint8* dst_g, int dst_stride_g,
150 | int width, int height);
151 |
152 | // Convert ARGB To NV12.
153 | LIBYUV_API
154 | int ARGBToNV12(const uint8* src_argb, int src_stride_argb,
155 | uint8* dst_y, int dst_stride_y,
156 | uint8* dst_uv, int dst_stride_uv,
157 | int width, int height);
158 |
159 | // Convert ARGB To NV21.
160 | LIBYUV_API
161 | int ARGBToNV21(const uint8* src_argb, int src_stride_argb,
162 | uint8* dst_y, int dst_stride_y,
163 | uint8* dst_vu, int dst_stride_vu,
164 | int width, int height);
165 |
166 | // Convert ARGB To NV21.
167 | LIBYUV_API
168 | int ARGBToNV21(const uint8* src_argb, int src_stride_argb,
169 | uint8* dst_y, int dst_stride_y,
170 | uint8* dst_vu, int dst_stride_vu,
171 | int width, int height);
172 |
173 | // Convert ARGB To YUY2.
174 | LIBYUV_API
175 | int ARGBToYUY2(const uint8* src_argb, int src_stride_argb,
176 | uint8* dst_yuy2, int dst_stride_yuy2,
177 | int width, int height);
178 |
179 | // Convert ARGB To UYVY.
180 | LIBYUV_API
181 | int ARGBToUYVY(const uint8* src_argb, int src_stride_argb,
182 | uint8* dst_uyvy, int dst_stride_uyvy,
183 | int width, int height);
184 |
185 | #ifdef __cplusplus
186 | } // extern "C"
187 | } // namespace libyuv
188 | #endif
189 |
190 | #endif // INCLUDE_LIBYUV_CONVERT_FROM_ARGB_H_ NOLINT
191 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/cpu_id.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_CPU_ID_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_CPU_ID_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | namespace libyuv {
18 | extern "C" {
19 | #endif
20 |
21 | // Internal flag to indicate cpuid requires initialization.
22 | static const int kCpuInitialized = 0x1;
23 |
24 | // These flags are only valid on ARM processors.
25 | static const int kCpuHasARM = 0x2;
26 | static const int kCpuHasNEON = 0x4;
27 | // 0x8 reserved for future ARM flag.
28 |
29 | // These flags are only valid on x86 processors.
30 | static const int kCpuHasX86 = 0x10;
31 | static const int kCpuHasSSE2 = 0x20;
32 | static const int kCpuHasSSSE3 = 0x40;
33 | static const int kCpuHasSSE41 = 0x80;
34 | static const int kCpuHasSSE42 = 0x100;
35 | static const int kCpuHasAVX = 0x200;
36 | static const int kCpuHasAVX2 = 0x400;
37 | static const int kCpuHasERMS = 0x800;
38 | static const int kCpuHasFMA3 = 0x1000;
39 | static const int kCpuHasAVX3 = 0x2000;
40 | // 0x2000, 0x4000, 0x8000 reserved for future X86 flags.
41 |
42 | // These flags are only valid on MIPS processors.
43 | static const int kCpuHasMIPS = 0x10000;
44 | static const int kCpuHasDSPR2 = 0x20000;
45 |
46 | // Internal function used to auto-init.
47 | LIBYUV_API
48 | int InitCpuFlags(void);
49 |
50 | // Internal function for parsing /proc/cpuinfo.
51 | LIBYUV_API
52 | int ArmCpuCaps(const char* cpuinfo_name);
53 |
54 | // Detect CPU has SSE2 etc.
55 | // Test_flag parameter should be one of kCpuHas constants above.
56 | // returns non-zero if instruction set is detected
57 | static __inline int TestCpuFlag(int test_flag) {
58 | LIBYUV_API extern int cpu_info_;
59 | return (!cpu_info_ ? InitCpuFlags() : cpu_info_) & test_flag;
60 | }
61 |
62 | // For testing, allow CPU flags to be disabled.
63 | // ie MaskCpuFlags(~kCpuHasSSSE3) to disable SSSE3.
64 | // MaskCpuFlags(-1) to enable all cpu specific optimizations.
65 | // MaskCpuFlags(1) to disable all cpu specific optimizations.
66 | LIBYUV_API
67 | void MaskCpuFlags(int enable_flags);
68 |
69 | // Low level cpuid for X86. Returns zeros on other CPUs.
70 | // eax is the info type that you want.
71 | // ecx is typically the cpu number, and should normally be zero.
72 | LIBYUV_API
73 | void CpuId(uint32 eax, uint32 ecx, uint32* cpu_info);
74 |
75 | #ifdef __cplusplus
76 | } // extern "C"
77 | } // namespace libyuv
78 | #endif
79 |
80 | #endif // INCLUDE_LIBYUV_CPU_ID_H_ NOLINT
81 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs.zip
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Debug/libyuv_win10_x64.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Debug/libyuv_win10_x64.lib
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Debug/libyuv_win10_x86.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Debug/libyuv_win10_x86.lib
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Release/libyuv_win10_x64.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Release/libyuv_win10_x64.lib
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Release/libyuv_win10_x86.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ritchielozada/UnityWithWebRTC/6b46a994c4ddabc8d952c68359ce6ff057690862/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libs/Release/libyuv_win10_x86.lib
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/libyuv.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_H_
13 |
14 | #include "libyuv/basic_types.h"
15 | #include "libyuv/compare.h"
16 | #include "libyuv/convert.h"
17 | #include "libyuv/convert_argb.h"
18 | #include "libyuv/convert_from.h"
19 | #include "libyuv/convert_from_argb.h"
20 | #include "libyuv/cpu_id.h"
21 | #include "libyuv/mjpeg_decoder.h"
22 | #include "libyuv/planar_functions.h"
23 | #include "libyuv/rotate.h"
24 | #include "libyuv/rotate_argb.h"
25 | #include "libyuv/row.h"
26 | #include "libyuv/scale.h"
27 | #include "libyuv/scale_argb.h"
28 | #include "libyuv/scale_row.h"
29 | #include "libyuv/version.h"
30 | #include "libyuv/video_common.h"
31 |
32 | #endif // INCLUDE_LIBYUV_H_ NOLINT
33 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/mjpeg_decoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_MJPEG_DECODER_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_MJPEG_DECODER_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | // NOTE: For a simplified public API use convert.h MJPGToI420().
18 |
19 | struct jpeg_common_struct;
20 | struct jpeg_decompress_struct;
21 | struct jpeg_source_mgr;
22 |
23 | namespace libyuv {
24 |
25 | #ifdef __cplusplus
26 | extern "C" {
27 | #endif
28 |
29 | LIBYUV_BOOL ValidateJpeg(const uint8* sample, size_t sample_size);
30 |
31 | #ifdef __cplusplus
32 | } // extern "C"
33 | #endif
34 |
35 | static const uint32 kUnknownDataSize = 0xFFFFFFFF;
36 |
37 | enum JpegSubsamplingType {
38 | kJpegYuv420,
39 | kJpegYuv422,
40 | kJpegYuv411,
41 | kJpegYuv444,
42 | kJpegYuv400,
43 | kJpegUnknown
44 | };
45 |
46 | struct Buffer {
47 | const uint8* data;
48 | int len;
49 | };
50 |
51 | struct BufferVector {
52 | Buffer* buffers;
53 | int len;
54 | int pos;
55 | };
56 |
57 | struct SetJmpErrorMgr;
58 |
59 | // MJPEG ("Motion JPEG") is a pseudo-standard video codec where the frames are
60 | // simply independent JPEG images with a fixed huffman table (which is omitted).
61 | // It is rarely used in video transmission, but is common as a camera capture
62 | // format, especially in Logitech devices. This class implements a decoder for
63 | // MJPEG frames.
64 | //
65 | // See http://tools.ietf.org/html/rfc2435
66 | class LIBYUV_API MJpegDecoder {
67 | public:
68 | typedef void (*CallbackFunction)(void* opaque,
69 | const uint8* const* data,
70 | const int* strides,
71 | int rows);
72 |
73 | static const int kColorSpaceUnknown;
74 | static const int kColorSpaceGrayscale;
75 | static const int kColorSpaceRgb;
76 | static const int kColorSpaceYCbCr;
77 | static const int kColorSpaceCMYK;
78 | static const int kColorSpaceYCCK;
79 |
80 | MJpegDecoder();
81 | ~MJpegDecoder();
82 |
83 | // Loads a new frame, reads its headers, and determines the uncompressed
84 | // image format.
85 | // Returns LIBYUV_TRUE if image looks valid and format is supported.
86 | // If return value is LIBYUV_TRUE, then the values for all the following
87 | // getters are populated.
88 | // src_len is the size of the compressed mjpeg frame in bytes.
89 | LIBYUV_BOOL LoadFrame(const uint8* src, size_t src_len);
90 |
91 | // Returns width of the last loaded frame in pixels.
92 | int GetWidth();
93 |
94 | // Returns height of the last loaded frame in pixels.
95 | int GetHeight();
96 |
97 | // Returns format of the last loaded frame. The return value is one of the
98 | // kColorSpace* constants.
99 | int GetColorSpace();
100 |
101 | // Number of color components in the color space.
102 | int GetNumComponents();
103 |
104 | // Sample factors of the n-th component.
105 | int GetHorizSampFactor(int component);
106 |
107 | int GetVertSampFactor(int component);
108 |
109 | int GetHorizSubSampFactor(int component);
110 |
111 | int GetVertSubSampFactor(int component);
112 |
113 | // Public for testability.
114 | int GetImageScanlinesPerImcuRow();
115 |
116 | // Public for testability.
117 | int GetComponentScanlinesPerImcuRow(int component);
118 |
119 | // Width of a component in bytes.
120 | int GetComponentWidth(int component);
121 |
122 | // Height of a component.
123 | int GetComponentHeight(int component);
124 |
125 | // Width of a component in bytes with padding for DCTSIZE. Public for testing.
126 | int GetComponentStride(int component);
127 |
128 | // Size of a component in bytes.
129 | int GetComponentSize(int component);
130 |
131 | // Call this after LoadFrame() if you decide you don't want to decode it
132 | // after all.
133 | LIBYUV_BOOL UnloadFrame();
134 |
135 | // Decodes the entire image into a one-buffer-per-color-component format.
136 | // dst_width must match exactly. dst_height must be <= to image height; if
137 | // less, the image is cropped. "planes" must have size equal to at least
138 | // GetNumComponents() and they must point to non-overlapping buffers of size
139 | // at least GetComponentSize(i). The pointers in planes are incremented
140 | // to point to after the end of the written data.
141 | // TODO(fbarchard): Add dst_x, dst_y to allow specific rect to be decoded.
142 | LIBYUV_BOOL DecodeToBuffers(uint8** planes, int dst_width, int dst_height);
143 |
144 | // Decodes the entire image and passes the data via repeated calls to a
145 | // callback function. Each call will get the data for a whole number of
146 | // image scanlines.
147 | // TODO(fbarchard): Add dst_x, dst_y to allow specific rect to be decoded.
148 | LIBYUV_BOOL DecodeToCallback(CallbackFunction fn, void* opaque,
149 | int dst_width, int dst_height);
150 |
151 | // The helper function which recognizes the jpeg sub-sampling type.
152 | static JpegSubsamplingType JpegSubsamplingTypeHelper(
153 | int* subsample_x, int* subsample_y, int number_of_components);
154 |
155 | private:
156 | void AllocOutputBuffers(int num_outbufs);
157 | void DestroyOutputBuffers();
158 |
159 | LIBYUV_BOOL StartDecode();
160 | LIBYUV_BOOL FinishDecode();
161 |
162 | void SetScanlinePointers(uint8** data);
163 | LIBYUV_BOOL DecodeImcuRow();
164 |
165 | int GetComponentScanlinePadding(int component);
166 |
167 | // A buffer holding the input data for a frame.
168 | Buffer buf_;
169 | BufferVector buf_vec_;
170 |
171 | jpeg_decompress_struct* decompress_struct_;
172 | jpeg_source_mgr* source_mgr_;
173 | SetJmpErrorMgr* error_mgr_;
174 |
175 | // LIBYUV_TRUE iff at least one component has scanline padding. (i.e.,
176 | // GetComponentScanlinePadding() != 0.)
177 | LIBYUV_BOOL has_scanline_padding_;
178 |
179 | // Temporaries used to point to scanline outputs.
180 | int num_outbufs_; // Outermost size of all arrays below.
181 | uint8*** scanlines_;
182 | int* scanlines_sizes_;
183 | // Temporary buffer used for decoding when we can't decode directly to the
184 | // output buffers. Large enough for just one iMCU row.
185 | uint8** databuf_;
186 | int* databuf_strides_;
187 | };
188 |
189 | } // namespace libyuv
190 |
191 | #endif // __cplusplus
192 | #endif // INCLUDE_LIBYUV_MJPEG_DECODER_H_ NOLINT
193 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/rotate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_ROTATE_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_ROTATE_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | namespace libyuv {
18 | extern "C" {
19 | #endif
20 |
21 | // Supported rotation.
22 | typedef enum RotationMode {
23 | kRotate0 = 0, // No rotation.
24 | kRotate90 = 90, // Rotate 90 degrees clockwise.
25 | kRotate180 = 180, // Rotate 180 degrees.
26 | kRotate270 = 270, // Rotate 270 degrees clockwise.
27 |
28 | // Deprecated.
29 | kRotateNone = 0,
30 | kRotateClockwise = 90,
31 | kRotateCounterClockwise = 270,
32 | } RotationModeEnum;
33 |
34 | // Rotate I420 frame.
35 | LIBYUV_API
36 | int I420Rotate(const uint8* src_y, int src_stride_y,
37 | const uint8* src_u, int src_stride_u,
38 | const uint8* src_v, int src_stride_v,
39 | uint8* dst_y, int dst_stride_y,
40 | uint8* dst_u, int dst_stride_u,
41 | uint8* dst_v, int dst_stride_v,
42 | int src_width, int src_height, enum RotationMode mode);
43 |
44 | // Rotate NV12 input and store in I420.
45 | LIBYUV_API
46 | int NV12ToI420Rotate(const uint8* src_y, int src_stride_y,
47 | const uint8* src_uv, int src_stride_uv,
48 | uint8* dst_y, int dst_stride_y,
49 | uint8* dst_u, int dst_stride_u,
50 | uint8* dst_v, int dst_stride_v,
51 | int src_width, int src_height, enum RotationMode mode);
52 |
53 | // Rotate a plane by 0, 90, 180, or 270.
54 | LIBYUV_API
55 | int RotatePlane(const uint8* src, int src_stride,
56 | uint8* dst, int dst_stride,
57 | int src_width, int src_height, enum RotationMode mode);
58 |
59 | // Rotate planes by 90, 180, 270. Deprecated.
60 | LIBYUV_API
61 | void RotatePlane90(const uint8* src, int src_stride,
62 | uint8* dst, int dst_stride,
63 | int width, int height);
64 |
65 | LIBYUV_API
66 | void RotatePlane180(const uint8* src, int src_stride,
67 | uint8* dst, int dst_stride,
68 | int width, int height);
69 |
70 | LIBYUV_API
71 | void RotatePlane270(const uint8* src, int src_stride,
72 | uint8* dst, int dst_stride,
73 | int width, int height);
74 |
75 | LIBYUV_API
76 | void RotateUV90(const uint8* src, int src_stride,
77 | uint8* dst_a, int dst_stride_a,
78 | uint8* dst_b, int dst_stride_b,
79 | int width, int height);
80 |
81 | // Rotations for when U and V are interleaved.
82 | // These functions take one input pointer and
83 | // split the data into two buffers while
84 | // rotating them. Deprecated.
85 | LIBYUV_API
86 | void RotateUV180(const uint8* src, int src_stride,
87 | uint8* dst_a, int dst_stride_a,
88 | uint8* dst_b, int dst_stride_b,
89 | int width, int height);
90 |
91 | LIBYUV_API
92 | void RotateUV270(const uint8* src, int src_stride,
93 | uint8* dst_a, int dst_stride_a,
94 | uint8* dst_b, int dst_stride_b,
95 | int width, int height);
96 |
97 | // The 90 and 270 functions are based on transposes.
98 | // Doing a transpose with reversing the read/write
99 | // order will result in a rotation by +- 90 degrees.
100 | // Deprecated.
101 | LIBYUV_API
102 | void TransposePlane(const uint8* src, int src_stride,
103 | uint8* dst, int dst_stride,
104 | int width, int height);
105 |
106 | LIBYUV_API
107 | void TransposeUV(const uint8* src, int src_stride,
108 | uint8* dst_a, int dst_stride_a,
109 | uint8* dst_b, int dst_stride_b,
110 | int width, int height);
111 |
112 | #ifdef __cplusplus
113 | } // extern "C"
114 | } // namespace libyuv
115 | #endif
116 |
117 | #endif // INCLUDE_LIBYUV_ROTATE_H_ NOLINT
118 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/rotate_argb.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_ROTATE_ARGB_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_ROTATE_ARGB_H_
13 |
14 | #include "libyuv/basic_types.h"
15 | #include "libyuv/rotate.h" // For RotationMode.
16 |
17 | #ifdef __cplusplus
18 | namespace libyuv {
19 | extern "C" {
20 | #endif
21 |
22 | // Rotate ARGB frame
23 | LIBYUV_API
24 | int ARGBRotate(const uint8* src_argb, int src_stride_argb,
25 | uint8* dst_argb, int dst_stride_argb,
26 | int src_width, int src_height, enum RotationMode mode);
27 |
28 | #ifdef __cplusplus
29 | } // extern "C"
30 | } // namespace libyuv
31 | #endif
32 |
33 | #endif // INCLUDE_LIBYUV_ROTATE_ARGB_H_ NOLINT
34 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/rotate_row.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_ROTATE_ROW_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_ROTATE_ROW_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | namespace libyuv {
18 | extern "C" {
19 | #endif
20 |
21 | #if defined(__pnacl__) || defined(__CLR_VER) || \
22 | (defined(__i386__) && !defined(__SSE2__))
23 | #define LIBYUV_DISABLE_X86
24 | #endif
25 | // MemorySanitizer does not support assembly code yet. http://crbug.com/344505
26 | #if defined(__has_feature)
27 | #if __has_feature(memory_sanitizer)
28 | #define LIBYUV_DISABLE_X86
29 | #endif
30 | #endif
31 | // The following are available for Visual C and clangcl 32 bit:
32 | #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86)
33 | #define HAS_TRANSPOSEWX8_SSSE3
34 | #define HAS_TRANSPOSEUVWX8_SSE2
35 | #endif
36 |
37 | // The following are available for GCC 32 or 64 bit but not NaCL for 64 bit:
38 | #if !defined(LIBYUV_DISABLE_X86) && \
39 | (defined(__i386__) || (defined(__x86_64__) && !defined(__native_client__)))
40 | #define HAS_TRANSPOSEWX8_SSSE3
41 | #endif
42 |
43 | // The following are available for 64 bit GCC but not NaCL:
44 | #if !defined(LIBYUV_DISABLE_X86) && !defined(__native_client__) && \
45 | defined(__x86_64__)
46 | #define HAS_TRANSPOSEWX8_FAST_SSSE3
47 | #define HAS_TRANSPOSEUVWX8_SSE2
48 | #endif
49 |
50 | #if !defined(LIBYUV_DISABLE_NEON) && !defined(__native_client__) && \
51 | (defined(__ARM_NEON__) || defined(LIBYUV_NEON) || defined(__aarch64__))
52 | #define HAS_TRANSPOSEWX8_NEON
53 | #define HAS_TRANSPOSEUVWX8_NEON
54 | #endif
55 |
56 | #if !defined(LIBYUV_DISABLE_MIPS) && !defined(__native_client__) && \
57 | defined(__mips__) && \
58 | defined(__mips_dsp) && (__mips_dsp_rev >= 2)
59 | #define HAS_TRANSPOSEWX8_DSPR2
60 | #define HAS_TRANSPOSEUVWX8_DSPR2
61 | #endif // defined(__mips__)
62 |
63 | void TransposeWxH_C(const uint8* src, int src_stride,
64 | uint8* dst, int dst_stride, int width, int height);
65 |
66 | void TransposeWx8_C(const uint8* src, int src_stride,
67 | uint8* dst, int dst_stride, int width);
68 | void TransposeWx8_NEON(const uint8* src, int src_stride,
69 | uint8* dst, int dst_stride, int width);
70 | void TransposeWx8_SSSE3(const uint8* src, int src_stride,
71 | uint8* dst, int dst_stride, int width);
72 | void TransposeWx8_Fast_SSSE3(const uint8* src, int src_stride,
73 | uint8* dst, int dst_stride, int width);
74 | void TransposeWx8_DSPR2(const uint8* src, int src_stride,
75 | uint8* dst, int dst_stride, int width);
76 | void TransposeWx8_Fast_DSPR2(const uint8* src, int src_stride,
77 | uint8* dst, int dst_stride, int width);
78 |
79 | void TransposeWx8_Any_NEON(const uint8* src, int src_stride,
80 | uint8* dst, int dst_stride, int width);
81 | void TransposeWx8_Any_SSSE3(const uint8* src, int src_stride,
82 | uint8* dst, int dst_stride, int width);
83 | void TransposeWx8_Fast_Any_SSSE3(const uint8* src, int src_stride,
84 | uint8* dst, int dst_stride, int width);
85 | void TransposeWx8_Any_DSPR2(const uint8* src, int src_stride,
86 | uint8* dst, int dst_stride, int width);
87 |
88 | void TransposeUVWxH_C(const uint8* src, int src_stride,
89 | uint8* dst_a, int dst_stride_a,
90 | uint8* dst_b, int dst_stride_b,
91 | int width, int height);
92 |
93 | void TransposeUVWx8_C(const uint8* src, int src_stride,
94 | uint8* dst_a, int dst_stride_a,
95 | uint8* dst_b, int dst_stride_b, int width);
96 | void TransposeUVWx8_SSE2(const uint8* src, int src_stride,
97 | uint8* dst_a, int dst_stride_a,
98 | uint8* dst_b, int dst_stride_b, int width);
99 | void TransposeUVWx8_NEON(const uint8* src, int src_stride,
100 | uint8* dst_a, int dst_stride_a,
101 | uint8* dst_b, int dst_stride_b, int width);
102 | void TransposeUVWx8_DSPR2(const uint8* src, int src_stride,
103 | uint8* dst_a, int dst_stride_a,
104 | uint8* dst_b, int dst_stride_b, int width);
105 |
106 | void TransposeUVWx8_Any_SSE2(const uint8* src, int src_stride,
107 | uint8* dst_a, int dst_stride_a,
108 | uint8* dst_b, int dst_stride_b, int width);
109 | void TransposeUVWx8_Any_NEON(const uint8* src, int src_stride,
110 | uint8* dst_a, int dst_stride_a,
111 | uint8* dst_b, int dst_stride_b, int width);
112 | void TransposeUVWx8_Any_DSPR2(const uint8* src, int src_stride,
113 | uint8* dst_a, int dst_stride_a,
114 | uint8* dst_b, int dst_stride_b, int width);
115 |
116 | #ifdef __cplusplus
117 | } // extern "C"
118 | } // namespace libyuv
119 | #endif
120 |
121 | #endif // INCLUDE_LIBYUV_ROTATE_ROW_H_ NOLINT
122 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/scale.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_SCALE_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_SCALE_H_
13 |
14 | #include "libyuv/basic_types.h"
15 |
16 | #ifdef __cplusplus
17 | namespace libyuv {
18 | extern "C" {
19 | #endif
20 |
21 | // Supported filtering.
22 | typedef enum FilterMode {
23 | kFilterNone = 0, // Point sample; Fastest.
24 | kFilterLinear = 1, // Filter horizontally only.
25 | kFilterBilinear = 2, // Faster than box, but lower quality scaling down.
26 | kFilterBox = 3 // Highest quality.
27 | } FilterModeEnum;
28 |
29 | // Scale a YUV plane.
30 | LIBYUV_API
31 | void ScalePlane(const uint8* src, int src_stride,
32 | int src_width, int src_height,
33 | uint8* dst, int dst_stride,
34 | int dst_width, int dst_height,
35 | enum FilterMode filtering);
36 |
37 | LIBYUV_API
38 | void ScalePlane_16(const uint16* src, int src_stride,
39 | int src_width, int src_height,
40 | uint16* dst, int dst_stride,
41 | int dst_width, int dst_height,
42 | enum FilterMode filtering);
43 |
44 | // Scales a YUV 4:2:0 image from the src width and height to the
45 | // dst width and height.
46 | // If filtering is kFilterNone, a simple nearest-neighbor algorithm is
47 | // used. This produces basic (blocky) quality at the fastest speed.
48 | // If filtering is kFilterBilinear, interpolation is used to produce a better
49 | // quality image, at the expense of speed.
50 | // If filtering is kFilterBox, averaging is used to produce ever better
51 | // quality image, at further expense of speed.
52 | // Returns 0 if successful.
53 |
54 | LIBYUV_API
55 | int I420Scale(const uint8* src_y, int src_stride_y,
56 | const uint8* src_u, int src_stride_u,
57 | const uint8* src_v, int src_stride_v,
58 | int src_width, int src_height,
59 | uint8* dst_y, int dst_stride_y,
60 | uint8* dst_u, int dst_stride_u,
61 | uint8* dst_v, int dst_stride_v,
62 | int dst_width, int dst_height,
63 | enum FilterMode filtering);
64 |
65 | LIBYUV_API
66 | int I420Scale_16(const uint16* src_y, int src_stride_y,
67 | const uint16* src_u, int src_stride_u,
68 | const uint16* src_v, int src_stride_v,
69 | int src_width, int src_height,
70 | uint16* dst_y, int dst_stride_y,
71 | uint16* dst_u, int dst_stride_u,
72 | uint16* dst_v, int dst_stride_v,
73 | int dst_width, int dst_height,
74 | enum FilterMode filtering);
75 |
76 | #ifdef __cplusplus
77 | // Legacy API. Deprecated.
78 | LIBYUV_API
79 | int Scale(const uint8* src_y, const uint8* src_u, const uint8* src_v,
80 | int src_stride_y, int src_stride_u, int src_stride_v,
81 | int src_width, int src_height,
82 | uint8* dst_y, uint8* dst_u, uint8* dst_v,
83 | int dst_stride_y, int dst_stride_u, int dst_stride_v,
84 | int dst_width, int dst_height,
85 | LIBYUV_BOOL interpolate);
86 |
87 | // Legacy API. Deprecated.
88 | LIBYUV_API
89 | int ScaleOffset(const uint8* src_i420, int src_width, int src_height,
90 | uint8* dst_i420, int dst_width, int dst_height, int dst_yoffset,
91 | LIBYUV_BOOL interpolate);
92 |
93 | // For testing, allow disabling of specialized scalers.
94 | LIBYUV_API
95 | void SetUseReferenceImpl(LIBYUV_BOOL use);
96 | #endif // __cplusplus
97 |
98 | #ifdef __cplusplus
99 | } // extern "C"
100 | } // namespace libyuv
101 | #endif
102 |
103 | #endif // INCLUDE_LIBYUV_SCALE_H_ NOLINT
104 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/scale_argb.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_SCALE_ARGB_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_SCALE_ARGB_H_
13 |
14 | #include "libyuv/basic_types.h"
15 | #include "libyuv/scale.h" // For FilterMode
16 |
17 | #ifdef __cplusplus
18 | namespace libyuv {
19 | extern "C" {
20 | #endif
21 |
22 | LIBYUV_API
23 | int ARGBScale(const uint8* src_argb, int src_stride_argb,
24 | int src_width, int src_height,
25 | uint8* dst_argb, int dst_stride_argb,
26 | int dst_width, int dst_height,
27 | enum FilterMode filtering);
28 |
29 | // Clipped scale takes destination rectangle coordinates for clip values.
30 | LIBYUV_API
31 | int ARGBScaleClip(const uint8* src_argb, int src_stride_argb,
32 | int src_width, int src_height,
33 | uint8* dst_argb, int dst_stride_argb,
34 | int dst_width, int dst_height,
35 | int clip_x, int clip_y, int clip_width, int clip_height,
36 | enum FilterMode filtering);
37 |
38 | // Scale with YUV conversion to ARGB and clipping.
39 | LIBYUV_API
40 | int YUVToARGBScaleClip(const uint8* src_y, int src_stride_y,
41 | const uint8* src_u, int src_stride_u,
42 | const uint8* src_v, int src_stride_v,
43 | uint32 src_fourcc,
44 | int src_width, int src_height,
45 | uint8* dst_argb, int dst_stride_argb,
46 | uint32 dst_fourcc,
47 | int dst_width, int dst_height,
48 | int clip_x, int clip_y, int clip_width, int clip_height,
49 | enum FilterMode filtering);
50 |
51 | #ifdef __cplusplus
52 | } // extern "C"
53 | } // namespace libyuv
54 | #endif
55 |
56 | #endif // INCLUDE_LIBYUV_SCALE_ARGB_H_ NOLINT
57 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/version.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
12 | #define INCLUDE_LIBYUV_VERSION_H_
13 |
14 | #define LIBYUV_VERSION 1609
15 |
16 | #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
17 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/libyuv/video_common.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | // Common definitions for video, including fourcc and VideoFormat.
12 |
13 | #ifndef INCLUDE_LIBYUV_VIDEO_COMMON_H_ // NOLINT
14 | #define INCLUDE_LIBYUV_VIDEO_COMMON_H_
15 |
16 | #include "libyuv/basic_types.h"
17 |
18 | #ifdef __cplusplus
19 | namespace libyuv {
20 | extern "C" {
21 | #endif
22 |
23 | //////////////////////////////////////////////////////////////////////////////
24 | // Definition of FourCC codes
25 | //////////////////////////////////////////////////////////////////////////////
26 |
27 | // Convert four characters to a FourCC code.
28 | // Needs to be a macro otherwise the OS X compiler complains when the kFormat*
29 | // constants are used in a switch.
30 | #ifdef __cplusplus
31 | #define FOURCC(a, b, c, d) ( \
32 | (static_cast(a)) | (static_cast(b) << 8) | \
33 | (static_cast(c) << 16) | (static_cast(d) << 24))
34 | #else
35 | #define FOURCC(a, b, c, d) ( \
36 | ((uint32)(a)) | ((uint32)(b) << 8) | /* NOLINT */ \
37 | ((uint32)(c) << 16) | ((uint32)(d) << 24)) /* NOLINT */
38 | #endif
39 |
40 | // Some pages discussing FourCC codes:
41 | // http://www.fourcc.org/yuv.php
42 | // http://v4l2spec.bytesex.org/spec/book1.htm
43 | // http://developer.apple.com/quicktime/icefloe/dispatch020.html
44 | // http://msdn.microsoft.com/library/windows/desktop/dd206750.aspx#nv12
45 | // http://people.xiph.org/~xiphmont/containers/nut/nut4cc.txt
46 |
47 | // FourCC codes grouped according to implementation efficiency.
48 | // Primary formats should convert in 1 efficient step.
49 | // Secondary formats are converted in 2 steps.
50 | // Auxilliary formats call primary converters.
51 | enum FourCC {
52 | // 9 Primary YUV formats: 5 planar, 2 biplanar, 2 packed.
53 | FOURCC_I420 = FOURCC('I', '4', '2', '0'),
54 | FOURCC_I422 = FOURCC('I', '4', '2', '2'),
55 | FOURCC_I444 = FOURCC('I', '4', '4', '4'),
56 | FOURCC_I411 = FOURCC('I', '4', '1', '1'),
57 | FOURCC_I400 = FOURCC('I', '4', '0', '0'),
58 | FOURCC_NV21 = FOURCC('N', 'V', '2', '1'),
59 | FOURCC_NV12 = FOURCC('N', 'V', '1', '2'),
60 | FOURCC_YUY2 = FOURCC('Y', 'U', 'Y', '2'),
61 | FOURCC_UYVY = FOURCC('U', 'Y', 'V', 'Y'),
62 |
63 | // 2 Secondary YUV formats: row biplanar.
64 | FOURCC_M420 = FOURCC('M', '4', '2', '0'),
65 | FOURCC_Q420 = FOURCC('Q', '4', '2', '0'), // deprecated.
66 |
67 | // 9 Primary RGB formats: 4 32 bpp, 2 24 bpp, 3 16 bpp.
68 | FOURCC_ARGB = FOURCC('A', 'R', 'G', 'B'),
69 | FOURCC_BGRA = FOURCC('B', 'G', 'R', 'A'),
70 | FOURCC_ABGR = FOURCC('A', 'B', 'G', 'R'),
71 | FOURCC_24BG = FOURCC('2', '4', 'B', 'G'),
72 | FOURCC_RAW = FOURCC('r', 'a', 'w', ' '),
73 | FOURCC_RGBA = FOURCC('R', 'G', 'B', 'A'),
74 | FOURCC_RGBP = FOURCC('R', 'G', 'B', 'P'), // rgb565 LE.
75 | FOURCC_RGBO = FOURCC('R', 'G', 'B', 'O'), // argb1555 LE.
76 | FOURCC_R444 = FOURCC('R', '4', '4', '4'), // argb4444 LE.
77 |
78 | // 4 Secondary RGB formats: 4 Bayer Patterns. deprecated.
79 | FOURCC_RGGB = FOURCC('R', 'G', 'G', 'B'),
80 | FOURCC_BGGR = FOURCC('B', 'G', 'G', 'R'),
81 | FOURCC_GRBG = FOURCC('G', 'R', 'B', 'G'),
82 | FOURCC_GBRG = FOURCC('G', 'B', 'R', 'G'),
83 |
84 | // 1 Primary Compressed YUV format.
85 | FOURCC_MJPG = FOURCC('M', 'J', 'P', 'G'),
86 |
87 | // 5 Auxiliary YUV variations: 3 with U and V planes are swapped, 1 Alias.
88 | FOURCC_YV12 = FOURCC('Y', 'V', '1', '2'),
89 | FOURCC_YV16 = FOURCC('Y', 'V', '1', '6'),
90 | FOURCC_YV24 = FOURCC('Y', 'V', '2', '4'),
91 | FOURCC_YU12 = FOURCC('Y', 'U', '1', '2'), // Linux version of I420.
92 | FOURCC_J420 = FOURCC('J', '4', '2', '0'),
93 | FOURCC_J400 = FOURCC('J', '4', '0', '0'), // unofficial fourcc
94 | FOURCC_H420 = FOURCC('H', '4', '2', '0'), // unofficial fourcc
95 |
96 | // 14 Auxiliary aliases. CanonicalFourCC() maps these to canonical fourcc.
97 | FOURCC_IYUV = FOURCC('I', 'Y', 'U', 'V'), // Alias for I420.
98 | FOURCC_YU16 = FOURCC('Y', 'U', '1', '6'), // Alias for I422.
99 | FOURCC_YU24 = FOURCC('Y', 'U', '2', '4'), // Alias for I444.
100 | FOURCC_YUYV = FOURCC('Y', 'U', 'Y', 'V'), // Alias for YUY2.
101 | FOURCC_YUVS = FOURCC('y', 'u', 'v', 's'), // Alias for YUY2 on Mac.
102 | FOURCC_HDYC = FOURCC('H', 'D', 'Y', 'C'), // Alias for UYVY.
103 | FOURCC_2VUY = FOURCC('2', 'v', 'u', 'y'), // Alias for UYVY on Mac.
104 | FOURCC_JPEG = FOURCC('J', 'P', 'E', 'G'), // Alias for MJPG.
105 | FOURCC_DMB1 = FOURCC('d', 'm', 'b', '1'), // Alias for MJPG on Mac.
106 | FOURCC_BA81 = FOURCC('B', 'A', '8', '1'), // Alias for BGGR.
107 | FOURCC_RGB3 = FOURCC('R', 'G', 'B', '3'), // Alias for RAW.
108 | FOURCC_BGR3 = FOURCC('B', 'G', 'R', '3'), // Alias for 24BG.
109 | FOURCC_CM32 = FOURCC(0, 0, 0, 32), // Alias for BGRA kCMPixelFormat_32ARGB
110 | FOURCC_CM24 = FOURCC(0, 0, 0, 24), // Alias for RAW kCMPixelFormat_24RGB
111 | FOURCC_L555 = FOURCC('L', '5', '5', '5'), // Alias for RGBO.
112 | FOURCC_L565 = FOURCC('L', '5', '6', '5'), // Alias for RGBP.
113 | FOURCC_5551 = FOURCC('5', '5', '5', '1'), // Alias for RGBO.
114 |
115 | // 1 Auxiliary compressed YUV format set aside for capturer.
116 | FOURCC_H264 = FOURCC('H', '2', '6', '4'),
117 |
118 | // Match any fourcc.
119 | FOURCC_ANY = -1,
120 | };
121 |
122 | enum FourCCBpp {
123 | // Canonical fourcc codes used in our code.
124 | FOURCC_BPP_I420 = 12,
125 | FOURCC_BPP_I422 = 16,
126 | FOURCC_BPP_I444 = 24,
127 | FOURCC_BPP_I411 = 12,
128 | FOURCC_BPP_I400 = 8,
129 | FOURCC_BPP_NV21 = 12,
130 | FOURCC_BPP_NV12 = 12,
131 | FOURCC_BPP_YUY2 = 16,
132 | FOURCC_BPP_UYVY = 16,
133 | FOURCC_BPP_M420 = 12,
134 | FOURCC_BPP_Q420 = 12,
135 | FOURCC_BPP_ARGB = 32,
136 | FOURCC_BPP_BGRA = 32,
137 | FOURCC_BPP_ABGR = 32,
138 | FOURCC_BPP_RGBA = 32,
139 | FOURCC_BPP_24BG = 24,
140 | FOURCC_BPP_RAW = 24,
141 | FOURCC_BPP_RGBP = 16,
142 | FOURCC_BPP_RGBO = 16,
143 | FOURCC_BPP_R444 = 16,
144 | FOURCC_BPP_RGGB = 8,
145 | FOURCC_BPP_BGGR = 8,
146 | FOURCC_BPP_GRBG = 8,
147 | FOURCC_BPP_GBRG = 8,
148 | FOURCC_BPP_YV12 = 12,
149 | FOURCC_BPP_YV16 = 16,
150 | FOURCC_BPP_YV24 = 24,
151 | FOURCC_BPP_YU12 = 12,
152 | FOURCC_BPP_J420 = 12,
153 | FOURCC_BPP_J400 = 8,
154 | FOURCC_BPP_H420 = 12,
155 | FOURCC_BPP_MJPG = 0, // 0 means unknown.
156 | FOURCC_BPP_H264 = 0,
157 | FOURCC_BPP_IYUV = 12,
158 | FOURCC_BPP_YU16 = 16,
159 | FOURCC_BPP_YU24 = 24,
160 | FOURCC_BPP_YUYV = 16,
161 | FOURCC_BPP_YUVS = 16,
162 | FOURCC_BPP_HDYC = 16,
163 | FOURCC_BPP_2VUY = 16,
164 | FOURCC_BPP_JPEG = 1,
165 | FOURCC_BPP_DMB1 = 1,
166 | FOURCC_BPP_BA81 = 8,
167 | FOURCC_BPP_RGB3 = 24,
168 | FOURCC_BPP_BGR3 = 24,
169 | FOURCC_BPP_CM32 = 32,
170 | FOURCC_BPP_CM24 = 24,
171 |
172 | // Match any fourcc.
173 | FOURCC_BPP_ANY = 0, // 0 means unknown.
174 | };
175 |
176 | // Converts fourcc aliases into canonical ones.
177 | LIBYUV_API uint32 CanonicalFourCC(uint32 fourcc);
178 |
179 | #ifdef __cplusplus
180 | } // extern "C"
181 | } // namespace libyuv
182 | #endif
183 |
184 | #endif // INCLUDE_LIBYUV_VIDEO_COMMON_H_ NOLINT
185 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/macros.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define CHECK_HR(hr, msg) \
4 | if (hr != S_OK) \
5 | { \
6 | printf(msg); \
7 | printf("Error: %.2X.\n", hr); \
8 | }
9 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/pch.cpp:
--------------------------------------------------------------------------------
1 | #include "pch.h"
2 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/pch.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "targetver.h"
4 |
5 | #ifndef WIN32_LEAN_AND_MEAN
6 | #define WIN32_LEAN_AND_MEAN
7 | #endif
8 |
9 | #include
10 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/TexturesUWP/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Including SDKDDKVer.h defines the highest available Windows platform.
4 |
5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7 |
8 | #include
9 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/WebRtcIntegration.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.26430.6
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebRtcWrapper", "WebRtcWrapper\WebRtcWrapper.csproj", "{1857162F-96CC-451F-A4E2-3616207943AB}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlTestApp", "XamlTestApp\XamlTestApp.csproj", "{D01FEAF5-8747-49D7-A7D1-19DBED5840BE}"
9 | EndProject
10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TexturesUWP", "TexturesUWP\TexturesUWP.vcxproj", "{CD55C6F2-DE59-415F-A843-8F413D9A60B0}"
11 | EndProject
12 | Global
13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 | Debug|Any CPU = Debug|Any CPU
15 | Debug|ARM = Debug|ARM
16 | Debug|x64 = Debug|x64
17 | Debug|x86 = Debug|x86
18 | Release|Any CPU = Release|Any CPU
19 | Release|ARM = Release|ARM
20 | Release|x64 = Release|x64
21 | Release|x86 = Release|x86
22 | EndGlobalSection
23 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
24 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
25 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
26 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|ARM.ActiveCfg = Debug|ARM
27 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|ARM.Build.0 = Debug|ARM
28 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|x64.ActiveCfg = Debug|x64
29 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|x64.Build.0 = Debug|x64
30 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|x86.ActiveCfg = Debug|x86
31 | {1857162F-96CC-451F-A4E2-3616207943AB}.Debug|x86.Build.0 = Debug|x86
32 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
33 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|Any CPU.Build.0 = Release|Any CPU
34 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|ARM.ActiveCfg = Release|ARM
35 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|ARM.Build.0 = Release|ARM
36 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|x64.ActiveCfg = Release|x64
37 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|x64.Build.0 = Release|x64
38 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|x86.ActiveCfg = Release|x86
39 | {1857162F-96CC-451F-A4E2-3616207943AB}.Release|x86.Build.0 = Release|x86
40 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|Any CPU.ActiveCfg = Debug|x86
41 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|ARM.ActiveCfg = Debug|ARM
42 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|ARM.Build.0 = Debug|ARM
43 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|ARM.Deploy.0 = Debug|ARM
44 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|x64.ActiveCfg = Debug|x64
45 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|x64.Build.0 = Debug|x64
46 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|x64.Deploy.0 = Debug|x64
47 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|x86.ActiveCfg = Debug|x86
48 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|x86.Build.0 = Debug|x86
49 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Debug|x86.Deploy.0 = Debug|x86
50 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|Any CPU.ActiveCfg = Release|x86
51 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|ARM.ActiveCfg = Release|ARM
52 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|ARM.Build.0 = Release|ARM
53 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|ARM.Deploy.0 = Release|ARM
54 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|x64.ActiveCfg = Release|x64
55 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|x64.Build.0 = Release|x64
56 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|x64.Deploy.0 = Release|x64
57 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|x86.ActiveCfg = Release|x86
58 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|x86.Build.0 = Release|x86
59 | {D01FEAF5-8747-49D7-A7D1-19DBED5840BE}.Release|x86.Deploy.0 = Release|x86
60 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Debug|Any CPU.ActiveCfg = Debug|Win32
61 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Debug|ARM.ActiveCfg = Debug|ARM
62 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Debug|ARM.Build.0 = Debug|ARM
63 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Debug|x64.ActiveCfg = Debug|x64
64 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Debug|x64.Build.0 = Debug|x64
65 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Debug|x86.ActiveCfg = Debug|Win32
66 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Debug|x86.Build.0 = Debug|Win32
67 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Release|Any CPU.ActiveCfg = Release|Win32
68 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Release|ARM.ActiveCfg = Release|ARM
69 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Release|ARM.Build.0 = Release|ARM
70 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Release|x64.ActiveCfg = Release|x64
71 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Release|x64.Build.0 = Release|x64
72 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Release|x86.ActiveCfg = Release|Win32
73 | {CD55C6F2-DE59-415F-A843-8F413D9A60B0}.Release|x86.Build.0 = Release|Win32
74 | EndGlobalSection
75 | GlobalSection(SolutionProperties) = preSolution
76 | HideSolutionNode = FALSE
77 | EndGlobalSection
78 | EndGlobal
79 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/WebRtcWrapper/Model/IceServer.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // This code is licensed under the MIT License (MIT).
5 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
6 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
7 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
8 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
9 | //
10 | //*********************************************************
11 |
12 | using System;
13 | using System.Collections.Generic;
14 | using System.ComponentModel;
15 | using System.Linq;
16 | using System.Xml.Serialization;
17 | using PeerConnectionClient.Utilities;
18 |
19 | namespace PeerConnectionClient.Model
20 | {
21 | ///
22 | /// Class represents an Ice server
23 | ///
24 | //public class IceServer : BindableBase
25 | public class IceServer
26 | {
27 | ///
28 | /// Default constructor for Ice server.
29 | ///
30 | public IceServer() : this(string.Empty, ServerType.STUN)
31 | {
32 | }
33 |
34 | ///
35 | /// Creates an Ice server with specified host, port and server type.
36 | ///
37 | /// The host name of the Ice server.
38 | /// The type of the Ice server.
39 | public IceServer(string host, ServerType type)
40 | {
41 | //Host.PropertyChanged += ValidableProperties_PropertyChanged;
42 | // TODO: validate host values
43 | Host.Value = host;
44 | Type = type;
45 | }
46 |
47 | public enum ServerType { STUN, TURN };
48 |
49 | ///
50 | /// Make the enumerable available in XAML.
51 | ///
52 | [XmlIgnore]
53 | public IEnumerable Types
54 | {
55 | get
56 | {
57 | return Enum.GetValues(typeof(ServerType)).Cast();
58 | }
59 | }
60 |
61 | protected ServerType _type;
62 |
63 | ///
64 | /// Ice server type property.
65 | ///
66 | public ServerType Type
67 | {
68 | get
69 | {
70 | return _type;
71 | }
72 | set
73 | {
74 | switch (value)
75 | {
76 | case ServerType.STUN:
77 | _typeStr = "stun";
78 | break;
79 | case ServerType.TURN:
80 | _typeStr = "turn";
81 | break;
82 | default:
83 | _typeStr = "unknown";
84 | break;
85 | }
86 | _type = value;
87 | }
88 | }
89 |
90 | protected string _typeStr;
91 |
92 | ///
93 | /// Ice server type string property.
94 | ///
95 | public string TypeStr
96 | {
97 | get { return _typeStr; }
98 | }
99 |
100 | ///
101 | /// Ice server's host and port.
102 | ///
103 | [XmlIgnore]
104 | public string HostAndPort
105 | {
106 | get { return string.Format("{0}", Host.Value); }
107 | }
108 |
109 | private ValidableIntegerString _port = new ValidableIntegerString(0, 65535);
110 |
111 | ///
112 | /// The Ice server's password.
113 | /// Used with the Username below to connect to the Ice server.
114 | ///
115 | public string Credential { get; set; }
116 |
117 | protected ValidableNonEmptyString _host = new ValidableNonEmptyString();
118 |
119 | ///
120 | /// Ice server's host (IP).
121 | ///
122 | public ValidableNonEmptyString Host
123 | {
124 | get { return _host; }
125 | set { _host = value; }
126 | }
127 |
128 | ///
129 | /// Username for the Ice server.
130 | ///
131 | public string Username { get; set; }
132 |
133 | [XmlIgnore]
134 | protected bool _valid;
135 |
136 | ///
137 | /// Property to check the validity of Ice server information.
138 | ///
139 | [XmlIgnore]
140 | public bool Valid
141 | {
142 | get { return _valid; }
143 | set { _valid = value; }
144 | }
145 |
146 |
147 | ///
148 | /// Invokes when a property of an Ice server is changed and
149 | /// the new information needs validation.
150 | ///
151 | /// Information about event sender.
152 | /// Details about Property changed event.
153 | void ValidableProperties_PropertyChanged(object sender, PropertyChangedEventArgs e)
154 | {
155 | if (e.PropertyName == "Valid")
156 | {
157 | Valid = Host.Valid;
158 | }
159 | }
160 | }
161 | }
162 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/WebRtcWrapper/Model/Peer.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // This code is licensed under the MIT License (MIT).
5 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
6 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
7 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
8 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
9 | //
10 | //*********************************************************
11 |
12 | using System;
13 | using System.Collections.Generic;
14 | using System.Text;
15 |
16 | namespace PeerConnectionClient.Model
17 | {
18 | public class Peer
19 | {
20 | public int Id { get; set; }
21 | public string Name { get; set; }
22 |
23 | public override string ToString()
24 | {
25 | return Id + ": " + Name;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/WebRtcWrapper/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("WebRtcWrapper")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("WebRtcWrapper")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/WebRtcWrapper/Properties/WebRtcWrapper.rd.xml:
--------------------------------------------------------------------------------
1 |
2 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/ExternalProjects/WebRtcIntegration/WebRtcWrapper/Utilities/ActionCommand.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // This code is licensed under the MIT License (MIT).
5 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
6 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
7 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
8 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
9 | //
10 | //*********************************************************
11 |
12 | using System;
13 | using System.Windows.Input;
14 |
15 | namespace PeerConnectionClient.Utilities
16 | {
17 | ///
18 | /// Defines an action command.
19 | ///
20 | public class ActionCommand : ICommand
21 | {
22 | public delegate bool CanExecuteDelegate(object parameter);
23 |
24 | private readonly Action