Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 32 users
Status: Duplicate
Merged: issue 104579
Owner:
Last visit > 30 days ago
Closed: Nov 2011
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature

Restricted
  • Only users with EditIssue permission may comment.



Sign in to add a comment
Implement hardware video decoding
Reported by hclam@chromium.org, Aug 28 2010 Back to list
There are two objects in this feature:

1. FFmpegVideoDecoder can use this context to allocate memory provided by gpu process as shared memory, this can eliminate all the communication problems of passing memory from WebKit to the media pipeline.

2. IpcVideoDecoder can use this to allocate textures and pass it to the gpu process for decoding.

 
Labels: -Area-Undefined Area-Internals
Labels: -Area-Internals Area-WebKit OS-All Mstone-8
Status: Assigned
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=58517 

------------------------------------------------------------------------
r58517 | hclam@chromium.org | 2010-09-03 11:50:03 -0700 (Fri, 03 Sep 2010) | 19 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.cc?r1=58517&r2=58516
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.h?r1=58517&r2=58516
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=58517&r2=58516
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=58517&r2=58516
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.cc?r1=58517&r2=58516
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.h?r1=58517&r2=58516
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=58517&r2=58516
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.h?r1=58517&r2=58516

Connect GpuVideoDecodeServiceHost with ggl::Context and CommandBufferProxy

BUG=53714

A GpuVideoDecodeServiceHost needs to be connected with a ggl::Contect and its
associated comand buffer for the following reasons:

1. The gpu video decoder in gpu process needs to be in the correct GLES2 context.
2. On context lost the gpu video decoder needs to destroy itself.

This patch is able to connect the GpuVideoDecoderHost to the context although
the context is not passed into the decoder, so the code path is currently broken.

In a future patch we need to do the following:
1. Inject a ggl::Context into IpcVideoDecoder.
2. Complete the plumbing so that inside the gpu process we can associate a
   video decoder with a GLES2 context.

Review URL: http://codereview.chromium.org/3215008
------------------------------------------------------------------------

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=58518 

------------------------------------------------------------------------
r58518 | hclam@chromium.org | 2010-09-03 11:57:24 -0700 (Fri, 03 Sep 2010) | 14 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_channel.cc?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_command_buffer_stub.h?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_service.cc?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_service.h?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.h?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_view.cc?r1=58518&r2=58517
   M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gpu_processor.h?r1=58518&r2=58517

Complete initializing a GPU video decoder in a GLES2 context

In this patch a ggl::Context is connected to the GpuVideoDecoderHost in the
renderer process. In the GPU process the GpuVideoDecoder is connected to a
gles2::GLES2Decoder.

These changes will be used in the future to switch context before issuing
video decode commands. This is also needed by the GPU process to translate
a client texture ID to a service texture ID in the GPU video decoder.

BUG=53714
TEST=none

Review URL: http://codereview.chromium.org/3266008
------------------------------------------------------------------------

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=58899

------------------------------------------------------------------------
r58899 | hclam@chromium.org | Wed Sep 08 17:06:33 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.cc?r1=58899&r2=58898&pathrev=58899
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/tools/player_x11/gles_video_renderer.cc?r1=58899&r2=58898&pathrev=58899
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.h?r1=58899&r2=58898&pathrev=58899
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=58899&r2=58898&pathrev=58899
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/video_renderer_base.h?r1=58899&r2=58898&pathrev=58899
 M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webvideoframe_impl.cc?r1=58899&r2=58898&pathrev=58899

Clean up texture types in VideoFrame

A VideoFrame should only reveal it self as system memory or textures (GL or D3D).

All the implementation details should be hidden. This removed EGL image,
OMXBUFFERHEADERTYPE, D3D surface and MF buffer from video frame.

We should only have 3 different types of video frames:

1. System memory
   Whether it is allocated by VideoFrame or is just memory mapped should fall
   into this category. Memory can either be allocated internally or provided
   externally.

2. GL texture
   EGL image or just plain GL texture should fall into this area. Decode engines should do all the necessary operations to convert texture to GL textures.

