[vlc-devel] [RFC PATCH 00/11] OMX: enable android hardware buffers (zero copy)
martin at martin.st
Tue Jul 1 12:44:52 CEST 2014
On Tue, 24 Jun 2014, Thomas Guillem wrote:
> I did the development on a Nexus 10 with last android 4.4.3, and I have a
> performance issue using HW buffers. I need to investigate more since I know
> that I don't have any performances issue with my other player. I also tested it
> on a RK30 and a QCOM device.
What QCOM device did you test it on (and on what firmware)?
I've tried to test this code on a number of different devices and haven't
gotten it working properly of any of them.
On a Galaxy S3 running 4.3, I've got it almost working - I get the first
frame displayed, then I get the following errors:
E/VLC (19825): iomx decoder: omx buffer should be filled at that point
D/VLC (19825): iomx decoder: error during decoding
(and the last message repeated for every packet)
For this device, I had to do an extra workaround for setting the hal pixel
format for the hw buffers. This was what I had run into when I tried doing
this myself earlier, when I concluded this to be too hacky to be worth
pursuing. (I'll follow up with the details of this in the review of the
actual patch for omxil.cpp.)
On a Galaxy Nexus currently on 4.1, I get the following errors:
D/VLC ( 1388): iomx decoder: OMX_SetParameter failed (80001001 : OMX_ErrorUndefined)
E/VLC ( 1388): iomx decoder: HwBuffer_AllocateBuffers(1) failed
E/VLC ( 1388): iomx decoder: AllocateBuffer failed (80001000 : OMX_ErrorInsufficientResources)
D/VLC ( 1388): iomx decoder: OMX_AllocateBuffers failed (80001000, 1)
D/VLC ( 1388): iomx decoder: PortReconfigure(1)::done
D/VLC ( 1388): iomx decoder: PortReconfigure failed
D/VLC ( 1388): iomx decoder: error during decoding
And on a Galaxy S4 (running 4.4) and Nexus 4 (running 4.3 currently), the
There's no important user data on neither of the nexus devices, so I can
flash them to other factory images if necessary to test.
So the Galaxy S3 case seems to be the one closest to working - I'll have a
closer look later to see if I can figure out what's going wrong in the
code, unless you happen to find the issue yourself before.
More information about the vlc-devel