encode()函数中循环调用encode_frame()函数进行逐帧编码:

  1. 调用x264_encoder_encode()函数完成一帧编码;
  2. 将编码后的码流载入码流文件中。
static int encode_frame( x264_t *h, hnd_t hout, x264_picture_t *pic, int64_t *last_dts )
{x264_picture_t pic_out;  // 编码后输出帧x264_nal_t *nal;  // NAL数据包int i_nal;int i_frame_size = 0;i_frame_size = x264_encoder_encode( h, &nal, &i_nal, pic, &pic_out );  // 编码单帧FAIL_IF_ERROR( i_frame_size < 0, "x264_encoder_encode failed\n" );if( i_frame_size ){i_frame_size = cli_output.write_frame( hout, nal[0].p_payload, i_frame_size, &pic_out ); // 将编码后的图片装入输出视频流*last_dts = pic_out.i_dts;   // 显示时间戳}return i_frame_size;
}

x264_encoder_encode()函数,x264中一个十分重要的函数,理解此函数对后面算法函数的深入十分关键:

  1. 首先介绍一下poc的概念。视频编码顺序与视频的播放顺序,并不完全相同。视频编码时,如果采用了B帧编码,由于B帧很多时候都是

x264代码学习笔记(二):x264_encoder_encode函数相关推荐

  1. GEE(Google Earth Engine) 最基础代码学习笔记二 —— JavaScript 语言

    GEE(Google Earth Engine) 学习笔记二 Javascript 语言 1. 注释 print('Hello World!'); 如果要注释,则在代码前面加//,比如: // pri ...

  2. x264代码学习笔记(五):x264_slicetype_analyse函数

    x264_slicetype_decide函数(代码所在位置为"x264-snapshot-20171128-2245-stable\encoder\slicetype.c")的主 ...

  3. Scala2.11.7学习笔记(二)函数定义

    鲁春利的工作笔记,好记性不让烂笔头 函数定义 def 函数名(参数列表) : 返回类型 = {函数体} 说明: 返回类型默认为空(Unit,类似于Java的void): 函数体中默认最后一行为该函数的 ...

  4. Mr.J-- jQuery学习笔记(二)--核心函数jQuery对象

    核心函数 函数列表 函数说明:jQuery()    主要用于获取HTML DOM元素并将其封装为jQuery对象 jQuery(): jQuery()函数是jQuery库的最核心函数,jQuery的 ...

  5. Go 语言学习笔记(二):函数

    目录 函数 函数定义 函数签名和匿名函数 defer 闭包 概念 panic 和 recover 函数 函数是程序执行的一个基本语法结构,Go 语言的很多特性是基于函数这个基础实现的,比如命名类型的方 ...

  6. 【Python学习笔记二】函数七十二变

    Python定义函数语法: def 函数名(参数):函数体 注意:通常用几个return 返回结果,如果方法体中没有return,默认返回 None:如果要在方法体中返回None,则写为 return ...

  7. C#学习笔记二(函数高级参数)

    1.Out参数 作用:使用Out参数主要是用于返回多个变量 示例: 1 int[] b = { 1, 2, 3, 4, 5 }; //有一个数组 2 int max; //用来接收返回的最大值 3 i ...

  8. ES6学习笔记二arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  9. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

最新文章

  1. 面试问你Spring如何解决循环依赖的时候,不要一脸懵逼了!
  2. php和python web开发-初入Web开发,php、python和ruby应该学哪个?
  3. 软件相关模块与ansible剧本
  4. vue token 过期处理
  5. Oracle-多表连接的三种方式解读
  6. [firefox] Scrapbook Plus的改进版Scrapbook X
  7. python 生成html文件浏览器_python如何将数据生成html文件+浏览器中文显示乱码问题...
  8. 机器学习基石HOW部分(2)
  9. ODB——基于c++的ORM映射框架尝试(使用)
  10. 并发编程-concurrent指南-原子操作类-AtomicInteger
  11. NAT穿透解决方案介绍
  12. 智能优化算法:蜻蜓优化算法-附代码
  13. 递归神经网络的非零初始状态
  14. javaee字符缓冲输出流
  15. vue+three.js导入obj模型不显示问题
  16. 可以搜python题答案的app-可以搜Python题答案的APP有哪些?
  17. 如何将PDF转换成Word文档?教你3种方法
  18. C语言中 .h文件和.c文件的区别 (转)
  19. 从零开始搭建公司后台技术栈
  20. Ubuntu下载安装

热门文章

  1. c++用代码连接打印机并打印图片
  2. 关于mete标签 description、keywords
  3. 直流电机c语言驱动程序,直流电机的控制C语言程序
  4. MQL5 编程基础:字符串
  5. 智能识别收货地址 javascript地址智能识别
  6. 制作Linux版PE系统
  7. 2021-2027全球与中国电动汽车电子水泵市场现状及未来发展趋势
  8. C语实现格子乘法--大整数乘法
  9. 图解java链表基本操作篇一(头插法和尾插法)
  10. 11月最新编程排行榜出炉,这个语言超过了C蝉联榜首~