自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

缥缈孤鸿影的专栏

专注于Android和Linux技术

  • 博客(14)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android SELinux avc dennied权限问题解决方法

这篇文字本人原创于2015年,并作为原厂发布文档release,当时并未上传博客,估计已经被很多网友发表了。1. 概述SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“万能的root权限”,也不能获取全部的权限。本文旨在结合具

2017-05-25 18:10:37 88606 11

原创 Android开发中如何匹配layout资源(layout-sw480dp layout-sw600dp-land layout-sw720dp-port)

Android应用里里,大家一定饱受各种layout-sw480dp layout-sw600dp-land layout-sw720dp-port之苦,往往不知道自己的平板加载的是哪个Layout而不得不一个个尝试,网上一大堆说不清的教程。本人查阅很多资料,给大家分享一种计算方法确定自己平板所加载哪个dp的资源。事实上,sw不是software的,意思,我猜是shortest width,最

2015-05-27 22:21:25 18834 5

原创 Android 5.x SEAndroid/SElinux内核节点的读写权限

Android 5.x下,因为采取了SEAndroid的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问。本文将以用户自定义的内核节点/dev/wf_bt为例,手把手教会读者如何在JNI层获得对该节点的访问权限。第一步:找到需要访问该内核节点的进程(process),笔者自己这个节点由system_server进程来访问第二步:

2015-03-19 18:22:41 10207 5

原创 白话浅谈MPEG2-TS之demux

TS都是一个TS包组成,每个包都是固定188个字节,每个包都是4个字节包头开始,包头第一个字节是固定的0x47。那其他184个字节是什么呀,里面基本都装的是音频或者视频解码数据。如果给定一个TS文件,怎么去寻找解码音视频解码数据呢?        每个TS包的前4个字节的包头里都有一个PID,首先,一个个遍历TS包,我们找到PID为0的TS包,这个包叫PAT,这个PAT包里包含了PMT的PID

2014-09-23 19:40:47 5765 1

原创 Android用surface直接显示yuv数据(三)

本文用Java创建UI并联合JNI层操作surface来直接显示yuv数据(yv12),开发环境为Android 4.4,全志A23平台。package com.example.myyuvviewer;import java.io.File;import java.io.FileInputStream;import android.app.Activity;import androi

2014-07-14 15:31:10 23235 26

原创 Android用surface直接显示yuv数据(二)

上一篇文章主要是参照AwesomePlayer直接用SoftwareRenderer类来显示yuv,为了能用到这个类,不惜依赖了libstagefright、libstagefright_color_conversion等动态静态库,从而造成程序具有很高的耦合度,也不便于我们理解yuv数据直接显示的深层次原因。    于是我开始研究SoftwareRenderer的具体实现,我们来提取Soft

2014-07-10 11:36:28 14807 3

原创 Android用surface直接显示yuv数据(一)

研究了一段时间Android的surface系统,一直执着地认为所有在surface或者屏幕上显示的画面,必须要转换成RGB才能显示,yuv数据也要通过颜色空间转换成RGB才能显示。可最近在研究stagefright视频显示时发现,根本找不到omx解码后的yuv是怎么转换成RGB的代码,yuv数据在render之后就找不到去向了,可画面确确实实的显示出来了,这从此颠覆了yuv必须要转换成RGB才能显示的真理了。

2014-07-04 14:13:04 14893 21

原创 Android用C++创建surface显示RGB数据

以下在Android 4.4平台开发测试,#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2014-07-03 10:26:52 7452 1

原创 stagefright之MPEG4Extractor(三)(stsz,stss)

Sample Size Atoms - STSZ个人觉得该box的作用仅仅就是获得sample的总数以及每个sample的大小。猜测这里的sample总数应该和上面stts中sample count总数相加相等,实际验证确实是这样的。字段长度 ( 字节)描述尺寸

2014-06-13 16:05:43 1814

原创 stagefright之MPEG4Extractor(二)(stts,stsc,stco)

上一篇,我们讲了,Track是这样一个结构体:struct Track {        Track *next;        sp meta;        uint32_t timescale;        sp sampleTable;        bool includes_expensive_metadata;        bool skipTra

2014-06-13 15:41:31 2860

原创 stagefright之MPEG4Extractor(一)

2014/06/05 mp4文件都是由各个box组成,每个box前四个字节为box的size,第二个四字节为box的type,box type有ftyp moov trak 等等好多种.在MPEG4Extractor::parseChunk(off64_t *offset, int depth)里解析各个box。里面的Track主要是建立video track和audio tr

2014-06-05 23:08:38 2721

原创 Android调用系统相机拍照后不进入预览确认

private static Intent getTakePhotoIntent(String fileName) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE, null); final String newPhotoPath = ContactPhotoUtils.pathForNewCameraPhoto(fileN

2014-05-07 19:09:01 8506 8

原创 Android如何接收外部broadcast

给出一个demo,相信依样画葫芦可以成功。

2014-04-18 16:02:59 1115

原创 gcc与Makefile(一)

最近在学C,顺便也学了Makefile,很多文章只单纯讲Makefile,丝毫不讲Makefile的核心gcc。gcc是用来编译的源代码的,就像Visual C++,Turbo C++一样,只不过gcc是命令行,没有图形界面,其基本命令如下:编译:gcc -c hello.c (生成目标文件hello.o)连接:gcc -o hello hello.o(规则为 gcc -o 最终生成的

2014-02-14 19:57:35 914

单片机汇编密码锁—附截图

用汇编写的 设计一个具有特定功能的密码锁。该密码锁上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。

2010-12-16

优盘做系统启动盘(没有光驱的时候用优盘装系统)

如果没有光驱,那装系统是很麻烦的,但用U盘也可以,

2009-05-23

C代码 汉英分离工具

部分 include<stdio.h> #include<stdlib.h> void main() { FILE *p1,*p2,*p3; char ch,filename[50]; printf(" 汉英分离工具\n"); printf("建议将此程序复制到预处理文本文件(txt文件)所在目录。\n"); printf("若此程序不在文本文件所在目录,请输入文件的完整目录\n"); printf("\n" ); printf("请输入文件名,包括后缀:\n"); scanf("%s",filename); if((p1=fopen(filename,"r"))==NULL) {printf("输入文件错误 !!!!"); exit(0);} p2=fopen("中文.txt","w"); p3=fopen("Einglish.txt","w"); while(!feof(p1)) if((ch=fgetc(p1))<0) {fputc(ch,p2);ch=fgetc(p1);fputc(ch,p2);} else fputc(ch,p3);

2009-03-14

用C编写汉英分离工具

用 C编写 include<stdio.h> #include<stdlib.h> void main() { FILE *p1,*p2,*p3; char ch,filename[50]; printf(" 汉英分离工具\n"); printf("建议将此程序复制到预处理文本文件(txt文件)所在目录。\n"); printf("若此程序不在文本文件所在目录,请输入文件的完整目录\n"); printf("\n" ); printf("请输入文件名,包括后缀:\n"); scanf("%s",filename); if((p1=fopen(filename,"r"))==NULL) {printf("输入文件错误 !!!!"); exit(0);} p2=fopen("中文.txt","w"); p3=fopen("Einglish.txt","w"); while(!feof(p1)) if((ch=fgetc(p1))<0) {fputc(ch,p2);ch=fgetc(p1);fputc(ch,p2);} else fputc(ch,p3);

2009-03-14

空空如也

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

TA关注的人

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