• 1
  • 6
  • 7
  • 8(current)
  • 9
  • 10
  • 52
libstagefright - Experimental hardware video decoding builds
The first folder "Android" can be called other things on various devices. That's why it's suggested to just use the debug log uploader add-on.
Ok but i guess many things wont need so many logs @ all seeing that many issues seem to be already shared issues with other same SOC devices.
As example i share the same experience "issue" as with http://forum.xbmc.org/showthread.php?tid...pid1299654 on the monster clip
Also i share pretty much with everyone of the RK3066 VPU based SOCs the "horizontal tearing effect" and the crashes after playback finished is also a shared issue.

Now it would be interesting to find out if other RK3066 Devices don't show the same issues, anyway i first gonna try if some issues fixed after the 13.01 build though this gets stuck issue with that monster clip i guess could also be rather located in the parsing and or decoding itself rather then the libstagefright decoding in those regards i find those clips interesting that always show the same issues but have initially no real playback problems Smile
So a solid foundation of test clips might be @ first better to get the playback per Device stable before mixing maybe parser issues into all this.



Code:
TP7-1500DC-metal (RK3066 VPU)

Bitstream     XBMC-Hardware 13.01.2013                      XBMC-Hardware 18.01.2013                       XBMC-Hardware 19.01.2013
-------------------------------------------------------------------------------------------------------------------------------------------------
Birds                f (crash)                                    f (crash)                                   f (crash)      
hddvd                x (slow >10 fps heavy frame drops)           x (slow >10 fps heavy frame drops)          x (slow >10 fps heavy frame drops)
Monsters             x (1)                                        f (crash)                                   x (6) very slow mega frame drops)              
Suzumiya             x (2)                                        f (crash)                                   x (7)
Matrix               x (3)                                        x (3)                                       x (3)
Harry                x (4)                                        f (crash)                                   x (8)
planet               x (Decoding errors on end crashes XBMC)      x (5)                                       x (5)
shrinkage            x (4)                                        f (crash)                                   x (9)
shrinkage 2          x (4)                                        f (crash)                                   x (9)
planet 2             x (4)                                        f (crash)

1 = only subs and audio then stops after 2 seconds loading of another file takes a long time after this
2 = Decoding errors same as with planet + frame jumps forth/back subs wrong placed unstyled after playback crash
3 = CPU XBMC 80%
4 = CPU XBMC 53% Decoding Errors (horizontal tearing ?) same as Planet and Suzumiya same crash @ end
5 = Plays with little amount of Framedrops scaling fails (nearest neighbour)
6 = Plays till Happy Birthday stucks and then restarts the Tablet (yes no Android restart but the whole thing really crashes completely to the on state)
7 = subs wrong placed unstyled scaling fails (nearest neighbour)
8 = CPU XBMC 50% english audio track timestamp issues scaling fails (nearest neighbour)
9 = CPU XBMC 58% scaling fails (nearest neighbour)

http://xbmclogs.com/show.php?id=29321
http://xbmclogs.com/show.php?id=29314


The strange Horizontal Tearing and crashes after playback are gone, though it now becomes evident that the hardware scaling is failing, the monsters bitstream behavior has now become deadly for the system (reboot possible).

Also some strange behavior if the Android Notification Bar Overlays the whole GUI freezes and only pushing power and unlock it gets it out of this temporal freeze state. Though it seems Android is unstable after this as everytime triggering the Notification Bar after this happened with XBMC it freeezes (only reboot fixes it completely).

I guess this is why the styled playback fails so horrible on the Suzumiya stream

ERROR: Unable to load libass.so, reason: Symbol not found:
04:58:32 T:1746501184 DEBUG: Dll libass.so was not found in path
04:58:32 T:1746501184 ERROR: CDVDSubtitlesLibass: Failed to load libass library
04:58:32 T:1746501184 DEBUG: FactoryCodec - Overlay: SSA Subtitle Decoder - Failed
04:58:32 T:1746501184 DEBUG: FactoryCodec - Overlay: Text Subtitle Decoder - Opening
04:58:32 T:1746501184 DEBUG: FactoryCodec - Overlay: Text Subtitle Decoder - Opened
@CruNcher Thanks for your summary.
What do you mean by "scaling fails (nearest neighbour)". Would you have a screenshot of that?
If all goes well, a new build should land in http://mirrors.xbmc.org/test-builds/android/ at approx 21:35 UTC
Code:
TP7-1500DC-metal (RK3066 VPU)
Android 4.1.1
Kernel: 3.08 SMP

