x264代码学习笔记(二):x264_encoder_encode函数
encode()函数中循环调用encode_frame()函数进行逐帧编码:
- 调用x264_encoder_encode()函数完成一帧编码;
- 将编码后的码流载入码流文件中。
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中一个十分重要的函数,理解此函数对后面算法函数的深入十分关键:
- 首先介绍一下poc的概念。视频编码顺序与视频的播放顺序,并不完全相同。视频编码时,如果采用了B帧编码,由于B帧很多时候都是
x264代码学习笔记(二):x264_encoder_encode函数相关推荐
- GEE(Google Earth Engine) 最基础代码学习笔记二 —— JavaScript 语言
GEE(Google Earth Engine) 学习笔记二 Javascript 语言 1. 注释 print('Hello World!'); 如果要注释,则在代码前面加//,比如: // pri ...
- x264代码学习笔记(五):x264_slicetype_analyse函数
x264_slicetype_decide函数(代码所在位置为"x264-snapshot-20171128-2245-stable\encoder\slicetype.c")的主 ...
- Scala2.11.7学习笔记(二)函数定义
鲁春利的工作笔记,好记性不让烂笔头 函数定义 def 函数名(参数列表) : 返回类型 = {函数体} 说明: 返回类型默认为空(Unit,类似于Java的void): 函数体中默认最后一行为该函数的 ...
- Mr.J-- jQuery学习笔记(二)--核心函数jQuery对象
核心函数 函数列表 函数说明:jQuery() 主要用于获取HTML DOM元素并将其封装为jQuery对象 jQuery(): jQuery()函数是jQuery库的最核心函数,jQuery的 ...
- Go 语言学习笔记(二):函数
目录 函数 函数定义 函数签名和匿名函数 defer 闭包 概念 panic 和 recover 函数 函数是程序执行的一个基本语法结构,Go 语言的很多特性是基于函数这个基础实现的,比如命名类型的方 ...
- 【Python学习笔记二】函数七十二变
Python定义函数语法: def 函数名(参数):函数体 注意:通常用几个return 返回结果,如果方法体中没有return,默认返回 None:如果要在方法体中返回None,则写为 return ...
- C#学习笔记二(函数高级参数)
1.Out参数 作用:使用Out参数主要是用于返回多个变量 示例: 1 int[] b = { 1, 2, 3, 4, 5 }; //有一个数组 2 int max; //用来接收返回的最大值 3 i ...
- ES6学习笔记二arrow functions 箭头函数、template string、destructuring
接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...
- PyTorch学习笔记(二)——回归
PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...
最新文章
- 面试问你Spring如何解决循环依赖的时候,不要一脸懵逼了!
- php和python web开发-初入Web开发,php、python和ruby应该学哪个?
- 软件相关模块与ansible剧本
- vue token 过期处理
- Oracle-多表连接的三种方式解读
- [firefox] Scrapbook Plus的改进版Scrapbook X
- python 生成html文件浏览器_python如何将数据生成html文件+浏览器中文显示乱码问题...
- 机器学习基石HOW部分(2)
- ODB——基于c++的ORM映射框架尝试(使用)
- 并发编程-concurrent指南-原子操作类-AtomicInteger
- NAT穿透解决方案介绍
- 智能优化算法:蜻蜓优化算法-附代码
- 递归神经网络的非零初始状态
- javaee字符缓冲输出流
- vue+three.js导入obj模型不显示问题
- 可以搜python题答案的app-可以搜Python题答案的APP有哪些?
- 如何将PDF转换成Word文档?教你3种方法
- C语言中 .h文件和.c文件的区别 (转)
- 从零开始搭建公司后台技术栈
- Ubuntu下载安装