自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xulei_106的专栏

不积跬步,无以致千里

  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 SRAM/DRAM/SDRAM/DDR/FLASH区别

SRAM:静态的RAM,同样的存储容量,价格最贵。速度快容易操作。常用于快速存储的较低容量的RAM需求,比如Cache(缓存),比如CPU内部的L1 Cache和主板上的L2 Cache 。DRAM:动态的RAM,速度比静态的RAM慢,一般用来作为图形系统的帧缓冲区SDRAM: 同步动态RAM,是早期的内存。DDR:Double Data Rate SDRAM,意思是双倍速SDRAM,是SDRAM的升级产品baiFlash:是慢速的存储器(最多几十兆每秒),断电后还可以保存内容..

2020-09-23 11:35:27 1635

转载 linux中编译静态库(.a)和动态库(.so)的基本方法

动态定义宏 SDL简介linux中编译静态库(.a)和动态库(.so)的基本方法  2012-09-04 14:32:47|  分类:Linux/Unix |  标签:|举报|字号大中小 订阅      用微信  “扫一扫”将文章分享到朋友圈。  用易信  “

2016-05-25 18:41:04 688

原创 736porting alsa

1\alsa_lib和alsa_utils的编译具体编译的指令:cd vcam/external/alsa-lib-1.0.27.1./configure --host=arm-hisiv100nptl-linux --prefix=/system/vc736-alsa --disable-python && make && make installcd alsa-util

2015-05-28 16:21:24 363

原创 736 porting mp4v2 总结

1、交叉编译mp4v2的库在以前的《编译生成适合于arm平台使用的mp4v2(学习了交叉编译呀)》中,详细写了mp4v2的编译过程。但是由于换了736平台,其编译器是arm-hisiv100nptl-linux系列的,所以交叉编译的方式是../configure --host=arm-hisiv100nptl-linux补充:./configure 最关键的三个选项是:--host

2015-01-23 18:48:00 563

原创 Vcam项目下载及编译

Vcam项目下载及编译编译准备:ndk:android-ndk-r8e,需要打google的patch,很简单,只需改一行即可sdk:adt-bundle-linux-x86-20131030.zip,并下载android-16_r03.zip,将其解压到adt-bundle-linux-x86-20131030/sdk/platforms目录交叉编译工具链:g

2014-11-03 10:04:29 832

原创 日常工作需要的工具总结

1退出当前用户名,改用其它用户名登录服务器的步骤:

2014-09-17 10:33:30 465

原创 堆栈打印方法总结

C++文件的打印调用堆栈的方法: 1. #include{         usingnamespace android;         CallStackstack;         stack.update();         stack.dump();} Java文件打印调用堆栈的方法:1. 在指定的函数内打印相关java调用Log

2014-09-09 10:47:24 677

原创 H264支持码率变化和GOP调整的代码整理

1、现有代码要想支持H264变码率,需要修改的地方:\platform\openmax\hantro_omx\libvideo\libenc\codec_hw\H264EncLib\ViEncH264.cpp

2014-09-04 15:38:43 5078

原创 wifi+vcam项目丢帧机制调整

1、确认我们平台的H264编码器GOP是否可调,即I帧和P帧的比例是否可变,变化的代价yo

2014-09-04 13:51:30 821

原创 uvc第一阶段项目总结

uvc项目暂时hold目前,

2014-09-04 10:48:12 1814 1

原创 new plat (vcam+wifi)项目调试

1、打印太多,停打印的方法ps

2014-08-25 17:25:41 480

原创 porting uvc 摄像头

1、kenel配置:Linux内核源码树的每个目录下都有两个文档Kconfig和Makefile。分布到各目录的 Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在执行内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。在内核编译时,主Makefile调用这个.con

2014-08-08 16:07:39 395

原创 sync 和 fsync

在做行车记录仪时,发现经常出现几K的小文件,

2014-08-07 16:10:41 1522

原创 编译生成适合于arm平台使用的mp4v2(学习了交叉编译呀)