3. D3D texture
   Whether we are using Media Foundation or DxVA2, if we are on windows we
   should convert everything to D3D texture and again all the operations
   involved are done inside the decode engine.

BUG=53714
TEST=Tree is green. This is just API change.

Review URL: http://codereview.chromium.org/3303014
------------------------------------------------------------------------
Comment 6 by bugdro...@gmail.com, Sep 13 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59223

------------------------------------------------------------------------
r59223 | hclam@chromium.org | Mon Sep 13 08:53:30 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/tools/omx_test/omx_test.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_engine.h?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.h?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_channel.cc?r1=59223&r2=59222&pathrev=59223
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=59223&r2=59222&pathrev=59223
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.h?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=59223&r2=59222&pathrev=59223
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome.gyp?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder_unittest.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/omx_video_decoder.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine_unittest.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder_example.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.h?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/test/mft_h264_decoder_unittest.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=59223&r2=59222&pathrev=59223
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.cc?r1=59223&r2=59222&pathrev=59223

Added FakeGlVideoDecodeEngine to exercise the IPC protocol for hardware video decoding

There are several things done in this patch:
1. Added FakeGlVideoDecodeEngine
2. Fixed style problem in VideoDecodeEngine and gpu_video_common.h
3. Added route to pass texture from gpu process to WebKit

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3335014
------------------------------------------------------------------------
Status: Started
Comment 8 by bugdro...@gmail.com, Sep 16 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59627

------------------------------------------------------------------------
r59627 | hclam@chromium.org | Thu Sep 16 02:14:48 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome.gyp?r1=59627&r2=59626&pathrev=59627
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/gpu_video_device.h?r1=59627&r2=59626&pathrev=59627
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59627&r2=59626&pathrev=59627
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=59627&r2=59626&pathrev=59627

Defines GpuVideoDevice for video frame allocation

GpuVideoDecoder now implements VideoDecodeContext. Also defined a
GpuVideoDevice that works with GpuVideoDecoder.

No implemetation in this change, just added comments to describe the work flow.

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3295027
------------------------------------------------------------------------
Comment 9 by bugdro...@gmail.com, Sep 17 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59775

------------------------------------------------------------------------
r59775 | hclam@chromium.org | Fri Sep 17 01:14:10 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=59775&r2=59774&pathrev=59775
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=59775&r2=59774&pathrev=59775
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/DEPS?r1=59775&r2=59774&pathrev=59775
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=59775&r2=59774&pathrev=59775
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59775&r2=59774&pathrev=59775
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=59775&r2=59774&pathrev=59775

Add IPC messages for allocation video frames for hardware video decoder

Allocation of video frames should be originated from the VideoDecodeEngine in
the GPU process. Adding messages that will allow allocation be done during
runtime instead of initialization.

Also did some cleanup in gpu_video_common.cc.

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3361017
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59784

------------------------------------------------------------------------
r59784 | hclam@chromium.org | Fri Sep 17 05:46:54 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.h?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=59784&r2=59783&pathrev=59784
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=59784&r2=59783&pathrev=59784

GpuVideoDecoder to use GpuVideoDevice and IPC messages to complete VideoFrame allocation

GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses
GpuVideoDevice to create VideoFrames from the GL textures. These GL textures
are passed into VideoDecodeEngine.

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3335019
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59785

------------------------------------------------------------------------
r59785 | hclam@chromium.org | Fri Sep 17 05:49:26 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/tools/omx_test/omx_test.cc?r1=59785&r2=59784&pathrev=59785
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_device.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_engine.h?r1=59785&r2=59784&pathrev=59785
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_device.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/gpu_video_device.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome.gyp?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/omx_video_decoder.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder_unittest.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine_unittest.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder_example.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/test/mft_h264_decoder_unittest.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59785&r2=59784&pathrev=59785
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=59785&r2=59784&pathrev=59785

Implement FakeGlVideoDecodeEngine using FakeGlVideoDecodeContext

Defines UploadToVideoFrame in VideoDecodeContext.

