TI中文支持网
TI专业的中文技术问题搜集分享网站

关于ffmpeg解码支持

我们在对讲的时候,视频通过ffmpeg解码之后,要用opengl来渲染,在调用glGenTextures的时候获取的都是0。

请问如果我要使用opengl,内核里面还需要在添加什么配置吗?

有没有相关资源可以支持下。谢谢。

Steven Liu1:

你是想用内部的3D加速模块,还是不用的?E2E论坛上有个帖子讨论Building OpenGL on the AM335x EVM,参考一下:

http://e2e.ti.com/support/arm/sitara_arm/f/791/t/342126

AmonWu:

执行make BUILD=release OMAPES=8.x all_km的时候报错了:

 1:make: *** /home/lltang/Graphics_SDK_5_01_01_02/graphics/Graphics_SDK_5_01_01_02/GFX_Linux_KM: 没有那个文件或目录。 停止。

2:/home/lltang/Graphics_SDK_5_01_01_02/GFX_Linux_KM/services4/srvkm/env/linux/module.c:51:42: fatal error: linux/platform_data/sgx-omap.h: 没有那个文件或目录

Steven Liu1:

回复 AmonWu:

你有正常安装过graphic SDK吗?应该是有这个目录和文件的。如果有的话,请注意路径的设置是否正确。

AmonWu:

回复 Steven Liu1:

安装过的。需要copy什么文件么?

1, 修改了Rules.make 的GFX_KERNMOD_SRCPATH

这个问题好了。

2,我注释了头文件,编译过了。

不过出现下面问题。

 root@am335x-evm:/mnt/nfs# insmod pvrsrvkm.koDisabling lock debugging due to kernel taintroot@am335x-evm:/mnt/nfs# insmod omaplfb.ko Unable to handle kernel NULL pointer dereference at virtual address 00000000pgd = ce120000[00000000] *pgd=8e4ec831, *pte=00000000, *ppte=00000000Internal error: Oops: 17 [#1]Modules linked in: omaplfb(O+) pvrsrvkm(O)CPU: 0    Tainted: G           O  (3.2.0-gd53561e-dirty #112)PC is at AllocateDeviceID+0xc/0x54 [pvrsrvkm]LR is at PVRSRVRegisterDCDeviceKM+0xfc/0x188 [pvrsrvkm]pc : [<bf006d2c>]    lr : [<bf00299c>]    psr: 40000013sp : ce0f1e40  ip : ce0f1e50  fp : ce0f1e4cr10: 00177000  r9 : 00000000  r8 : 00000000r7 : ce1a787c  r6 : 00000000  r5 : ce1a7804  r4 : 00000000r3 : ce202e80  r2 : 00000001  r1 : ce202e88  r0 : 00000000Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment userControl: 10c5387d  Table: 8e120019  DAC: 00000015Process insmod (pid: 1387, stack limit = 0xce0f02f0)Stack: (0xce0f1e40 to 0xce0f2000)1e40: ce0f1e74 ce0f1e50 bf00299c bf006d2c ce512d00 ce202e80 ce1a7800 000000001e60: 00000000 00177000 ce0f1eac ce0f1e78 bf037e1c bf0028ac c07eb1e0 c07eb1e01e80: 00000000 d09e1000 bf038fec 00000001 bf039034 ce512d80 00000001 bf03b0001ea0: ce0f1ebc ce0f1eb0 bf03b010 bf037a20 ce0f1efc ce0f1ec0 c0008690 bf03b00c1ec0: ce0f1eec bf038fec 00000001 bf039034 ce512d80 bf038fec 00000001 bf0390341ee0: ce512d80 00000001 c0063df4 0000001c ce0f1fa4 ce0f1f00 c0066520 c00086001f00: bf038ff8 c0019644 00000000 c0063eec 00000000 c03fa690 00000001 c054b1701f20: 00000000 00000000 00000000 00000000 00000000 00000000 d09e1000 00007fbe1f40: d09e659c d09e6463 d09e87cc ce202e80 00002128 00002738 00000000 000000001f60: 0000001e 0000001f 0000000f 0000000d 0000000c 00000000 00000002 40264b081f80: 00000000 00021d90 00000080 c0013ae8 ce0f0000 00000000 00000000 ce0f1fa81fa0: c0013940 c0064e30 40264b08 00000000 400c5000 00007fbe 4017b230 000000021fc0: 40264b08 00000000 00021d90 00000080 000210b0 00007fbe 4017b230 000000001fe0: 402145a0 beb80ad8 40173b24 402145b0 80000010 400c5000 00000000 00000000Backtrace: [<bf006d20>] (AllocateDeviceID+0x0/0x54 [pvrsrvkm]) from [<bf00299c>] (PVRSRVRegisterDCDeviceKM+0xfc/0x188 [pvrsrvkm])[<bf0028a0>] (PVRSRVRegisterDCDeviceKM+0x0/0x188 [pvrsrvkm]) from [<bf037e1c>] (OMAPLFBInit+0x408/0x5a0 [omaplfb]) r7:00177000 r6:00000000 r5:00000000 r4:ce1a7800[<bf037a14>] (OMAPLFBInit+0x0/0x5a0 [omaplfb]) from [<bf03b010>] (OMAPLFB_Init+0x10/0x34 [omaplfb])[<bf03b000>] (OMAPLFB_Init+0x0/0x34 [omaplfb]) from [<c0008690>] (do_one_initcall+0x9c/0x16c)[<c00085f4>] (do_one_initcall+0x0/0x16c) from [<c0066520>] (sys_init_module+0x16fc/0x1884)[<c0064e24>] (sys_init_module+0x0/0x1884) from [<c0013940>] (ret_fast_syscall+0x0/0x30)Code: e89da830 e1a0c00d e92dd800 e24cb004 (e5902000) —[ end trace 39e43c85a5b1ea1c ]—Segmentation fault

