1、修改libjpeg源码,使之实现内存解码。

修改libjpeg中读取或者输出jpeg文件的函数接口文件jdatadst.c和jdatasrc.c见下面这篇帖子。

http://blog.163.com/seven_7_one/blog/static/1626064122010113111725461/

修改后,jpeg_stdio_des和jpeg_stdio_src函数我们就修改完毕了。但是在libjpeg库中有两个测试文件cjpeg.c和djpeg.c会调用原来的jpeg_stdio_des和jpeg_stdio_src函数,这在编译时会报错的,所以我们需要自己将cjpeg.c和djpeg.c里边的jpeg_stdio_des和jpeg_stdio_src函数调用注释掉,或者修改。

然后就可以配置libjpeg库了。

如果自己不想修改,后边我会上传源码。

2、配置libjpeg库参见下面这篇帖子

http://www.cnblogs.com/pang1567/p/3677851.html

3、配置完成后,即可编译

make和make install

生成了libjpeg.so.62.0.0,这就是我们交叉编译好的动态库。拷贝到测试工程目录下,假如我们测试文件为main.c

执行如下命令 arm-linux-gcc main.c -o main -L./ -ljpeg -Wl,-rpath=./ 生成了可执行文件。

转到开发板目录下,执行此可执行文件。这里要注意,需要把自己的动态库也拷贝到可执行目录下,或者拷贝到开发板/usr/lib目录下。即可执行。

4、源码和动态库下载地址

这里我测试的libjpeg库的版本为 6b 。

代码下载地址:http://download.csdn.net/detail/pang1567/7241289

很多内容都是学习网上大牛的帖子来的,自己完成了老板要求的任务,供大家参考学习,不足之处,请指正~

嵌入式 linux 移植修改后的libjpeg 实现内存中解码的更多相关文章

  1. CH02基于ZYNQ的嵌入式LINUX移植

    CH02基于ZYNQ的嵌入式LINUX移植 1.1概述 实验环境: Windows 10 专业版 Vmware workstation 14.1.1 Ubuntu 16.04.3 Xilinx SDx ...

  2. linux vi修改后如何保存

    linux vi修改后如何保存 按ESC键去到命令模式,然后: :w?? 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并 ...

  3. 手把手带你基于嵌入式Linux移植samba服务

    摘要:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 本文分享自华为云社区<嵌入式Linux下移植samba服务--<基于北斗和4G ca ...

  4. 嵌入式linux移植LAMP服务器

    一.工具准备工作  要想在ARM平台上移植一套Apache+Msql+PHP的Web型服务器. 所用物理机系统: Ubuntu 14.04 LTS(64位) 交叉编译环境:   arm-linux-g ...

  5. 嵌入式 Linux下修改MAC地址

    Linux下修改MAC地址 方法一: 1.关闭网卡设备ifconfig eth0 down2.修改MAC地址ifconfig eth0 hw ether MAC地址3.重启网卡ifconfig eth ...

  6. Linux 下修改Tomcat使用的JVM内存大小

    我的服务器的配置: # OS specific support.  $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...

  7. 【转载】嵌入式 Linux 移植 Dropbear SSH server

    0. 背景  OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中.  Dropbear是一个相对较小的SSH服务器和客户端.它运行在一个基于POSIX的各种 ...

  8. 嵌入式Linux开发系列之一: 走进嵌入式Linux的世界

    转载:http://www.ibm.com/developerworks/cn/linux/l-embed/part1/index.html   随着信息化技术的发展和数字化产品的普及,以计算机技术. ...

  9. Linux移植之内核启动过程start_kernel函数简析

    在Linux移植之内核启动过程引导阶段分析中从arch/arm/kernel/head.S开始分析,最后分析到课start_kernel这个C函数,下面就简单分析下这个函数,因为涉及到Linux的内容 ...

随机推荐

  1. 剑指 offer set 3 旋转数组的最小数字

    总结 1. 没有重复元素的旋转数组可用 logn 时间内求出结果. 解法有两个步骤, 先是求出发生旋转的点(以 array[0] 为支点求得), 然后用正常的二分查找给出结果 2. 有重复元素元素的旋 ...

  2. KFC数据测试hbase结果

    两个field,一个是KFC数据 一个列放的内容是“same” 每条数据都flush   SLF4J: Failed to load class "org.slf4j.impl.Static ...

  3. xy

    用C#實現Blob數據類型 PowerBuilder提供了Blob數據類型, 用來處理二進制數據(如:圖像,文件,二進制流,文本等等). 本質上, Blob是可變長的字節數組, 它提供了一系列全局函數 ...

  4. hdu1050 Moving Tables

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1050 求区间上点的最大重叠次数. #include <stdio.h> #include &l ...

  5. ubuntu 设置IP,设置网关

    1. 检验是否可以连通,就使用ping命令ping 网关 开始的时候总是现实unreachable 2. 设置IP sudo ifconfig eth0 133.133.133.190 netmask ...

  6. F - Tree

    Description You are to determine the value of the leaf node in a given binary tree that is the termi ...

  7. KVO监听数组的变化

    #import "ViewController.h" @interface ViewController () @property(nonatomic,strong)NSMutab ...

  8. 在ubuntu 部署svn服务器

    (1)安装svn sudo apt-get install subversion (2)新建一个仓库 mkdir /svn/test chmod 777 /svn/test sudo svnadmin ...

  9. ionic Modal

    在ionic中,modal也是添加控制器写服务的~ 在modal.html页面中增加控制器:ng-controller="aboutCtrl"记住要给这个添加控制器.头部使其关闭按 ...

  10. BC Harry and Magical Computer (拓扑排序)

    Harry and Magical Computer  Accepts: 350  Submissions: 1348  Time Limit: 2000/1000 MS (Java/Others) ...