[vlc-devel] Severe A/V asynchronous with hardware acceleration on android

Martin Storsjö martin at martin.st
Mon May 7 11:37:25 CEST 2012


On Mon, 7 May 2012, ScottLin wrote:

> Does samsung galaxy s2 smoothly play 1080p file?
> How about samsung galaxy tab 2?
> Are there special performance hacks for samsung cpu?

I doubt they do via VLC. The problem is, even if we get hw accelerated 
decoding using iomx, there's still a lot of data copying going on, which 
is hard to avoid. (The hw decoder is only available within the mediaserver 
process, and VLC needs the decoded data, so it is copied between the 
processes, giving more overhead than the platform's native video players 
that do everything within the media server.) So it might give a 
performance boost, but it will unfortunately always have more overhead 
than what the native player does.

> Please reference to the attachment.

Thanks, this does explain things a bit.

If you reverted the commit you mentioned, did you have extra garbage at 
the bottom of the video? Since if you had reverted the change, you 
probably got 704 pixels high output even if the video itself only was 688 
pixels.

Anyway, I think the issue might be solved for you with the following 
change:

diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c
index 80d327e..9ac4875 100644
--- a/modules/codec/omxil/omxil.c
+++ b/modules/codec/omxil/omxil.c
@@ -460,6 +460,8 @@ static OMX_ERRORTYPE GetPortDefinition(decoder_t 
*p_dec, OmxPort *p_port,
          omx_error = OMX_GetConfig(p_port->omx_handle, 
OMX_IndexConfigCommonOutputCrop, &crop_rect);
          if (omx_error == OMX_ErrorNone)
          {
+            if (!def->format.video.nSliceHeight)
+                def->format.video.nSliceHeight = def->format.video.nFrameHeight;
              p_fmt->video.i_width = crop_rect.nWidth;
              p_fmt->video.i_visible_width = crop_rect.nWidth;
              p_fmt->video.i_height = crop_rect.nHeight;

Please try that - if it works, I'll try to see if it works regression free 
on the other devices I've got access to.

// Martin



More information about the vlc-devel mailing list