Hello,world


  • Home

  • Archives

Android面试题整理

Posted on 2020-02-10
Java 篇1、java中==和equals和hashCode的区别 基本数据类型的==比较的值相等.类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重写了equals方法.hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等比较是否为同一个) 如果两个对象equ ...
Read more »

ffmpeg-API划分

Posted on 2020-01-19
本系列根据ffmpeg api文档进行介绍,ffmpeg 文档描述大概可以分为以下几个不同的库: 库 描述 libavcodec 音视频各种格式的编解码。各种格式的编解码代码(如aacenc.c、aacdec.c等) libavformat 用于各种音视频封装格式的生成和解析,包括获取解码所需信息、读取音视频数据等功能。各种流媒体协议代码(如rtmpproto.c等)以及音视频格式的(解)复用代码(如flvdec.c、 ...
Read more »

ffmpeg-AVFormatContext

Posted on 2020-01-17
本文要介绍的结构体是 AVFormatContext.描述了媒体文件的构成及基本信息,是统领全局的基本结构体,贯穿程序始终,很多函数都要用它作为参数 AVFormatContext 源码比较长,就补贴在这里了,位置在 libavformat/avformat.h, 创建方式AVFormatContext 有两种种创建方式, avformat_alloc_context(…) avformat_open_input(…) avfor ...
Read more »

ffmpeg-AVIOContext

Posted on 2020-01-16
本文要介绍的结构体是 AVIOContext.AVIOContext 是 字节流 IO Context,管理输入输出数据 注意:AVIOContext 里的函数指针不能直接调用,它们应该让客户端程序在自定义 I/O 时设置。 在读取和写入时,buffer,buf_ptr,buf_ptr_max, buf_end, buf_size, pos 之间的关系如图, ************************************ ...
Read more »

ffmpeg-AVFrame

Posted on 2020-01-13
本文要介绍的结构体是 AVFrame.AVFrame 是原始多媒体数据的抽象,用来描述解码后的原始音频数据(PCM)或者原始视频数据(YUV420, RGB等等).即 存放编码前、解码后的原始数。 注意: AVFrame是表示解码后的原始数据,而AVPackets是表示编码后的数据 av_frame_alloc: 分配 AVFrame 内存av_frame_free: 释放 AVFrame 内存 AVFrame 分配过一次内存后,就可以 ...
Read more »

ffmpeg-结构体 AVPacket

Posted on 2020-01-08
该系列文章主要介绍 ffmpeg 工作流程里一些重要的结构体。前面的文章,我们知道在 ffmpeg 里,转码的工作流程可以描述为如下的图表: _______ ______________ | | | | | input | demuxer | encoded data | decoder | file | ---------> | ...
Read more »

数据结构分类

Posted on 2019-12-02
数据结构什么是数据结构?简单地说,数据结构是以某种特定的布局方式存储数据的容器。这种“布局方式”决定了数据结构对于某些操作是高效的,而对于其他操作则是低效的。首先我们需要理解各种数据结构,才能在处理实际问题时选取最合适的数据结构。 数据结构分类每一种数据结构都有着独特的数据存储方式,常见的数据结构分类如下 数组 链表 树 图 堆 栈 队列 散列表 数组数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通 ...
Read more »

ffmpeg-Android so库编译

Posted on 2019-11-18
编译环境MacOS 10.15NDK:android-ndk-r20FFmpeg-4.2.1Android Studio 3.5.1Android Studio 中采用 cmake 编译方式, ndk-build 方式请自行编码。 NDK环境NDK环境配置就比较简单, 下载,解压,配置环境变量,不啰嗦 FFmpeg环境FFmpeg 官网下载 http://ffmpeg.org/download.html 解压 yasm是汇编编译器, ...
Read more »

ffmpeg介绍

Posted on 2019-10-14
描述ffmpeg 是一个非常高效的音视频转换器, 也能从一个音视频流里抓取数据. 它还可以在任意采样率之间转换, 并使用高质量的多相滤波器动态调整视频大小.ffmpeg 通过指定 -i 参数, 可以从任意多的”文件”中读取(如常规文件, 管道, 网络流, 抓取设备等等). 通过指定一个文本输出 url, 也能写入任意数量的输出文件. 在命令行中找到的, 任何不能解释为选项的内容都被视为输出url. 每个输入或者输出 url 原则上可以 ...
Read more »

Android应用启动

Posted on 2019-09-26
在讲应用启动之前,我们需要了解两个知识点 Binder IPC机制 Zygote 机制 Binder IPC比较复杂,请移步Binder IPC机制 Zygote?我们知道,Android 是基于 Linux 内核开发的,而在 Linux 中,所有的进程都是直接或者间接地由 init 进程 fork 出来的。Zygote 进程也不例外,它是在系统启动的过程,由 init 进程创建的。 Zygote 的运行做过手机系统开发的大佬都 ...
Read more »
123…6

pickerX

53 posts
14 tags
© 2021 pickerX
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4