Hi,
I am using OMAP 35x micron board and trying to decode and play davincieffect_ntsc_1.264 davincieffect_ntsc_1.m4v file on its LCD.
I had flashed u-boot,kenrel,ramdisk from SDK-1.0.0 and using DVSDK_3_00_00_21. I had copied the necessary files on SD card.
I loaded cmemk.ko at Phy_start 0x85800000 to Phy_end at 0x86800000 as follows:-
[root@OMAP3EVM omap3530]# ./loadmodules.sh
ioremap_nocache(0x85800000, 16777216)=0xc9000000
allocated heap buffer 0xc9000000 of size 0x4e1000
cmem initialized 6 pools between 0x85800000 and 0x86800000
DSPLINK Module (1.51) created on Date: Aug 1 2008 Time: 19:28:58
[root@OMAP3EVM omap3530]# lsmod
Module Size Used by Tainted: GF
lpm_omap3530 10196 0
dsplinkk 102520 1 lpm_omap3530
cmemk 25988 0
giving the command ./interface -l 0 , the display is coming on LCD screen and S8 button is highlighed according to the DVSDK Demo run doc, after this it gets the davincieffect_ntsc_1.m4v 29994 KB and audio davincieffect_HEv2.aac of 1564 KB, but while pressing highlighted S17 button to play these files, it exits from the application without plaing any video on the LCD screen. I guess the problem is occured due to decoder not decoding it properly, because while decoding Audio/Video file the following errors are coming:-
[root@OMAP3EVM decode]# ./decode -a davincieffect.mp3
Decode demo started.
Version mismatch between GPP and DSP-side
GPP-side version [1.51]:
DSP-side version [1.51.00.08]:
Error: Failed to open codec engine decode
Version mismatch between GPP and DSP-side
GPP-side version [1.51]:
DSP-side version [1.51.00.08]:
Error: Failed to open codec engine decode
and
[root@OMAP3EVM decode]# ./decode -v ../interface/data/videos/davincieffect_ntsc_1.m4v
Decode demo started.
decode: page allocation failure. order:10, mode:0xd1
[<c002f314>] (dump_stack+0x0/0x14) from [<c008c624>] (__alloc_pages+0x288/0x29c)
[<c008c39c>] (__alloc_pages+0x0/0x29c) from [<c008c660>] (__get_free_pages+0x28/0x5c)
[<c008c638>] (__get_free_pages+0x0/0x5c) from [<c01c1b14>] (omap35xvout_alloc_buffer+0x40/0xa0)
[<c01c1ad4>] (omap35xvout_alloc_buffer+0x0/0xa0) from [<c01c1cc0>] (omap35x_buffer_setup+0xbc/0x280)
r5:c3d15000 r4:c3d15000
[<c01c1c04>] (omap35x_buffer_setup+0x0/0x280) from [<c01bee30>] (videobuf_reqbufs+0x124/0x1dc)
[<c01bed0c>] (videobuf_reqbufs+0x0/0x1dc) from [<c01c315c>] (omap24xxvout_do_ioctl+0x844/0x153c)
r7:c533be38 r6:c3d15304 r5:c3d15000 r4:00000000
[<c01c2918>] (omap24xxvout_do_ioctl+0x0/0x153c) from [<c01af15c>] (video_usercopy+0x1b8/0x2b8)
[<c01aefa4>] (video_usercopy+0x0/0x2b8) from [<c01c3fb4>] (omap24xxvout_ioctl+0xdc/0xec)
[<c01c3ed8>] (omap24xxvout_ioctl+0x0/0xec) from [<c00b2444>] (do_ioctl+0x68/0x78)
[<c00b23dc>] (do_ioctl+0x0/0x78) from [<c00b26b4>] (vfs_ioctl+0x260/0x278)
r5:413d4c24 r4:c05183a0
[<c00b2454>] (vfs_ioctl+0x0/0x278) from [<c00b270c>] (sys_ioctl+0x40/0x64)
r7:c05183a0 r6:c0145608 r5:413d4c24 r4:00000008
[<c00b26cc>] (sys_ioctl+0x0/0x64) from [<c002ade0>] (ret_fast_syscall+0x0/0x2c)
r7:00000036 r6:413d5680 r5:00000002 r4:00000002
Mem-info:
DMA per-cpu:
CPU 0: Hot: hi: 18, btch: 3 usd: 17 Cold: hi: 6, btch: 1 usd: 5
Active:861 inactive:2552 dirty:5 writeback:0 unstable:0
free:8643 slab:470 mapped:302 pagetables:25 bounce:0
DMA free:34572kB min:1196kB low:1492kB high:1792kB active:3444kB inactive:10208kB present:89408kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0
DMA: 149*4kB 85*8kB 55*16kB 23*32kB 19*64kB 2*128kB 2*256kB 2*512kB 14*1024kB 7*2048kB 0*4096kB 0*8192kB = 34572kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 0kB
Total swap = 0kB
Free swap: 0kB
22528 pages of RAM
11528 free pages
6603 reserved pages
470 slab pages
781 pages shared
0 pages swap cached
Error: Failed to create display device
Howeve encode decode demo is running absolutely fine from codec_engine_2_20_01/examples/ . Here It asked to load cmemk at phy_start =0x85800000 to Phy_end=0x86000000 and it is encoding in.dat to out.dat as follows:-
[root@OMAP3EVM evm3530]# ./app.out
App-> Application started.
[DSP] @0x00000187:[T:0x00000000] servers.video_copy.evm3530 - main> Welcome to DSP server's main().
CEapp-> Allocating contiguous buffer for 'input data' of size 1024...
CEapp-> Allocating contiguous buffer for 'encoded data' of size 1024...
CEapp-> Allocating contiguous buffer for 'output data' of size 1024...
App-> Processing frame 1...
App-> Processing frame 2...
App-> Processing frame 3...
App-> Processing frame 4...
App-> Finished encoding and decoding 4 frames
App-> Application finished successfully.
The available emory on OMAP 35x device is as follows:-
[root@OMAP3EVM /mnt]# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 7.7M 4.0M 3.3M 55% /
/dev/root 7.7M 4.0M 3.3M 55% /
mdev 41.7M 0 41.7M 0% /dev
none 41.7M 0 41.7M 0% /tmp
/dev/mmcblk0p2 387.3M 259.9M 107.5M 71% /mnt
How to run these demos and why it is encoding decoding 4 frames from in.dat while running ./app.out and why it is not decoding and playing davincieffect_ntsc_1.mv4 or davincieffect.264
Regards,
Vineet