自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

float的专栏

remind me of my sweat

  • 博客(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源码解读

本教程整理自站长的CppUnit源码阅读笔记,CppUnit是自动化单元测试框架的c++实现版本。如何将诸多技术综合运用到一个实际的框架中来,CppUnit为我们提供了一个难易适中的参考范例。在这里,我们可以看到STL、Design Pattern的灵活运用。希望可以通过站长的讲解,使大家能够从中汲取有益的营养。 本教程版权为晨光(Morning)所有,未经允许,请勿复制、传播,谢谢。(http://morningspace.51.net/)

2010-02-02

gcc中文手册

英文的看着难免有些累,那就看个中文的吧

2008-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除