自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华的专栏

讨论与进步

  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

转载 Makefile 中$@ $^ $< 解释

给个例子你分析一下(来自国内开源项目g-bios)g-bios/app/net/Makefile----------------------------------------------------------------------------------------------------------------------------------------OBJS = ifc

2016-11-29 09:13:57 1574

转载 H.264学习过程中遇到的英文缩写整理

1. MPEG moving picture experts group 动态图像专家组2.GOP Group of Picture 画面群 连续的帧图片组合即为GOP 一种图像压缩技术3.AVC Advanced Video Coding 高级视频编码   ITU-T给这个标准命名为H.264(以前叫做H.26L),而ISO/IEC称它为MPEG-4 高级视频编码(AVC),并且

2016-11-19 19:15:20 434

转载 H264基本概念之 宏块、片和片组

这几个概念对比音频信号处理可是全新的,下面简要介绍一下定义和作用:1、宏块(Macro Block):一个编码图像首先要划分成多个块(4x4 像素)才能进行处理,显然宏块应该是整数个块组成,通常宏块大小为16x16个像素。宏块分为I、P、B宏块,I宏块只能利用当前片中已解码的像素作为参考进行帧内预测;P宏块可以利用前面已解码的图像作为参考图像进行帧内预测;B宏块则是利用前后向的参考图形进行

2016-11-19 19:13:47 575

转载 h.264 视频解码的一点小经验(ffmpeg)

最近做视频文件264解码,由于对这个领域不是很熟悉,感觉困难重重。不过经过不懈的努力,已经取得一些进展,心里感觉特别庆幸。 刚开始做这个的时候,由于不熟悉,就在网上搜寻资料,网络上的资料虽然多,但是却很杂乱,因此一开始走了不少弯路,现在把我的一点小小心得写出来,后来的兄弟们可以参考一下,没准能够少走些弯路。当然啦,我在视频处理方面仍然是个非常菜的菜鸟,如果是高手路过,看到我这所谓的“心得”,也请不

2016-11-19 17:20:48 2536

转载 一段H264数据的分析

分析00 00 00 01 67 42 00 1E 99 A0 B1 31 00 00 00 01H264的数据流分为两种,一种是NAL UNIT stream(RTP),一种是 bits stream,两者可以互相转换。我们分析的这个是 bit stream,根据Annex B00 00 00 01 67 42 00 1E 99 A0 B1 31 是 一个NAL,在两个00 00

2016-11-19 17:12:44 481

转载 H.264学习(一)——帧和场的概念

一、何谓场?每个电视帧都是通过扫描屏幕两次而产生的,第二个扫描的线条刚好填满第一次扫描所留下的缝隙。每个扫描即称为一个场。因此 25 帧/秒的电视画面实际上为 50 场/秒 (若为 NTSC 则分别为 30 & 60 - 因为我是中国人,因此我采用 PAL 的数值)。若要取得包含最大细节的帧,您需要合并两个场内的信息。截至目前为止,这些观念都很简单,不过若考虑到动态画面,就不是那么

2016-11-19 17:02:33 730

转载 从Slice_Header学习H.264(三.3)--相关细节之 FMO

3.关于FMO(多片组) FMO,指灵活块映射,也即多片组模式。关于片组的概念:一个片组由若干个宏块组成,可以按照某种规则将一个图像中的某些宏块(这些宏块可以在图像中的任意位置,不是必须相邻)划分成一个组,就是一个片组。我们已经知道,H.264对图像进行编解码时是以片为单位的,一个片也包含一系列的宏块。在有了片组的概念后,划分片时还有一个规则:一个片中的所有宏块,必

2016-11-19 16:09:19 378

转载 从Slice_Header学习H.264(三.2)--相关细节之 参考图像列表

