Issue 127414 in chromium: Pepper Flash: Add hardware video decoding support for Mac

60 views
Skip to first unread message

chro...@googlecode.com

unread,
May 9, 2012, 12:38:52 PM5/9/12
to chromi...@chromium.org
Status: Assigned
Owner: sa...@chromium.org
Labels: Type-Bug Pri-2 Area-UI Feature-Flash Feature-Plugins-Pepper
Mstone-21

New issue 127414 by sa...@chromium.org: Pepper Flash: Add hardware video
decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414

Filing this bug to track the work to add hardware video decoding support
for Pepper Flash on Mac.

chro...@googlecode.com

unread,
May 9, 2012, 12:49:53 PM5/9/12
to chromi...@chromium.org

Comment #1 on issue 127414 by sa...@chromium.org: Pepper Flash: Add hardware
Currently Pepper Flash only supports hardware decoding for stage videos.

I couldn't find videos online that:
A. Were marked as stage videos
B. And the Mac hardware decoder could handle.

To work around this I created a test stage video player with a H264 video
that the Mac decoder can handle. See the attached test.as script.

The video is also available here:
http://www.corp.google.com/~sail/flash_stage_video/a.html

Attachments:
test.as 3.3 KB

chro...@googlecode.com

unread,
May 30, 2012, 4:07:55 PM5/30/12
to chromi...@chromium.org
Updates:
Blockedon: 130352 130355 130357

Comment #4 on issue 127414 by sa...@chromium.org: Pepper Flash: Add hardware
(No comment was entered for this change.)

chro...@googlecode.com

unread,
Jun 1, 2012, 10:51:55 AM6/1/12
to chromi...@chromium.org
Updates:
Labels: -Mstone-21 Mstone-22

Comment #5 on issue 127414 by sa...@chromium.org: Pepper Flash: Add hardware
Pushing out to M22.

chro...@googlecode.com

unread,
Jun 1, 2012, 9:37:40 PM6/1/12
to chromi...@chromium.org

Comment #6 on issue 127414 by bugdro...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414#c6

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

------------------------------------------------------------------------
r140153 | sa...@chromium.org | Fri Jun 01 18:31:11 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/panels/panel_window_controller_cocoa.mm?r1=140153&r2=140152&pathrev=140153
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/rendering_helper.h?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/memory/scoped_nsobject_unittest.mm?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/memory/scoped_nsobject.h?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/ui/gfx/video_decode_acceleration_support_mac_unittest.mm?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/scoped_cftyperef.h?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/ui/gfx/video_decode_acceleration_support_mac.h?r1=140153&r2=140152&pathrev=140153
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/mac_video_decode_accelerator.h?r1=140153&r2=140152&pathrev=140153
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/rendering_helper_mac.mm?r1=140153&r2=140152&pathrev=140153
A
http://src.chromium.org/viewvc/chrome/trunk/src/base/memory/scoped_policy.h?r1=140153&r2=140152&pathrev=140153
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/mac_video_decode_accelerator.mm?r1=140153&r2=140152&pathrev=140153
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/rendering_helper_egl.cc?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/ui/gfx/video_decode_acceleration_support_mac.mm?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/video_decode_accelerator_unittest.cc?r1=140153&r2=140152&pathrev=140153
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/base.gypi?r1=140153&r2=140152&pathrev=140153

Implement media::VideoDecodeAccelerator on Mac

This CL implements media::VideoDecodeAccelerator for Mac. This will be used
to implement hardware video decoding for Pepper Flash.

Currently a couple things are still missing:
- the new VideoDecodeAcceleratorMac class needs to be hooked up to
GpuVideoDecodeAccelerator
- the PPB_VideoDecoder_Dev::Create() API needs to be extended so clients
can specify the extra AVC data.

BUG=127414
TEST=Ran on Mac and Windows. Sending ARM try bots now.

Review URL: https://chromiumcodereview.appspot.com/10388108
------------------------------------------------------------------------

chro...@googlecode.com

