- 博客(177)
- 资源 (1)
- 收藏
- 关注
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-4章
第 93 页共 99页luma_ref, cb_ref, cr_ref, /* Reference VOP pel arrays */mv_top_x, mv_top_y, /* top field motion vector */mv_bot_x, mv_bot_y, /* bottom field motion vector */top_field_ref, /* top field refe
2017-06-13 14:10:15 794
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-3章
转载:第 82 页共 99页码流中的参数如重建的差分运动向量MVDx和MVDy要限定在范围[low:high]内。另外,重建的运动向量MVx和MVy的范围也要在[low:high]内。而允许范围则是依赖于参数vop_fcode,如下面表4-9所示:表 4-9 –运动矢量的范围vop_fcode_forwardorvop_fcode_backwardmotion vector range inhal
2017-06-13 14:10:12 839
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-2章
转载:第 73 页共 99页InverseQuantisationArithmeticSaturationQF[v][u] F''[v][u] F'[v][u] F[v][u]quant_scale_codeW[w][v][u]MismatchControl图 4-7 逆量化的过程4.3.4.1 第一种反量化方法第一种反量化方法,也就是MPEG 反量化方法,在quant_type 为1时被使用。短
2017-06-13 14:10:09 868
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-1章
转载:第四章 解码流程这一章对MPEG4 ASP的解码流程作一个完整的介绍。首先给出解码框图,然后按照解码的先后顺序对每一个功能模块进行详细的说明。4.1. 解码框图码流解析运动向量解码运动补偿VLC IZZIACDC IQ IDCTVOP重建(ADD)重建VOP运动数据纹理数据图4-1 MPEG4 ASP的解码流程如图4-1 所示,它给出了基本的解码流程。其中,码流解析就是从码流中得到头信息,并
2017-06-13 14:10:06 666
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-03-4章
转载:第 50 页共 99页表 3-19 I-VOP和P-VOP中cbpy的变长码表Code cbpy(intra-MB)(1234)cbpy(inter-MB),(1234)0011 000011110010 1 000111100010 0 001011011001 001111000001 1 010010110111 010110100000 10 011010011011 0111100
2017-06-13 14:10:03 959
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-03-3章
转载:第 38 页共 99页Video_object_type_indication:指示当前码流所使用的对象类型,它决定了后面的码流所能使用的工具,见表3-5:表 3-5 视频对类象型指示Video Object Type CodeReserved 00000000Simple Object Type 00000001Simple Scalable Object Type 00000010Cor
2017-06-13 14:09:59 814
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-03-2章
转载:第 26 页共 99页marker_bit 1 bslbfvop_time_increment 1-16 bslbfmarker_bit 1 bslbfvop_coding_type 2 uimsbfintra_dc_vlc_thr 3 uimsbfif (vop_coding_type != “I”)vop_fcode_forward 3 uimsbfif (vop_coding_type
2017-06-13 14:09:56 685
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-03-1章
转载:第 13 页共 99页第三章 ASP码流语法和语义3.1. 准备知识3.1.1 MPEG4码流中的术语和函数bslbf:Bit string, left bit first。比特串,左边的bit 在前。Uimsbf:Unsigned integer, most significant bit first.无符号整数,最有意义的bit在前。Simsbf:Signed integer, in t
2017-06-13 14:09:53 732
原创 MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-01-02章
转载本文将对 MPEG4标准中的Advanced Simple Profile(ASP)做一个完整的说明,我并不打算只是对标准进行翻译,而是根据我当初读标准时遇到的问题,给出一个更容易理解的阅读标准的途径。需要指出的是,虽然本文给出了标准中的绝大部分,但本文并不是一个标准,而只是对标准的个人理解,遇到真正有疑问的地方,还是需要参考标准中的相应描述,毕竟只有正式的标准才是最标准的。我将按下面的方式组
2017-06-13 14:09:49 3595
原创 Linux动态频率调节系统CPUFreq之三:governor
Linux动态频率调节系统CPUFreq之三:governor 转载 目录(?)[+]在上一篇文章中,介绍了cpufreq的core层,core提供了cpufreq系统的初始化,公共数据结构的建立以及对cpufreq中其它子部件提供注册功能。core的最核心功能是对policy的管理,一个policy通过cpufreq
2017-06-13 14:09:46 319
原创 Linux动态频率调节系统CPUFreq之二:核心(core)架构与API
Linux动态频率调节系统CPUFreq之二:核心(core)架构与API 转载 目录(?)[+]上一节中,我们大致地讲解了一下CPUFreq在用户空间的sysfs接口和它的几个重要的数据结构,同时也提到,CPUFreq子系统把一些公共的代码逻辑组织在一起,构成了CPUFreq的核心部分,这些
2017-06-13 14:09:43 375
原创 让android4.0可以通过代理看流媒体 proxy
在android3.x时代,标题所说的问题是不存在的。但是到了4.0,不知道为什么android所有的arm版本系统都会默认走V8引擎使用chrome浏览器。这时候在测试cts时就发现如果使用代理上网(因为cts中的测项经常需要访问例如youtube这样的外网,需要翻墙才能浏览)是无法播放youtube视频的,除开某些视频是因为格式的问题确实无法播放之外,android4.0自身设计的缺陷占了
2017-06-13 14:09:40 501
原创 android 视频录像流程[原创]
原创:转载请注明Writer数据处理流程: 1, Camera没输出一帧YUVdata都会调用回调函数dataCallbackTimestamp, 并将YUV数据和时间戳信息分别push到mFramesReceived,mFrameTimes。2, Writer有三个thread,vi
2017-06-13 14:09:31 465
原创 HTTP应用流媒体分析
HTTP应用流媒体分析 严格意义上,基于HTTP的VOD不算是真的流媒体,英文称为“progressive downloading”或者“pseudo streaming”,为什么这样呢?因为HTTP缺乏流媒体基本的流控,由此基于HTTP协议很难实现媒体播放的快进,快退,暂停。那么,通常的媒体播放器又是如何利用HTTP来实现这样的功能呢? 我们都知道,不管媒体文件有多大,HTTP
2017-06-13 14:09:28 684
原创 android多媒体框架之流媒体具体流程篇3----base on jellybean(十三)
转载上一篇我们讲到了从web server 中获取了sessiondescription,并解析出了media server的路径和一些基本的媒体信息。下面我们开始讲述如何跟mediaserver建立连接并控制服务器端和客户端以达到播放,暂停,停止的目的。首先跟media server建立连接 SETUP:具体的格式如下(UDP):C->A(audio): SETUPrtsp://aud
2017-06-13 14:09:25 268
原创 android多媒体框架之流媒体具体流程篇1----base on jellybean(十一)
转载 病了两周,一吃医生开的药就加重,NND以后不去那儿看病了,最近好多了但人也懒了,也好久没有更新博文了,难道我的计划要这样的搁浅了?NO!生命不息,笔耕不辍,哈哈,有点夸大了,嘚吧嘚吧啥,进入正题.上面我们把流媒体的框架和里面的消息机制讲了一遍,下面我们开搞流程了。我们首先探讨android里的主流支持的RTSP相关的流程。RTSP协议相关的,不了解的,可以回
2017-06-13 14:09:22 323
原创 android多媒体框架之流媒体AHandler消息机制----base on jellybean(十)
转载为什么我们要谈论流媒体的消息机制呢?因为在流媒体中,类似于我们写APP的时候,为了不阻塞UI线程,我们把利用handler,把UI线程分开异步执行,使用handler去执行某项比较费时的操作,然后异步更新UI线程。流媒体中也是类似的,因为联网,codec都很费时,需要异步执行。handler是java的实现机制,而我们下面要讲的AHandler就是基于C++的实现了。我们知道handle
2017-06-13 14:09:19 267
原创 android多媒体框架之流媒体框架----base on jellybean(九)
转载android流媒体框架是从Gingerbread android2.3的时候加入的,其核心就是nuplayer。android 流媒体在4.1上资源文件主要分为httplivesource,rtspsource,genericsource.genericsource是4.1上加入的。其中Rtsp流和httplive流是最主要的,两者有本质的区别。RTSP source是客户机在向
2017-06-13 14:09:16 277
原创 多媒体的一些基本概念
转载 码率:也叫比特率,表示经过压缩编码后的视音频数据每秒需要用多少个比特来表示,即把每秒显示的图像进行压缩后的数据量,一般采用的单位是kbps即千位每秒。一般来说码率越大,处理出来的文件就越接近原始文件,但文件体积与码率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来的CBR(固定码率)与VBR(动态码率)。 固定码
2017-06-13 14:09:13 274
原创 Android Multimedia Framework 架构--base on jellybean(二)
转载转载请注明出处:太妃糖出品。哈哈 我们学习一种新事物必然首先都要对该事物要有个大体的了解,熟悉它的整体架构,然后进行划分归类,接下来才是各个击破,逐步学习乃至掌握。对于要学习android Multimedia的人来说也是如此,先来个总括吧 !我打算分三部分来讲解,请听我娓娓道来....一:多媒体简介 为啥要讲多媒体的概念呢?可能很多人都对这个名称解释不怎么了解,所以在
2017-06-13 14:09:10 188
原创 Android Multimedia Framework overview(多媒体框架概述)--base on jellybean(一)
转载 jellybean 的多媒体跟以前的版本,通过对比没啥变化,最大的变化是google终于舍得给multimedia建个独立的git了(framework/av),等你好久了!也体现了media 在整个android系统中的重要性!framework/av下都是些C/C++代码(libmedia,libmediaplayerservice,libstagefright)
2017-06-13 14:09:07 223
原创 OpenMax IL: component 概述
转载OpenMax IL 有四个部分组成: 客户端(Client):OpenMax IL的调用者 组件(Component):OpenMax IL的单元,每一个组件实现一种功能 端口(Port):组件的输入输出接口 隧道化(Tunneled):让两个组件直接连接的方式OpenMax IL 中重要的组成部分是component,component是OpenMax IL实
2017-06-13 14:09:04 321
原创 video/audio playback:prepare & start
转载prepare:启动mQueue,对http://,rtsp://gtalk/,fmradio://rx之类的url进行mAudioTrack/mVideoTrack分离,并根据mAudioTrack/mVideoTrack编码类型选择相应的decode1.framework/base/media/libmediaplayerservice/MediaPlayerService.cpps
2017-06-13 14:08:56 257
原创 video/audio playback:setDataSource
转载实现video/audio playerback,需要经过如下步骤:MediaPlayer mp = new MediaPlayer(); mp.setDataSource(String URL/FILE_PATH); mp.prepare(); mp.start(); 首先是setDataSource: 创建player,如果url是以content://形
2017-06-13 14:08:53 1286
原创 OMXCodec与OMX事件处理流程
转载 学习了解Mutilmedia Framework有一段时间了,今天闲下来稍微整理整理。OMXCodec.cpp类属于libstagefright,在整个MM PF 相当OMX的适配层,供awesomeplayer调用,而OMX.cpp,OMXNoteInstance.cpp等相当于OpenMax中的OpenMax IL,首先讲下OMXCodec与OMX c
2017-06-13 14:08:50 354
原创 Android 4.2 Wifi Display核心分析 (一.1)
进一步,ANetworkSession类中的sendRequest函数无非是将消息保存在mOutBuffer或者 mOutDatagrams供writeMore函数使用。具体而言,当sendRequest函数调用完毕时,threadLoop中的select函 数发现写文件描述符集合ws有写变化,即有socket可写。因而会调用session->writeMore()函数,该session对应于 R
2017-06-13 14:08:47 680
原创 Android 4.2 Wifi Display核心分析 (一)
转载 主要介绍了有关WifiDisplay设备连接和建立数据流的流程,这一回将接着向底层前进。由于涉及的内容较多,这里仅仅理清一个大概的头绪,细节的部分将不再展开,如果有什么错误的地方我会及时更正。 当Source端通过RemoteDisplay.cpp的构造函数注册了Wifidisplay处理线程,并且ANetworkSessio
2017-06-13 14:08:44 917
原创 Android 4.2 Wifi Display之Settings源码分析(二)
Android 4.2 Wifi Display之Settings源码分析(二) 转载 首先,回顾下应用层,当用户在搜寻完设备后,可以选择设备进行连接,当然正在进行连接或已经连接配对的设备,再次点击配置后,会弹出对话框供用户选择断开连接。 packages/apps/Settings/src/com/android/settings/w
2017-06-13 14:08:40 597
原创 Android 4.2 Wifi Display 之 Settings 源码分析
Android 4.2 Wifi Display 之 Settings 源码分析(一) 转载 androidwifidisplay内核分析miracast 有关核心分析请见这里~ 作者: mznewfacer 时间:2012年11月27日 所有内容都是自己的分
2017-06-13 14:08:37 560
原创 【转载】StageFright框架流程解读
1、 StageFright介绍 Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,并没有完全抛弃opencore,主要是做了一个OMX层,仅仅是对 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService这一层加入的,和openco
2017-06-13 14:08:34 320
原创 RTSP连接服务器
RTSP连接服务器是否成功,以及是否从服务器接收到实际播放的数据,主要是判断两个linux select函数的执行结果。 1.连接服务器的处理过程 [cpp] view plaincopyARTSPConnection::onConnect(const sp &msg) int err = ::connect( mSocket, (const struct
2017-06-13 14:08:31 540
原创 Android OpenCore error code定义
Android OpenCore error code定义在pv_return_codes.h文件中,下面是具体的错误码定义: 其中的RTSP错误码可以参考:标准RTSP 消息的错误代码 [cpp] view plaincopytypedef int32 PVMFStatus; // Return codes /* Return code for general success *
2017-06-13 14:08:28 787
原创 http streaming 处理流程
对于http streaming,更新buffer进度的处理在AwesomePlayer::onBufferingUpdate()函数中,首先判断 mCachedSource != NULL,即是http://流媒体的情况下,通过getBitrate(&bitrate)函数取得bitrate,然后计算出buffer的 进度,通过notifyListener_l(MEDIA_BUFFERING_UP
2017-06-13 14:08:25 2556
原创 【转载】ubuntu下修复MBR
方法1, sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda 方法2, sudo lilo -M /dev/sda方法3,sudo ms-sys -m /dev/sda (需要到 http://ms-sys.sourceforge.net/ 下载编译 ms-sys附ubuntu的一些mbr操作 备份mbr dd if=/dev/sda o
2017-06-13 14:08:22 2073
原创 MHL技术剖析
MHL这个只是经常听说,没有见过的东西,现在已经非常火热了,我们才刚刚开始做,人家三星都推出几款带MHL接口的手机了,电视 机顶盒。。。。。反正好多设备上都已经开始用MHL了。Silicon Image厂家来人给我们做了MHL技术的培训,演示了多种MHL解决方案我做了一些笔记,同时参考了MHL芯片的手册,理解了工作原理,做个总结一些术语:MHL:Mobile High-Definition Lin
2017-06-13 14:08:19 1571
原创 Hardware Acceleration
http://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupportedHardware Acceleration In this document Controlling Hardware Acceleration
2017-06-13 14:08:16 889
原创 linux android 程序崩溃调试技术
作者:宋文生 2012-2-13 一,起因 在开发android的ril过程中,遇到了rild异常崩溃的现象。该进程直接控制android RIL相关的所有操作,如果异常终止,将导致android framework的重启。 二,细节 a) 众所周知,linux的程序崩溃时,都会打印出崩溃前的stack trace。该stack trace
2017-06-13 14:08:13 548
原创 ICS4.0.3创建NuPlayer的处理流程
ICS4.0.3中播放RTSP流媒体使用的播放器框架是NuPlayer,现在就分析创建NuPlayer的处理流程。 1.创建Nulayer所做的处理 在NuPlayerDriver::NuPlayerDriver()构造函数中: 1.1 创建了ALooper对象mLooper,并调用了 mLooper->start函数,优先级为PRIORITY_AUDIO。 在ALooper::star
2017-06-13 14:08:10 292
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人