Hi,
I have an i.mx6 solo wandboard and I am testing the video decode function.
Kernel is 3.0.35 from wandboard and rootfs is rootfs.tar.bz2 from freescale L3.0.35_3.0.0_121207_images_MX6.tar.gz.
I failed for following test and seems error in opening vpu firmware binary.
But actually I have firmware file:
root@freescale /$ ls -l /lib/firmware/vpu/
-rw-r--r-- 1 root root 65552 Dec 7 2012 vpu_fw_imx27_TO1.bin
-rw-r--r-- 1 root root 65552 Dec 7 2012 vpu_fw_imx27_TO2.bin
-rw-r--r-- 1 root root 147472 Dec 7 2012 vpu_fw_imx51.bin
-rw-r--r-- 1 root root 147472 Dec 7 2012 vpu_fw_imx53.bin
-rw-r--r-- 1 root root 253968 Dec 7 2012 vpu_fw_imx6d.bin
-rw-r--r-- 1 root root 253968 Dec 7 2012 vpu_fw_imx6q.bin
root@freescale /$
root@freescale /lib/firmware$ gst-launch playbin2 uri=file:///tmp/video/snsd.avi
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Aiur: 3.0.4
Core: AVI_PARSER_03.05.04 build on Nov 2 2012 13:28:54
mime: video/x-msvideo
file: /usr/lib/imx-mm/parser/lib_avi_parser_arm11_elinux.so.3.1
Content Info:
URI:
file:///tmp/video/snsd.avi
Idx File:
/root/.aiur/.tmp.video.snsd.avi.aidx
Seekable : Yes
Size(byte): 197361346
Movie Info:
Seekable : Yes
Live : No
Duration : 0:04:21.728000000
ReadMode : File
Track : 2
Track 00 [video_000000] Enabled
Duration: 0:04:21.594928000
Language: und
Mime:
video/x-h264, parsed=(boolean)true, width=(int)1920, height=(int)1080, framerate
=(fraction)2997/125
[ERR] Error in opening firmware binary file
[ERR] Please put bin file to /lib/firmware/vpu folder or export VPU_FW_PATH env
H264D_ARM11_02.06.01 build on Jul 12 2011 13:38:27.
MFW_GST_H264_DECODER_PLUGIN 3.0.4 build on Dec 7 2012 22:40:01.
Track 01 [audio_000000] Enabled
Duration: 0:04:21.728000000
Language: und
Mime:
audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)32000, bitrate=(int)0
, framed=(boolean)true, codec_data=(buffer)129056e50000
ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/MFW_GST_H264DEC_INFO_T:mfw_gst_h264dec_info_t0: fatal error
Additional debug info:
non recoverable error while decoding the H.264 Data
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
解決済! 解決策の投稿を見る。
Ok, I tested on my Wandboard solo and now I see that it returns 0x61011 with this patch applied:
http://marc.info/?l=u-boot&m=136430248207678&q=raw
I sent it to the U-boot list. Hopefully it will work for you as well.
From vpu/vpu_util.c:
I see that it get wrong cpu info, for wandboard solo:
Processor : ARMv7 Processor rev 10 (v7l)
processor : 0
BogoMIPS : 790.52
Features : swp half fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc09
CPU revision : 10
Hardware : Wandboard
Revision : 62011
Serial : 0000000000000000
So the CPU id is 0x62, but in vpu_util.c, it only detect 0x63(imx6q) and 0x61(imx6dl).
What's the problem? Is it a vpu lib error or kernel error?
It's because the CPU id is 0x62 in mainline u-boot, but in vpu lib, it still detects 0x63 or 0x61.
Can you try a quick test: in the Wandboard board file, please name it "Freescale Wandboard".
I saw some cases that the VPU plugins was looking for a hardcoded "Freescale" string. I though this issue was already fixed, but if not, let me know.
Also, please try to use the latest BSP for the mx6solo.
I have done the test, Since VPU plugins look for the board revision number from /proc/cpuinfo and it only accepts 0x63,0x61. After I change the system_rev to 0x61011 in the kernel, VPU decode is OK now.
Thanks for testing. Which U-boot version do you use for Wandboard?
I added support for this one:
git.denx.de Git - u-boot/u-boot-imx.git/commitdiff
and the original one is this:
u-boot (2009.08): Add support for Wandboard-Dual · 954c7b1 · Freescale/meta-fsl-arm-extra · GitHub
Do they differ in the returned value for the board revision?
Please let me know so that I can fix it.
I have used the first one.
git.denx.de Git - u-boot/u-boot-imx.git/commitdiff.
I didn't test the u-boot(2009.8) version.
But for the default u-boot image provided from wandboard website, the hardware revision in proc/cpuinfo is OK.
Could you please apply this patch http://pastebin.com/JHdY2nkD ?
Please let me know if it fixes the VPU issue on the Wandboard.
Thanks,
Fabio Estevam
Ok, I tested on my Wandboard solo and now I see that it returns 0x61011 with this patch applied:
http://marc.info/?l=u-boot&m=136430248207678&q=raw
I sent it to the U-boot list. Hopefully it will work for you as well.
Yes, I have tested your patch. It works. Thanks a lot.
Ok, I understand the problem now.
Will submit a patch tomorrow to fix it.
Thanks,
Fabio Estevam