unread,
Jun 2, 2012, 4:20:51 AM6/2/12
to chromi...@chromium.org

Comment #7 on issue 127414 by bugdro...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414#c7

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

------------------------------------------------------------------------
r140187 | sa...@chromium.org | Sat Jun 02 01:17:37 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/panels/panel_window_controller_cocoa.mm?r1=140187&r2=140186&pathrev=140187
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/rendering_helper.h?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/memory/scoped_nsobject_unittest.mm?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/memory/scoped_nsobject.h?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/ui/gfx/video_decode_acceleration_support_mac_unittest.mm?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/scoped_cftyperef.h?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/ui/gfx/video_decode_acceleration_support_mac.h?r1=140187&r2=140186&pathrev=140187
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/mac_video_decode_accelerator.h?r1=140187&r2=140186&pathrev=140187
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/rendering_helper_mac.mm?r1=140187&r2=140186&pathrev=140187
A
http://src.chromium.org/viewvc/chrome/trunk/src/base/memory/scoped_policy.h?r1=140187&r2=140186&pathrev=140187
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/mac_video_decode_accelerator.mm?r1=140187&r2=140186&pathrev=140187
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/rendering_helper_egl.cc?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/ui/gfx/video_decode_acceleration_support_mac.mm?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/video_decode_accelerator_unittest.cc?r1=140187&r2=140186&pathrev=140187
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/base.gypi?r1=140187&r2=140186&pathrev=140187

Implement media::VideoDecodeAccelerator on Mac

This CL implements media::VideoDecodeAccelerator for Mac. This will be used
to implement hardware video decoding for Pepper Flash.

Currently a couple things are still missing:
- the new VideoDecodeAcceleratorMac class needs to be hooked up to
GpuVideoDecodeAccelerator
- the PPB_VideoDecoder_Dev::Create() API needs to be extended so clients
can specify the extra AVC data.

BUG=127414
TEST=Ran on Mac and Windows. Sending ARM try bots now.

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=140153

chro...@googlecode.com

unread,
Jun 7, 2012, 7:33:39 PM6/7/12
to chromi...@chromium.org

Comment #8 on issue 127414 by bugdro...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414#c8

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

------------------------------------------------------------------------
r141103 | sa...@chromium.org | Thu Jun 07 15:45:54 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=141103&r2=141102&pathrev=141103
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/h264_parser.h?r1=141103&r2=141102&pathrev=141103
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/mac_video_decode_accelerator.mm?r1=141103&r2=141102&pathrev=141103
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/avc_config_record_builder_unittest.cc?r1=141103&r2=141102&pathrev=141103
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/avc_config_record_builder.cc?r1=141103&r2=141102&pathrev=141103
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/avc_config_record_builder.h?r1=141103&r2=141102&pathrev=141103
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=141103&r2=141102&pathrev=141103
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/video_decode_accelerator_unittest.cc?r1=141103&r2=141102&pathrev=141103
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/h264_parser.cc?r1=141103&r2=141102&pathrev=141103
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/mac_video_decode_accelerator.h?r1=141103&r2=141102&pathrev=141103

Build AVC decoder configuration record

This CL adds a utility to build an AVC decoder configuration record from
SPS and PPS data in the H264 stream.

This record is used on Mac to initialize the video decoder.

BUG=127414
TEST=

Review URL: https://chromiumcodereview.appspot.com/10411085
------------------------------------------------------------------------

chro...@googlecode.com

unread,
Jun 8, 2012, 6:39:03 PM6/8/12
to chromi...@chromium.org

Comment #10 on issue 127414 by bugdro...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414#c10

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

------------------------------------------------------------------------
r141302 | sa...@chromium.org | Fri Jun 08 15:14:11 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/common/gles2_cmd_utils.cc?r1=141302&r2=141301&pathrev=141302
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/gpu_video_decode_accelerator.cc?r1=141302&r2=141301&pathrev=141302
M
http://src.chromium.org/viewvc/chrome/trunk/src/ppapi/examples/video_decode/video_decode.cc?r1=141302&r2=141301&pathrev=141302
M
http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc?r1=141302&r2=141301&pathrev=141302
M
http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/program_manager.h?r1=141302&r2=141301&pathrev=141302