FakeGlVideoDecodeEngine now uses FakeGlVideoDecodeContext to video frame
allocation and uploading.

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3312022
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59789

------------------------------------------------------------------------
r59789 | mlloyd@chromium.org | Fri Sep 17 07:13:05 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/tools/omx_test/omx_test.cc?r1=59789&r2=59788&pathrev=59789
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_device.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_engine.h?r1=59789&r2=59788&pathrev=59789
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_device.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/gpu_video_device.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome.gyp?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/omx_video_decoder.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder_unittest.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine_unittest.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder_example.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/test/mft_h264_decoder_unittest.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59789&r2=59788&pathrev=59789
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=59789&r2=59788&pathrev=59789

Revert 59785 - Implement FakeGlVideoDecodeEngine using FakeGlVideoDecodeContext

Defines UploadToVideoFrame in VideoDecodeContext.

FakeGlVideoDecodeEngine now uses FakeGlVideoDecodeContext to video frame
allocation and uploading.

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3312022

TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3436014
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59790

------------------------------------------------------------------------
r59790 | mlloyd@chromium.org | Fri Sep 17 07:19:15 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.h?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=59790&r2=59789&pathrev=59790
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=59790&r2=59789&pathrev=59790

Revert 59784 - GpuVideoDecoder to use GpuVideoDevice and IPC messages to complete VideoFrame allocation

GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses
GpuVideoDevice to create VideoFrames from the GL textures. These GL textures
are passed into VideoDecodeEngine.

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3335019

TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3451007
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59860

------------------------------------------------------------------------
r59860 | hclam@chromium.org | Fri Sep 17 15:03:16 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/tools/omx_test/omx_test.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/omx_video_decoder.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder_unittest.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/omx_video_decode_engine.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder_example.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=59860&r2=59859&pathrev=59860
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_device.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_engine.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc?r1=59860&r2=59859&pathrev=59860
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_device.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/gpu_video_device.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome.gyp?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine_unittest.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_video_decoder.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/ffmpeg_video_decode_engine.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/test/mft_h264_decoder_unittest.cc?r1=59860&r2=59859&pathrev=59860
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=59860&r2=59859&pathrev=59860

Resubmit GpuVideoDecoder and related patches.

BUG=53714
TEST=Tree is green

Review URL: http://codereview.chromium.org/3442006
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=59861

------------------------------------------------------------------------
r59861 | hclam@chromium.org | Fri Sep 17 15:21:19 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=59861&r2=59860&pathrev=59861

Build fix. Chromium mac compiles again...

Passed try bot but still failed, so removed the offending code.

BUG=53714
TEST=

Review URL: http://codereview.chromium.org/3440010
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=60126

------------------------------------------------------------------------
r60126 | hclam@chromium.org | Tue Sep 21 16:20:40 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=60126&r2=60125&pathrev=60126
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=60126&r2=60125&pathrev=60126
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=60126&r2=60125&pathrev=60126
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=60126&r2=60125&pathrev=60126

SendAllocateVideoFrames to the renderer

This is separated from a previous patch due to link error on mac.

BUG=53714
TEST=Mac build bots are happy

Review URL: http://codereview.chromium.org/3414011
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=60130

------------------------------------------------------------------------
r60130 | hclam@chromium.org | Tue Sep 21 17:00:29 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=60130&r2=60129&pathrev=60130
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=60130&r2=60129&pathrev=60130
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=60130&r2=60129&pathrev=60130
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=60130&r2=60129&pathrev=60130

Revert r60126 that broke the build.

TBR=scherkus

BUG=53714
TEST=

Review URL: http://codereview.chromium.org/3393017
------------------------------------------------------------------------
Comment 18 by hclam@chromium.org, Sep 28 2010
Labels: GPU-Video
Summary: Implement hardware video decoding (was: NULL)
Comment 19 by hclam@chromium.org, Sep 28 2010
Labels: -GPU-Video Feature-GPU-Video
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=60852

------------------------------------------------------------------------
r60852 | hclam@chromium.org | Tue Sep 28 15:16:07 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webvideoframe_impl.h?r1=60852&r2=60851&pathrev=60852
 M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webvideoframe_impl.cc?r1=60852&r2=60851&pathrev=60852

