|
1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
5. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
6. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=55516
Total comments: 2
Total comments: 46
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1786 lines, -3 lines) |
Patch |
 |
M |
chrome/browser/renderer_host/browser_render_process_host.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/chrome.gyp
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/chrome_common.gypi
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/chrome_renderer.gypi
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/gpu_messages_internal.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+80 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/common/gpu_video_common.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+172 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/common/gpu_video_common.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+211 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/gpu/gpu_channel.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/gpu/gpu_channel.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
4 chunks |
+52 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/gpu/gpu_video_decoder.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+76 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/gpu/gpu_video_decoder.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+108 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/gpu/gpu_video_service.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+56 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/gpu/gpu_video_service.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+75 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/DEPS
|
View
|
6
7
8
9
10
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/gpu_channel_host.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/renderer/gpu_channel_host.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/gpu_video_decoder_host.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+126 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/gpu_video_decoder_host.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+199 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/gpu_video_service_host.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+51 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/gpu_video_service_host.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+91 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/media/ipc_video_decoder.h
|
View
|
5
6
7
8
9
10
|
1 chunk |
+100 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/media/ipc_video_decoder.cc
|
View
|
5
6
7
8
9
10
|
1 chunk |
+344 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/render_thread.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/render_view.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
3 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ipc/ipc_message_utils.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
media/base/media_switches.h
|
View
|
5
6
7
8
9
10
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
media/base/media_switches.cc
|
View
|
5
6
7
8
9
10
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
media/filters/ffmpeg_demuxer.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
Total messages: 17 (0 generated)
|