I am working on OPENMAX DL omxACMP3_SynthPQMF_S32_S16 for MP3 decoder
I couldn’t understand completely what openmax DL tells about pVBuffer and pVPosition.
OMXResult omxACMP3_SynthPQMF_S32_S16(OMX_S32 *pSrcY, OMX_S16 *pDstAudioOut,
OMX_S32 *pVBuffer, OMX_INT *pVPosition, OMX_INT mode);
pSrcY- I am taking 32 output samples of IMDCT.
pDstAudioOut – pointer to the output PCM samples.
pVBuffer – In the OPENMAX DL, it is given that the the pVBuffer input for the current call should contain the pVBuffer output generated by the previous call and each call .
So have taken the first half of the buffer for channel 0 and the second half of the buffer for channel 1 and passing the addresses of the Buffer accordingly from outside the API.
pVPosition- In the OPENMAX DL, it is given that the state variable pVPosition should be initialized to zero and preserved between calls.
I have chosen two pointers to store the actual position, one for channel 0 and one for channel 1, so that the pVPosition value is not changed when we move from channel 0 to channel 1 and will be the previous value when we come back to channel 0 for the next frame.
Please clarify me if I am right or wrong.
Thanks & Regards,