Skip to content

Commit 99cbcf0

Browse files
Hackiest shit ever to get around auto-cropping
1 parent 03f5ec1 commit 99cbcf0

File tree

7 files changed

+69
-21
lines changed

7 files changed

+69
-21
lines changed

Samples/StyleTransfer/AppViewModel.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public async Task ChangeImage()
226226

227227
private async Task EvaluateVideoFrameAsync()
228228
{
229-
229+
Debug.WriteLine("Has Direct3dsurface", _appModel.InputFrame.Direct3DSurface != null);
230230
if ((_appModel.InputFrame != null) &&
231231
(_appModel.InputFrame.SoftwareBitmap != null || _appModel.InputFrame.Direct3DSurface != null))
232232
{
@@ -295,7 +295,7 @@ public async Task ChangeLiveStream()
295295
{
296296
SourceGroup = _selectedMediaFrameSourceGroup,
297297
PhotoCaptureSource = PhotoCaptureSource.Auto,
298-
MemoryPreference = MediaCaptureMemoryPreference.Cpu,
298+
MemoryPreference = _appModel.UseGPU ? MediaCaptureMemoryPreference.Auto : MediaCaptureMemoryPreference.Cpu,
299299
StreamingCaptureMode = StreamingCaptureMode.Video
300300
};
301301

@@ -339,7 +339,6 @@ private void StartPreview()
339339

340340
_appModel.OutputMediaSource = MediaSource.CreateFromMediaFrameSource(_selectedMediaFrameSource);
341341
_appModel.InputMediaSource = MediaSource.CreateFromMediaFrameSource(_selectedMediaFrameSource);
342-
343342
}
344343

345344
private async Task LoadModelAsync()
@@ -350,7 +349,7 @@ private async Task LoadModelAsync()
350349
m_model = await LearningModel.LoadFromStorageFileAsync(modelFile);
351350

352351
// TODO: Pass in useGPU as well.
353-
m_inferenceDeviceSelected = LearningModelDeviceKind.Cpu;
352+
m_inferenceDeviceSelected = _appModel.UseGPU ? LearningModelDeviceKind.DirectX : LearningModelDeviceKind.Cpu;
354353
m_session = new LearningModelSession(m_model, new LearningModelDevice(m_inferenceDeviceSelected));
355354
m_binding = new LearningModelBinding(m_session);
356355

Samples/StyleTransfer/MainPage.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
using Windows.UI.Xaml.Input;
1313
using Windows.UI.Xaml.Media;
1414
using Windows.UI.Xaml.Navigation;
15-
using Microsoft.AI.MachineLearning;
15+
using Windows.AI.MachineLearning;
1616
using Windows.Media.Playback;
1717
using Windows.Media.Core;
1818
using Windows.Media.Capture;

Samples/StyleTransfer/Package.appxmanifest

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<Identity
1010
Name="967b0fd3-32f7-4959-aafd-759d8517182a"
1111
Publisher="CN=t-limay"
12-
Version="1.0.0.0" />
12+
Version="1.0.1.0" />
1313

1414
<mp:PhoneIdentity PhoneProductId="967b0fd3-32f7-4959-aafd-759d8517182a" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
1515

@@ -43,6 +43,15 @@
4343
</Application>
4444
</Applications>
4545

46+
<Extensions>
47+
<Extension Category="windows.activatableClass.inProcessServer">
48+
<InProcessServer>
49+
<Path>CLRHost.dll</Path>
50+
<ActivatableClass ActivatableClassId="StyleEffect.StyleTransferVideoEffect" ThreadingModel="both" />
51+
</InProcessServer>
52+
</Extension>
53+
</Extensions>
54+
4655
<Capabilities>
4756
<Capability Name="internetClient" />
4857
<DeviceCapability Name="webcam"/>

Samples/StyleTransfer/StyleTransfer.csproj

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
1919
<WindowsXamlEnableOverview>true</WindowsXamlEnableOverview>
2020
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
21+
<GenerateAppInstallerFile>True</GenerateAppInstallerFile>
22+
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
23+
<GenerateTestArtifacts>True</GenerateTestArtifacts>
24+
<AppxBundle>Always</AppxBundle>
25+
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
26+
<AppInstallerUri>C:\Users\t-limay</AppInstallerUri>
27+
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
2128
</PropertyGroup>
2229
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
2330
<DebugSymbols>true</DebugSymbols>
@@ -209,9 +216,6 @@
209216
</Page>
210217
</ItemGroup>
211218
<ItemGroup>
212-
<PackageReference Include="Microsoft.AI.MachineLearning">
213-
<Version>1.3.0</Version>
214-
</PackageReference>
215219
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
216220
<Version>6.2.10</Version>
217221
</PackageReference>
@@ -231,11 +235,6 @@
231235
<ItemGroup>
232236
<WCFMetadata Include="Connected Services\" />
233237
</ItemGroup>
234-
<ItemGroup>
235-
<Reference Include="StyleTransferEffectComponent">
236-
<HintPath>StyleTransferEffectComponent\bin\x64\Debug\StyleTransferEffectComponent.winmd</HintPath>
237-
</Reference>
238-
</ItemGroup>
239238
<ItemGroup>
240239
<Content Include="Assets\candy.onnx" />
241240
</ItemGroup>
@@ -247,6 +246,12 @@
247246
<ItemGroup>
248247
<Folder Include="Helpers\" />
249248
</ItemGroup>
249+
<ItemGroup>
250+
<ProjectReference Include="StyleTransferEffectComponent\StyleTransferEffectComponent.csproj">
251+
<Project>{62925583-4d02-451e-9a72-27b12b66712c}</Project>
252+
<Name>StyleTransferEffectComponent</Name>
253+
</ProjectReference>
254+
</ItemGroup>
250255
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
251256
<VisualStudioVersion>14.0</VisualStudioVersion>
252257
</PropertyGroup>

Samples/StyleTransfer/StyleTransfer.sln

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,23 @@ VisualStudioVersion = 16.0.30114.105
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StyleTransfer", "StyleTransfer.csproj", "{CF93BFB0-F3B8-4D68-A044-07AA586221F0}"
77
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StyleTransferEffectComponent", "StyleTransferEffectComponent\StyleTransferEffectComponent.csproj", "{62925583-4D02-451E-9A72-27B12B66712C}"
9+
EndProject
810
Global
911
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12+
Debug|Any CPU = Debug|Any CPU
1013
Debug|ARM = Debug|ARM
1114
Debug|ARM64 = Debug|ARM64
1215
Debug|x64 = Debug|x64
1316
Debug|x86 = Debug|x86
17+
Release|Any CPU = Release|Any CPU
1418
Release|ARM = Release|ARM
1519
Release|ARM64 = Release|ARM64
1620
Release|x64 = Release|x64
1721
Release|x86 = Release|x86
1822
EndGlobalSection
1923
GlobalSection(ProjectConfigurationPlatforms) = postSolution
24+
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Debug|Any CPU.ActiveCfg = Debug|x86
2025
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Debug|ARM.ActiveCfg = Debug|ARM
2126
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Debug|ARM.Build.0 = Debug|ARM
2227
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Debug|ARM.Deploy.0 = Debug|ARM
@@ -29,6 +34,7 @@ Global
2934
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Debug|x86.ActiveCfg = Debug|x86
3035
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Debug|x86.Build.0 = Debug|x86
3136
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Debug|x86.Deploy.0 = Debug|x86
37+
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Release|Any CPU.ActiveCfg = Release|x86
3238
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Release|ARM.ActiveCfg = Release|ARM
3339
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Release|ARM.Build.0 = Release|ARM
3440
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Release|ARM.Deploy.0 = Release|ARM
@@ -41,6 +47,26 @@ Global
4147
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Release|x86.ActiveCfg = Release|x86
4248
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Release|x86.Build.0 = Release|x86
4349
{CF93BFB0-F3B8-4D68-A044-07AA586221F0}.Release|x86.Deploy.0 = Release|x86
50+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
51+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|Any CPU.Build.0 = Debug|Any CPU
52+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|ARM.ActiveCfg = Debug|ARM
53+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|ARM.Build.0 = Debug|ARM
54+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|ARM64.ActiveCfg = Debug|ARM64
55+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|ARM64.Build.0 = Debug|ARM64
56+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|x64.ActiveCfg = Debug|x64
57+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|x64.Build.0 = Debug|x64
58+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|x86.ActiveCfg = Debug|x86
59+
{62925583-4D02-451E-9A72-27B12B66712C}.Debug|x86.Build.0 = Debug|x86
60+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|Any CPU.ActiveCfg = Release|Any CPU
61+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|Any CPU.Build.0 = Release|Any CPU
62+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|ARM.ActiveCfg = Release|ARM
63+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|ARM.Build.0 = Release|ARM
64+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|ARM64.ActiveCfg = Release|ARM64
65+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|ARM64.Build.0 = Release|ARM64
66+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|x64.ActiveCfg = Release|x64
67+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|x64.Build.0 = Release|x64
68+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|x86.ActiveCfg = Release|x86
69+
{62925583-4D02-451E-9A72-27B12B66712C}.Release|x86.Build.0 = Release|x86
4470
EndGlobalSection
4571
GlobalSection(SolutionProperties) = preSolution
4672
HideSolutionNode = FALSE

Samples/StyleTransfer/StyleTransferEffectComponent/StyleTransferEffectComponent.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,6 @@
125125
<Compile Include="Properties\AssemblyInfo.cs" />
126126
</ItemGroup>
127127
<ItemGroup>
128-
<PackageReference Include="Microsoft.AI.MachineLearning">
129-
<Version>1.3.0</Version>
130-
</PackageReference>
131128
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
132129
<Version>6.2.10</Version>
133130
</PackageReference>

Samples/StyleTransfer/StyleTransferEffectComponent/StyleTransferVideoEffect.cs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
using Windows.Graphics.Imaging;
1111
using System.Runtime.InteropServices;
1212
using Windows.Media;
13-
using Microsoft.AI.MachineLearning;
13+
using Windows.AI.MachineLearning;
1414
using Windows.Storage;
1515

1616
namespace StyleTransferEffectComponent
@@ -132,10 +132,22 @@ public void ProcessFrame(ProcessVideoFrameContext context)
132132
_inputImageDescription = InputImageDescription;
133133
_outputImageDescription = OutputImageDescription;
134134

135-
_binding.Bind(_inputImageDescription, ImageFeatureValue.CreateFromVideoFrame(inputVideoFrame));
136-
_binding.Bind(_outputImageDescription, ImageFeatureValue.CreateFromVideoFrame(outputVideoFrame));
135+
VideoFrame inputTransformed = new VideoFrame(BitmapPixelFormat.Bgra8, 720, 720);
136+
Task.Run(async () =>
137+
{
138+
await inputVideoFrame.CopyToAsync(inputTransformed);
139+
140+
VideoFrame outputTransformed = new VideoFrame(BitmapPixelFormat.Bgra8, 720, 720);
141+
await inputVideoFrame.CopyToAsync(inputTransformed);
142+
143+
_binding.Bind(_inputImageDescription, ImageFeatureValue.CreateFromVideoFrame(inputTransformed));
144+
_binding.Bind(_outputImageDescription, ImageFeatureValue.CreateFromVideoFrame(outputTransformed));
145+
146+
var results = _session.Evaluate(_binding, "test");
147+
await outputTransformed.CopyToAsync(outputVideoFrame);
148+
}).ConfigureAwait(false).GetAwaiter().GetResult();
149+
137150

138-
var results = _session.Evaluate(_binding, "test");
139151
}
140152
}
141153
}

0 commit comments

Comments
 (0)