1、下载mp4v2的源代码(http://code.google.com/p/mp4v2/downloads/list)

2014-08-01 17:52:24 2907 1

原创 Linux延迟用法

应用程序:#include usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒 驱动程序:#include mdelay(n) //milliseconds 其实现#ifdef notdef#define mdelay(n) (\{unsigned long msec=(n); while (msec--) udelay

2014-03-04 16:41:46 494

原创 简单的Linux sh脚本文件

今天写了一个脚本文件,用以循环执行操作(两个wav文件的播放切换),具体的脚本为:while [ 1 ]doaplay /mnt/sdcard/Twins.wav &                                             //播放wav文件sleep 5                                                

2014-02-24 14:09:21 1275

原创 gstreamer的打印

在gstinfo.h中有一个宏:#define GST_LEVEL_DEFAULT GST_LEVEL_NONE后面是打印等级typedef enum {  GST_LEVEL_NONE = 0,  GST_LEVEL_ERROR = 1,  GST_LEVEL_WARNING = 2,  GST_LEVEL_FIXME = 3,  GST_LEVEL_INFO =

2013-12-31 18:34:31 1098

原创 alsa.conf中关于dmix的设置

This plugin provides direct mixing of multiple streams. The resolution for 32-bit mixing is only 24-bit. The low significant byte is filled with zeros. The extra 8 bits are used for the saturation.

2013-12-31 18:32:17 2057

原创 录制avi文件前期探索问题总结

1、h264视频数据的索引信息。avi中h264的索引信息作为一个独立的视频帧进行保存。算总帧数的时候,也会将其作为单独的一帧计入。 2、写一个avi的头文件。 3、gstreamer 在record avi的文件中,h264的I帧是怎么分辨的?今天在网上找了一些资料,知道了如何检测h264中的帧类型,在这里记录下来。首先,贴出nal单元类型定义(图从《新一代视频压缩编

2013-11-07 15:01:36 601

原创 ts文件不能正常播放的问题

我们对ts文件的播放流程是:

2013-09-17 14:37:43 28458

原创 gstreamer中pipeline的工作机制

我最初理解的gstreamer,就是创建一个pipeline,让后将一个个的element加入到pipeline中,就可以完成多媒体的处理功能。gstreamer内部对我是不可见的。经过一段时间的摸索之后,我开始慢慢了解gstreamer的内部机制来。目前,以我对gstreamer的了解,对pipeline的工作机制补充如下:pipeline中数据有两个方向的流向,一个是downstrea

2013-06-07 17:50:54 2987

原创 gst-launch命令集合

1、播放avi文件gst-launch-1.0 filesrc location=test.avi! avidemux name=demux demux.audio_00! decodebin! audioconvert! audioresample! alsasink demux.video_00! queue! decodebin! videoconvert! vide

2013-05-16 17:17:14 4876 1

原创 录制avi文件(二)——设置数据缓冲区

在录制avi文件时,我们设置了3个数据缓冲区,分别是:char * audio_cachebuffer = malloc(AVI_RECORD_MUX_AUDIO_BLOCK_ALIGN);                                                                             //AVI_RECORD_MUX_AUDIO_B

2013-05-10 19:32:50 1250

原创 录制avi文件(一)——avi文件的结构

首先,我们回顾一下avi文件的文件结构。下图就是一个典型的avi文件的文件结构图。以我们录制的一个avi文件为例,其RIFF Tree结构为:RIFF AVI        84,532,876              0  LIST hdrl              292             12    avih                    56

2013-05-10 15:30:56 2546

原创 使用repo和git进行工程管理

以前一直用cvs/svn,现在转用repo和git做工程管理,一直迷糊当中,今天请同事科普了一下,以下纯粹是从一个工程师简单使用的角度,配合自己的见解总结而成,可能很多地方不准确,甚至不正确,以后如有发现,我会自己再来更新,当然,欢迎指正。 repo是google用python写的用来管理git的脚本。1、如何从服务器取一份代码到本地        a、repo init -u U

2013-05-09 18:11:34 3885

原创 学习Gobject

1、什么是Gobject      Gobject就是一个用C实现的一个库,使用这个库,可以让我们用C语言来写面向对象的程序。GObject仅依赖于GLib和libc,通过它可使用纯C语言设计一整套面向对象的软件模块2、Gobject主要构成        一个通用的动态类型系统(GType)        一个基本类型的实现集(如整型、枚举等)        一个基本对象类型

2013-05-09 16:54:23 547

原创 录制avi文件(三)——对文件的操作

我们在做avi的录制时,最重要的结构体是typedef struct tagAVI_FILE_INFO{ AVI_HEADER_INFO  file_header;                               //在录制avi文件(一)——avi文件的结构 有详细列举 AVI_IndexRecorder index_recorder; void*    inde

2013-05-09 14:54:16 790

原创 Linux下用到的工具

1、apt-fileapt-file是一个软件包查找工具,可以查到软件包所含的文件和安装的位置。apt-file update更新软件包的文件库,第一次使用或apt-get update后都需运行一次。apt-file search file_name查找该文件存在于哪些软件包中。apt-file list package_name显示该软件包的文件。

2013-04-28 18:24:31 346

原创 qtcreator安装及简单应用

1、执行以下命令,进行安装QT应用库文件安装; #sudo apt-get install qt4-dev-tools qt4-designer qt4-doc qt4-qtconfig qt4-demos qt4-qmake libqt4-sql-mysql qdevelop2、安装qtcreator#sudo apt-get install qtcreator 安装qt的过

2013-04-22 14:17:34 740

原创 gstreamer的plugin注册流程

以jpeg为例:Gstjpeg.c,Gstjpegdec.c,Gstjpegend.c文件,再加上jpeg的解码库(我用的是jpeg-7),最终会生成libjpeg.so。所有的plugin编译生成的库,都在一个目录下。static gboolean  gst_registry_scan_path_level(GstRegistryScanContext * context, const gc

2013-04-22 10:59:04 1515

原创 Linux用到的指令总结

1、设置环境变量$ export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH 2、查看环境变量$ echo $PKG_CONFIG_PATH 3、查找指令find ./ -name "*.mk" |xargs grep 查找的字符串在当前目录下,查找所有的.mk文件,找到存在“查找的字符串”的mk文

2013-04-09 10:28:26 462

原创 gstream-ffmpeg工作

1、在vc环境下编译不过2、在ubuntu环境下,进入gst-ffmpeg-0.11.2,./configure,不过,原因是 no gstream-0.113、在ubuntu环境下,进入gstreamer-1.0.5,  ./configure,不过,原因是could not finde bison gst给的插件中有两个都是基于ffmpeg的,一个是gst-ffmpeg-0.1

2013-04-09 10:26:06 4118

原创 android平台RTSP不支持MPA格式音频的解决方法

最近想做rtsp,所以,用工具转了几个mp4文件,发现转的文件音频大都是MPA,android的平台播放时总是没有声音,所以,将对mpa的支持加入到了android的代码中。加入了AMPAAssembler模块。A...Assembler模块的功能:将rtp包中的数据取出拼接出正确的音频或视频数据流。#define LOG_TAG "AMPAAssembler"#include

2013-03-29 17:11:21 1934

原创 ubuntu下构建GStreamer开发环境

GStreamer 是 GNOME 桌面环境下用来构建流媒体应用的多媒体框架(framework),其目标是要简化音/视频应用程序的开发。GStreamer是一个开源的多媒体架构库。利用它,可以构建一系列的媒体处理模块,包括从简单的ogg播放功能到复杂的音频(混音)和视频的处理。一、安装gstreamer安装gstreamer基础库apt-get install libgstreame

2013-03-22 15:35:07 6880

转载 Android开发入门——Socket编程

1、 Socket通信模型如下:应用程序通过套接字可以进行通信,可以使用udp协议或者使用tcp协议,当客户端和服务器端的协议时相对应的,客户端使用tcp,那么服务器端使用tcp 2、 UDP协议:把数据打包成数据包,然后直接发送对应的ip地址,速度快,但是不保证成功率,并且数据大小有限TCP协议:首先连接接收方,然后发送数据,保证成功率, 速度慢 3、 TCP通信

2013-03-07 10:44:49 482

原创 FFmpeg在windows/Linux/android平台下的安装

1、FFmpeg在ubuntu平台下的安装      我使用的是VMWARE+UBUNTU的平台环境。具体的安装过程请参照:                  http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide 2、FFmpeg在window平台下的安装       首先,需要搭建mingw+msys平台。mi

2013-02-20 17:15:18 1265

原创 Dos文件到Unix文件转换

在windows环境下载了几个linux的库,放到linux平台去编译的时候,遇到了bug:-bash: ./*.sh: /bin/sh^M: bad interpreter:查了相关资料发现,是由于DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A。DOS格式的文本文件在Linux底下,用较低

2013-02-19 16:54:14 741

原创 简单科普一下“交叉编译”

“交叉编译”是一个“本地编译”想对应的概念。在Windows环境下,使用Visual C++写一段C代码,并编译生成可执行代码,这就是“本地编译”。可见,所谓本地编译就是在某一特定平台上,将代码编译生成本平台使用的程序,这个就是本地编译。根据这个概念,交叉编译就很好理解了,就是,在一个特定平台,将代码编译生成其它平台可以执行的程序,这个就是“交叉编译”了。

2013-02-18 11:16:21 311

原创 ffmpeg项目组成

ffmpeg项目的组成包括:1、libavcodec 一个包含了所有FFmpeg音视频编码器和解码器的库.2、libavformat 一个包含了所有的普通音视格式的解析器和产生器的库3、ffmpeg 视频文件转换命令行工具4、ffserver 基于HTTP(RTSP正在开发中)用于实时广播的多媒体服务器5、ffplay 用SDL和FFmpeg库开发的一个简单的媒体播放器

2013-02-17 17:34:19 485

原创 HTTP和RTSP简介

RTSP(RealTime Streaming Protocol)实时流协议,该协议主要用来定义服务器和客户端(一对多)之间如何利用IP网络来传输多媒体数据。RTSP协议是一个应用层的协议,位于RTP和RTCP协议之上,利用TCP或TRP协议传输数据。顺便复习一下计算机网络:应用层支持网络应用,如,HTTP,RTSP传输层主机进程间的数据传输,向上层提供

2013-02-17 16:53:35 4851

《HTML5从入门到精通》中文学习教程.pdf

《HTML5从入门到精通》中文学习教程,一本学习HTML5的经典之作。pdf版本,便于copy代码

2014-07-31

android binder

Android深入浅出之Binder机制,以MediaService的例子来分析Binder的使用

2013-01-31

stagefright框架

描述了stagefright的整体架构,对android的多媒部分的了解非常重要

2013-01-30

手机GPU概述

手机GPU概述,android平台,gpu的使用情况。在android平台中,由于没有一个同一的硬件标准,导致了各个厂家,各个型号的手机的硬件就不一样。

2012-10-10

wav格式详解.doc

wav格式详解.doc

2008-07-20

空空如也

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

TA关注的人

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