AmonWu:

回复 Steven Liu1:

按照网上我重新编译了,发现如下问题。请问可能是什么原因?

root@am335x-evm:~# /etc/init.d/335x-demo 0x10205 debug8.x /dev/mem opened. Memory mapped at address 0x40166000. Read at address  0x44E0007C (0x4016607c): 0x00030000 Write at address 0x44E0007C (0x4016607c): 0x00000002, readback 0x00000002 installing 8.x SGX debug user libraries

Installing PowerVR Consumer/Embedded DDK 'sgxddk_1.10@2359475' on target

File system installation root is /

Uninstalling existing version sgxddk_1.10@2359475 Uninstallation completed. boot script rc.pvr -> /etc/init.d/rc.pvr kernel module pvrsrvkm.ko -> /lib/modules/3.2.0-gd53561e-dirty/extra/pvrsrvkm.ko kernel module omaplfb.ko -> /lib/modules/3.2.0-gd53561e-dirty/extra/omaplfb.ko shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.10.2359475 shared library libusc.so -> /usr/lib/libusc.so.1.10.2359475 shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.10.2359475 shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.10.2359475 shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.10.2359475 shared library libEGL.so -> /usr/lib/libEGL.so.1.10.2359475 shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.10.2359475 shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.10.2359475 shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.10.2359475 shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.10.2359475 shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.10.2359475 shared library libpvrEWS_WSEGL.so -> /usr/lib/libpvrEWS_WSEGL.so.1.10.2359475 shared library libpvrEWS_REMWSEGL.so -> /usr/lib/libpvrEWS_REMWSEGL.so.1.10.2359475 shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.10.2359475 shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.10.2359475 shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.10.2359475 shared library libews.so -> /usr/lib/libews.so.1.10.2359475 binary pvrsrvctl -> /usr/local/bin/pvrsrvctl binary sgx_init_test -> /usr/local/bin/sgx_init_test binary ews_server -> /usr/local/bin/ews_server binary ews_server_es2 -> /usr/local/bin/ews_server_es2 binary services_test -> /usr/local/bin/services_test binary sgx_blit_test -> /usr/local/bin/sgx_blit_test binary sgx_clipblit_test -> /usr/local/bin/sgx_clipblit_test binary sgx_flip_test -> /usr/local/bin/sgx_flip_test binary sgx_render_flip_test -> /usr/local/bin/sgx_render_flip_test binary pvr2d_test -> /usr/local/bin/pvr2d_test binary gles1test1 -> /usr/local/bin/gles1test1 binary gles1_texture_stream -> /usr/local/bin/gles1_texture_stream binary gles2test1 -> /usr/local/bin/gles2test1 shader glsltest1_vertshader.txt -> /usr/local/bin/glsltest1_vertshader.txt shader glsltest1_fragshaderA.txt -> /usr/local/bin/glsltest1_fragshaderA.txt shader glsltest1_fragshaderB.txt -> /usr/local/bin/glsltest1_fragshaderB.txt binary gles2_texture_stream -> /usr/local/bin/gles2_texture_stream binary eglinfo -> /usr/local/bin/eglinfo binary ews_test_gles1 -> /usr/local/bin/ews_test_gles1 binary ews_test_gles2 -> /usr/local/bin/ews_test_gles2 shader ews_test_gles2_main.vert -> /usr/local/bin/ews_test_gles2_main.vert shader ews_test_gles2_main.frag -> /usr/local/bin/ews_test_gles2_main.frag shader ews_test_gles2_pp.vert -> /usr/local/bin/ews_test_gles2_pp.vert shader ews_test_gles2_pp.frag -> /usr/local/bin/ews_test_gles2_pp.frag binary ews_test_swrender -> /usr/local/bin/ews_test_swrender

