Hardware Decoding on CUBE U9GT2 Tablet?

*nix specific usage questions
coolbix
New Cone
New Cone
Posts: 9
Joined: 21 Feb 2012 03:41

Hardware Decoding on CUBE U9GT2 Tablet?

Postby coolbix » 14 May 2012 04:43

I enabled the hardware decoding option on the CUBE U9GT2 tablet which uses the RK2819 processor.
Upon playing a video, the screen is filled up with the green color and VLC goes down few seconds later.
Has anybody succeeded enabling the hardware decoding on U9GT2? Can anybody please give me a clue to fix it?
I've attached the log.

By the way, the omx accessing mechanism is one of the key features of the VLC-android, I think.
The guy(s) who wrote the omx part (omxil.c) did excellent job. Great idea and Nicely done. Much appreciation!

Code: Select all

[logcat] D/VLC ( 2012): using demux module "mp4" D/VLC ( 2012): looking for a subtitle file in /sdcard/Movies/ D/VLC ( 2012): looking for decoder module: 25 candidates D/VLC ( 2012): fmt in:h264, out: E/ ( 866): new RKOMXPlugin E/ ( 866): libOMX_Core.so mLibHandle != NULL E/ ( 866): policy = SCHED_RR E/ ( 866): 111111 bosa_loaders = 1 E/ ( 866): 1 E/ ( 866): 2222222 D/gralloc ( 80): alloc_buffer: Successfully allocated 0x80000 bytes, mIonFd=22, SharedFd=31 D/gralloc ( 80): free_buffer: Freeing 0x40000 bytes, mIonFd=22 SharedFd=28 D/gralloc ( 80): unmap_buffer: Successfully unmapped 0x40000 bytes at address 0x499b2000, SharedFd=28, map_count = 8 D/gralloc ( 203): unmap_buffer: Successfully unmapped 0x40000 bytes at address 0x64ce9000, SharedFd=89, map_count = 3 D/gralloc ( 203): map_buffer: Successfully mapped 0x80000 bytes at address 0x6503b000, SharedFd=89, map_count = 4 D/gralloc ( 2012): map_buffer: Successfully mapped 0x2d0000 bytes at address 0x6714b000, SharedFd=67, map_count = 3 D/VLC ( 2012): component OMX.google.aac.decoder D/VLC ( 2012): - role: audio_decoder.aac D/VLC ( 2012): component OMX.google.amrnb.decoder D/VLC ( 2012): - role: audio_decoder.amrnb D/VLC ( 2012): component OMX.google.amrwb.decoder D/VLC ( 2012): - role: audio_decoder.amrwb D/VLC ( 2012): component OMX.google.g711.alaw.decoder D/VLC ( 2012): - role: audio_decoder.g711alaw D/VLC ( 2012): component OMX.google.g711.mlaw.decoder D/VLC ( 2012): - role: audio_decoder.g711mlaw D/VLC ( 2012): component OMX.google.h263.decoder D/VLC ( 2012): - role: video_decoder.h263 D/VLC ( 2012): component OMX.google.h264.decoder D/VLC ( 2012): - role: video_decoder.avc D/VLC ( 2012): component OMX.google.mp3.decoder D/VLC ( 2012): - role: audio_decoder.mp3 D/VLC ( 2012): component OMX.google.mpeg4.decoder D/VLC ( 2012): - role: video_decoder.mpeg4 D/VLC ( 2012): component OMX.google.vorbis.decoder D/VLC ( 2012): - role: audio_decoder.vorbis D/VLC ( 2012): component OMX.google.vpx.decoder D/VLC ( 2012): - role: video_decoder.vpx D/VLC ( 2012): component OMX.rk.video_decoder D/VLC ( 2012): - role: video_decoder.avc D/VLC ( 2012): - role: video_decoder.m4v D/VLC ( 2012): - role: video_decoder.h263 D/VLC ( 2012): - role: video_decoder.flv1 D/VLC ( 2012): - role: video_decoder.m2v D/VLC ( 2012): - role: video_decoder.rv D/VLC ( 2012): - role: video_decoder.vp8 D/VLC ( 2012): - role: video_decoder.vc1 D/VLC ( 2012): - role: video_decoder.vp6 D/VLC ( 2012): component OMX.rk.video_decoder.avc D/VLC ( 2012): - role: video_decoder.avc D/VLC ( 2012): component OMX.rk.video_decoder.flv1 D/VLC ( 2012): - role: video_decoder.flv1 V/TabletStatusBar( 203): setLightsOn(true) D/VLC ( 2012): component OMX.rk.video_decoder.h263 D/VLC ( 2012): - role: video_decoder.h263 D/VLC ( 2012): component OMX.rk.video_decoder.m2v D/VLC ( 2012): - role: video_decoder.m2v D/VLC ( 2012): component OMX.rk.video_decoder.m4v D/VLC ( 2012): - role: video_decoder.m4v D/VLC ( 2012): component OMX.rk.video_decoder.rv D/VLC ( 2012): - role: video_decoder.rv D/VLC ( 2012): component OMX.rk.video_decoder.vc1 D/VLC ( 2012): - role: video_decoder.vc1 D/VLC ( 2012): component OMX.rk.video_decoder.vp6 D/VLC ( 2012): - role: video_decoder.vp6 D/VLC ( 2012): component OMX.rk.video_decoder.vp8 D/VLC ( 2012): - role: video_decoder.vp8 I/ActivityManager( 135): Displayed org.videolan.vlc/.gui.video.VideoPlayerActivity: +330ms D/VLC ( 2012): found 3 matching components for role video_decoder.avc D/VLC ( 2012): - OMX.google.h264.decoder D/VLC ( 2012): - OMX.rk.video_decoder D/VLC ( 2012): - OMX.rk.video_decoder.avc D/VLC ( 2012): loaded component OMX.rk.video_decoder of role video_decoder.avc D/VLC ( 2012): found 0 audio ports D/VLC ( 2012): found 0 image ports D/VLC ( 2012): found 2 video ports D/VLC ( 2012): -> input 0 (0 streams) (2:2:1048576 buffers) (0,0) enabled D/VLC ( 2012): -> video H264 - MPEG-4 AVC (part 10) 0x0@0.00 (7,0) (0,0) (0,0,0,0) D/VLC ( 2012): -> output 1 (0 streams) (2:2:200 buffers) (0,0) enabled D/VLC ( 2012): -> video Biplanar 4:2:0 Y/UV 0x0@0.00 (0,21) (0,0) (0,0,0,0) D/VLC ( 2012): component standard role set to video_decoder.avc E/ ( 866): old_nBufferCountActual = 2,pPortParam->nBufferCountActual = 2 E/ ( 866): omx_base_component_Private->state = 1 E/ ( 866): old_nBufferCountActual = 2,pPortParam->nBufferCountActual = 2 E/ ( 866): omx_base_component_Private->state = 1 D/VLC ( 2012): OmxEventHandler (OMX_EventCmdComplete, OMX_CommandStateSet, OMX_StateIdle) I/AvcDecapi( 866): On2_AvcDecoder init status 0 I/AvcDecapi( 866): pv_on2avcdecoder_init I/AvcDecapi( 866): H264DecInit D/gralloc ( 80): alloc_buffer: Successfully allocated 0x2d0000 bytes, mIonFd=22, SharedFd=28 I/AvcDecapi( 866): pv_on2avcdecoder_init done status 0 D/VLC ( 2012): OmxEventHandler (OMX_EventCmdComplete, OMX_CommandStateSet, OMX_StateExecuting) D/VLC ( 2012): sending codec config data 0x1daa5e0, 0x657ac000, 36 D/VLC ( 2012): -> input 0 (0 streams) (2:2:1048576 buffers) (0,0) enabled D/VLC ( 2012): -> video H264 - MPEG-4 AVC (part 10) 1280x720@29.97 (7,0) (0,0) (0,0,1280,720) D/VLC ( 2012): -> output 1 (0 streams) (2:2:200 buffers) (0,0) enabled D/VLC ( 2012): -> video Biplanar 4:2:0 Y/UV 1280x720@29.97 (0,21) (1280,0) (0,0,1280,720) D/VLC ( 2012): using decoder module "iomx" D/VLC ( 2012): looking for decoder module: 25 candidates D/VLC ( 2012): fmt in:mp4a, out: D/VLC ( 2012): component OMX.google.aac.decoder D/VLC ( 2012): - role: audio_decoder.aac D/VLC ( 2012): component OMX.google.amrnb.decoder D/VLC ( 2012): - role: audio_decoder.amrnb D/VLC ( 2012): component OMX.google.amrwb.decoder D/VLC ( 2012): - role: audio_decoder.amrwb D/VLC ( 2012): component OMX.google.g711.alaw.decoder D/VLC ( 2012): - role: audio_decoder.g711alaw D/VLC ( 2012): component OMX.google.g711.mlaw.decoder D/VLC ( 2012): - role: audio_decoder.g711mlaw D/VLC ( 2012): component OMX.google.h263.decoder D/VLC ( 2012): - role: video_decoder.h263 D/VLC ( 2012): component OMX.google.h264.decoder D/VLC ( 2012): - role: video_decoder.avc D/VLC ( 2012): component OMX.google.mp3.decoder D/VLC ( 2012): - role: audio_decoder.mp3 D/VLC ( 2012): component OMX.google.mpeg4.decoder D/VLC ( 2012): - role: video_decoder.mpeg4 D/VLC ( 2012): component OMX.google.vorbis.decoder D/VLC ( 2012): - role: audio_decoder.vorbis D/VLC ( 2012): component OMX.google.vpx.decoder D/VLC ( 2012): - role: video_decoder.vpx D/VLC ( 2012): component OMX.rk.video_decoder D/VLC ( 2012): - role: video_decoder.avc D/VLC ( 2012): - role: video_decoder.m4v D/VLC ( 2012): - role: video_decoder.h263 D/VLC ( 2012): - role: video_decoder.flv1 D/VLC ( 2012): - role: video_decoder.m2v D/VLC ( 2012): - role: video_decoder.rv D/VLC ( 2012): - role: video_decoder.vp8 D/VLC ( 2012): - role: video_decoder.vc1 D/VLC ( 2012): - role: video_decoder.vp6 D/VLC ( 2012): component OMX.rk.video_decoder.avc D/VLC ( 2012): - role: video_decoder.avc D/VLC ( 2012): component OMX.rk.video_decoder.flv1 D/VLC ( 2012): - role: video_decoder.flv1 D/VLC ( 2012): component OMX.rk.video_decoder.h263 D/VLC ( 2012): - role: video_decoder.h263 D/VLC ( 2012): component OMX.rk.video_decoder.m2v D/VLC ( 2012): - role: video_decoder.m2v D/VLC ( 2012): component OMX.rk.video_decoder.m4v D/VLC ( 2012): - role: video_decoder.m4v D/VLC ( 2012): component OMX.rk.video_decoder.rv D/VLC ( 2012): - role: video_decoder.rv D/VLC ( 2012): component OMX.rk.video_decoder.vc1 D/VLC ( 2012): - role: video_decoder.vc1 D/VLC ( 2012): component OMX.rk.video_decoder.vp6 D/VLC ( 2012): - role: video_decoder.vp6 D/VLC ( 2012): component OMX.rk.video_decoder.vp8 D/VLC ( 2012): - role: video_decoder.vp8 D/VLC ( 2012): found 1 matching components for role audio_decoder.aac D/VLC ( 2012): - OMX.google.aac.decoder D/VLC ( 2012): no component could be initialised D/gralloc ( 2012): map_buffer: Successfully mapped 0x2d0000 bytes at address 0x67884000, SharedFd=75, map_count = 4 D/OpenGLRenderer( 2012): Flushing caches (mode 0) D/gralloc ( 2012): unmap_buffer: Successfully unmapped 0x2d0000 bytes at address 0x654dc000, SharedFd=66, map_count = 3 D/gralloc ( 2012): unmap_buffer: Successfully unmapped 0x2d0000 bytes at address 0x6502e000, SharedFd=55, map_count = 2 D/VLC ( 2012): ffmpeg codec (MPEG AAC Audio) started D/VLC ( 2012): Using 192000 bytes output buffer D/VLC ( 2012): using decoder module "avcodec" D/gralloc ( 80): free_buffer: Freeing 0x2d0000 bytes, mIonFd=22 SharedFd=29 D/gralloc ( 80): unmap_buffer: Successfully unmapped 0x2d0000 bytes at address 0x4a86d000, SharedFd=29, map_count = 8 D/VLC ( 2012): looking for meta reader module: 1 candidate D/VLC ( 2012): no meta reader module matching "any" could be loaded D/gralloc ( 80): free_buffer: Freeing 0x2d0000 bytes, mIonFd=22 SharedFd=25 D/gralloc ( 80): unmap_buffer: Successfully unmapped 0x2d0000 bytes at address 0x49c77000, SharedFd=25, map_count = 7 D/VLC ( 2012): `file:///sdcard/Movies/Actionbar%20Sherlock.mp4' successfully opened D/VLC/JNI/main( 2012): vlc_event_callback: failed to get JNI environment, assuming native thread I/VLC/VideoPlayerActivity( 2012): MediaPlayerPlaying D/VLC ( 2012): track[Id 0x1] using Sync Sample Box (stss) D/VLC ( 2012): stts gives 0 --> 0 (sample number) D/VLC ( 2012): track[Id 0x2] does not provide Sync Sample Box (stss) D/VLC ( 2012): Buffering 0% D/VLC ( 2012): creating audio output D/VLC ( 2012): looking for audio output module: 2 candidates D/VLC ( 2012): using audio output module "android_audiotrack" D/VLC ( 2012): output 's16l' 44100 Hz Stereo frame=1 samples/4 bytes D/VLC ( 2012): mixer 'f32l' 44100 Hz Stereo frame=1 samples/8 bytes D/VLC ( 2012): filter(s) 'f32l'->'s16l' 44100 Hz->44100 Hz Stereo->Stereo D/VLC ( 2012): looking for audio filter module: 9 candidates D/VLC ( 2012): f32l->s16l, bits per sample: 32->16 D/VLC ( 2012): using audio filter module "audio_format" D/VLC ( 2012): conversion pipeline completed D/VLC ( 2012): looking for audio mixer module: 2 candidates D/VLC ( 2012): using audio mixer module "float32_mixer" D/VLC ( 2012): input 's16l' 44100 Hz Stereo frame=1 samples/4 bytes D/VLC ( 2012): looking for audio filter module: 1 candidate D/VLC ( 2012): format: 44100 rate, 2 nch, 4 bps, fl32 D/VLC ( 2012): params: 30 stride, 0.200 overlap, 14 search D/VLC ( 2012): 1.000 scale, 1323.000 stride_in, 1323 stride_out, 1059 standing, 264 overlap, 617 search, 2204 queue, fl32 mode D/VLC ( 2012): using audio filter module "scaletempo" D/VLC ( 2012): filter(s) 's16l'->'f32l' 44100 Hz->44100 Hz Stereo->Stereo D/VLC ( 2012): looking for audio filter module: 9 candidates D/VLC ( 2012): s16l->f32l, bits per sample: 16->32 D/VLC ( 2012): using audio filter module "audio_format" D/VLC ( 2012): conversion pipeline completed D/VLC ( 2012): filter(s) 'f32l'->'f32l' 44100 Hz->44100 Hz Stereo->Stereo D/VLC ( 2012): conversion pipeline completed D/VLC ( 2012): filter(s) 'f32l'->'f32l' 48510 Hz->44100 Hz Stereo->Stereo D/VLC ( 2012): looking for audio resampler module: 1 candidate D/VLC ( 2012): using audio resampler module "ugly_resampler" D/VLC ( 2012): conversion pipeline completed D/VLC ( 2012): End of audio preroll D/VLC ( 2012): Buffering 0% D/VLC ( 2012): Buffering 6% D/VLC ( 2012): Buffering 13% D/VLC ( 2012): Buffering 20% D/VLC ( 2012): Buffering 26% D/VLC ( 2012): Buffering 33% D/VLC ( 2012): Buffering 40% D/VLC ( 2012): Buffering 46% D/VLC ( 2012): Buffering 53% D/VLC ( 2012): Buffering 60% D/VLC ( 2012): Buffering 66% D/VLC ( 2012): Buffering 73% D/VLC ( 2012): Buffering 80% D/VLC ( 2012): Buffering 86% D/VLC ( 2012): Buffering 93% D/VLC ( 2012): Buffering 100% D/VLC ( 2012): Stream buffering done (1600 ms in 39 ms) I/AvcDecapi( 866): Width 1280 Height 720 I/AvcDecapi( 866): videoRange 0, matrixCoefficients 2 D/VLC ( 2012): looking for text renderer module: 1 candidate D/VLC ( 2012): using text renderer module "tdummy" D/VLC ( 2012): looking for video filter2 module: 14 candidates D/VLC ( 2012): 32x32 chroma: YUVA -> 16x16 chroma: RGBA with scaling using Bicubic (good quality) D/VLC ( 2012): using video filter2 module "swscale" D/VLC ( 2012): looking for video filter2 module: 14 candidates D/VLC ( 2012): YUVP to YUVA converter D/VLC ( 2012): using video filter2 module "yuvp" D/VLC ( 2012): Deinterlacing available D/VLC ( 2012): deinterlace 0, mode blend, is_needed 0 D/VLC ( 2012): Opening vout display wrapper D/VLC ( 2012): looking for vout display module: 2 candidates D/VLC ( 2012): VoutDisplayEvent 'fullscreen' 0 D/VLC ( 2012): using vout display module "android_surface" D/VLC ( 2012): A filter to adapt decoder to display is needed D/VLC ( 2012): looking for video filter2 module: 14 candidates D/VLC ( 2012): NV12(1280x720) to RV32(1280x720) D/VLC ( 2012): using video filter2 module "yuv_rgb_neon" D/VLC ( 2012): Filter 'yuv_rgb_neon' (0x1ea4bb0) appended to chain D/VLC ( 2012): original format sz 1280x720, of (0,0), vsz 1280x720, 4cc NV12, sar 1:1, msk r0x0 g0x0 b0x0 D/VLC ( 2012): removing module "tdummy" D/VLC ( 2012): looking for text renderer module: 1 candidate D/VLC ( 2012): using text renderer module "tdummy" D/VLC ( 2012): End of video preroll D/VLC ( 2012): Received first picture D/gralloc ( 80): alloc_buffer: Successfully allocated 0x2d0000 bytes, mIonFd=22, SharedFd=25 D/gralloc ( 2012): map_buffer: Successfully mapped 0x2d0000 bytes at address 0x6a148000, SharedFd=76, map_count = 3 W/VLC ( 2012): can't get output picture D/VLC ( 2012): Detected interlaced video D/VLC ( 2012): deinterlace 0, mode blend, is_needed 1 E/VLC ( 2012): Failed to set on top D/VLC ( 2012): Decoder buffering done in 234 ms W/VLC ( 2012): PTS is out of range (-9769), dropping buffer W/VLC ( 2012): PTS is out of range (-32807), dropping buffer D/AudioHardware( 866): AudioHardware pcm playback is exiting standby. D/AudioHardware( 866): openPcmOut_l() mPcmOpenCnt: 0 D/gralloc ( 80): alloc_buffer: Successfully allocated 0x384000 bytes, mIonFd=22, SharedFd=29 D/gralloc ( 2012): map_buffer: Successfully mapped 0x384000 bytes at address 0x6a418000, SharedFd=77, map_count = 4 D/gralloc ( 80): alloc_buffer: Successfully allocated 0x384000 bytes, mIonFd=22, SharedFd=32 D/gralloc ( 80): free_buffer: Freeing 0x2d0000 bytes, mIonFd=22 SharedFd=25 D/gralloc ( 80): unmap_buffer: Successfully unmapped 0x2d0000 bytes at address 0x49c77000, SharedFd=25, map_count = 9 D/gralloc ( 2012): unmap_buffer: Successfully unmapped 0x2d0000 bytes at address 0x6a148000, SharedFd=76, map_count = 3 D/gralloc ( 2012): map_buffer: Successfully mapped 0x384000 bytes at address 0x6a79c000, SharedFd=76, map_count = 4 D/VLC ( 2012): auto hiding mouse cursor D/gralloc ( 80): alloc_buffer: Successfully allocated 0xc0000 bytes, mIonFd=22, SharedFd=25 D/gralloc ( 80): free_buffer: Freeing 0x50000 bytes, mIonFd=22 SharedFd=23 D/gralloc ( 80): unmap_buffer: Successfully unmapped 0x50000 bytes at address 0x49a12000, SharedFd=23, map_count = 9 D/gralloc ( 203): unmap_buffer: Successfully unmapped 0x50000 bytes at address 0x64c99000, SharedFd=88, map_count = 3 D/gralloc ( 203): map_buffer: Successfully mapped 0xc0000 bytes at address 0x650bb000, SharedFd=88, map_count = 4 E/DPB ( 866): h264bsdAllocateDpbImage failed E/AvcDecapi( 866): FATAL ERROR: -4 E/h264dec ( 866): ERROR: SLICE_HEADER E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/ ( 866): ERROR: DP slices not allowed!!! E/ ( 866): ERROR: nal_ref_idc shall be zero!!! E/ ( 866): ERROR: nal_ref_idc shall be zero!!! E/ ( 866): ERROR: nal_ref_idc shall be zero!!! E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/h264dec ( 866): ERROR: ACCESS UNIT BOUNDARY CHECK E/ ( 866): ERROR: nal_ref_idc shall be zero!!! E/ ( 866): ERROR: nal_ref_idc shall be zero!!! E/ ( 866): ERROR: nal_ref_idc shall be zero!!! F/libc ( 866): Fatal signal 11 (SIGSEGV) at 0x46710000 (code=1) D/gralloc ( 80): alloc_buffer: Successfully allocated 0x90000 bytes, mIonFd=22, SharedFd=23 D/gralloc ( 80): free_buffer: Freeing 0x80000 bytes, mIonFd=22 SharedFd=31 D/gralloc ( 80): unmap_buffer: Successfully unmapped 0x80000 bytes at address 0x49f47000, SharedFd=31, map_count = 9 D/gralloc ( 203): unmap_buffer: Successfully unmapped 0x80000 bytes at address 0x6503b000, SharedFd=89, map_count = 3 D/gralloc ( 203): map_buffer: Successfully mapped 0x90000 bytes at address 0x64c99000, SharedFd=89, map_count = 4 I/DEBUG ( 78): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** I/DEBUG ( 78): Build fingerprint: 'Android/rk29sdk/rk29sdk:4.0.4/IMM76D/eng.lxz.20120410.144241:eng/test-keys' I/DEBUG ( 78): pid: 866, tid: 2076 >>> /system/bin/mediaserver <<< I/DEBUG ( 78): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 46710000 I/DEBUG ( 78): r0 46710000 r1 42710d52 r2 00000012 r3 00000000 I/DEBUG ( 78): r4 42266008 r5 00000000 r6 4670b683 r7 4221ec2c I/DEBUG ( 78): r8 4221eb88 r9 00000000 10 4221e1f8 fp 42266030 I/DEBUG ( 78): ip 00000000 sp 4221d1f8 lr 40c5a640 pc 40c5e6cc cpsr 20000010 I/DEBUG ( 78): d0 73206364695f667a d1 206562206c6c6165 I/DEBUG ( 78): d2 2d2f25bfe4e6c772 d3 83d479a39da95f6f I/DEBUG ( 78): d4 5e924841e6019673 d5 30b2fe995e4dddbd I/DEBUG ( 78): d6 17a5bc65fd005f75 d7 845252aaa60e611c I/DEBUG ( 78): d8 0000000000000000 d9 0000000000000000 I/DEBUG ( 78): d10 0000000000000000 d11 0000000000000000 I/DEBUG ( 78): d12 0000000000000000 d13 0000000000000000 I/DEBUG ( 78): d14 0000000000000000 d15 0000000000000000 I/DEBUG ( 78): d16 000000000015e48f d17 3ff0000000000000 I/DEBUG ( 78): d18 7e37e43c8800759c d19 0000000000000000 I/DEBUG ( 78): d20 0000000000000000 d21 0000000000000000 I/DEBUG ( 78): d22 0000000000000000 d23 0000000000000000 I/DEBUG ( 78): d24 0000000000000000 d25 0000000000000000 I/DEBUG ( 78): d26 0000000000000000 d27 0000000000000000 I/DEBUG ( 78): d28 0000000000000000 d29 0000000000000000 I/DEBUG ( 78): d30 0000000000000000 d31 0000000000000000 I/DEBUG ( 78): scr 60000010 I/DEBUG ( 78): I/DEBUG ( 78): #00 pc 0017e6cc /system/lib/libstagefright.so (_ZN7android24h264bsdFindNextStartCodeEPKhj) I/DEBUG ( 78): #01 pc 0017a63c /system/lib/libstagefright.so (_ZN7android13h264bsdDecodeEPNS_12decContainerEPKhjjPj) I/DEBUG ( 78): #02 pc 00177a8c /system/lib/libstagefright.so (H264DecDecode) I/DEBUG ( 78): #03 pc 00176f7c /system/lib/libstagefright.so (_ZN7android14On2_AvcDecoder25pv_on2avcdecoder_oneframeEPhPjS1_S2_Rx) I/DEBUG ( 78): #04 pc 00177284 /system/lib/libstagefright.so (dec_oneframe_class_On2AvcDecoder) I/DEBUG ( 78): #05 pc 0000316a /system/lib/libomxvpu.so (omx_vpu_component_BufferMgmtCallback) I/DEBUG ( 78): #06 pc 00005794 /system/lib/libomxvpu.so (omx_base_filter_BufferMgmtFunction) I/DEBUG ( 78): #07 pc 00012c74 /system/lib/libc.so (__thread_entry) I/DEBUG ( 78): #08 pc 000127c8 /system/lib/libc.so (pthread_create) I/DEBUG ( 78): I/DEBUG ( 78): code around pc: I/DEBUG ( 78): 40c5e6ac e3a02001 e5840010 e7842003 e8bd8010 . ....... ...... I/DEBUG ( 78): 40c5e6bc e0801001 e3a03000 e2800001 ea00000b .....0.......... I/DEBUG ( 78): 40c5e6cc e4d02001 e3520000 02833001 0a000007 . ....R..0...... I/DEBUG ( 78): 40c5e6dc e3530001 93a0c000 83a0c001 e3520001 ..S...........R. I/DEBUG ( 78): 40c5e6ec 13a0c000 e35c0000 1a000004 e1a0300c ......\......0.. I/DEBUG ( 78): I/DEBUG ( 78): code around lr: I/DEBUG ( 78): 40c5a620 e784000c e1510002 0a00008b e3a05000 ......Q......P.. I/DEBUG ( 78): 40c5a630 e28d2a01 e59209b0 e59219bc eb00101e .*.............. I/DEBUG ( 78): 40c5a640 e3500000 13083fb4 10666000 13403013 ..P..?...`f..0@. I/DEBUG ( 78): 40c5a650 15876000 17846003 eaffffe4 e308efe4 .`...`.......... I/DEBUG ( 78): 40c5a660 e340e013 e794100e e3510000 0affffee ..@.......Q..... I/DEBUG ( 78): I/DEBUG ( 78): memory map around addr 46710000: I/DEBUG ( 78): 42710000-46710000 /dev/vpu_mem I/DEBUG ( 78): (no map for address) I/DEBUG ( 78): 46751000-468a4000 /dev/ashmem/MemoryHeapBase (deleted) I/DEBUG ( 78): I/DEBUG ( 78): stack: I/DEBUG ( 78): 4221d1b8 000006f4 I/DEBUG ( 78): 4221d1bc 0000e594 I/DEBUG ( 78): 4221d1c0 00000000 I/DEBUG ( 78): 4221d1c4 19b555e3 I/DEBUG ( 78): 4221d1c8 00000005 I/DEBUG ( 78): 4221d1cc 4221eba8 I/DEBUG ( 78): 4221d1d0 fa0c4e2e I/DEBUG ( 78): 4221d1d4 4221ec2c I/DEBUG ( 78): 4221d1d8 00000000 I/DEBUG ( 78): 4221d1dc 4221eb88 I/DEBUG ( 78): 4221d1e0 4221eba8 I/DEBUG ( 78): 4221d1e4 40c5e918 /system/lib/libstagefright.so I/DEBUG ( 78): 4221d1e8 42266008 I/DEBUG ( 78): 4221d1ec 4221eba8 I/DEBUG ( 78): 4221d1f0 df0027ad I/DEBUG ( 78): 4221d1f4 00000000 I/DEBUG ( 78): #01 4221d1f8 4221eb88 I/DEBUG ( 78): 4221d1fc 00000000 I/DEBUG ( 78): 4221d200 00000000 I/DEBUG ( 78): 4221d204 00000000 I/DEBUG ( 78): 4221d208 00000000 I/DEBUG ( 78): 4221d20c 00000001 I/DEBUG ( 78): 4221d210 00000000 I/DEBUG ( 78): 4221d214 00000000 I/DEBUG ( 78): 4221d218 00000000

