自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android中Media Framework浅析(二)——MediaServer

MediaServer是整个android中media部分的核心和灵魂。几乎所有与多媒体播放相关的内容都放在这里。包括了音视频的编解码以及显示输出。MediaServer的main函数位于frameworks/base/media/mediaserver/main_mediase

2011-08-25 18:47:45 22247 2

原创 Android中Media Framework浅析(一)——概述

研究Android中Media framwork已经有一段时间了,有必要好好总结一下。从今天开始,就把我这几个月所学到的整理出来与大家分享。由于我所有的开发是基于android 3.0 honeycomb版本,并且里面有一些涉及到Google TV的内容。这部分内容并不开源,

2011-08-25 18:25:38 5052 1

原创 Android系统的Binder机制之一——Service Manager

Android虽然构建在Linux上面,但是在IPC(进程间)机制方面,没有利用Linux提供IPC机制,而是自己实现了一套轻量级的IPC机制——binder机制。并且Android Binder机制之上,Android框架提供了一套封装,可以实现对象代理(在本地进程中代理远程进程的对象)。本文简单分析一下Android Binder机制。 Binder情景分析     一个IPC通讯我们可以理解成客户端-服务器模式,因此我们先在这里分析一下典型的Binder应用模式: 1、客户端通过某种方式(

2011-04-22 17:11:00 1750

原创 Android的垃圾回收机制(android refbase类(sp wp))

sp和wp的实现过程~~         个人觉得sp和wp实际上就是android 为其c++实现的自动垃圾 回收机制 ,具体到内部实现,sp和wp实际上只是一个实现垃圾回收功能的接口 而已,比如说对*,->的重载,是为了其看起来跟真正的指针一样,而真正实现垃圾回收的是refbase这个基类。这部分代码的目录 在:/frameworks/base/include/utils/RefBase.h         首先所有的类都会虚继承refbase类,因为它实现了达到垃圾回收所需要的所有funct

2011-04-08 11:18:00 1248

原创 volatile的用法

      就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会         推荐一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volat

2011-03-28 13:16:00 835

原创 C/C++中const用法总结

最近在学习C++,看到一篇文章总结关键词const挺不错,转过来: const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令  **************常量必须被初始化************************* cons的作用    (1)可以定义const常量         例如:              const int Max=100;              int Array[Max];            (2)便于进行类型

2011-03-28 11:19:00 809

原创 like,unlikely宏和GCC内建函数__builtin_expect()

在阅读GStreamer代码中有两个调用很频繁的宏: #define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1)) #define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0)) 其中 _G_BOOLEAN_EXPR宏的定义如下: #define _G_BOOLEAN_EXPR(expr)                   / __ext

2011-02-21 16:53:00 1993

原创 Enterprise Architect 7.0入门教程(目前最详细的中文教程)

使用案例,逻辑,动态和物理模型; 定制进程模型的扩展或其他; 高品质的MS Word 兼容文档; 应用直观方便; 低许可费; 数据建模,前向DDL数据库工程,反向ODBC数据库工程; 多用户(Professional 和 Corporate Edition); 前向或逆向代码工 程(Professional 和 Corporate Edition)——支持Java, C#, C++, VB.Net, Delphi, Visual Basic 和 PHP; XML导入/导出容易; 拼写检查;

2010-10-22 15:37:00 2405

转载 Symbian 因何没落

<br />      在回家的路上,和同事开玩笑说,要是 Nokia 或者 Symbian 请我去做 Symbian OS 的技术总监,我会告诉他们如何把 Symbian 引导到正确的方向。当然,这仅仅是笑谈,但是似乎不妨碍我们正确地思考这一问题。<br />在 2006 年,我开始做真正智能移动平台的安全软件(在此之前,曾经跟踪过 Palm 上的安全动态,也有原型程序)。当时的平台还是以 Symbian(包括 S60 和 UIQ)和 Windows Mobile 为主。在经历痛苦的学习,持续的挫折感,并

2010-07-28 11:14:00 1148

原创 H.264句法和语法总结(十四)CAVLC 残差句法

residual_block_cavlc( coeffLevel, maxNumCoeff ) {  C      Descriptor     for( i = 0; i         coeffLevel[ i ] = 0          // coeff_token      指明了非零系数的个数,拖尾系数的个数。           coeff_token      if( Tot

2010-04-12 17:19:00 2472

原创 H.264句法和语法总结(十三)残差句法

residual( ) {      if( !entropy_coding_mode_flag )                   residual_block = residual_block_cavlc               else                   residual_block = residual_block_cabac               if(

2010-04-12 17:13:00 2132

原创 H.264句法和语法总结(十二)子宏块预测句法

sub_mb_pred( mb_type ) {       for( mbPartIdx = 0; mbPartIdx         // sub_mb_type[ mbPartIdx ]    指明子宏块的预测类型,在不同的宏块类型中这个句法元素的语义不一样。              sub_mb_type[ mbPartIdx ]       for( mbPartIdx = 0; mb

2010-04-12 17:12:00 2151

原创 H.264句法和语法总结(十二)子宏块预测句法

sub_mb_pred( mb_type ) {       for( mbPartIdx = 0; mbPartIdx     0    | |   mb_field_decoding_flag ) &&             mb_type    !=    P_8x8ref0    &&             sub_mb_type[ mbPartIdx ]    !=    B_Direct_8x8    &&             SubMbPredMode( sub

2010-04-12 17:05:00 1545

原创 H.264句法和语法总结(十一)宏块层预测句法

mb_pred( mb_type ) {       if( MbPartPredMode( mb_type, 0 )    = =    Intra_4x4    | |             MbPartPredMode( mb_type, 0 )    = =    Intra_16x16 ) {         if( MbPartPredMode( mb_type, 0 )  

2010-04-12 17:01:00 3816

原创 H.264句法和语法总结(十)宏块层句法

macroblock_layer( ) {       // mb_type    指明当前宏块的类型。H.264规定,不同的片中允许出现的宏块类型也不同。下表指明在各种片类型中允许出现的宏块种类。                           片类型                  允许出现的宏块种类                          I (slice)               I  宏块                          P (slic

2010-04-12 16:45:00 3002 7

原创 H.264句法和语法总结(九)片层数据句法

slice_data( ) {       if( entropy_coding_mode_flag )                     while( !byte_aligned( ) )                          // cabac_alignment_one_bit    当熵编码模式是CABAC 时,此时要求数据字节对齐,即数据从下一个字节的第一个比特开始,如果

2010-04-12 16:11:00 4085

原创 H.264句法和语法总结(八)参考图像序列标记 (marking)操作的语义

重排序(reordering)操作是对参考帧队列重新排序,而标记(marking)操作负责将参考图像移入或移出参考帧队列。 dec_ref_pic_marking( ) {      if( nal_unit_type    = =    5 ) {                    // no_output_of_prior_pics_flag  仅在当前图像是 IDR 图像时出现这个句

2010-04-12 15:54:00 4347

原创 H.264句法和语法总结(七)加权预测句法

pred_weight_table( ) {      // luma_log2_weight_denom    给出参考帧列表中参考图像所有亮度的加权系数,是个初始值luma_log2_weight_denom  值的范围是  0 to 7。      luma_log2_weight_denom        // chroma_log2_weight_denom  给出参考帧列表中参

2010-04-12 15:40:00 3563

原创 H.264句法和语法总结(六)参考帧队列重排序(reordering)句法

ref_pic_list_reordering( ) {       if( slice_type    !=    I    &&    slice_type    !=    SI ) {                      // ref_pic_list_reordering_flag_l0   指明是否进行重排序操作,这个句法元素等于1 时表明紧跟着会有一系列句法元素用于参考帧队列的

2010-04-12 15:29:00 5616

原创 H.264句法和语法总结(五)片头句法

slice_header( ) {      // first_mb_in_slice  片中的第一个宏块的地址,  片通过这个句法元素来标定它自己的地址。 要注意的是在帧场自适应模式下,宏块都是成对出现,这时本句法元素表示的是第几个宏块对,对应的第一个宏块的真实地址应该是2 * first_mb_in_slice      first_mb_in_slice        /* slice_ty

2010-04-12 15:16:00 9176

原创 H.264句法和语法总结(四)图像参数集语义

pic_parameter_set_rbsp( ) {       // pic_parameter_set_id 用以指定本参数集的序号,该序号在各片的片头被引用。    pic_parameter_set_id       // seq_parameter_set_id  指明本图像参数集所引用的序列参数集的序号。     seq_parameter_set_id     

2010-04-12 14:07:00 3254

原创 H.264句法和语法总结(四)图像参数集语义

pic_parameter_set_rbsp( ) {       // pic_parameter_set_id 用以指定本参数集的序号,该序号在各片的片头被引用。    pic_parameter_set_id       // seq_parameter_set_id  指明本图像参数集所引用的序列参数集的序号。     seq_parameter_set_id     

2010-04-12 14:03:00 4621

原创 H.264句法和语法总结(三)序列参数集层(SPS)句法

seq_parameter_set_rbsp( ) {      // profile_idc  level_idc  指明所用  profile、level     profile_idc       // constraint_set0_flag  等于 1 时表示必须遵从附录 A.2.1 所指明的所有制约条件。等于 0 时表示不必遵从所有条件。     constraint_s

2010-04-09 19:08:00 10074 3

原创 H.264句法和语法总结(二)NAL层句法

      NAL&VCL: H.264 的功能分为两层,即视频编码层(VCL)和网络提取层(NAL,Network Abstraction Layer)。VCL 数据即编码处理的输出,它表示被压缩编码后的视频数据序列。在 VCL 数据传输或存储之前,这些编码的 VCL 数据,先被映射或封装进 NAL 单元中。        每个 NAL 单元包括一个原始字节序列负荷(RBSP)、一组对应于视频编

2010-04-09 18:14:00 11869 4

原创 H.264句法和语法总结(一)句法元素的分层结构

               在 H.264 定义的码流中,句法元素被组织成有层次的结构,分别描述各个层次的信息,如下图所示               在H.264 中,句法元素共被组织成  序列、图像、片、宏块、子宏块五个层次。           在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头部的句法元素是该层数据的核心,而一旦头部丢失,数据部分的信

2010-04-09 17:16:00 9496 5

原创 AAC算法总结

一 引言        本文对AAC(Advanced Audio Coding)音频编码算法进行总结。首先简要介绍MPEG音频(包括AAC)的发展历程及AAC概况,然后结合FAAC(Free AAC)的代码对AAC编码算法的各个模块进行比较详尽的分析。 二 AAC概况1  MPEG及其AAC音频的发展历程        1988年ISO/IEC标准化组织成立了运动图像

2008-07-22 10:54:00 7947 7

空空如也

空空如也

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

TA关注的人

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