Bitstream        XBMC-Hardware 21.01.2013                  
--------------------------------------------------------
Birds                f (crash)                          
hddvd                x (slow >10 fps heavy frame drops)
Monsters             x (1)                      
Suzumiya             x (2)                              
Matrix               x (3)                              
Harry                x (4)                              
planet               x (5)
shrinkage            x (5)                              
shrinkage 2          x (5)                              
planet 2             x (5)                              


1 = CPU XBMC 70% frame drops decoding errors on the top (no crash anymore :) )
2 = CPU XBMC 60% unstyled sub issue else Fluid Playback :)
3 = CPU XBMC 80% (Software Decoder Fallback) Fluid Playback
4 = CPU XBMC 50% english audio track timestamp issues (frame stucks) with Hindi track Fluid Playback
5 = CPU XBMC 60& Fluid Playback :)

Awesome Progress (Stability) Koying the scaling issues are gone also the Android GUI freeze :-)

Here the Monsters issue left appears on the top not every frame and seems to cause performance issues @ playback (interfering)

Image

The Bird clip is sucking up alot of memory you can see the mem counter going down very fast i guess you see the first frame in the viewer area even but then suddenly the memory gets freed in 1 go and it crashes.

The VC-1 stream (hddvd) looks like it never reaches RockChips VC-1 Decoder (VC1Decoder) but ffmpeg tries to decode it (else that performance is hardly understandable)


So awesome 7 out of 10 streams work now 2 of those streams though are identical (only container differs) Smile
gonna throw my test database now @ it Smile
It seems also that the more complex the stream the more problematic the monsters with 10 mbps and high profile 4.1 getting this to run without issues would be a big step :-)
The Birds Complexity is heavy im not really that surprised that it crashes as the only one of those currently

Hello...

Device - MELE A2000

Results - appears to be no Hardware acceleration with any of the test builds.

debug xbmc.log: http://xbmclogs.com/show.php?id=29472

Thanks

Hello,

Did some tests on my Samsung Galaxy Nexus with JB sourcery ROM.
Some disco effect seen on screen borders, 720p video freezes silghtly every 2 seconds.
Logs: here: http://xbmclogs.com/show.php?id=29562

I'll do some more tests with the video references.

V.
Did some more tests using the latest apk xbmc-20130121-3fa9c61-android-hwaccel-armeabi-v7a.apk and some video references you provided. Much much better. Freezes are less perceptible and no more disco effect on borders. Only birds has no freezes.
I have the feeling that the freezes is due to the audio downmix which seems to take a lot of CPU, even if video is HW it looks like it has an impact.
I also has some crashes, especially when ending videos.
Logs ID: http://xbmclogs.com/show.php?id=29569

V.

If you ask me - just leave the killa and birds example out of the equation. AFAIK these are encoded out of spec and don't really matter in this thread (they are just stupid!). Koying might overwrite this statement if he likes to.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
(2013-01-22, 02:59)CruNcher Wrote: The VC-1 stream (hddvd) looks like it never reaches RockChips VC-1 Decoder (VC1Decoder) but ffmpeg tries to decode it (else that performance is hardly understandable)

(2013-01-22, 02:59)CruNcher Wrote: It seems also that the more complex the stream the more problematic the monsters with 10 mbps and high profile 4.1 getting this to run without issues would be a big step :-)
I assume you tried those with another player and they ran flawless and accelerated?
I mean libstagefright is just an interface. It inherits the plusses and cons of the underlying HW acceleration implementation.
Yes of course i did, my reference is MX Player with it's Hardware Overlay capability

Here i tried a Blu-Ray Complexity Stream High Profile

Image


I reach around 10 fps the FPS shown there i guess is the rendering speed of the OSD Nav Bar
though CPU XBMC is @ a whopping 150%

Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : 27
Duration : 1mn 32s
Bit rate mode : Variable
Bit rate : 24.6 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.494
Stream size : 270 MiB (96%)

it runs without issues realtime with MX Player


it looks like Stagefright Hardware accelleration fails for this stream falling back to ffmpeg

