[Libav-user] How to use rkmpp decoder?

Henri Zikken zikken at xs4all.nl
Tue Apr 10 20:15:56 EEST 2018

I don’t see why you would want an avpacket in the first place, then. As ffmpeg won’t do the decoding, why bother with ffmpeg?


Basically the packet->data is just the raw data. You can just pass this on to your mpp packet as the buffer. Packet->size gives you the size.




Henri Zikken



Van: Libav-user <libav-user-bounces at ffmpeg.org> Namens Anton Prikazchikov
Verzonden: dinsdag 10 april 2018 08:34
Aan: "This list is about using libavcodec, libavformat, libavutil,libavdevice and libavfilter." <libav-user at ffmpeg.org>
Onderwerp: Re: [Libav-user] How to use rkmpp decoder?


My purpose is decoding a received from RTCP stream h264 AVPacket-s to AVFrame-s using by hardware of rk3399 (Rockchip RK3399 is a processor for computing(aarch64, Rockchip platform))

I found that rk3399 has mpp. Media Process Platform(mpp) is the video codec parser and Hardware Abstraction Layer library for the Rockchip platforms.
Mpp provides C API for decoding h264 video files using by hardware of Rockchip platform.

And now i am thinking that the problem is converting from AVPacket(contain H264 data from RTCP stream) to MppPacket(this packet i will send to hardware decoder)

Anton Prikazchikov

Понедельник, 9 апреля 2018, 20:06 +04:00 от Henri Zikken <zikken at xs4all.nl <mailto:zikken at xs4all.nl> >:

Ok, the rk339 is soms sort of computer. You are receiving a stream on that computer. Now you wish to decode that stream.


What is your purpose? What do you mean by decoding a stream? What has MPP got to do witht his all?


Ffmpeg can decode H264. See the docs for a full example of this:




You need more than just including .h files. The .h files can be seen as ‘descriptions of stuff to be found somewhere else’. So having the .h files might make it compile, but then it won’t link or won’t run due to missing files.


You need the compiled .so, .a or .dll files. So you need to compile ffmpeg yourself, or find the binaries suitable for your system.




Henri Zikken


Van: Libav-user <libav-user-bounces at ffmpeg.org <mailto:libav-user-bounces at ffmpeg.org> > Namens Anton Prikazchikov
Verzonden: maandag 9 april 2018 16:27
Aan: libav-user at ffmpeg.org <mailto:libav-user at ffmpeg.org> 
Onderwerp: [Libav-user] How to use rkmpp decoder?



I have rk3399 and installed mpp(https://github.com/rockchip-linux/mpp).

I am receiving rtsp stream using by ffmpeg(C++).
And now I have to decode h264 video using by mpp but I don't understand how to do this. 

I found https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/rkmppdec.c  and try to use this code for decoding.

I stopped on the code line below:

ret = ff_decode_get_packet(avctx, &pkt);

This function requires .h files from ffmpeg which i have not in my compiled version. Could someone prompt can I add some flags at configuration stage for .h files or somthing else?(I don't want take these files from github src)

Or maybe is there a better way for h264 decoding using by hw?

Anton Prikazchikov

Libav-user mailing list
Libav-user at ffmpeg.org <mailto:Libav-user at ffmpeg.org> 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20180410/2dcf4e55/attachment.html>

More information about the Libav-user mailing list