mstorsjo
New Cone
New Cone
Posts: 2
Joined: 14 May 2012 13:11

Re: Hardware Decoding on CUBE U9GT2 Tablet?

Postby mstorsjo » 14 May 2012 13:16

Hi,

I haven't heard about this chipset before at all. Not sure whether this really has a hardware decoder at all - even if it uses OMX.rk.video_decoder instead of OMX.google.h264.decoder, it still seems to end up using "On2_AvcDecoder" internally, which is the software h264 decoder within the android media framework. (Log prints of playing back h264 with the stock media player might give clues to one direction or the other about this.)

Or perhaps it has a fallback internally for h264 variants the hw decoder doesn't support, so that it would use the hw decoder for other files?

Or you could try make it skip the OMX.rk.video_decoder component (so that it would try OMX.rk.video_decoder.avc instead) - not sure if that helps or not...

// Martin

coolbix
New Cone
New Cone
Posts: 9
Joined: 21 Feb 2012 03:41

Re: Hardware Decoding on CUBE U9GT2 Tablet?

Postby coolbix » 15 May 2012 09:26

Thank you for the kind response.

I'm sure that it has a hardware decoder, because I can play a 720p video smoothly by the stock player (and some other player from Market, such as MX Player).

According to the log, it seems to use "On2_AvcDecoder".
However, I don't think that it is the software decoder in this case.
I've tried the stock player. The log from the stock player tells the same thing, "On2_AvcDecoder".
I may guess that the OMX.rk programmer uses the PV software decoder as a template for their hardware decoder plugin.

