android (1)
来源:互联网 发布:用spss主成分分析数据 编辑:程序博客网 时间:2024/05/20 04:09
android (1)
2011-7-15 11:23:34
CameraHal::cameraOpen()
打开设备
int CameraHal::cameraClose()
取消映射 关闭设备
int CameraHal::cameraDestroy()
关闭 有overlay 就关闭overlay
int CameraHal::cameraTakePicConfig()
设置像素信息
HAL_openCameraHardware
camera的单例
VPU 媒体处理单元
static int __init vpu_init(void)
{
int ret = platform_driver_register(&mxcvpu_driver);
init_waitqueue_head(&vpu_queue);
return ret;
}
注册了一个平台驱动
static struct platform_driver mxcvpu_driver = {
.driver = {
.name = "mxc_vpu",
},
.probe = vpu_dev_probe,
.remove = vpu_dev_remove,
.suspend = vpu_suspend,
.resume = vpu_resume,
};
在arch中定义了这样一个设备
struct platform_device mxcvpu_device = {
.name = "mxc_vpu",
.id = 0,
.num_resources = ARRAY_SIZE(vpu_resources),
.resource = vpu_resources,
};
对应的IRQ 资源为 9 内存资源为 4K
在probe中 将物理地址重新映射
VPU有一个16的DSP核
BIT procesor
解码一帧一帧的进行
以中断的方式进行交互
有自己的内存来加载固件
自动加载和重定位
多实例操作
创建一个新的实际就返回一个句柄
主机 ABMA 通信
共享内存
指令通过寄存器 数据通过共享内存
R分为3类
控制R 显示BIT寄存器的状态,大部分在引导的时候使用
全局R 显示全局变量
命令 IO R
API 级的VPU 控制
初试化vpu_init
VPUEncoder.cpp (frameworks\base\media\libstagefright\codecs\vpu\enc): err = vpu_Init(NULL);
Vpu_lib.c (external\linux-lib\vpu):RetCode vpu_Init(void *cb)
扩展的linux库
typedef unsigned char Uint8;
typedef unsigned long Uint32;
typedef unsigned short Uint16;
typedef Uint32 PhysicalAddress;
typedef Uint32 VirtualAddress;
typedef enum {
STD_MPEG4 = 0,
STD_H263,
STD_AVC,
STD_VC1,
STD_MPEG2,
STD_DIV3,
STD_RV,
STD_MJPG
} CodStd;
媒体类型
typedef enum {
RETCODE_SUCCESS = 0,
RETCODE_FAILURE = -1,
RETCODE_INVALID_HANDLE = -2,
RETCODE_INVALID_PARAM = -3,
RETCODE_INVALID_COMMAND = -4,
RETCODE_ROTATOR_OUTPUT_NOT_SET = -5,
RETCODE_ROTATOR_STRIDE_NOT_SET = -11,
RETCODE_FRAME_NOT_COMPLETE = -6,
RETCODE_INVALID_FRAME_BUFFER = -7,
RETCODE_INSUFFICIENT_FRAME_BUFFERS = -8,
RETCODE_INVALID_STRIDE = -9,
RETCODE_WRONG_CALL_SEQUENCE = -10,
RETCODE_CALLED_BEFORE = -12,
RETCODE_NOT_INITIALIZED = -13,
RETCODE_DEBLOCKING_OUTPUT_NOT_SET = -14,
RETCODE_NOT_SUPPORTED = -15,
RETCODE_REPORT_BUF_NOT_SET = -16,
RETCODE_FAILURE_TIMEOUT = -17
} RetCode;
返回状态
CodecCommand 命令
typedef enum {
SPS_RBSP,
PPS_RBSP
} AvcHeaderType;
vpu_io.h
- android Android.mk(1)
- android (1)
- android(1)
- android-1
- android 1
- android-1
- Android(1)
- Android (1)
- android 学习 1 创建android
- android 胡言乱语 1 android basic
- Android入门【1】-Android概览
- Android-Android数据存储1
- cocos2d-android & cocos2d-android-1
- android-1-Android简单入门
- Android--入门---1---(android what is Android?)
- Android API中文(1) -- Android是什么 及Android架构
- Android 开发 Tip 1 -- android:state_checked & android:state_activated
- android学习1 android应用的基础
- global index & local index的区别
- 80x86存储器组织结构
- iphone xcode项目运行流程
- Flash CS5 多次添加同一个显示对象例子
- 基于java的网络抓包技术研究与实现(转)
- android (1)
- 基于角色的权限设计 - 类图
- UDP广播与多播
- 操作Cookie
- java 用可获取的字体、样式、字号修饰文字
- c3p0配置详解
- 声明式函数与函数例子
- oracle: default role 详解
- Flex分享:生命周期