RESOLVED LATER117118
[CoordGraphics][GStreamer] Composited Video support
https://bugs.webkit.org/show_bug.cgi?id=117118
Summary [CoordGraphics][GStreamer] Composited Video support
Kalyan
Reported 2013-06-01 22:53:07 PDT
After r150890 Hardware accelerated video composition is available when coordinated graphics is not used. This bug is to enable the same support when coordinated graphics is used.
Attachments
patchv1 (12.43 KB, patch)
2013-06-01 23:23 PDT, Kalyan
eflews.bot: commit-queue-
patchv2 (13.57 KB, patch)
2013-06-02 09:08 PDT, Kalyan
no flags
patchv3 (13.19 KB, patch)
2013-06-02 12:56 PDT, Kalyan
noam: review-
patchv4 (20.58 KB, patch)
2013-06-03 07:56 PDT, Kalyan
no flags
patch (7.80 KB, patch)
2013-06-09 04:28 PDT, Kalyan
no flags
patchv5 (42.15 KB, patch)
2013-07-10 06:07 PDT, Kalyan
webkit-ews: commit-queue-
patchv6 (41.95 KB, patch)
2013-07-10 06:46 PDT, Kalyan
no flags
patchv7 (41.46 KB, patch)
2013-07-10 08:05 PDT, Kalyan
buildbot: commit-queue-
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2 (485.21 KB, application/zip)
2013-07-11 07:53 PDT, Build Bot
no flags
Kalyan
Comment 1 2013-06-01 23:23:47 PDT
Kalyan
Comment 2 2013-06-01 23:32:25 PDT
The patch works but one issue which need to be addressed: Un-necessary flipping. Once before texSubImage upload (converting buffer to opengl coordinates) and next time during rendering of texture to surface. We can avoid this if we are able to somehow inform GraphicsSurface that flipping is not needed.
EFL EWS Bot
Comment 3 2013-06-02 06:38:04 PDT
EFL EWS Bot
Comment 4 2013-06-02 06:38:32 PDT
Comment on attachment 203503 [details] patchv1 Attachment 203503 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/656652
Early Warning System Bot
Comment 5 2013-06-02 06:39:23 PDT
Early Warning System Bot
Comment 6 2013-06-02 06:41:40 PDT
Kalyan
Comment 7 2013-06-02 09:08:44 PDT
Created attachment 203532 [details] patchv2 including missed changes.
Kalyan
Comment 8 2013-06-02 12:56:45 PDT
Noam Rosenthal
Comment 9 2013-06-02 14:03:09 PDT
Comment on attachment 203544 [details] patchv3 View in context: https://bugs.webkit.org/attachment.cgi?id=203544&action=review Looks great, though I would ask to find a way to not introduce a new duplication of RGBA->BGRA swizzle. > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:388 > + for (int i = 0; i < height / 2; ++i) { > + for (int j = 0; j < width; ++j) { > + unsigned tmp = buf[i * width + j]; > + buf[i * width + j] = buf[(height - i - 1) * width + j]; > + buf[(height - i - 1) * width + j] = tmp; > + } > + } Is this the 10th RGBA->BGRA swizzle code path we have in WebCore? Maybe we can do some reusing? > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:661 > + return m_context3D ? true : false; The phrase ? true : false doesn't add anything. > Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:426 > + m_canvasPlatformLayer->setClient(this); Maybe this member should be renamed?
Kalyan
Comment 10 2013-06-02 14:08:48 PDT
Comment on attachment 203544 [details] patchv3 View in context: https://bugs.webkit.org/attachment.cgi?id=203544&action=review > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:662 > +#else This would ensure a safe fallback to non-accelerated path if context3d creation fails(i.e Graphics_Surface usage is disabled or context creation failed for some reason).
Philippe Normand
Comment 11 2013-06-03 02:32:03 PDT
Comment on attachment 203544 [details] patchv3 View in context: https://bugs.webkit.org/attachment.cgi?id=203544&action=review >> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:388 >> + } > > Is this the 10th RGBA->BGRA swizzle code path we have in WebCore? Maybe we can do some reusing? Perhaps this conversion can be avoided by configuring the video-sink sink pad template caps according to what format the graphics context supports.
Kalyan
Comment 12 2013-06-03 07:56:04 PDT
Kalyan
Comment 13 2013-06-03 07:58:04 PDT
(In reply to comment #9) > (From update of attachment 203544 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=203544&action=review > > Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:426 > > + m_canvasPlatformLayer->setClient(this); > > Maybe this member should be renamed? renamed m_canvasPlatformLayer to m_platformLayer
Kalyan
Comment 14 2013-06-03 10:11:44 PDT
(In reply to comment #11) > (From update of attachment 203544 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=203544&action=review > > >> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:388 > >> + } > > > > Is this the 10th RGBA->BGRA swizzle code path we have in WebCore? Maybe we can do some reusing? > > Perhaps this conversion can be avoided by configuring the video-sink sink pad template caps according to what format the graphics context supports. k, I left it out of this patch as we need to handle it for both (when Texture mapper is used and GraphicsContext3D). Would it be k to handle this as a separate issue??
Philippe Normand
Comment 15 2013-06-04 01:44:37 PDT
The pixel format conversion should really be done in the gst pipeline for the coord graphics rendering code path. For the texturemapper code path I don't think any change in the video-sink is needed for now.
Kalyan
Comment 16 2013-06-04 01:54:32 PDT
(In reply to comment #15) > The pixel format conversion should really be done in the gst pipeline for the coord graphics rendering code path. > For the texturemapper code path I don't think any change in the video-sink is needed for now. I dont see the difference with coordinate graphics and when using Bitmap Texture(thats without coordinate graphics). With Bitmap Texture the conversion would happen in updateContents call(void MediaPlayerPrivateGStreamerBase::updateTexture). It's a general issue rather than being coordinate graphics specific.
Kalyan
Comment 17 2013-06-05 06:01:52 PDT
Comment on attachment 203589 [details] patchv4 Removing request for review till 117250 is fixed.
Kalyan
Comment 18 2013-06-09 04:28:16 PDT
Created attachment 204116 [details] patch temp patch showing only mediastreamer changes
Kalyan
Comment 19 2013-07-10 06:07:41 PDT
Early Warning System Bot
Comment 20 2013-07-10 06:12:20 PDT
Early Warning System Bot
Comment 21 2013-07-10 06:12:43 PDT
Kalyan
Comment 22 2013-07-10 06:46:23 PDT
Created attachment 206387 [details] patchv6 qt build fix
Kalyan
Comment 23 2013-07-10 08:05:50 PDT
Build Bot
Comment 24 2013-07-11 07:53:45 PDT
Comment on attachment 206391 [details] patchv7 Attachment 206391 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/931543 New failing tests: http/tests/security/cross-origin-plugin-private-browsing-toggled.html
Build Bot
Comment 25 2013-07-11 07:53:49 PDT
Created attachment 206464 [details] Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-09 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.3
Philippe Normand
Comment 26 2013-09-02 02:43:59 PDT
Ping? What's the status of this patch?
Kalyan
Comment 27 2013-10-16 06:04:22 PDT
(In reply to comment #26) > Ping? What's the status of this patch? Sorry, missed your comment.It will take some time before I can get back to this. I am ok, if you want to take over this work.
Philippe Normand
Comment 28 2015-04-01 02:46:31 PDT
Yoon, should we close this bug? Perhaps it's somehow still valid for EFL. I don't plan to work on this though.
Philippe Normand
Comment 29 2015-04-01 02:47:38 PDT
Comment on attachment 206391 [details] patchv7 Pulling out of review-queue, this patch clearly needs an update after 2 years of inactivity.
Gyuyoung Kim
Comment 30 2015-04-01 03:19:10 PDT
(In reply to comment #28) > Yoon, should we close this bug? > > Perhaps it's somehow still valid for EFL. I don't plan to work on this > though. I don't know if there is volunteer to support this patch for EFL port. If there is no contributor for this patch, it would be good to close this bug.
Gwang Yoon Hwang
Comment 31 2015-04-01 03:28:51 PDT
(In reply to comment #30) > (In reply to comment #28) > > Yoon, should we close this bug? > > > > Perhaps it's somehow still valid for EFL. I don't plan to work on this > > though. > > I don't know if there is volunteer to support this patch for EFL port. If > there is no contributor for this patch, it would be good to close this bug. I agree to close this bug. It is a little bit diverged already, and we can create/open a bug if it is needed again.
Note You need to log in before you can comment on or make changes to this bug.