I need to decode an H.264 stream which is in a buffer in memory, i.e. I just want to supply a pointer and a buffer size. I had this working using the decoder supplied in the ipp-samples for IPP 5.3 but I had to override the H264AnnexBSplitter::Init method to get it to point to the appropriate place in memory since the examples only provide the facility for reading from a file.
Now, I've upgraded to 6.0-1 and it seems a lot harder to do. There is the class FileReader but that's not particularly easy to modify or override as it relies on other things like vm_mmap_create.
Is there a recommended simple way to do this or will I have to derive a class from DataReader (seems like quite a lot of work for such a simple, common task)?
Thanks for that. I've been playing with that code and I'm having problems getting it to work. You seem to not be using a splitter so does this work for streams that include audio?
I ask this because when I first implemented my decode, I did it in this way and I had the problem that after calling H264VideoDecoder::Init(...), when I call GetInfo, it returns "not initialised". I fixed this by using a splitter first.
Now the splitter has changed in IPP 6.0. I think I might have to derive from DataReader to get it to work but it's a shame there is no BufferReader class built in with the examples.