hook up new MacVideoDecodeAccelerator

This CL hooks up the new MacVideoDecodeAccelerator so that it can be
instantiated by the HTML5 and pepper code. Currently only the pepper code
uses it.

I also updated the pepper video_decode example app to be able to draw the
GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates.

BUG=127414
TEST=

Review URL: https://chromiumcodereview.appspot.com/10411042
------------------------------------------------------------------------

chro...@googlecode.com

unread,
Jun 8, 2012, 7:09:06 PM6/8/12
to chromi...@chromium.org

Comment #11 on issue 127414 by bugdro...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414#c11

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

------------------------------------------------------------------------
r141305 | sa...@chromium.org | Fri Jun 08 15:37:27 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/common/gles2_cmd_utils.cc?r1=141305&r2=141304&pathrev=141305
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gpu/media/gpu_video_decode_accelerator.cc?r1=141305&r2=141304&pathrev=141305
M
http://src.chromium.org/viewvc/chrome/trunk/src/ppapi/examples/video_decode/video_decode.cc?r1=141305&r2=141304&pathrev=141305
M
http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc?r1=141305&r2=141304&pathrev=141305
M
http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/program_manager.h?r1=141305&r2=141304&pathrev=141305

Revert 141302 - hook up new MacVideoDecodeAccelerator

This CL hooks up the new MacVideoDecodeAccelerator so that it can be
instantiated by the HTML5 and pepper code. Currently only the pepper code
uses it.

I also updated the pepper video_decode example app to be able to draw the
GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates.

BUG=127414
TEST=

Review URL: https://chromiumcodereview.appspot.com/10411042

TBR=sa...@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10534077
------------------------------------------------------------------------

chro...@googlecode.com

unread,
Jul 12, 2012, 10:14:58 PM7/12/12
to chromi...@chromium.org
Updates:
Labels: webkit-91169
Blockedon: -chromium:130352 -chromium:130355 -chromium:130357
chromium:130352 chromium:130355 chromium:130357

Comment #13 on issue 127414 by sa...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414

I'm also hooking this up to the HTML5 video decoding code path. See
https://bugs.webkit.org/show_bug.cgi?id=91169

chro...@googlecode.com

unread,
Jul 13, 2012, 5:32:30 PM7/13/12
to chromi...@chromium.org

Comment #14 on issue 127414 by bugdro...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414#c14

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

------------------------------------------------------------------------
r146631 | sa...@chromium.org | Fri Jul 13 13:08:19 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/media/renderer_gpu_video_decoder_factories.cc?r1=146631&r2=146630&pathrev=146631

Mac HW Video Decode: Fix texture creation

The Mac hardware video decoder code was failing to create textures.

The problem was that
RendererGpuVideoDecoderFactories::AsyncCreateTextures() was calling
glTextImage2D. This didn't work for GL_TEXTURE_RECTANGLE_ARB textures.

BUG=127414
TEST=


Review URL: https://chromiumcodereview.appspot.com/10703184
------------------------------------------------------------------------

chro...@googlecode.com

unread,
Aug 13, 2012, 5:21:23 PM8/13/12
to chromi...@chromium.org
Updates:
Labels: -Mstone-22

Comment #15 on issue 127414 by bre...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414

We decided to punt this for now. The Mac hardware decoder doesn't decode
most common Flash video streams so the benefit is very small.

chro...@googlecode.com

unread,
May 1, 2014, 11:49:39 AM5/1/14
to chromi...@chromium.org
Updates:
Owner: ccam...@chromium.org

Comment #22 on issue 127414 by pink...@chromium.org: Pepper Flash: Add
hardware video decoding support for Mac
http://code.google.com/p/chromium/issues/detail?id=127414

Chris, can you take a look and see if there's anything we can do here? If
not, just close it.

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Reply all
Reply to author
Forward
0 new messages