Access texture in a WebVideoFrame

Provide getters for accessing textures in a WebVideoFrame

BUG=53714
TEST=None

Review URL: http://codereview.chromium.org/3472020
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=60902

------------------------------------------------------------------------
r60902 | hclam@chromium.org | Tue Sep 28 19:23:31 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_service.cc?r1=60902&r2=60901&pathrev=60902
 A http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mock_objects.h?r1=60902&r2=60901&pathrev=60902
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder_unittest.cc?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests.gypi?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=60902&r2=60901&pathrev=60902
 M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder_mock.h?r1=60902&r2=60901&pathrev=60902

Implement video	 frame exchange in GpuVideoDecoder and tests

Implement ProduceVideoFrame() in GpuVideoDecoder and unit tests	for testing
the loginc in GpuVideoDecoder.

BUG=53714
TEST=unit_tests --gtest_filter=GpuVideoDecoder*

Review URL: http://codereview.chromium.org/3414003
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=60912

------------------------------------------------------------------------
r60912 | hclam@chromium.org | Tue Sep 28 23:32:36 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.cc?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_engine.h?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages.cc?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.h?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.h?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=60912&r2=60911&pathrev=60912
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=60912&r2=60911&pathrev=60912

Some cleanup work in GpuVideoDecoderHost and IpcVideoDecoder

Seeing that GpuVideoDecoderHost has a very similar interface to
VideoDecodeEngine, this patch makes GpuVideoDecoderHost implments
VideoDecodeEngine.

Also did some cleanup work to remove code patch that doesn't fit
into the buffer allocation model we are moving to.

BUG=53714
TEST=Tree is green. Code still doesn't work yet.

Review URL: http://codereview.chromium.org/3393014
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=60922

------------------------------------------------------------------------
r60922 | jochen@chromium.org | Wed Sep 29 02:30:07 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_context.h?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.cc?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/video_decode_engine.h?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages.cc?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.h?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.h?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=60922&r2=60921&pathrev=60922
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=60922&r2=60921&pathrev=60922

Revert 60912 - Some cleanup work in GpuVideoDecoderHost and IpcVideoDecoder

Seeing that GpuVideoDecoderHost has a very similar interface to
VideoDecodeEngine, this patch makes GpuVideoDecoderHost implments
VideoDecodeEngine.

Also did some cleanup work to remove code patch that doesn't fit
into the buffer allocation model we are moving to.

BUG=53714
TEST=Tree is green. Code still doesn't work yet.

Review URL: http://codereview.chromium.org/3393014

TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3531002
------------------------------------------------------------------------
Comment 24 by hclam@chromium.org, Sep 29 2010
Labels: -Feature-GPU-Video Feature-GPU
Issue 53716 has been merged into this issue.
Issue 56431 has been merged into this issue.
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=61824

------------------------------------------------------------------------
r61824 | hclam@chromium.org | Thu Oct 07 11:59:36 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.h?r1=61824&r2=61823&pathrev=61824
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host_unittest.cc?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mock_objects.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_channel.cc?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_channel.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests.gypi?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_service.cc?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_service.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder_unittest.cc?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=61824&r2=61823&pathrev=61824
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.cc?r1=61824&r2=61823&pathrev=61824

Implement GpuVideoDecoderHost and unit tests

Add the following feature to GpuVideoDecoderHost:
1. Video frame allocation / release.
2. ProduceVideoFrame / ConsumeVideoFrame using frames allocated.
3. Change GpuVideoDecoder creation to asynchronous.

BUG=53714
TEST=unit_tests --gtest_filter=GpuVideoDecoder*

Review URL: http://codereview.chromium.org/3397027
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=61825

------------------------------------------------------------------------
r61825 | hclam@chromium.org | Thu Oct 07 12:01:52 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=61825&r2=61824&pathrev=61825
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.cc?r1=61825&r2=61824&pathrev=61825
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=61825&r2=61824&pathrev=61825
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.h?r1=61825&r2=61824&pathrev=61825
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.h?r1=61825&r2=61824&pathrev=61825

