0

Dose cobalt support youtube 360 video(Spherical Video)? If yes, how it's been implemented, is there any document for it? Does it need the platform to do extra things to support it?

bitchainer
  • 535
  • 2
  • 19

1 Answers1

1

Almost. There is still some small remaining work that prevents this from being a simple yes, but the vast bulk of the work is done and has been shown to function.

A document will soon be appearing in the source tree explaining all this, but here is a preview...

In order to support spherical video, a platform will have to support decode-to-texture, introduced in Starboard API version 4. Cobalt will choose between punch-out and decode-to-texture when creating an SbPlayer, based on whether a mesh transform has been applied to the video tag. In decode-to-texture mode, every frame, the video texture will then be queried from the player, and rendered into the UI graphics plane with the current transform applied.

David Ghandehari
  • 534
  • 3
  • 12
  • thanks so much for your detail explanation, so could you help to indicate when or in which version of cobalt that it can contains the document(eg, how it's implemented, how to support it in platform itself)for this? – bitchainer Apr 05 '17 at 01:26
  • About the 'video texture', do you mean the egl surface texture? If it rendered the video texture to UI graphics plane, does it mean the video surface shared the same surface of html webpage contents? – bitchainer Apr 05 '17 at 02:45
  • The document hasn't been published yet, it will appear in COBALT_9 when that is created. – David Ghandehari Apr 05 '17 at 21:54
  • In order for 360 video to work in Cobalt, we currently require that the video frame be rendered into a GLES texture. And, yes, the UI Rasterizer will render it in the same plane as the other UI graphics. – David Ghandehari Apr 05 '17 at 21:55
  • hi, david, if the video frame will be queried from the player, and needs to rendered into a GLES texture, so which format type of the frame need to be, YUV or ARGB? And if the platform do not support opengl, eg, it may use DirectFB, then there is no GLES texture, in this case, how does it to be implement? – bitchainer Apr 13 '17 at 09:32
  • Cobalt supports RGB right now, but will support YUV as well, very soon. The idea will be not to do color conversion out of the decoder (unless it is accelerated), and Cobalt can do it in the shader. The SbDecodeTarget contains a field for what format it is in. For DirectFB, there is no 3D transformation API, so I don't think we will be able to do spherical – David Ghandehari Apr 13 '17 at 13:29
  • hi, david, now Cobalt RC_9 has been released, is it the COBALT_9 as you mentioned? – bitchainer May 02 '17 at 01:43
  • It's the release candidate for 9, yes. If you aren't already subscribed to cobalt-dev@googlegroups.com, you may want to, as that is where we will be making announcements about such things. – David Ghandehari May 02 '17 at 17:00