2.参考图像列表 解码器每解码完一幅图像,都会判断该图像是否用于参考,并标记相应的参考图像,而且会在解码下一幅图像前,将参考图像列表初始化好;解码下一幅图像时,先根据图像的片头信息判断是否需要对参考列表重排序,如果需要,就根据片头的附加信息重新排序,之后开始对图像解码,解码完成后,重新进行参考图像的标记……如此循环。(IDR帧不需要参考帧,它解码完后标记产生第一个参考图像,供之后的

2016-11-19 16:08:40 1167

转载 从Slice_Header学习H.264(三.1)--相关细节之 POC的计算

三、slice头相关的一些细节 1.关于POC的计算             图像序列号(POC)主要用于标识图象的播放顺序,同时还用于在对帧间预测片解码时,标记参考图像的初始图像序号。       对于每个编码帧有两个图像序列号,分别称为顶场序列号(TopFieldOrderCnt)和底场序列号(BottomFieldOrderCnt );对于每个编码场有

2016-11-19 16:07:59 426

转载 从Slice_Header学习H.264(二)--片头的子语法项目

二、slice头的三个子语法项目 1.ref_pic_list_reordering( ) 参考图像列表重排序语法  $     上面已经提到,编码器给每个参考帧都会分配一个唯一性的标识,即句法元素frame_num。但是,当编码器要指定当前图像的参考图像时,并不是直接指定该图像的frame_num 值,而是使用通过下面步骤最终得出的 ref_id 号:fr

2016-11-19 16:07:20 565

转载 从Slice_Header学习H.264(一)--片头语法元素介绍

从Slice_Header学习H.264 写在前面:$     H.264我是结合标准和毕厚杰的书一块学的。看句法语义时最是头疼,一大堆的元素,很需要耐心。标准中在介绍某个元素的语义时,经常会突然冒出与之相关的另一个变量,这个变量一般都在前文中讲过,但那么多变量怎么可能看一遍就记住?这时我只能去前面重新找这个变量再看一遍。没办法,H.264这个庞大的结构内部肯定是环环相扣的

2016-11-19 15:10:46 1891

转载 h264 ES流文件通过计算first_mb_in_slice区分帧边界

本人由于最近在读取h264文件的时候,遇到如何读取完整一帧数据的问题,通过使用elecard stream analyzer工具,以及结合《新一代视频压缩编码标准--H264/AVC》(第二版)书,并在网上查找总结如下:首先NAL句法,片头句法以及nal_unit_type语义必须知道:以上两图截自《新一代视频压缩编码标准--H264/AVC》(第二版)

2016-11-18 10:47:40 704

转载 H264 SPS分析

SPS: sequence parameter sets01. Profile_idc它指的是码流对应的profile.1.1 基线profile(Baseline profile)遵循基线profile的SPS: sequence parameter sets01. Profile_idc它指的是码流对应的profile.1.1 基线profile(Baseline pr

2016-11-18 09:44:06 1144

转载 arm中R0-R15寄存器的作用

根据“ARM-thumb 过程调用标准”:r0-r3    用作传入函数参数,传出函数返回值。在子程序调用之间,可以将 r0-r3 用于任何用途。            被调用函数在返回之前不必恢复 r0-r3。如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。r4-r11 被用来存放函数的局部变量。如果被调用函数使用了这些寄存器,它在返回

2016-11-17 08:48:44 12488

转载 arm汇编指令之数据块传输(LDM,STM)详见

数据块传输指令用于加载(LDM)或者存储(STM)当前有效寄存器的任意子集。它们支持所有可能的堆栈模式,维持空或者满的堆栈,此堆栈可以向上或者向下,在保存或者恢复内容,移动主存储器的大数据块是非常有效的。1,指令格式:{cond}     Rn{!},    {^}    *{cond}         条件代码    * 指令类型    *Rn      

2016-11-17 08:48:12 859

转载 用实例分析H264 RTP payload

H264的RTP中有三种不同的基本负载(Single NAL,Non-interleaved,Interleaved)应用程序可以使用第一个字节来识别。 在SDP中也说明了本次会话的属性SDP 参数 下面描述了如何在 SDP 中表示一个 H.264 流:. "m=" 行中的媒体名必须是 "video". "a=rtpmap" 行中的编码名称必须是 "H2

2016-11-16 16:48:36 489

转载 Arm汇编 位置无关代码 adr 指令

adr     r0, _start  得到的是_start的当前执行位置,由 pc+offset 决定的 得到有效地址ldr     r0, =_start  得到的是绝对的地址,链接时决定;------------------------------------------------------------------------/* 重定位Boot代码到RAM内存,将Boot代

2016-11-16 10:17:04 484

转载 ARM汇编指令MCR/MRC学习

MCR指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。指令的语法格式:MCR{} p15, 0, , , {,}MCR2 p15, 0, , , {,}其中,为指令执行的条件码。当忽略时指令为无条件执行。MCR2中,为Ob1111,指令为无条件执行指令。 为协处理器将执行的操作的操作码

2016-11-16 10:12:58 6203

转载 ARM汇编,MCR和MRC

MRC 传送一个协处理器寄存器到一个 ARM 寄存器, MCR 做反方向传送(字母看起来象是写反了,记住在 ARM 汇编器中目的通常写在左边)。 MCR 传送 ARM 寄存器 Rd 的内容到协处理器。协处理器基于 ooo、dddd、qqq 和 MMMM 字段的值自由的做它想做的任何事情,尽管有一个“标准的”解释: 把它写到协处理器寄存器 CRN,使用操作 ooo,用 CRM 和 qqq 提供可能的

2016-11-16 10:05:31 1041

转载 ARM汇编指令MCR/MRC学习

MCR指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。指令的语法格式:MCR{} p15, 0, , , {,}MCR2 p15, 0, , , {,}其中,为指令执行的条件码。当忽略时指令为无条件执行。MCR2中,为Ob1111,指令为无条件执行指令。为协处理器将执行的操作的操作码。

2016-11-16 09:56:04 480

转载 H.264 picture parameter sets成员值含义学习笔记

H.264中定义的picture parameter sets中包括了一个图像的所有切片信息.它也是H.264的基础之一,是编码前进行初始化的关键的一环,本文跟前一篇sps的参考笔记是兄弟篇,通过参考H.264的标准文档,对每个函数进行了一些注释性的说明,还有一些图表性的东西,因为blog上帖不是很方便,请参考文档中相应的部分.picture parameter sets1

2016-11-15 18:12:19 577

转载 H.264 sequence parameter sets成员值含义学习笔记

H.264中定义的sequence parameter sets中包括了一个图像序列的所有信息.它是H.264的基础之一,是编码前进行初始化的关键的一环,本文通过参考H.264的标准文档,对每个函数进行了一些注释性的说明,还有一些图表性的东西,因为blog上帖不是很方便,请参考文档中相应的部分.sequence_parameter_set_rbsp_t结构体内成员及用途:1

2016-11-15 18:10:55 1512

转载 开关中断与cpsid/cpsie指令

在汇编代码中,CPSID   CPSIE  用于快速的开关中断。CPSIDI;PRIMASK=1,;关中断CPSIEI;PRIMASK=0,;开中断CPSID CPSIEFF

2016-11-15 10:08:52 2218

转载 Linux芯片级移植与底层驱动(基于3.7.4内核)

1.   SoC Linux底层驱动的组成和现状为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍、中断控制器、SMP启动、CPU hotplug以及底层的GPIO、clock、pinctrl和DMA硬件的封装等。定时器节拍、中断控制器、SMP启动和CPU hotplug这几部分相对来说没有像早期GPIO、clock、pinctrl和DMA的实现那么杂乱

2016-11-15 09:55:49 678

转载 Linux电源管理系统架构和驱动(1)-Linux电源管理全局架构

1.   Linux电源管理全局架构Linux电源管理非常复杂,牵扯到系统级的待机、频率电压变换、系统空闲时的处理以及每个设备驱动对于系统待机的支持和每个设备的运行时电源管理,可以说和系统中的每个设备驱动都息息相关。对于消费电子产品来说,电源管理相当重要。因此,这部分工作往往在开发周期中占据相当大的比重,图1呈现了Linux内核电源管理的整体架构。大体可以归纳为如下几类:1

2016-11-15 09:43:19 404

转载 Linux RT(1)-硬实时Linux(RT-Preempt Patch)在PC上的编译、使用和测试

特别声明:本系列文章LiAnLab.org著作权所有,转载请注明出处。by  @宋宝华Barry Vanilla kernel的问题Linux kernel在spinlock、irq上下文方面无法抢占,因此高优先级任务被唤醒到得以执行的时间并不能完全确定。同时,Linux kernel本身也不处理优先级反转。RT-Preempt Patch是在Linux社区kernel的基础上

2016-11-14 09:29:09 4081

转载 MRS,MSR指令详解

在ARM处理器中,只有MRS(Move to Register from State register)指令可以对状态寄存器CPSR和SPSR进行读操作。通过读CPSR可以获得当前处理器的工作状态。读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有SPSR寄存器)。例如:MRS    R1,CPSR   ; 将CPSR状态寄存器读取,保存到R1中MRS

2016-11-12 11:04:40 2619

转载 linux percpu机制解析

一、概述每cpu变量是最简单也是最重要的同步技术。每cpu变量主要是数据结构数组,系统的每个cpu对应数组的一个元素。一个cpu不应该访问与其它cpu对应的数组元素,另外,它可以随意读或修改它自己的元素而不用担心出现竞争条件,因为它是唯一有资格这么做的cpu。这也意味着每cpu变量基本上只能在特殊情况下使用,也就是当它确定在系统的cpu上的数据在逻辑上是独立的时候。每个处理器访问自

2016-11-12 10:06:11 11823

转载 arm汇编—str,mov等指令

STR指令的格式为:STR{条件}  源寄存器,STR指令用亍从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常用,寻址方式灵活多样,使用方式可参考指令LDR。指令示例:STR R0,[R1],#8             ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。STR R0,[R1,#8]        

2016-11-11 17:47:41 15979

转载 I2C总线协议详解

I2C总线定义    I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘

2016-11-10 20:56:40 1013

转载 I2C总线协议

1.I2C协议   2条双向串行线,一条数据线SDA,一条时钟线SCL。   SDA传输数据是大端传输,每次传输8bit,即一字节。   支持多主控(multimastering),任何时间点只能有一个主控。   总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.   系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datash

2016-11-10 20:55:53 393

转载 CMOS摄像头驱动分析笔记1

最近学习摄像头驱动,刚刚大体上看完,有些地方换是不太明白,先做个笔记总结一下这几天看的,水平不行,语言很搓,有错误欢迎指正,十分感谢。CMOS摄像头接口接口主要由I2C控制总线部分和摄像头数据传输部分组成,i2c控制部分主要完成对摄像头模块的初始化,初始化后摄像头才能工作,摄像头数据传输接口叫做CAMIF接口,也叫FIMC,之前关于这个FIM

2016-11-10 07:26:02 1644

转载 Linux网络服务参数配置说明及实战

本文对应的运行时参数位于:/proc/sys/net/ipv4/*。“掌控”这些参数,能使您在Linux网络服务问题解决、调优方面功力大增。此乃“系统高手”之必备知识。临时改动某个系统参数的值,可用两种方法来实现,例如,想启用IP路由转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward或sysctl -w net.ipv4.ip_f

2016-11-09 18:08:35 727

转载 Keepalived无法绑定VIP故障排查经历

一 故障描述我在台湾合作方给定的两台虚拟机上部署HAProxy+Keepalived负载均衡高可用方案。在配置完Keepalived后,重新启动Keepalived,Keepalived没有绑定VIP。Keepalived执行程序路径为/data/app_platform/keepalived/sbin/keepalived配置文件路径为/data/app_platform/kee

2016-11-09 16:55:55 10685

转载 搭建keepalived遇到的问题

主机192.168.100.10备机192.168.100.20VIP192.168.100.30一.防火墙开启后双机都是master。在搭建之后开启防火墙发现双机日志都是MASTER1 Aug 29 12:58:17 localhost Keepalived_vrrp[18365]: VRRP_Instance(VI_1) Transition to MA

2016-11-09 16:11:36 2064

转载 RTP H264 NAL

H264 采用了多种错误恢复及适合网络传输的NAL特点来使用各种实时视频传输。 (1)参数集:序列参数集和图像参数集序列参数集包括一个图像序列的所有信息,即两个IDR图像间的所有图像信息图像参数集包括一个图像的所有分片的所有相关信息,包括图像类型、序列号等,解码时某些序列号的丢失可用来校验信息包的丢失与否。多个不同的序列和图像参数集存储在解码器中,编码器依据每个编码分片的头

2016-11-07 15:47:04 823

转载 linux内核奇遇记之md源代码解读之十三raid5重试读

linux内核奇遇记之md源代码解读之十三raid5重试读转载请注明出处:http://blog.csdn.net/liumangxiong上节我们讲到条块内读失败,在回调函数raid5_align_endio中将请求加入阵列重试链表,在唤醒raid5d线程之后,raid5d线程将该请求调用retry_aligned_read函数进行重试读:[cpp] view

2016-11-07 12:04:25 608

转载 linux内核奇遇记之md源代码解读之十二raid读写

linux内核奇遇记之md源代码解读之十二raid读写转载请注明出处:http://blog.csdn.net/liumangxiong我们都知道,对一个linux块设备来说,都有一个对应的请求队列。注册在这个请求队列上的请求就是该块设备的请求入口。对于raid来说,分配struct mddev时就已经设置好了,在函数md_alloc中有这样的代码:[cpp] vi

2016-11-07 12:03:25 1115

转载 linux内核奇遇记之md源代码解读之十一raid5d

linux内核奇遇记之md源代码解读之十一raid5d转载请注明出处:http://blog.csdn.net/liumangxiong正是有了上一篇的读写基础,我们才开始看raid5d的代码。raid5d不是读写的入口,也不是读写处理的地方,只是简简单单的中转站或者叫做交通枢纽。这个枢纽具有制高点的作用,就像美国在新加坡的基地,直接就控制了太平洋和印度洋的交通枢纽。[

2016-11-07 12:01:48 535

转载 linux内核奇遇记之md源代码解读之十raid5数据流之同步数据流程

linux内核奇遇记之md源代码解读之十raid5数据流之同步数据流程 转载请注明出处:http://blog.csdn.net/liumangxiong上一节讲到在raid5的同步函数sync_request中炸土豆片是通过handle_stripe来进行的。从最初的创建阵列,到申请各种资源,建立每个阵列的personality,所有的一切都是为了迎接数据流而作的准备。就像我们寒窗苦

2016-11-07 12:00:42 528

GB28181国标

公共安全视频监控联网系统 信息传输、交换、控制技术要求 GB28181国标,标准文档;GB28181-2016版本;PDF格式。

2019-01-30

ps解封包处理

PS视频流的解封包处理过程,详细请看源码!

2015-08-18

空空如也

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

TA关注的人

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