Please note I don’t have any experience with the lib, it was something I found 
with a fast google search.

 

FFMpeg does support hardware encoding, see:

https://ffmpeg.org/pipermail/ffmpeg-devel/2017-June/212339.html

 

So you could do it that way as well. As far as I can tell, it would indeed 
entail compiling ffmpeg with the mentioned flag, and then use the alternate 
functions for everything, as you see in that changeset.

 

So, instead of avcodec_open2, you would use ffrkmpp_open_decoder and so forth.

 

I have no experience with using this. But if you look at that patchset which 
adds the rockchip support, it should be pretty obvious.

 

Regards,

 

Henri Zikken

 

Van: Libav-user <libav-user-boun...@ffmpeg.org> Namens Anton Prikazchikov
Verzonden: woensdag 11 april 2018 15:59
Aan: "This list is about using libavcodec, libavformat, libavutil,libavdevice 
and libavfilter." <libav-user@ffmpeg.org>
Onderwerp: Re: [Libav-user] How to use rkmpp decoder?

 

Thanks for answer!

I will be testing the lib which you sent.

But still, do you know what mean "--enable-rkmpp" flag? I thought that ffmpeg 
supports hardware decoding too.

Среда, 11 апреля 2018, 17:37 +04:00 от Henri Zikken <zik...@xs4all.nl 
<mailto:zik...@xs4all.nl> >:

The packet you get, is raw stream data. If you want to decode it, you have to 
send the packet tot he decoder, and then receive back pcm frames from it. 
However, you don’t want to do that, as you want to use the hardware to decode, 
not ffmpeg. So this is why it’s kind of useless to put ffmpeg in it, as you 
want to do everything ffmpeg does, in hardware.

 

I’d consider using one of the multiple available rtp libs, like this one:

http://research.edm.uhasselt.be/jori/page/CS/Jrtplib.html

 

to receive the stream, and then the mpp software to do the decoding/encoding 
and so forth.  FFMpeg would be bloated and overly complicated as ‘just an rtp 
receiver’.

 

Regards,

 

Henri Zikken

 

Van: Libav-user <libav-user-boun...@ffmpeg.org> Namens Anton Prikazchikov
Verzonden: woensdag 11 april 2018 13:05
Aan: "This list is about using libavcodec, libavformat, libavutil,libavdevice 
and libavfilter." <libav-user@ffmpeg.org <mailto:libav-user@ffmpeg.org> >
Onderwerp: Re: [Libav-user] How to use rkmpp decoder?

 

I need an avpacket because i read rtcp stream using by ffmpeg and receive from 
the rtcp stream an avpacket. Mpp can't read rtcp stream as i know.

Also I saw that ffmpeg have "--enable-rkmpp" flag at the configuration stage. 
And if I'm not mistaken this flag have to enable decoding using by rkmpp, but I 
can't run it... What must this flag do?

>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.
I tried to add the received packet->data to mpppacket, but it doesn't work. 
Also i want to clarify does the packet->data accurately contain unmodified H264 
data?(I receive H264 data stream)

Вторник, 10 апреля 2018, 21:16 +04:00 от Henri Zikken <zik...@xs4all.nl 
<file://e.mail.ru/compose/%3fmailto=mailto%253azik...@xs4all.nl> >:

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.

 

Regards,

 

Henri Zikken

 

 

Van: Libav-user <libav-user-boun...@ffmpeg.org 
<file://e.mail.ru/compose/%3fmailto=mailto%253alibav%252duser%252dboun...@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@ffmpeg.org 
<file://e.mail.ru/compose/%3fmailto=mailto%253alibav%252du...@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)

Thanks,
Anton Prikazchikov

Понедельник, 9 апреля 2018, 20:06 +04:00 от Henri Zikken <zik...@xs4all.nl 
<mailto:zik...@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:

 

https://ffmpeg.org/doxygen/trunk/decoding__encoding_8c-source.html

 

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.

 

Regards,

 

Henri Zikken

 

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

 

Hello,

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?

Thanks,
Anton Prikazchikov

_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org <mailto:Libav-user@ffmpeg.org> 
http://ffmpeg.org/mailman/listinfo/libav-user

 

_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org 
<file://e.mail.ru/compose/%3fmailto=mailto%253alibav%252du...@ffmpeg.org> 
http://ffmpeg.org/mailman/listinfo/libav-user



С Уважением,
Приказчиков Антон

_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org <mailto:Libav-user@ffmpeg.org> 
http://ffmpeg.org/mailman/listinfo/libav-user

_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to