Installation complete! You may now reboot your target.

Disabling lock debugging due to kernel taint +++++++++++++ PVRCore_Init 1031 +++++++++++++ +++++++++++++ PVRCore_Init 1046 +++++++++++++ PVR: PVRCore_Init +++++++++++++ PVRCore_Init 1051 +++++++++++++ +++++++++++++ PVRCore_Init 1057 +++++++++++++ +++++++++++++ PVRCore_Init 1064 +++++++++++++ +++++++++++++ PVRCore_Init 1071 +++++++++++++ +++++++++++++ PVRCore_Init 1074 +++++++++++++ +++++++++++++ PVRCore_Init 1083 +++++++++++++ +++++++++++++ PVRCore_Init 1097 +++++++++++++ +++++++++++++ PVRCore_Init 1112 +++++++++++++ +++++++++++++ PVRCore_Init 1151 +++++++++++++ PVR: PVRCore_Init: major device 251 +++++++++++++ PVRCore_Init 1176 +++++++++++++ +++++++++++++ PVRCore_Init 1194 +++++++++++++ +++++++++++++ PVRSRVOpen 839 +++++++++++++ +++++++++++++ PVRSRVOpen 853 +++++++++++++ PVR:(Error): OpenServices: Cannot open device driver /dev/pvrsrvkm. [79, /pvr_bridge_u.c] PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed [2413, /bridged_pvr_glue.c] PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (4) [37, /srvinit.c] /usr/local/bin/pvrsrvctl: SrvInit failed (already initialized?) (err=4) root@am335x-evm:~# ls -l /dev/pvrsrvkm                                                                                                         crw-rw-rw-    1 root     root      251,   0 Jun 26 02:24 /dev/pvrsrvkm

user4088306:

回复 AmonWu:

你好,请问你问题解决了吗?我也碰到类似的问题,提示找不到文件linux/platform_data/sgx-omap.h
硬件用的AM3358,软件为SDK6.0,Graphics SDK版本为5_01_01_02

Yaoming Qin:

回复 user4088306:

你是要干嘛?

赞(0)
未经允许不得转载:TI中文支持网 » 关于ffmpeg解码支持
分享到: 更多 (0)