x264_ratecontrol_mb解析

目的

x264_ratecontrol_mb调用发生在宏块编码之后,如果开启了AQ,则在AQ之后,由slice_write调用,从函数名称看,是用于宏块级码率控制,但是它与调用宏块QP没有直接的关系,该函数的主要目的由两个:

  • 更新rc->qpa_aq和rc->qpa_rc的值

rc->qpa_aq为当前slice目前宏块编码后设置的QP值之后,此QP值为AQ之后的QP值。

rc->qpa_rc和rc_qpa_aq的含义类似,只是它表示AQ之前的QP值,若没有开启AQ功能,则二者的值一样。

其中rc->qpa_rc给下一帧的帧级码率控制使用,通过rc->qpa_rc做复杂度估计;rc ->qpa_aq的主要用于2pass编码,如果是1pass编码,rc->qpa_aq不起任何作用。

  • 更新预测器系数(predictor)

调用update_predictor函数实现,x264认为qscale(aq之前的QP对应的qscale)和satd,和实际产生的bits成线性关系,用公式表示即为:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.7.5

2024.7.5 【向之所欣,俯仰之间,已为陈迹。】 Thursday 五月三十 组合 数学! 可能公式比较多 二项式! $$ \begin{pmatrix}n\m\end{pmatrix}\begin{pmatrix}n-1\m-1 \end{pmatrix}\begin{pmatrix} n-1 \m\end{pmatrix} \begi…

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击(一)

文章目录 概要开发思路界面编辑新建工程,设置界面大小导入素材场景编辑场景编辑 移动组件输入组件添加移动状态脚本定位组件 概要 飞船设计游戏的学习,如下所示 原视频地址: https://www.youtube.com/playlist?listPL9FzW-m48fn09w6j8Now…

go语言day09 通道 协程的死锁

Go语言学习——channel的死锁其实没那么复杂 - JackieZheng - 博客园 (cnblogs.com) 目录 通道 创建通道 1)无缓冲通道 2)有缓冲通道 通道的使用 1) 值从通道入口进 2) 值从通道出口出 信道死锁: 0)死锁现场0 1)死…

# [0701] Task05 策略梯度、Actor-critic 算法

easy-rl PDF版本 笔记整理 P4、P9 joyrl 比对 补充 P9 - P10 相关 代码 整理 最新版PDF下载 地址:https://github.com/datawhalechina/easy-rl/releases 国内地址(推荐国内读者使用): 链接: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw 提取码: us…

气压传感器在自动驾驶汽车还有哪些应用场景

气压传感器在近年来被广泛应用于各种新兴领域,以下是其中几个最新的应用: 1、自动驾驶汽车:自动驾驶汽车需要精确的气压传感器来监测道路上的气压变化,帮助车辆进行准确的定位和导航。气压传感器可以提供高精度、可靠的气压数据&…

ezKL;zk-SNARK;零知识证明简单举例说明

目录 ezKL是什么 一、基本概述 二、技术特点 三、使用场景 四、使用方法 五、结论 zk-SNARK 一、定义与特点 二、工作原理 三、应用场景 四、技术挑战 五、未来发展 零知识证明简单举例说明,怎么使用 例子一:房间钥匙的证明 例子二:身份验证 例子三:球的颜色…

git reset 和 git revert区别

git reset 和 git revert 是两个用于撤销提交历史的 Git 命令,它们的主要区别在于: 1、git reset: 作用:用于将当前分支的 HEAD 指针移动到另一个位置,通常是将其重置到之前的提交上。影响:重置会修改历史…

Nuxt 项目集成第三方UI组件库(九)

Nuxt.js 本身并不提供内置的 UI 组件库,它是一个用于构建服务端渲染(SSR)和静态生成(SSG)Vue.js应用的框架。Nuxt.js 的设计目的是提供基础的架构和配置,以便开发者可以根据自己的需求选择和集成第三方 UI …

