Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(937)

Unified Diff: media/gpu/ipc/service/gpu_video_encode_accelerator.cc

Issue 2058413003: H264 HW encode using MediaFoundation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/gpu/ipc/service/gpu_video_encode_accelerator.cc
diff --git a/media/gpu/ipc/service/gpu_video_encode_accelerator.cc b/media/gpu/ipc/service/gpu_video_encode_accelerator.cc
index dc4e51591bd843e8e2d8486bf12f5d967bf21046..67fcf094c6c99f4dcb05424b0e2aa6666ffd7eea 100644
--- a/media/gpu/ipc/service/gpu_video_encode_accelerator.cc
+++ b/media/gpu/ipc/service/gpu_video_encode_accelerator.cc
@@ -35,6 +35,9 @@
#include "media/gpu/android_video_encode_accelerator.h"
#elif defined(OS_MACOSX)
#include "media/gpu/vt_video_encode_accelerator_mac.h"
+#elif defined(OS_WIN)
+#include "media/base/media_switches.h"
+#include "media/gpu/media_foundation_video_encode_accelerator_win.h"
#endif
namespace media {
@@ -208,6 +211,13 @@ GpuVideoEncodeAccelerator::CreateVEAFps(
#if defined(OS_MACOSX)
create_vea_fps.push_back(&GpuVideoEncodeAccelerator::CreateVTVEA);
#endif
+#if defined(OS_WIN)
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableWinHWH264Encoding)) {
+ create_vea_fps.push_back(
+ &GpuVideoEncodeAccelerator::CreateMediaFoundationVEA);
+ }
+#endif
return create_vea_fps;
}
@@ -250,6 +260,15 @@ GpuVideoEncodeAccelerator::CreateVTVEA() {
}
#endif
+#if defined(OS_WIN)
+// static
+std::unique_ptr<media::VideoEncodeAccelerator>
+GpuVideoEncodeAccelerator::CreateMediaFoundationVEA() {
+ return base::WrapUnique<media::VideoEncodeAccelerator>(
+ new MediaFoundationVideoEncodeAccelerator());
+}
+#endif
+
void GpuVideoEncodeAccelerator::OnEncode(
const AcceleratedVideoEncoderMsg_Encode_Params& params) {
DVLOG(3) << "GpuVideoEncodeAccelerator::OnEncode: frame_id = "

Powered by Google App Engine
This is Rietveld 408576698