XBMC green video on LG G2
#1
All,

I am having a problem playing back a video stream on the LG G2 phone. I am trying to play back a 720P stream encoded with AVC from a DLNA server. The thing is that this stream plays back with no problem on a LG G Pad. I have pulled the log files from both devices and I noticed a couple of things.

The gpad does this but the G2 does not:

DEBUG: SECTION:LoadDLL(libswscale-2-arm.so)
DEBUG: Loading: /data/app-lib/org.xbmc.xbmc-1/libswscale-2-arm.so

The color format appears to be 1 bit different between the devices. For the gpad:

DEBUG: CDVDVideoCodecAndroidMediaCodec::Open m_codecname(OMX.qcom.video.decoder.avc), colorFormat(2141391875)

for the G2:

DEBUG: CDVDVideoCodecAndroidMediaCodec::Open m_codecname(OMX.qcom.video.decoder.avc), colorFormat(2141391876)

Then the G2 has this:

DEBUG: int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture*, double) - change configuration. 1280x720. framerate: 29.97. format: NONE
NOTICE: Display resolution DESKTOP : 1794x1080 @ 60.00 - Full Screen (16)
DEBUG: CXBMCRenderManager::Configure - 3
NOTICE: Using GL_TEXTURE_2D
DEBUG: GL: Requested render method: 0
ERROR: GL: BaseYUV2RGBGLSLShader - unsupported format 0
DEBUG: GL: BaseYUV2RGBGLSLShader: defines:
NOTICE: GL: Selecting Single Pass YUV 2 RGB shader
DEBUG: GL: Vertex Shader compilation log:
DEBUG: GL: Vertex Shader compiled successfully
DEBUG: GL: Pixel Shader compilation log:
DEBUG: GL: Fragment Shader compiled successfully

But the G Pad has this

DEBUG: PlayBackRet CApplication:TonguelayFile(const CFileItem&, bool) : OpenFile succeed, play state 2
DEBUG: virtual void CApplication::OnPlayBackStarted() : play state was 2, starting 0
INFO: CPythonInvoker(1, /data/data/org.xbmc.xbmc/cache/apk/assets/addons/plugin.video.antenna/antenna.py): script successfully run
DEBUG: CDVDVideoCodecAndroidMediaCodec:: width(1280), height(720), stride(1280), slice-height(736), color-format(2141391875)
DEBUG: CDVDVideoCodecAndroidMediaCodec:: crop-left(0), crop-top(0), crop-right(1279), crop-bottom(719)
DEBUG: CDVDVideoCodecAndroidMediaCodec:: Direct Surface Rendering

So it seems that the G Pad is using the CDVDVideoCodecAndroidMediaCodec where as the G2 is not. Also the color format for the same stream is different on different devices but the hardware decoder is the same. Also the G2 seems to be creating GL shaders but the G Pad does not.

Can anyone tell from this information why the G Pad plays back fine but the G2 has a green screen?

G Pad log file: http://pastebin.com/35FPKgzX
G 2 log file: http://pastebin.com/3RzVBCr2
Reply
#2
Mmm.. bummer. Looks like the G2 does not emit INFO_OUTPUT_FORMAT_CHANGED...
Does it work okay if you disable MediaCodec, only leaving libstagefright?

[Edit]
What version of Android is on your G2?
Reply
#3
Koying,

The G2 is running 4.2.2 (so is the G Pad).

(I don't see the INFO_OUTPUT_FORMAT_CHANGED in either log file. How can you tell the G Pad emits INFO_OUTPUT_FORMAT_CHANGED)?

I tried it again. In this case FFMPEG decoder was used (which I was expecting based on this)

DEBUG: CDVDFactoryCodec: compiled in hardware support: CrystalHD:no AMCodec:yes MediaCodec:yes OpenMax:no libstagefright:no VDPAU:no VAAPI:no

The G2 plays back the video stream. Apparently the Snapdragon has enough horsepower to use sw decoding on this 720 stream at ~4.5 Mbs.

It is counter intuitive that turning off the hw decoding actually allows the video to play back.
Reply
#4
If not mistaken, Android 4.4.2 is being rolled out to the G2 as we speak.
Could you redo a test once you get it, please.
Reply
#5
Koying,

I have seen in the news that 4.4 is rolling out for the G2 international version. I have a US version with Verizon. I'm not sure if/when 4.4 will be available. I will test again when I get a chance.
Reply
#6
Ok. In the meantime, you can try disabling "mediacodec" in the "Acceleration" tab of the settings (in expert mode) to only leave "libstagefright" on.
Reply
#7
Was support for lib stage fright removed at some point? I only have the option to turn MediaCodec on or off.

I can tell from the logs that when I turn MediaCodec off, FFMPeg software decoding is used.
Reply
#8
Back last year LibSF H/W Accel was by error missed out on a few Gotham Nightly builds but it was soon sorted out.
I'm running Gotham Beta 3 Nightly 20th March 2014 on my Android Tablets and LibSF is there.
@ Koying Green again possible linkHuh
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC green video on LG G20