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

Side by Side Diff: content/common/gpu/client/gpu_channel_host.h

Issue 1124423008: MJPEG acceleration for video capture using VAAPI, the GPU and IPC part (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mjpeg-1-media
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ 5 #ifndef CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_
6 #define CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ 6 #define CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 25 matching lines...) Expand all
36 namespace base { 36 namespace base {
37 class MessageLoop; 37 class MessageLoop;
38 class WaitableEvent; 38 class WaitableEvent;
39 } 39 }
40 40
41 namespace IPC { 41 namespace IPC {
42 class SyncMessageFilter; 42 class SyncMessageFilter;
43 } 43 }
44 44
45 namespace media { 45 namespace media {
46 class JpegDecodeAccelerator;
46 class VideoDecodeAccelerator; 47 class VideoDecodeAccelerator;
47 class VideoEncodeAccelerator; 48 class VideoEncodeAccelerator;
48 } 49 }
49 50
50 namespace gpu { 51 namespace gpu {
51 class GpuMemoryBufferManager; 52 class GpuMemoryBufferManager;
52 } 53 }
53 54
54 namespace content { 55 namespace content {
55 class CommandBufferProxyImpl; 56 class CommandBufferProxyImpl;
56 class GpuChannelHost; 57 class GpuChannelHost;
58 class GpuJpegDecodeAcceleratorHost;
57 59
58 struct GpuListenerInfo { 60 struct GpuListenerInfo {
59 GpuListenerInfo(); 61 GpuListenerInfo();
60 ~GpuListenerInfo(); 62 ~GpuListenerInfo();
61 63
62 base::WeakPtr<IPC::Listener> listener; 64 base::WeakPtr<IPC::Listener> listener;
63 scoped_refptr<base::SingleThreadTaskRunner> task_runner; 65 scoped_refptr<base::SingleThreadTaskRunner> task_runner;
64 }; 66 };
65 67
66 struct ProxyFlushInfo { 68 struct ProxyFlushInfo {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 gfx::GpuPreference gpu_preference); 142 gfx::GpuPreference gpu_preference);
141 143
142 // Creates a video decoder in the GPU process. 144 // Creates a video decoder in the GPU process.
143 scoped_ptr<media::VideoDecodeAccelerator> CreateVideoDecoder( 145 scoped_ptr<media::VideoDecodeAccelerator> CreateVideoDecoder(
144 int command_buffer_route_id); 146 int command_buffer_route_id);
145 147
146 // Creates a video encoder in the GPU process. 148 // Creates a video encoder in the GPU process.
147 scoped_ptr<media::VideoEncodeAccelerator> CreateVideoEncoder( 149 scoped_ptr<media::VideoEncodeAccelerator> CreateVideoEncoder(
148 int command_buffer_route_id); 150 int command_buffer_route_id);
149 151
152 // Creates a JPEG decoder in the GPU process.
153 scoped_ptr<media::JpegDecodeAccelerator> CreateJpegDecoder();
154
150 // Destroy a command buffer created by this channel. 155 // Destroy a command buffer created by this channel.
151 void DestroyCommandBuffer(CommandBufferProxyImpl* command_buffer); 156 void DestroyCommandBuffer(CommandBufferProxyImpl* command_buffer);
152 157
153 // Destroy this channel. Must be called on the main thread, before 158 // Destroy this channel. Must be called on the main thread, before
154 // destruction. 159 // destruction.
155 void DestroyChannel(); 160 void DestroyChannel();
156 161
157 // Add a route for the current message loop. 162 // Add a route for the current message loop.
158 void AddRoute(int route_id, base::WeakPtr<IPC::Listener> listener); 163 void AddRoute(int route_id, base::WeakPtr<IPC::Listener> listener);
159 void RemoveRoute(int route_id); 164 void RemoveRoute(int route_id);
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 typedef base::hash_map<int, CommandBufferProxyImpl*> ProxyMap; 274 typedef base::hash_map<int, CommandBufferProxyImpl*> ProxyMap;
270 ProxyMap proxies_; 275 ProxyMap proxies_;
271 ProxyFlushInfo flush_info_; 276 ProxyFlushInfo flush_info_;
272 277
273 DISALLOW_COPY_AND_ASSIGN(GpuChannelHost); 278 DISALLOW_COPY_AND_ASSIGN(GpuChannelHost);
274 }; 279 };
275 280
276 } // namespace content 281 } // namespace content
277 282
278 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ 283 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698