13:02:50 T:1705703400 NOTICE: DVDPlayer: Opening: /mnt/sdcard/Movies/bond.m2ts
13:02:50 T:1705703400 WARNING: CDVDMessageQueue(player):Tongueut MSGQ_NOT_INITIALIZED
13:02:50 T:1705703400 DEBUG: CRenderManager::UpdateDisplayLatency - Latency set to 0 msec
13:02:50 T:1705703400 DEBUG: LinuxRendererGL: Cleaning up GL resources
13:02:50 T:1745360712 NOTICE: Creating InputStream
13:02:50 T:1745360712 DEBUG: : Searching for subtitles...
13:02:50 T:1745360712 DEBUG: : END (total time: 10 ms)
13:02:50 T:1745360712 NOTICE: Creating Demuxer
13:02:50 T:1745360712 DEBUG: - probing detected format [mpegts]
13:02:50 T:1745360712 DEBUG: - avformat_find_stream_info starting
13:02:50 T:1705703400 DEBUG: ------ Window Init (DialogBusy.xml) ------
13:02:50 T:1705703400 DEBUG: Window DialogBusy.xml was already loaded
13:02:50 T:1705703400 DEBUG: Alloc resources: 0.01m
13:02:52 T:1745360712 DEBUG: - av_find_stream_info finished
13:02:52 T:1745360712 INFO: ffmpeg[68081748]: Input #0, mpegts, from '/mnt/sdcard/Movies/bond.m2ts':
13:02:52 T:1745360712 INFO: ffmpeg[68081748]: Duration: 00:01:32.09, start: 599.958300, bitrate: 25595 kb/s
13:02:52 T:1745360712 INFO: ffmpeg[68081748]: Program 1
13:02:52 T:1745360712 INFO: ffmpeg[68081748]: Stream #0:0[0x1011]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
13:02:52 T:1745360712 NOTICE: Opening video stream: 0 source: 256
13:02:52 T:1745360712 NOTICE: Creating video codec with codec id: 28
13:02:52 T:1745360712 DEBUG: CDVDFactoryCodec: compiled in hardware support: CrystalHD:no OpenMax:no libstagefright:yes VDPAU:no VAAPI:no
13:02:52 T:1745360712 DEBUG: FactoryCodec - Video: stf-xxxx - Opening
13:02:52 T:1745360712 ERROR: CDVDVideoCodecStageFright:: - failed to open, codec(28), profile(100), level(41)
13:02:52 T:1745360712 DEBUG: FactoryCodec - Video: stf-h264 - Failed
13:02:52 T:1745360712 DEBUG: FactoryCodec - Video: - Opening
13:02:52 T:1745360712 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
13:02:52 T:1745360712 DEBUG: FactoryCodec - Video: ff-h264 - Opened
13:02:52 T:1745360712 NOTICE: Creating video thread
13:02:52 T:1745047416 NOTICE: running thread: video_thread
13:02:52 T:1745360712 DEBUG: - Checking for edit decision lists (EDL) on local drive or remote share for: /mnt/sdcard/Movies/bond.m2ts
13:02:52 T:1745360712 DEBUG: CDVDPlayer::SetCaching - caching state 3
13:02:52 T:1745360712 WARNING: CDVDMessageQueue(audio):Tongueut MSGQ_NOT_INITIALIZED
13:02:52 T:1745047416 DEBUG: CDVDPlayerVideo - CDVDMsg::GENERAL_RESYNC(0.000000, 1)
13:02:52 T:1745047416 INFO: CDVDPlayerVideo - Stillframe left, switching to normal playback
13:02:52 T:1705703400 DEBUG: Unfocus WindowID: 10025, ControlID: 50
13:02:52 T:1705703400 DEBUG: CGUIInfoManager::SetCurrentMovie(/mnt/sdcard/Movies/bond.m2ts)
13:02:52 T:1705703400 DEBUG: CAnnouncementManager - Announcement: OnPlay from xbmc
13:02:52 T:1705703400 DEBUG: GOT ANNOUNCEMENT, type: 1, from xbmc, message OnPlay
13:02:52 T:1705703400 DEBUG: ------ Window Deinit (DialogBusy.xml) ------
13:02:52 T:1745047416 NOTICE: fps: 23.976024, pwidth: 1920, pheight: 1080, dwidth: 1920, dheight: 1080
13:02:52 T:1745047416 DEBUG: - change configuration. 1920x1080. framerate: 23.98. format: YV12
13:02:52 T:1745047416 NOTICE: Display resolution DESKTOP : 1024x552 @ 60.00 - Full Screen (16)
13:02:52 T:1705703400 DEBUG: Activating window ID: 12005


Here i tested the 720p Planet Bitstream again and that gets through to the Decoder Sad

