摘要:
MyScreenRecord.cpp //#define LOG_NODEBUG 0 #define LOG_TAG "myrecord" #include <signal.h> #include <string.h> #include <assert.h> #include <utils/Erro 阅读全文
摘要:
首先来看mp4的封装格式,mp4数据都被放在一个个的箱子当中,也就是box,box的字节序为网络字节序,也就是大端存储,box由header和body组成,header指明box的大小和类型,body根据header的类型存储对应的内容。 box size有三种可能: box开头的4个字节为box 阅读全文
摘要:
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #include <string.h> #include <signal.h> #include <errno.h> #define DEF 阅读全文
摘要:
1、YUV YUV是一种颜色编码方法,Y表示明亮度(Luminance、Luma),U和V表示色度、浓度(Chrominance、Chroma) Y表示亮度分量,也就是灰度图 U(Cb)表示色度分量,是照片蓝色部分去掉亮度 V(Cr)表示色度分量,是照片红色部分去掉亮度 1.1、YUV的采样格式 采 阅读全文
摘要:
MyDecoderBase.h #ifndef __MY_DECODERBASE_H__ #define __MY_DECODERBASE_H__ #include <media/stagefright/foundation/AHandler.h> namespace android { struc 阅读全文
摘要:
这一节是实践,学习android原生SimplePlayer并自己码一遍,果然学到很多。 MyPlayer.h #include <media/stagefright/foundation/AHandler.h> #include <media/stagefright/foundation/AStr 阅读全文
摘要:
之前看到在ATSParser::Pogram::Stream中会创建一个ESQueue,用于存储解析出来的ES data,这个ESQueue到底是用来做什么的呢?这节就来研究研究。 1、构造函数 ESQueue的全名是ElementaryStreamQueue, 构造函数传入两个参数Mode和fla 阅读全文
摘要:
这节来了解下MediaCodecList相关代码路径: frameworks/av/media/libstagefright/MediaCodecList.cpp frameworks/av/media/libstagefright/OmxInfoBuilder.cpp frameworks/av/ 阅读全文
摘要:
本节主要学习内容是看看MPEG2TSExtractor是如何处理TS流的。 相关代码位置: frameworks/av/media/extractors/mpeg2/MPEG2TSExtractor.cpp frameworks/av/media/libstagefright/mpeg2ts/ATS 阅读全文
摘要:
这一节的学习分为三块内容,omx hidl service用法、OMX架构、ACodec中的buffer分配。 1、omx hidl service system可以借助vndbinder来访问vendor分区的内容,这里以omx hidl service为例子学习下hidl代码要如何阅读使用。 相 阅读全文