Java中类加载器引起的ClassNotFoundException和NoClassDefFoundError

在Java开发过程中,ClassNotFoundException和NoClassDefFoundError是两种常见的异常,特别是在涉及类加载器时更容易遇到。本文将探讨这两种异常的成因、区别以及如何解决由类加载器引起的问题。 一、理解ClassNotFoundException和NoClassDefFoundError …

GUKE万能工具箱(附带源码)

GUKE万能工具箱&#xff08;附带源码&#xff09; 效果图部分源码领取完整源码下期更新 效果图 部分源码 <!DOCTYPE html> <html><head><meta charset"utf-8" name"viewport" content"widthdevice-width, initial-scale1"…

哏号分治,CF103D - Time to Raid Cowavans

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 103D - Time to Raid Cowavans 二、解题报告 1、思路分析 想了半天数据结构最终选择根号分治 我们考虑 大于 550 的公差直接暴力 小于550 的公差的所有询问&#xff0c;我们直接计算该公差后缀和&#xf…

每天一个项目管理概念之项目章程

项目管理中&#xff0c;项目章程扮演着至关重要的角色。它是项目正式启动的标志&#xff0c;为项目的执行提供法律和组织上的认可。项目章程是项目管理知识体系&#xff08;PMBOK&#xff09;中定义的关键文档之一&#xff0c;对于确保项目的顺利进行具有决定性的影响。 定义与…

strcpy,srtcmp,strlen函数漏洞利用

strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中&#xff0c;遇到空字符 **b’x\00’**时停止&#xff0c;&#xff1a; 所以可以利用 strcpy不检查缓冲区 的漏洞&#xff08;构造的字符串要以\0结尾&#xff09;&#xff0c;…

prototype 和 __proto__的区别

prototype 和 __proto__ 在 JavaScript 中都与对象的原型链有关&#xff0c;但它们各自有不同的用途和含义。 prototype prototype 是函数对象的一个属性&#xff0c;它指向一个对象&#xff0c;这个对象包含了可以由特定类型的所有实例共享的属性和方法。当我们创建一个新的…

【力扣】数组中的第K个最大元素

一、题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,…

C++(第五天----多继承、虚继承、虚函数、虚表)

一、继承对象的内存空间 构造函数调用顺序&#xff0c;先调用父类&#xff0c;再调用子类 #include<iostream>using namespace std;//基类 父类 class Base{ public: //公有权限 类的外部 类的内部 Base(){cout<<"Base()"<<endl;}Base(int …

ANN文献综述

人工神经网络文献综述 摘要 人工神经网络&#xff08;Artificial Neural Networks, ANNs&#xff09;是由多个简单的、相互连接的处理单元组成的自适应系统&#xff0c;通过调整这些单元之间的连接强度&#xff0c;ANNs能够实现对复杂数据的建模和预测。本文综述了ANNs的基本…

el-input-number 点击加减只能加一次

el-input-number 点击加减只能加一次 <el-input-number v-model"editForm.quantity" placeholder"请输入下单数量(店均)" change"quantityChangeFn"></el-input-number>需要在方法里面加 this.$forceUpdate() quantityChangeFn(val…

oracle用户过期/设置无限期用户/ORA-28001:the password has expired

oracle默认情况下&#xff0c;新建的账户只有180天的有效期&#xff0c;在有效期到期前一周就会报警。而一旦过了有效期&#xff0c;账户就会被锁定无法登录。所以为了方便起见&#xff0c;要修改oracle用户的有效期为无限。 1.查看用户密码的有效期设置&#xff0c;一般默认的…

【ABB】控制器语言切换

【ABB】控制器语言切换 操作流程演示 操作流程 点击【菜单】点击【Control Panel】点击【Language】点击【Chinese】点击【OK】此时会弹出弹窗&#xff0c;点击【YES】此时控制器会重启&#xff0c;重启完成就是中文了 演示 点击【菜单】 点击【Control Panel】 点击【Langua…