13:27:52 T:1731006112 NOTICE: DVDPlayer: Opening: /mnt/sdcard/Movies/tested/h264_720p_hp_5.1_6mbps_ac3_planet.mp4
13:27:52 T:1731006112 WARNING: CDVDMessageQueue(player):Tongueut MSGQ_NOT_INITIALIZED
13:27:52 T:1731006112 DEBUG: CRenderManager::UpdateDisplayLatency - Latency set to 0 msec
13:27:52 T:1731006112 DEBUG: LinuxRendererGL: Cleaning up GL resources
13:27:52 T:1744913856 NOTICE: Creating InputStream
13:27:52 T:1744913856 DEBUG: : Searching for subtitles...
13:27:52 T:1744913856 DEBUG: : END (total time: 13 ms)
13:27:52 T:1744913856 NOTICE: Creating Demuxer
13:27:52 T:1744913856 DEBUG: - probing detected format [mov,mp4,m4a,3gp,3g2,mj2]
13:27:52 T:1744913856 DEBUG: - avformat_find_stream_info starting
13:27:52 T:1731006112 DEBUG: ------ Window Init (DialogBusy.xml) ------
13:27:52 T:1731006112 DEBUG: Window DialogBusy.xml was already loaded
13:27:52 T:1731006112 DEBUG: Alloc resources: 0.01m
13:27:53 T:1744913856 DEBUG: - av_find_stream_info finished
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/mnt/sdcard/Movies/tested/h264_720p_hp_5.1_6mbps_ac3_planet.mp4':
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: Metadata:
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: major_brand : isom
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: minor_version : 1
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: compatible_brands: isomavc1
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: creation_time : 2011-05-07 22:51:02
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: encoder : My MP4Box GUI 0.5.5.4 <http://my-mp4box-gui.zymichost.com>
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: Duration: 00:01:52.83, start: 0.000000, bitrate: 7052 kb/s
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 6602 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: Metadata:
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: creation_time : 2011-05-07 22:51:02
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: handler_name : Imported with GPAC 0.4.6-DEV (internal rev. 5)
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16, 448 kb/s
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: Metadata:
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: creation_time : 2011-05-07 22:51:03
13:27:53 T:1744913856 INFO: ffmpeg[680145C0]: handler_name :
13:27:53 T:1744913856 NOTICE: Opening video stream: 0 source: 256
13:27:53 T:1744913856 NOTICE: Creating video codec with codec id: 28
13:27:53 T:1744913856 DEBUG: CDVDFactoryCodec: compiled in hardware support: CrystalHD:no OpenMax:no libstagefright:yes VDPAU:no VAAPI:no
13:27:53 T:1744913856 DEBUG: FactoryCodec - Video: stf-xxxx - Opening
13:27:53 T:1744913856 INFO: CBitstreamConverter::Open bitstream to annexb init
13:27:53 T:1744913856 DEBUG: CStageFrightVideo:: - component: OMX.rk.video_decoder.avc
13:27:53 T:1744913856 DEBUG: FactoryCodec - Video: stf-h264 - Opened
13:27:53 T:1744913856 NOTICE: Creating video thread
13:27:53 T:1744913856 NOTICE: Opening audio stream: 1 source: 256
13:27:53 T:1744141616 NOTICE: running thread: video_thread
13:27:53 T:1744913856 NOTICE: Finding audio codec for: 86019
13:27:53 T:1744141616 DEBUG: CDVDPlayerVideo - CDVDMsg::GENERAL_SYNCHRONIZE
13:27:53 T:1744913856 DEBUG: FactoryCodec - Audio: FFmpeg - Opening
13:27:53 T:1744913856 DEBUG: FactoryCodec - Audio: FFmpeg - Opened
13:27:53 T:1744913856 NOTICE: Creating audio thread
13:27:53 T:1743014264 NOTICE: running thread: CDVDPlayerAudio:Tonguerocess()
(2013-01-22, 01:46)saloomhack Wrote: Hi,
just installed the last build and tested it on MK802 III with streamOn addon, video is blurring as seen on this picture
Please, start by testing and reporting "standard" video files, like the reference ones. Pointless to add points of failure like whatever addon at this state.

HAHAHA, I love it. we get hw video decode working and users start tossing useless stress tests like killa at it Smile Lets try and keep the testing to 'typical' video content. Some of these stress test video will never play right.
(2013-01-22, 14:11)CruNcher Wrote: Here i tried a Blu-Ray Complexity Stream High Profile
Yep, there was a bug playing already annexB h264 like m2ts.
Fix will be in next build.

The "birds" is probably a pure "out-of-memory. I keep a 50 frames buffer and for a 40Mbps 1080p, that's a lot of memory.
Will see to manage memory better.

I'm interested in a logcat of the crash, though.

Koying, is this latest build using SW or HW rendering? The previous build produced no video output at all using HW. This latest build plays all of my x264 720p dts or ac3 content back flawlessly. I've also tested with mpeg2 sd content without issue.

Galaxy Tab 7+
CM10/JB
  • 1
  • 6
  • 7
  • 8(current)
  • 9
  • 10
  • 52

Logout Mark Read Team Forum Stats Members Help
libstagefright - Experimental hardware video decoding builds10