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

Unified Diff: content/common/gpu/gpu_channel.h

Issue 1016773002: MJPEG acceleration for video capture using VAAPI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 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
Index: content/common/gpu/gpu_channel.h
diff --git a/content/common/gpu/gpu_channel.h b/content/common/gpu/gpu_channel.h
index df2fd54576521d13adc53814647c3c37c1b8968d..61882b325a31f7a0aaba6dc8a3442a2caca74151 100644
--- a/content/common/gpu/gpu_channel.h
+++ b/content/common/gpu/gpu_channel.h
@@ -8,6 +8,7 @@
#include <deque>
#include <string>
+#include "base/containers/scoped_ptr_hash_map.h"
#include "base/id_map.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
@@ -18,6 +19,7 @@
#include "content/common/gpu/gpu_command_buffer_stub.h"
#include "content/common/gpu/gpu_memory_manager.h"
#include "content/common/gpu/gpu_result_codes.h"
+#include "content/common/gpu/media/gpu_jpeg_decode_accelerator.h"
#include "content/common/message_router.h"
#include "gpu/command_buffer/service/valuebuffer_manager.h"
#include "ipc/ipc_sync_channel.h"
@@ -169,6 +171,8 @@ class GpuChannel : public IPC::Listener, public IPC::Sender,
return pending_valuebuffer_state_.get();
}
+ void ReleaseJpegDecoder(int32 route_id);
+
private:
friend class GpuChannelMessageFilter;
@@ -185,6 +189,7 @@ class GpuChannel : public IPC::Listener, public IPC::Sender,
int32 route_id,
bool* succeeded);
void OnDestroyCommandBuffer(int32 route_id);
+ void OnCreateJpegDecoder(int32 route_id, bool* succeeded);
// Decrement the count of unhandled IPC messages and defer preemption.
void MessageProcessed();
@@ -230,6 +235,10 @@ class GpuChannel : public IPC::Listener, public IPC::Sender,
typedef IDMap<GpuCommandBufferStub, IDMapOwnPointer> StubMap;
StubMap stubs_;
+ // A map from route id to Jpeg decoder.
+ base::ScopedPtrHashMap<int32, scoped_ptr<content::GpuJpegDecodeAccelerator>>
+ jpeg_decoder_map_;
+
bool log_messages_; // True if we should log sent and received messages.
gpu::gles2::DisallowedFeatures disallowed_features_;
GpuWatchdog* watchdog_;

Powered by Google App Engine
This is Rietveld 408576698