Implement Gles2VideoDecoderContext

Allocate textures for video frames in Gles2VideoDecoderContext.

BUG=53714
TEST=Tree is green. This doesn't work yet.

Review URL: http://codereview.chromium.org/3391022
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=61853

------------------------------------------------------------------------
r61853 | hclam@chromium.org | Thu Oct 07 14:47:17 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/filters/ffmpeg_demuxer.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.h?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_view.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_decode_engine.h?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.h?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.h?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webvideoframe_impl.cc?r1=61853&r2=61852&pathrev=61853
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.cc?r1=61853&r2=61852&pathrev=61853

Make FakeGlVideoDecodeEngine works in the hardware video decoding architecture

Add Preroll IPC message for finishing the initialiation of FakeGlVideoDecodeEngine.
Also defined methods in WebVideoFrameImpl to access video frame textures.

This change depend on a WebKit change to succesfully display the textures.

BUG=53714
TEST=Tree is green. This still needs WebKit changes to work.

Review URL: http://codereview.chromium.org/3472016
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=61852

------------------------------------------------------------------------
r61852 | hclam@chromium.org | Thu Oct 07 14:46:09 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/fake_gl_video_device.cc?r1=61852&r2=61851&pathrev=61852
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host_unittest.cc?r1=61852&r2=61851&pathrev=61852
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.cc?r1=61852&r2=61851&pathrev=61852
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder_example.cc?r1=61852&r2=61851&pathrev=61852
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=61852&r2=61851&pathrev=61852
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.h?r1=61852&r2=61851&pathrev=61852
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder_unittest.cc?r1=61852&r2=61851&pathrev=61852
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.cc?r1=61852&r2=61851&pathrev=61852

Cleanup in VideoFrame

Remove D3D textures from VideoFrame because it is not used anymore.

Remove duration and timestamp when creating a video frame from textures.

BUG=53714
TEST=Tree is green.

Review URL: http://codereview.chromium.org/3501005
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=61854

------------------------------------------------------------------------
r61854 | hclam@chromium.org | Thu Oct 07 14:47:58 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.h?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.h?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_thread.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/ipc_video_decoder.h?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_channel.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_view.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_channel.h?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_channel_host.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_channel_host.h?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/base/video_frame.cc?r1=61854&r2=61853&pathrev=61854
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_service_host.cc?r1=61854&r2=61853&pathrev=61854

GpuVideoDecoderHost runs on IO thread instead of Render thread

Move GpuVideoDecoderHost to IO thread and change GpuVideoServiceHost to
be a MessageFilter.

BUG=53714
TEST=Tree is green. Will pending on WebKit changes to make this work.

Review URL: http://codereview.chromium.org/3462015
------------------------------------------------------------------------
Labels: Mstone-9
mass bug punt
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=61918

------------------------------------------------------------------------
r61918 | hclam@chromium.org | Thu Oct 07 21:52:15 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=61918&r2=61917&pathrev=61918
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_video_decoder_host.cc?r1=61918&r2=61917&pathrev=61918
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/mft_angle_video_device.cc?r1=61918&r2=61917&pathrev=61918
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/media/mft_angle_video_device.h?r1=61918&r2=61917&pathrev=61918
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.cc?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.cc?r1=61918&r2=61917&pathrev=61918
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_video_common.h?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder.h?r1=61918&r2=61917&pathrev=61918
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome.gyp?r1=61918&r2=61917&pathrev=61918
 A http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mft_h264_decode_engine_unittest.cc?r1=61918&r2=61917&pathrev=61918
 A http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mft_h264_decode_engine.cc?r1=61918&r2=61917&pathrev=61918 (from /trunk/src/media/mf/mft_h264_decoder.cc revision 61917)
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/media.gyp?r1=61918&r2=61917&pathrev=61918
 A http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mft_h264_decode_engine.h?r1=61918&r2=61917&pathrev=61918 (from /trunk/src/media/mf/mft_h264_decoder.h revision 61917)
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/mft_h264_decoder_example.cc?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mft_h264_decode_engine_context.cc?r1=61918&r2=61917&pathrev=61918
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/media/gles2_video_decode_context.cc?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/README.chromium?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mft_h264_decode_engine_context.h?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/test/mft_h264_decoder_unittest.cc?r1=61918&r2=61917&pathrev=61918
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/test/run_all_unittests.cc?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/file_reader_util.cc?r1=61918&r2=61917&pathrev=61918
 D http://src.chromium.org/viewvc/chrome/trunk/src/media/mf/file_reader_util.h?r1=61918&r2=61917&pathrev=61918