I've tried "OMX.rk.video_decoder.avc" instead of "OMX.rk.video_decoder".
The result is the same. (still green screen and crash).

I've played the same video file on Nexus S by the VLC-android.
It plays very good.
Here are major difference of the log between Nexus S and U9GT2.

[log from U9GT2]

D/VLC ( 2012): -> video H264 - MPEG-4 AVC (part 10) 1280x720@29.97 (7,0) (0,0) (0,0,1280,720)
D/VLC ( 2012): -> video Biplanar 4:2:0 Y/UV 1280x720@29.97 (0,21) (1280,0) (0,0,1280,720)

[log from Nexus S]

D/VLC ( 2012): -> video H264 - MPEG-4 AVC (part 10) 1280x720@29.97 (7,0) (1280,720) (0,0,1280,720)
D/VLC ( 2012): -> video Biplanar 4:2:0 Y/UV 1280x720@29.97 (0,21) (1280,720) (0,0,1280,720)

Couldn't this diffenece be any clues?

Sincerely,

James Hwang

mstorsjo
New Cone
New Cone
Posts: 2
Joined: 14 May 2012 13:11

Re: Hardware Decoding on CUBE U9GT2 Tablet?

Postby mstorsjo » 15 May 2012 11:06

Ok, so it's definitely possible that the traces pointing to On2_AvcDecoder only are a red herring and doesn't mean it wouldn't use hardware anyway.

Unfortunately, I don't have any other ideas off-hand at the moment - this particular decoder might require us to use other kinds of buffers (android gralloc buffers) which I haven't yet investigated how to use (not sure if it's possible from normal client applications) or if there's some other issue. However, if you say that it works with other apps such as MX Player, it might either be some setting that we're missing, or then they simply integrate into the media framework at a higher level (which makes it work for them), but which might not be usable for VLC (since it would mean giving up most of the rest of the VLC internal infrastructure).


Return to “VLC media player for Linux and friends Troubleshooting”

Who is online

Users browsing this forum: No registered users and 8 guests