@unknownbrackets  thanks for your suggestions. In fact, I've already tested MediaEngin::openContext before when I coding my decode function in order to initialize the pFormatCtx, however, we have still initialize some parameter before such as "m_bufSize", and even did this, the initialization is still stopped here
<code>if (avformat_open_input((AVFormatContext**)&m_pFormatCtx, NULL, NULL, NULL) != 0) </code>
and return false. That's why I give up this direction. and anywhat, I think we do not need pFormatCtx in decode process. and pCodexCtx, pCodec, pFrame are enough.
 
On the other hand, accoding to trace log, the game calling order for decoding is that:
  sceMpegbase_BEA18F91 -> sceMpegAvcDecode ->  sceMpegbase_BEA18F91 ->...
Each time, sceMpegbase_BEA18F91 pass some frames, normally one, could be also 2 or 3. and then call sceMpegAvcDecode to decode them and playing, when finished, call again sceMpegbase_BEA18F91 and pass some new frames. So the game has its proper function to read video stream and get packet data. What we need is to decode each stream and show  on the screen, the same to the audio. Now, the audio is playing all right since it use my last updated interface sceAudiocode, that has supported mp3 and aac audios, so it works. But video pass from sceMpeg which is not successful. I am a newbie on ffmpeg, and still the first time to try video stream decode. So I am not clear what the ringbuffer is? is it something like packets data? 
By the way, Could you give me a short introduction on the calling order of functions in ppsspp from reading files on disc to playing the audio and video?

I have no PSP, so not possible to detect the behavior on the real device. So I can only guess what it could be, try something and debug its behavior, as the way as a hacker: following the intuition to discovery the mistery in the dark! 

To @sum2012  thanks for your support, however, I still have no idea how the function sceMpegbase_BEA18F91 to passing ringbuffer or packets data to decoder since there seems no output arguments for them. What I did in ppsspp is too pass the source with static variables, but it should not be like this in real psp. So if you are able to analyze your psp the real behavior of this function, that will be much more helpful.