Move MFT H264 video decoder implementation and connect it to GpuVideoDecoder

Remove media/mf folder and move the video decode engine to media/video.

There are some temporary changes in MftH264DecodeEngine to work with
GpuVideoDecoder correctly.

Removed tests will be added later. Example program will likely be removed
permanently due to maintence problem.

This patch depends WebKit and ANGLE changes to be able to present video frames
onto screen and still have lot of bugs, those problems will be address later.

BUG=53714
TEST=Tree is green. This patch doesn't work yet.

Review URL: http://codereview.chromium.org/3432030
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=62056

------------------------------------------------------------------------
r62056 | hclam@chromium.org | Fri Oct 08 17:54:58 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gpu_process_host.cc?r1=62056&r2=62055&pathrev=62056

Pass --enable-accelerated-decoding to the GPU process

TBR=scherkus

BUG=53714
TEST=53714

Review URL: http://codereview.chromium.org/3672001
------------------------------------------------------------------------
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=63112

------------------------------------------------------------------------
r63112 | hclam@chromium.org | Tue Oct 19 14:20:39 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/media/video/mft_h264_decode_engine.cc?r1=63112&r2=63111&pathrev=63112
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_video_decoder.cc?r1=63112&r2=63111&pathrev=63112

Delay loading Media Foundations DLLs

Checked with Al we are already delay loading d3d9.dll, so add some extra for MF.

BUG=53714
TEST=None

Review URL: http://codereview.chromium.org/3859005
------------------------------------------------------------------------
Labels: -Feature-GPU Feature-GPU-Video
Labels: -Mstone-9 Mstone-10 MovedFrom-9
Moving all mstone:9 bugs that are not ReleaseBlockers to mstone:10
Labels: Mstone-X
Any progress about the hardware video decoder? When will a real hardware decoder instead of the fake decoder available in Linux?
Comment 40 by hclam@chromium.org, Jan 20 2011
Labels: -MovedFrom-9 HelpWanted
Status: Available
scherkus: I think this needs to be reassign to the right person now.

Comment 41 by mal@google.com, Feb 14 2011
Labels: -HelpWanted GoodFirstBug
Labels: -GoodFirstBug bulkmove Hotlist-GoodFirstBug
There are two objects in this feature:

1. FFmpegVideoDecoder can use this context to allocate memory provided by gpu process as shared memory, this can eliminate all the communication problems of passing memory from WebKit to the media pipeline.

2. IpcVideoDecoder can use this to allocate textures and pass it to the gpu process for decoding.
Labels: -bulkmove
Labels: -Mstone-X Mstone-18
Owner: fischman@chromium.org
Status: Assigned
fischman@ we can repurpose this bug for your work on VDA integration if you want OR close this and open a new one.
Mergedinto: 104579
Status: Duplicate
Opened new tracking bug since this one is so noisy.
Project Member Comment 46 by bugdroid1@chromium.org, Oct 13 2012
Labels: Restrict-AddIssueComment-Commit
Mergedinto: chromium:104579
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Project Member Comment 47 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Area-WebKit -Feature-Media -Feature-GPU-Video -Mstone-18 Cr-Content Cr-Internals-Media M-18 Cr-Internals-GPU-Video
Project Member Comment 48 by bugdroid1@chromium.org, Mar 13 2013
Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue
Project Member Comment 49 by bugdroid1@chromium.org, Apr 6 2013
Labels: -Cr-Content Cr-Blink
Sign in to add a comment