飞凌OK6410A 多媒体视频编解码 player-qt4 QT视频播放器

来源:互联网 发布:java一年工作经验简历 编辑:程序博客网 时间:2024/06/11 19:46

        最初是记录在网易博客:http://dongguanlishh.blog.163.com/

        我的基本配置:win7,ubuntu10.04

        目标板:OK6410A,linux3.0.1

        交叉编译环境:arm-linux-gcc 4.3.2        安装位置:/usr/local/arm/4.3.2

        作为一个小白,最痛苦的莫过于:出现问题,不知道从何下手。由于项目的需要,我所用的开发板的屏幕选择的是8寸屏,所以在测试飞凌提供的一些资料的时候,比如多媒体视频编解码就会遇到问题,因为官方的技术支持是针对4.3寸屏的,所以我就悲剧。但是项目需要,我必须硬着头皮上。我想,那么我就自己编译源码,自己修改吧!这真是一个大胆的决定,于是,接下来各种无奈就随之而来。之前打飞凌的技术支持电话,没有什么结果,在飞凌论坛上提问没人回答,之后还是自己解决结贴的。

         首先我找到源码的位置,即光盘A中的\Linux-3.0.1\apptest\多媒体编解码测试\测试程序源码\Forlinx-Player\,里面有两个压缩包,下面说说主要步骤,省略我苦逼的摸索过程。

         1、分别解压,一个是Player,另一个是Embeded文件夹。好了,所有的资料就是这两个了。

         2、将文件夹Forlinx-Player拷贝到我虚拟机的ubuntu下,我的位置:/home/dongguanli/QTapp/exercise/Forlinx-Player

         3、将Forlinx-Player中的两个压缩包解压,一个为Player,另一个为Embeded,之后将Embeded文件夹拷贝到ubuntu的/usr/路径下(注意此处很重要!!!直接决定下面的编译);

         4、通过Qt Creator打开Player文件夹下的工程文件Player.pro,之后再clean project 再build  project;于是自己根据警告提示,添加相应的头文件,比如/home/dongguanli/QTapp/exercise/Forlinx-Player/Player/HwScale.c:154: warning: implicit declaration of function 'ioctl',则在文件中加入头文件#include <sys/ioctl.h>;并在PlayerEngine.c中加入头文件#include "WaveEngine.h",这样就会减少一些警告了,还有一些未定义和未初始化的变量,可以不用管,或者根据自己的情况进行再修改;

         5、之后就是修改源码的关键位置,对于我而言,8寸屏为800*600在Qt Creator的工程的文件PlayerEngine.c中相应代码段修改为如下

              //默认解码后的图片高度和宽度
            //#define DEFAULT_WIDTH           480
            //#define DEFAULT_HEIGHT          272
            #define DEFAULT_WIDTH 800
            #define DEFAULT_HEIGHT 600

         6、至此,再编译一遍Player,然后发现基本没什么警告了,好这下,开始qmake,我的qmake路径是:#/home/dongguanli/extend/qt/qt-everywhere-opensource-src-4.7.1/qt-everywhere-opensource-src-4.7.1/bin/qmake,之后再修改Player文件夹下的Makefile文件,执行:# gedit Makefile ,之后再将CFLAGS和CXXFLAGS修改为:

             CFLAGS            = -fno-rtti -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
             CXXFLAGS      = -fno-rtti -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)

         7、再执行make

         8、这下就可以通过NFS挂载到开发板运行了!

   

0 0