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

Unified Diff: media/gpu/gpu_video_encode_accelerator_factory.h

Issue 2858193002: Refactor: Extract gpu_video_encode_accelerator_factory. (Closed)
Patch Set: Try Again. Fix compiling errors on Windows. Created 3 years, 7 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
« no previous file with comments | « media/gpu/BUILD.gn ('k') | media/gpu/gpu_video_encode_accelerator_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/gpu/gpu_video_encode_accelerator_factory.h
diff --git a/media/gpu/gpu_video_encode_accelerator_factory.h b/media/gpu/gpu_video_encode_accelerator_factory.h
new file mode 100644
index 0000000000000000000000000000000000000000..b4c85161244415d2a7384d42493550d7c789e443
--- /dev/null
+++ b/media/gpu/gpu_video_encode_accelerator_factory.h
@@ -0,0 +1,39 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef MEDIA_GPU_GPU_VIDEO_ENCODE_ACCELERATOR_FACTORY_H_
+#define MEDIA_GPU_GPU_VIDEO_ENCODE_ACCELERATOR_FACTORY_H_
+
+#include <memory>
+
+#include "gpu/command_buffer/service/gpu_preferences.h"
+#include "media/gpu/media_gpu_export.h"
+#include "media/video/video_encode_accelerator.h"
+
+namespace media {
+
+class MEDIA_GPU_EXPORT GpuVideoEncodeAcceleratorFactory {
+ public:
+ // Creates and Initializes an VideoEncodeAccelerator. Returns nullptr
+ // if there is no implementation available on the platform or calling
+ // VideoEncodeAccelerator::Initialize() returns false.
+ static std::unique_ptr<VideoEncodeAccelerator> CreateVEA(
+ VideoPixelFormat input_format,
+ const gfx::Size& input_visible_size,
+ VideoCodecProfile output_profile,
+ uint32_t initial_bitrate,
+ VideoEncodeAccelerator::Client* client,
+ const gpu::GpuPreferences& gpu_perferences);
+
+ // Gets the supported codec profiles for video encoding on the platform.
+ static VideoEncodeAccelerator::SupportedProfiles GetSupportedProfiles(
+ const gpu::GpuPreferences& gpu_preferences);
+
+ private:
+ DISALLOW_IMPLICIT_CONSTRUCTORS(GpuVideoEncodeAcceleratorFactory);
+};
+
+} // namespace media
+
+#endif // MEDIA_GPU_GPU_VIDEO_ENCODE_ACCELERATOR_FACTORY_H_
« no previous file with comments | « media/gpu/BUILD.gn ('k') | media/gpu/gpu_video_encode_accelerator_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698