2014-03-19, 23:13
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:layFile(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
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:layFile(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