Opened 4 years ago

Closed 13 months ago

#12491 closed defect (fixed)

Implement vMeta for XO-4

Reported by: dsd Owned by: dsd
Priority: high Milestone: 13.2.0
Component: kernel Version: not specified
Keywords: Cc: humitos, greenfeld, sridhar, jvonau
Blocked By: Blocking:
Deployments affected: Australia Action Needed: no action
Verified: no


vmeta needs to be made working and tested on XO-4 as a high priority task (but not a production blocker).

This should ideally involve providing libraries for both gstreamer-0.10 and gstreamer-1.0, unless that is a particularly complicated task. I can attempt to help with the porting.

Attachments (1)

gst1.patch (4.7 KB) - added by dsd 4 years ago.
initial gstreamer-plugins-marvell porting to gstreamer-1.0

Download all attachments as: .zip

Change History (11)

comment:1 Changed 4 years ago by dsd

  • Cc humitos added

We will proceed with the plans to provide vmeta for both gstreamer-0.10 and gstreamer-1.0, but the unknown is how much work will be needed to the gstreamer-vmeta code to make it work with 1.0. Hopefully not too much.

comment:2 Changed 4 years ago by dsd

Providing vmeta for gstreamer-0.10 should be easy.

For gstreamer-1.0, it looks like it would be at least a few hours work to port the code, plus a suitably large amount of time for testing/debugging/fixing. Here is a good reference:

I've attached an patch for initial porting of gstvmetadec. There are quite a few big things left to port. vmetadec_push_frame_to_downElement needs to use the GstMemory API (e.g. gst_memory_new_wrapped) to feed memory into the GstBuffers that it creates, and probably use the GstMemory GDestroyNotify for freeing. For IPPGST_BUFFER_CUSTOMDATA we can probably use gst_mini_object_set_qdata on the GstBuffer.
Then there are a load of pad and caps API users to fix up as well.

Not to forget the vmetaxv code that will probably need similar treatment.

I suggest that we continue focusing on the XO-4 graphics driver and other priority items, and when things are stable, reinstate vmeta on gstreamer-0.10. When we are that far, we can revisit providing vmeta for gstreamer-1.0. As we currently don't integrate vmeta into the release, we are not bound by the usual deadlines, we just have to try and complete the work by the time that customers recieve machines.

If we don't provide vmeta for gstreamer-1.0, a deployment that wants to use vmeta in Jukebox can can probably just use the Jukebox version from 12.1.0. Not ideal, but it should work. We'll have to give that a quick test.

Changed 4 years ago by dsd

initial gstreamer-plugins-marvell porting to gstreamer-1.0

comment:3 Changed 4 years ago by greenfeld

  • Action Needed changed from never set to code

The XO-4 Linux kernel still needs vmeta devices added as of 13.1.0 os30.

/dev/pmem_adsp and /dev/uio0 should be present.

If the vmeta software libraries are present and these devices are not, the failure to use them can be somewhat subtle (fallback to software codecs).

comment:4 Changed 4 years ago by dsd

  • Milestone changed from 13.1.0 to 13.2.0
  • Owner changed from jnettlet to dsd

comment:5 Changed 4 years ago by dsd

  • Action Needed changed from code to communicate

I have split out the gstreamer-1.0 porting to #12665, leaving this ticket focused on getting vmeta working on XO-4 as well as it was on XO-1.75.

This work is complete, we just need Marvell's permission to release the code.

comment:6 Changed 4 years ago by dsd

  • Action Needed changed from communicate to test in build
  • Cc greenfeld added

13.2.0 build 5 includes the required base here. Ready for testing by Sam when he has time.

comment:7 Changed 4 years ago by sridhar

  • Deployments affected set to Australia

comment:8 Changed 4 years ago by sridhar

  • Cc sridhar jvonau added

comment:9 Changed 4 years ago by dsd

  • Action Needed changed from test in build to add to build

vmeta and supporting codecs will be included by default in future XO-4 builds.

comment:10 Changed 13 months ago by Quozl

  • Action Needed changed from add to build to no action
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.