OpenMAX integration guide

363 views
Skip to first unread message

Daniel Charles

unread,
Oct 4, 2012, 1:04:12 AM10/4/12
to chromi...@chromium.org
Hi,

Is there a guide to integrate openMAX to chromiumOS?  I see that to be able to play media with chromium it is necessary to explicitly add proprietary_codecs=1 and ffmpeg_branding=ChromeOS and I don't know if that will add openMAX on ARM devices. . 

Reading previous posts from 2011 ffmpeg+omx didn't go far, is there any plan to resume the integration? 

On ARM platforms, i.e. panda board, I would need to adapt available dsp kernels to execute h.264 decoder, is there a known version (available) binaries that can be used?


Anton Vayvod

unread,
Oct 4, 2012, 5:30:06 AM10/4/12
to dcha...@gmail.com, Chromium OS dev
CC:chromiu...@chromium.org

Hi Daniel,

I think you'll get a better answer if asking at chromium-os-dev

Anton.



--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

Ami Fischman

unread,
Oct 4, 2012, 11:03:47 AM10/4/12
to dcha...@gmail.com, chromi...@chromium.org
I believe you want to get HW decode for h264 video streams in HTML5 <video>; if that's the case, then good news: it's already hooked up using GpuVideoDecoder in the renderer talking to OmxVideoDecodeAccelerator in the GPU process.  If you have an OpenMAX IL 1.1.2 compliant library for your platform, you might just need to symlink it to a particular name or edit a single line of code to point to your platform's name of it.  You can tell whether HW decoding is enabled by either enabling vlogging in a Debug build, or loading chrome://histograms/Media.Gp twice after playing a <video>; if there is no histogram on that page that means the renderer didn't even try initializing HW decode; if there's a "0" bucket that counts the number of successful HW decode Initialize() calls; if there are other non-"0" buckets with non-zero counts that means other errors were encountered.

In case I misunderstood your goals/questions, in-line responses below.

Is there a guide to integrate openMAX to chromiumOS?

Is there something CrOS-specific about your questions/goals, or is this really just about the browser?
 
I see that to be able to play media with chromium it is necessary to explicitly add proprietary_codecs=1 and ffmpeg_branding=ChromeOS

Not quite; those $GYP_DEFINES are necessary to get h264/mp4 support, but other codec/container support is built into chrome even without them (e.g. vp8/webm, theora/ogv, etc).
However it's likely that your OpenMAX implementation only supports h264, so if that's what you're working on/towards, those defines are indeed necessary.
 
Reading previous posts from 2011 ffmpeg+omx didn't go far, is there any plan to resume the integration? 

No, there aren't - that combination doesn't work b/c we sandbox GPU-accessing libraries to the GPU process, and we don't want to run ffmpeg in the GPU process, only the renderer. 

Cheers,
-a
Reply all
Reply to author
Forward
0 new messages