int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)

Frame *inFrame;
        x265_param* p = (m_reconfigure || m_reconfigureRc) ? m_latestParam : m_param;
        if (m_dpb->m_freeList.empty())
        {

如果dpb的中没有free状态的Frame,就会去创建。freeList是一个Frame的pool,这样可以节约内存。

inFrame = new Frame;

Frame主要包括编码完成的数据,重建帧的YUV数据和要编码的YUV数据。
            inFrame->m_encodeStartTime = x265_mdate();

这一帧的开始时间单位是ms。
            if (inFrame->create(p, pic_in->quantOffsets))
            {

主要是创建了要存储编码YUV数据的PicYUVÿ

X265源码解析1-Encode方法相关推荐

  1. JDK8:HashMap源码解析:get方法、containsKey方法、getNode方法

    一.概述 HashMap存储的键值对,用put(K,V)方法来存储,用get(K)方法来获取V,用containsKey(K)方法来检查K是否存在.可先参见:put方法解析 来了解键值对的存储原理,再 ...

  2. JDK源码解析-Collection.iterator方法

    对上面的代码大家应该很熟,使用迭代器遍历集合,获取集合中的元素. 而单列集合获取迭代器的方法就使用到了工厂方法模式. 我们看通过类图看看结构: Collection接口是抽象工厂类,ArrayList ...

  3. JDK源码解析——Object的hashCode方法

    目录 前言 说明 一.源码目录结构 (1).JDK目录 (2).hotspot目录 二.基础知识 (1).Object Header(对象头) (2).Lock(锁) 1. 无锁 => 偏向锁 ...

  4. Java Thread 源码解析

    Thread 源码解析 线程的方法大部分都是使用Native使用,不允许应用层修改,是CPU调度的最基本单元.线程的资源开销相对于进程的开销是相对较少的,所以我们一般创建线程执行,而不是进程执行. T ...

  5. 【EventBus】EventBus 源码解析 ( 注册订阅者 | 注册订阅方法详细过程 )

    文章目录 前言 一.EventBus 注册订阅者 二.注册订阅方法的具体过程 三.Subscription 类 前言 在上一篇博客 [EventBus]EventBus 源码解析 ( 注册订阅者 | ...

  6. 【Android 异步操作】线程池 ( 线程池 execute 方法源码解析 )

    文章目录 一.线程池 execute 方法源码解析 二.线程池 execute 方法完整源码及注释 一.线程池 execute 方法源码解析 进入 ThreadPoolExecutor 中 , 查看线 ...

  7. JDK源码解析 Runable是一个典型命令模式,Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法

    JDK源码解析 Runnable是一个典型命令模式, Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法 /命令接口(抽象命令角色) public interfa ...

  8. erlang下lists模块sort(排序)方法源码解析(二)

    上接erlang下lists模块sort(排序)方法源码解析(一),到目前为止,list列表已经被分割成N个列表,而且每个列表的元素是有序的(从大到小) 下面我们重点来看看mergel和rmergel ...

  9. Java Executor源码解析(3)—ThreadPoolExecutor线程池execute核心方法源码【一万字】

    基于JDK1.8详细介绍了ThreadPoolExecutor线程池的execute方法源码! 上一篇文章中,我们介绍了:Java Executor源码解析(2)-ThreadPoolExecutor ...

最新文章

  1. PHP识别电脑还是手机访问网站
  2. mysql oracle mvcc_PostgreSQL、Oracle/MySQL和SQL Server的MVCC实现原理方式
  3. 麻雀虽小,五脏俱全:分析CVS活动情况的小工具(有源码供学习)
  4. 为什么只能sudo进mysql_解决项目中MySQL数据库执行删除语句时间太长的问题
  5. c语言双链表从右向左遍历,有没有大佬在的,我这双向链表怎么没办法遍历
  6. 应聘c语言面试试题,c语言面试最必考的十道试题,求职必看!!!
  7. Parse error: syntax error, unexpected '__data' (T_STRING), expecting ',' or ')'
  8. 关于数据库查询中的几种连接
  9. FudanNLP  java -based
  10. CSS3 文字边框 -webkit-text-stroke
  11. 【JavaWeb】JSP:基本语法大全
  12. Vue响应式声明渲染机制
  13. MATLAB/Simulink当真,开环Buck、闭环Buck、双闭环Buck仿真;开环控制的半桥LLC谐振变换器,全桥LLC谐振变换器和电压闭环控制的半桥LLC
  14. openldap范例数据库mysql_用mysql作openldap的后台数据库
  15. 机场生产运行数据统计指标-第二篇-航班类
  16. 群晖docker实现阿里云动态公网域名解析ddns服务
  17. stm32 f105 RBT6 建立工程头文件
  18. 到底什么是链接,它起到了什么作用?
  19. Spring学习笔记(六)。Spring自动装配,按名称自动装配:byName,按类型自动装配:byType,@Autowired,@Qualifier,@Resource
  20. 查看DB2数据库版本的方法

热门文章

  1. iOS之常用的正则表达式
  2. P1111 修复公路
  3. 【机器视觉】 repeat算子
  4. 【嵌入式】Libmodbus之RTU模式Master端程序示例
  5. 【Linux】一步一步学Linux——pwd命令(19)
  6. 【STM32】 keil软件工具--Configuration详解(上)
  7. 服务器内存不认硬盘_8分钟了解服务器硬件知识
  8. TCP/IP学习笔记(一)分层模型概述
  9. 1044 火星数字 (20 分)(c++)
  10. Liunx中EOF的用法