For some reasons, I have to use OpenMAX IL to encode/decode video(format I420/H.264).
- Basically, I configure the OpenMAX IL component according to “Acodec.cpp” (Android 4.1).
- I’m using a Nexus 7(Android 4.1) for development.
- I use “_iomx->emptyBuffer(_node, mBuffer, 0, bufferSize, 0, timeStamp);” to transfer video frame and timestamp to OpenMAX IL component.
- When get message “omx_message::FILL_BUFFER_DONE:”, I get out the encoded/decoded video frame and timestamp.
Problem:
The encoded/decoded video frame is OK. I have written the YUV/H.264 data to files and it can display on PC. But, the timestamp is error, that is, timestamp I transfer to OpenMAX IL component doesn’t equal to timestamp I get from OpenMAX IL component.
Question:
Since I can get the right YUV/H.264 data, I think I should just make a few mistakes. Which configuration I may made a mistakes?
If I don’t describe the problem clearly, please let me know what else information you need.
Thanks in advance for any help.