简体   繁体   中英

Sniff H.264 raw stream at the video decoder abstract layer

I'm trying to make a H.264 sniffer for my android distribution. Basically, what I want is to just dump any H.264 stream that is passed from a lambda android application by intercepting it on its way to the hardware video decoder.

I have an odroid-c1 board (AmLogic S805 SoC) and my android build setup is ready. Now, what I need to know is where is the code called when a new H.264 frame is ready to be sent to decoding. Surely there must be a common place ?

When searching the build tree for files referencing H.264 or OMX, I have various results including libstagefright/omx/ , ffmpeg/libavcodec/ , LibPlayer/amffmpeg/ (Amlogic's own fork of FFmpeg) [..].

If you have any idea or name of functions that are part of the video decoding path, I'll take them :). Thanks !

As far as I know the Amlogic CPU contains two DSPs for Audio and Video decoding. Data is delivered to them through the amports driver in kernel space.

The userspace part of this driver is the libamcodec which provides a thin layer to this driver.

I do not know what kind of layers in Android are invloded but most probably they use Amlogic ffmpeg which is using libamplayer as middle layer which calls in the end libamcodec....

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM