- 博客(17)
- 资源 (2)
- 收藏
- 关注
转载 libJPEG调用程序
//注意程序中使用了OPENCV的函数// MYTEST_LIBJPEG.cpp : Defines the entry point for the console application.////参考:以下网址的内容// http://www.cppblog.com/socketref/archive/2006/03/02/3623.html//http://www.vc
2008-06-18 17:28:00
1920
1
转载 通过简单修改libjpeg源代码,实现内存内位图的压缩及解压缩
相信使用过的朋友应该会喜欢上libjpeg,它简单易用、压缩质量可以随意控制、并且稳定性很好,但是,官方网站给提供的libjpeg库,不论是进行压缩时还是解压缩时,都需要用到FILE,使得我们如果想在内存中直接压缩或解压缩图像还要自己实现相应的结构,总之,比较麻烦,尤其对初学者,更是不知从何处入手,幸运的是,libjpeg给我们提供了源代码,今天我就为大家介绍,怎样修改源代码,使lib
2008-06-18 17:20:00
1595
原创 linux jpeg视频传输四部曲之四
接上一篇(4)用多线程的方式实现连续发送jpeg格式的数据pthreade编程的基本知识很简单,就是几个函数,大概看看就知道是什么意思,也就会用了。GNU/Linux编程指南那本书里面讲的太笼统,不如看一些网上的资料比如一个哥们写的《跨平台多线程编程》。知道了 pthread 编程的基本知识,下面就要考虑怎么把它们用在我的程序里面了。其间,我考虑的问题主要有以下几个:1> 分为几个线程
2008-06-18 17:04:00
837
原创 linux jpeg视频传输四部曲之三
接上一篇(3)不经文件存储步骤,直接连续、循环发送jpeg格式的数据这一步的难点在于在使用 jpeglib 库的前提下,不经过文件存储的步骤而直接获得由RGB原始数据经jpeg编码过的jpeg data。通过Google我找到了两种实现方法。一种方法是通过修改库函数jpeg_stdio_dest (j_compress_ptr cinfo, FILE * outfile)的实现方式,将其改
2008-06-18 16:30:00
869
原创 linux jpeg视频传输四部曲之二
接上一篇(2)连续、循环发送jpeg图片文件这一篇内容主要包括啊两个方面:一、jpeg图片文件的获取;二、结合上一篇的发送单幅jpeg文件实现jpeg图片文件的循环发送。jpeg图片文件的获取的程序我主要是通过修改 vidcat 的源代码而来。至于 vidcat 中涉及的技术,主要有video4linux(v4l),0v511 摄像头芯片的linux驱动,jpeg 编码等。其中的每一个
2008-06-18 15:59:00
859
原创 linux jpeg视频传输四部曲之一
今天大概完成了jpeg格式的视频传输。按照中间编写、修改程序的过程大抵分为四个步骤:(1)发送单幅jpeg图片文件;(2)连续、循环发送jpeg图片文件;(3)不经文件存储步骤,直接连续、循环发送jpeg格式的数据;(4)用多线程的方式实现连续发送jpeg格式的数据。本篇跟下面三篇将对各个步骤进行描述,并详细记录下每个步骤中遇到的问题及其相应的解决方法。(1)发送单幅jpeg图片文件这
2008-06-18 15:37:00
1256
1
原创 补充上一篇(JRTPLIB在arm和pc间收不到数据包的问题)
今天花了一天的时间实现了jrtp到pxa270的移植,下面把其中遇到的问题及相应的解决方法说一下。其实jrtp的arm交叉编译很简单,具体步骤可以如下:cd jrtp所在目录 ——> ./configure --host=arm-linux CXX=arm-linux-g++ ——>make——>make install我被卡住的原因是在make的最后一个阶段链接生成.so库文件时发生
2008-06-13 21:45:00
1489
转载 JRTPLIB在arm和pc间收不到数据包的问题
最近本人在作关于RTP的项目,要求在arm和pc间用RTP协议传输数据。 1. 下载jrtplib-3.7.1和jthread-1.2.1。 2. pc上编译很简单,windows下编译过程如下: 首先编译jthread库。然后解压缩jrtplib,打开jrtplib.dsw工程,注意工程的include路径设置,要包含jrtplib和jthread的头文件,然后编
2008-06-13 20:51:00
847
原创 小小的收获
刚才又把之前的rtp发送、接收并显示jpeg图片的程序改成了便于后面扩展的形式,主要是rtp包头定义的改变,在这之中遇到了一些问题,解决了,并把收获记下。1> mfc程序debug的时候,加breakpoint就好2> 指针式善变的,应用时要注意,保存真正的内容时,最好是用实体(frame_t pFrame 和 frame_t Frame)
2008-06-12 11:49:00
365
原创 VC程序移植到Linux
前进中……今天把在VC下写的jpeg文件发送程序移植到Linux下面,碰到了一个问题,找了n久原因,才发现原来是定义的一个结构体中的数据类型在VC和Linux中不匹配所致(具体说来是BOOL 和 bool),后来把他们都改成与街哦股无关的uint8_t才成功。下面引用一篇文章,讲了VC程序移植到Linux下要注意的一些问题。zz:http://www.xxlinux.com/linux
2008-06-11 16:04:00
1946
原创 IStream的Write和Seek函数
在编写rtp协议发送并接受显示jpeg文件的过程中,遇到了这一问题 ,详述如下。由于需要将接收到的Buffer中的BYTE数据直接转换成IStream类型进行显示(省去中间存储为文件有读出的过程),我调用了ISteam的Write函数把buffer中的数据写入IStream中,其后直接调用m_pict.Load(pStm);进行显示,结果ASSERT错误,Google了一下,发现一篇文章中提到
2008-06-11 15:43:00
5133
原创 接上一篇——在MFC程序中显示jpeg/gif图片
上一篇文章最后提到要在对话框中显示jpeg图片,可以使用他所提供的CPictureCtlr类。这是一个比较高级的方法,具体的实现方法可以看源代码,我对这个方法的理解是:定义CPictureCtl类,public继承CStatic类,重载其中的OnCreate(),OnPaint(),PreSubclassWindow等函数,应用的时候,现在对话框中设置一CStatic或其子类型的控件,然后讲C
2008-06-11 15:14:00
1325
1
转载 在MFC程序中显示JPG/GIF图像
如果你是一个使用VB编程的程序员,要在程序中显示JPG或者GIF图像简直易如反掌,将图像控件拖到Form中,分分钟即可搞掂。但是C++程序员要显示同样的图形却没有那么轻松,那么是不是要自己编写JPG解压缩代码呢?当然不用那么复杂啦!本文将针对这个问题讨论如何在MFC中显示JPG或者GIF图像。 用VB写图像显示程序之所以如此轻松,完全是利用了琳琅满目的图像处理控件,把你想要
2008-06-11 14:38:00
1027
1
转载 RTP/RTCP 视频数据传输
直接进入正题,经过JPEG压缩后的数据时通过RTP/RTCP协议传输到网络上去的,本课题使用的是Jrtplib的RTP/RTCP协议栈,首先在网上获取Jrtplib包的源码,解压缩配置编译安装,没有bugs就ok了 在源码包里面有好几个examples,都可以借鉴。在设置Server端的时候,与TCP/IP协议不一样,首先在初始化打开的Session的时候,设置一个baseport端口,同时设
2008-06-06 18:04:00
1391
2
原创 vidcat在优龙pxa270开发板上的移植
移植过程比较简单,网上有一篇流传很广的文章里面讲的很清楚,即从w3cam-0.7.2源代码中抽取出3个文件:vidcat.c v4l.c v4l.h 后,用arm-linux-gcc交叉编译即可。注意其中的编译选项“-DVIDEO_DEV=/"/dev/video/" -DVERSION=/"0.7.2/" ”,其中的-DVIDEO_DEV 选项设定程序要用到的的默认video4linux设备名称
2008-06-02 23:39:00
960
转载 工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法
最近写了个代码,在UI线程中创建了一个窗口,然后在工作线程中修改了这个窗口中的一些数据,然后想用UpdateData(FALSE)来更新窗口的内容,结果在Debug版本下面就出现了Assert报错,说出错地方是wincore.cpp的888行和889行,就是这两句 ASSERT((p = pMap->LookupPermanent(m_hWnd)) != NULL || (p = p
2008-05-26 22:41:00
604
原创 VC++6.0下编译xvidcore1.1.0
关于在VC++6.0下编译xvidcore的方法在 MPEG-4 Xvid VC6.0编译指南 一文中中已有详细描述,但是因为我的VC6.0装不上sp5/sp5,也就装不上vcpp5.exe(Visual C++ Processor Pack),所以编译的时候总有错误:error C2520: conversion from unsigned __int64 to double not imp
2008-05-26 22:04:00
1058
CppUnit源码解读
2010-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人