当图像宽高为奇数时,如何计算 I420 格式的uv分量大小
背景
I420 中 yuv 数据存放在3个 planes 中。
网上一般说 I420 数据大小为 widthheight1.5
但是当 width 和 height 是奇数时,这个计算公式会有问题。
I420 中 u 和 v 的宽高分别为 y 的一半。
但是当不能整除时,是如何取整呢?向上还是向下,网上一般都没有细说。
求证过程
今天遇到个问题,和这个相关。网上查询和用 ffmpeg 实验了一下。
网上查询
问了 chatgpt
google 结果
https://groups.google.com/a/webmproject.org/g/webm-discuss/c/LaCKpqiDTXM
https://sourceforge.net/p/raw-yuvplayer/bugs/1/
使用 ffmpeg 测试
使用 windows 自动绘图系统,绘制3张 rgb 图片,保存成 bmp 图片。
使用 ffmpeg 命令将图片转化为视频。
使用 ffmpeg 命令将 Mp4 转换为 yuv420p 的 yuv 数据
使用 notepad 打开数据,计算 yuv 的数据长度。
最后计算结果和网络说的一样。
yuv player 播放该 yuv 数据正常
结论
uv 的宽高除以2,需要向上取整,以提高边缘像素精度。但是没有专业的定义,如果大家找到专业定义辛苦贴到评论中。
相关文章:
![](https://img-blog.csdnimg.cn/d6f22a0be90840618c34ac671b5e706d.png)
当图像宽高为奇数时,如何计算 I420 格式的uv分量大小
背景 I420 中 yuv 数据存放在3个 planes 中。 网上一般说 I420 数据大小为 widthheight1.5 但是当 width 和 height 是奇数时,这个计算公式会有问题。 I420 中 u 和 v 的宽高分别为 y 的一半。 但是当不能整除时,是如何取整呢?向上还是向下&…...
![](https://img-blog.csdnimg.cn/398c642486da4694894fafd08e1c824c.png)
结构型模式-代理模式
代理模式* 定义:在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 意图:为其…...
![](https://www.ngui.cc/images/no-images.jpg)
SpringBoot+Redis BitMap 实现签到与统计功能
最近项目里需要集成签到和统计功能,连续签到后会给用户发放一些优惠券和奖品,以此来吸引用户持续在该品台进行活跃。下面我们一些来聊一聊目前主流的实现方案。 因为签到和统计的功能涉及的数据量比较大,所以在如此大的数据下利用传统的关系…...
![](https://www.ngui.cc/images/no-images.jpg)
P5739 【深基7.例7】计算阶乘
题目描述 求 n ! n! n!,也就是 1 2 3 ⋯ n 1\times2\times3\dots\times n 123⋯n。 挑战:尝试不使用循环语句(for、while)完成这个任务。 输入格式 第一行输入一个正整数 n n n。 输出格式 输出一个正整数,…...
![](https://img-blog.csdnimg.cn/fa6e5922f4a34408ac88294925192d71.png)
scikit-learn中OneHotEncoder用法
One-Hot编码,又称为一位有效编码,是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值,然后,每个整数值被表示为二进制向量,将整数索引标记为1,其余都标为0。 OneHotEncoder()常用参数解释 …...
![](https://img-blog.csdnimg.cn/cb30c44aa40b4f53b35a50853be830de.png)
linux操作系统的权限的深入学习(未完)
1.Linux权限的概念 Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。 超级用户的命令提示符是“#”,普通用户…...
![](https://img-blog.csdnimg.cn/5c7eb49155fe4a3abd95ec046c865344.png)
C 连接MySQL8
Linux 安装MySQL 8 请参考文章:Docker 安装MySQL 8 详解 Visual Studio 2022 编写C 连接MySQL 8 C源码 #include <stdio.h> #include <mysql.h> int main(void) {MYSQL mysql; //数据库句柄MYSQL_RES* res; //查询结果集MYSQL_ROW row; //记录结…...
![](https://img-blog.csdnimg.cn/fb3d1a99cf664d0cb0162ca757b76c71.png#pic_center)
福利之舞:员工的心跳与企业的平衡术
引言:员工福利与满意度的关系 在现代企业中,员工福利已经不仅仅是一种待遇,而是与员工满意度、忠诚度和生产力紧密相连的关键因素。一个合理且吸引人的福利制度可以大大提高员工的工作积极性,同时也能够吸引和留住顶尖的人才。但…...
![](https://img-blog.csdnimg.cn/e1980129c836411badd8ceafda90f68a.png)
MyBatis动态语句且如何实现模糊查询及resultType与resultMap的区别---详细介绍
前言 前面我们学习了如何使用Mybatis实现简单的增删改查。今天我们来学习如何使用动态语句来根据不同的条件生成不同的SQL语句。这在实际开发中非常有用,因为通常查询条件是多样化的,需要根据实际情况来拼接SQL语句,那什么是MyBatis动态语句呢…...
![](https://img-blog.csdnimg.cn/f6aec104a680458c9a676599a1a9164a.jpeg)
麒麟OS国产系统身份证阅读器web网页开发使用操作流程
1、打开麒麟软件商店,选择驱动,找到身份证阅读器,找到东信智能身份证社保卡读卡器,点击安装。 2、安装完成后,点击打开 3、进入读卡界面 4、进入代码集成 <script type"text/javascript">var ctnFin…...
![](https://www.ngui.cc/images/no-images.jpg)
前端面试:【事件处理】探索事件流、委托与事件对象
嗨,亲爱的事件探险家!在JavaScript的世界中,事件处理是与用户互动的关键。本文将带你探索事件流、事件委托、常见事件类型和事件对象,这些知识将帮助你成为事件处理的大师。 2. 事件流:事件的旅程 事件流描述了事件从…...
![](https://www.ngui.cc/images/no-images.jpg)
c语言函数指针使用例子
一、是什么? c语言函数名是一段代码首地址,连接器链接时放在text段,下面例子会把函数名打印出来,.map文件内存分布查看相关代码段函数: 下面例子实现步骤: 来源于uboot 的初始化 board_f.c typedef int (*init_fun_t)(void); (1)构建gd数据类型 (2)初始化全局gd变量 (3)实…...
![](https://img-blog.csdnimg.cn/img_convert/4235c3ee40d43346e2f33ce47a432a2c.png)
云计算技术应用专业实训室建设方案
一、 云计算技术应用系统概述 云计算技术是一种基于互联网的计算模式,通过将计算资源(如服务器、存储、数据库、网络、软件等)提供为一种服务,使用户能够按需获取和使用这些资源,而无需拥有和管理实际的物理设备。云计…...
![](https://www.ngui.cc/images/no-images.jpg)
C语言学习之共用体(union)的运用
C语言中的共用体:伪代码表示: union 类型名{ 数据类型1 成员1; 数据类型2 成员2; 数据类型3 成员3; . . . 数据类型n 成员n; };共用体的特点:1.所有的成员是共享同一块内存空间的2.所有成员的首地址是一样的;3.大小取决于共用体中…...
![](https://img-blog.csdnimg.cn/568d7d5cab0647a28449d0c66b46a022.png)
Sentinel 控制台(集群流控管理)
规则配置 要通过 Sentinel 控制台配置集群流控规则,需要对控制台进行改造。我们提供了相应的接口进行适配。 从 Sentinel 1.4.0 开始,我们抽取出了接口用于向远程配置中心推送规则以及拉取规则: DynamicRuleProvider<T>: 拉取规则Dy…...
![](https://img-blog.csdnimg.cn/23377bd747b74ac2af691383e1f61dd2.png)
matlab中判断数据的奇偶性(mod函数、rem函数)
用Matlab判断一个数是偶数还是奇数 1、mod函数 X 25;%要判断的数 if mod(X,2)1disp(奇数);%奇数 elsedisp(偶数);%偶数 end结果 2、rem函数 n25; if rem(n,2)0display(偶数); elsedisplay(奇数); end结果...
![](https://img-blog.csdnimg.cn/72962ea7f21745f898d07b17b61e7542.png)
Redis使用
环境配置 代码实现 Java public CoursePublish getCoursePublishCache(Long courseId){//查询缓存Object jsonObj redisTemplate.opsForValue().get("course:" courseId);if(jsonObj!null){String jsonString jsonObj.toString();System.out.println("从缓…...
![](https://www.ngui.cc/images/no-images.jpg)
#systemverilog# 之 event region 和 timeslot 仿真调度(七)Active/NBA 咋跳转的?
目录 一 目的 二 案例分析 2.1 先Active域,后 NBA 域 2.2 先Active域,后 NBA 域,后NBA域...
![](https://img-blog.csdnimg.cn/8f91680a03ca4336a1e2a02a06400749.png#pic_center)
回归预测 | MATLAB实现SSA-ELM麻雀搜索算法优化极限学习机多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现SSA-ELM麻雀搜索算法优化极限学习机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现SSA-ELM麻雀搜索算法优化极限学习机多输入单输出回归预测(多指标,多图)效果一览基…...
![](https://img-blog.csdnimg.cn/img_convert/0e3c2d3597e7db0b8a5829e22faaa893.jpeg)
LION AI 大模型落地,首搭星纪元 ES
自新能源汽车蓬勃发展以来,随着潮流不断进步和变革的“四大件”有着明显变化。其中有:平台、智能驾驶、配置、以及车机。方方面面都有着不同程度的革新。 而车机方面,从以前老旧的媒体机、 CD 机发展至如今具有拓展性、开放性、智能化的车机…...
![](https://www.ngui.cc/images/no-images.jpg)
【AC-自动机】- 字符串的逆序
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题号:NC14310 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 输入一个字符串…...
![](https://img-blog.csdnimg.cn/0729a127fd5f4749a6abdd0964815463.png)
统计Mysql库中每个表的总行数,解决table_rows不准确问题
1、拼接SQL selectsubstring( GROUP_CONCAT(a.sf SEPARATOR ),1,length(GROUP_CONCAT(a.sf SEPARATOR ))-10) as sql_str from( select concat(select ", TABLE_name , ", count(*) as row_num from , TABLE_SCHEMA, .,TABLE_name, union all ) as sf frominformat…...
![](https://www.ngui.cc/images/no-images.jpg)
AWS EC2 docker-compose部署MongoDB4.2
环境准备 安装docker 参考EC2官方文档:创建容器镜像以在 Amazon ECS 上使用 - Amazon Elastic Container Service sudo yum update -y sudo amazon-linux-extras install docker sudo usermod -a -G docker ec2-user sudo systemctl enable docker sudo systemct…...
![](https://img-blog.csdnimg.cn/img_convert/61f8b03a0f1981598bd3836b30fcdd92.png)
IDEA常用插件之类Jar包搜索Maven Search
文章目录 IDEA常用插件之类Jar包搜索Maven Search说明安装插件使用方法1.搜索自己要搜的jar包2.根据类名搜索 IDEA常用插件之类Jar包搜索Maven Search 说明 它可以帮助用户快速查找和浏览Maven中央存储库中可用的依赖项和插件。它可以帮助用户更方便地管理项目依赖项。 安装…...
![](https://img-blog.csdnimg.cn/377c66a4aa0342c2ae3195bec96543be.png)
使用proxman对iOS真机进行抓包
1 打开手机的safari 输入地址 http://proxy.man/ssl 2 下载证书代开设置页面,安装证书 设置信任证书 打开手机设置 ,点击通用 点击关于本机、 点击证书信任设置 打开信任设置开关 4 设置手机代理 查看需要设置的代理地址 打开界面 在手机中按…...
![](https://img-blog.csdnimg.cn/268169b5c0c344de817c9dfee0ecd1da.png)
sdk manager (ubuntu20.4) 安装
1、首先下载sdk manager 1.9.3 下载链接 https://www.baidu.com/link?urlVXJhUqxxhS3eFK3bOPTzi5LFl6ybeW3JwDY1CwANaPf1gvO3IxQKzY547NIe53x1blJxnAXg7FTRTvs-cnfnVa&wd&eqida22baa7b0004ca980000000664e2d426 当然要登录自己的账号才能成功下载,下载对应…...
![](https://www.ngui.cc/images/no-images.jpg)
Oracle修改字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
查询字符集 select userenv(language) from dual;修改前字符集为:SIMPLIFIED CHINESE_CHINA.AL32UTF8 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total …...
![](https://img-blog.csdnimg.cn/img_convert/584885f2cc663a667cbfeb1fd47255d6.jpeg)
函数的参数传递和返回值-PHP8知识详解
本文学习的是《php8知识详解》中的《函数的参数传递和返回值》。主要包括:向函数传递参数值、向函数传递参数引用、函数的返回值。 1、向函数传递参数值 函数是一段封闭的程序,有时候,程序员需要向函数传递一些数据进行操作。可以接受传入参…...
![](https://www.ngui.cc/images/no-images.jpg)
【Redis】 Redis短连接的性能优化
Redis短连接的性能优化 1. 问题 通过历史监控我们可以发现用户在频繁使用短连接的时候Redis的cpu使用率有显著的上升 2. 排查 通过扁鹊查看但是Redis的cpu运行情况如下 从扁鹊我们可以看到Redis在freeClient的时候会频繁调用listSearchKey,并且该函数占用了百分…...
![](https://img-blog.csdnimg.cn/img_convert/0b1331709591d260c1c78e86d0c51c18.png)
wordpress主题什么意思/百度关键词seo
今天我们带来了关于Ubuntu 11.04,Windows 7,Mac OS X 10.7的对比测试,包括图片编辑、视频编码、多任务测试等。本次测试是在同一机子上展开的,这样避免了硬件的因素影响。Ubuntu 11.04,Mac OS X 10.7硬件参数ÿ…...
![](https://img-blog.csdnimg.cn/d0a29d9f09384fd5b6c620683a1e74af.png)
wordpress 隐藏顶部/seo公司运营
整个项目包含了:开题报告 开题报告PPT 任务书 中期报告 论文模板 答辩PPT等 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术 主要python技术介绍;框架Django概要;MySQL数据库知识; 以及常规的网页技术HTM…...
![](/images/no-images.jpg)
电子商务网站建设讯息/快速网站排名优化
tomcat超时解问题 在eclipse启动tomcat时遇到超时45秒的问题: 错误:Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds 错误提示就是我们限定了部署的时间导致的错误。改动 workspace\.metadata\.plugins\org.eclipse.wst.…...
![](/images/no-images.jpg)
标志在线设计网站/在线生成网站
如果你想要查看logging事件不要忘记设置。 import logging logging.basicConfig(format%(asctime)s : %(levelname)s : %(message)s, levellogging.INFO) 转化接口 在前面的语料和向量空间的教程中,我们创建了一个文档语料,用向量流来表征。接下来&#…...
![](/images/no-images.jpg)
领动营销网站建设/手机网站排名优化
记得看过一个数据,中国软件企业 50人以下的公司数量达到 70% 以上,规模普遍偏小。我想这 70% 中至少有 80% 还是小作坊的研发模式,"三五个人,十来条枪",有一部分企业偏居一隅,远离信息技术发达城…...
![](https://img-blog.csdnimg.cn/2021081023025154.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2MDkzNTc1,size_16,color_FFFFFF,t_70)
网站源码系统/百度竞价广告投放
一、什么是rpm rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文●件. RPM是RedHat Package Manager ( RedHat软件包管理工具)的缩写,类似windows的setup.exe ,这一文件格式名称虽然打上了RedHat的标志,但理念…...