当前位置: 首页 > news >正文

android nv21 转 yuv420sp

上面两个函数的目标都是将NV21格式的数据转换为YUV420P格式,但是它们在处理U和V分量的方式上有所不同。

在第一个函数NV21toYUV420P_1中,U和V分量的处理方式是这样的:对于U分量,它从NV21数据的Y分量之后的每个奇数位置取数据;对于V分量,它从NV21数据的Y分量之后的每个偶数位置取数据。

而在第二个函数NV21toYUV420P中,U和V分量的处理方式是这样的:对于U分量,它从NV21数据的Y分量之后的每个偶数位置取数据;对于V分量,它从NV21数据的Y分量之后的每个奇数位置取数据。

因此,这两个函数并不完全相同。如果你的NV21数据是标准的,即V和U分量是交错存储的(首先是V,然后是U),那么你应该使用第二个函数NV21toYUV420P

private byte[] NV21toYUV420P_1(byte[] nv21, int width, int height) {
byte[] yuv420p = new byte[widthheight3/2];
int i, j;
int ySize = width * height;// 拷贝Y分量System.arraycopy(nv21, 0, yuv420p, 0, ySize);// 处理并拷贝U分量for (i = 0; i < ySize/4; i++) {yuv420p[ySize + i] = nv21[ySize + 2 * i + 1];}// 处理并拷贝V分量for (j = 0; j < ySize/4; j++) {yuv420p[ySize + i + j] = nv21[ySize + 2 * j];}return yuv420p;
}public static byte[] NV21toYUV420P(byte[] nv21, int width, int height) {byte[] yuv420p = new byte[width*height*3/2];int i, j;int ySize = width * height;// Copy YSystem.arraycopy(nv21, 0, yuv420p, 0, ySize);// Copy U and Vfor (i = 0; i < ySize/2; i += 2) {yuv420p[ySize + i/2] = nv21[ySize + i]; // Uyuv420p[ySize + ySize/4 + i/2] = nv21[ySize + i + 1]; // V}return yuv420p;
}

相关文章:

android nv21 转 yuv420sp

上面两个函数的目标都是将NV21格式的数据转换为YUV420P格式&#xff0c;但是它们在处理U和V分量的方式上有所不同。 在第一个函数NV21toYUV420P_1中&#xff0c;U和V分量的处理方式是这样的&#xff1a;对于U分量&#xff0c;它从NV21数据的Y分量之后的每个奇数位置取数据&…...

使用Nacos与Spring Boot实现配置管理

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…...

初识【类和对象】

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 5.类的作用域 6.类的实例化 7.类的对象大小的计算 8.类成员函数的this指针 1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的…...

软考高级系统架构设计师系列论文八十六:论企业应用集成

软考高级系统架构设计师系列论文八十六:论企业应用集成 一、企业应用集成相关知识点二、摘要三、正文四、总结一、企业应用集成相关知识点 软考高级系统架构设计师系列之:企业集成平台技术的应用和架构设计二、摘要 2022年10月,我参加了***车站综合信息平台项目的开发,承…...

HarmonyOS ArkUI 属性动画入门详解

HarmonyOS ArkUI 属性动画入门详解 前言属性动画是什么&#xff1f;我们借助官方的话来说&#xff0c;我们自己简单归纳下 参数解释举个例子旋转动画 位移动画组合动画总结 前言 鸿蒙OS最近吹的很凶&#xff0c;赶紧卷一下。学习过程中发现很多人吐槽官方属性动画这一章比较敷…...

基于XGBoots预测A股大盘《上证指数》(代码+数据+一键可运行)

对AI炒股感兴趣的小伙伴可加WX&#xff1a;caihaihua057200&#xff08;备注&#xff1a;学校/公司名字方向&#xff09; 另外我还有些AI的应用可以一起研究&#xff08;我一直开源代码&#xff09; 1、引言 在这期内容中&#xff0c;我们回到AI预测股票&#xff0c;转而探索…...

5G NR:PRACH频域资源

PRACH在频域位置由IE RACH-ConfigGeneric中参数msg1-FrequencyStart和msg1-FDM所指示&#xff0c;其中&#xff0c; msg1-FrequencyStart确定PRACH occasion 0的RB其实位置相对于上行公共BWP的频域其实位置(即BWP 0)的偏移&#xff0c;即确定PRACH的频域起始位置msg1-FDM的取值…...

设计模式——组合模式

什么是组合模式 组合模式(Composite Pattern)&#xff1a;组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象&#xff08;即叶子对象&#xff09;和组合对象&#xff08;即容器对象&#xff09;的使用具有一致性&#xff0c;组合模式又可以…...

get属性是什么?有什么用?在什么场景用?get会被Json序列化?

在JavaScript中&#xff0c;对象的属性不仅可以是数据属性&#xff08;即常规的键值对&#xff09;&#xff0c;还可以是访问器属性&#xff08;accessor properties&#xff09;。访问器属性不包含实际的数据值&#xff0c;而是定义了如何获取&#xff08;get&#xff09;和设…...

这可能是你看过最详细的 [八大排序算法]

排序算法 前置知识 [排序稳定性]一、直接插入排序二、希尔排序三、直接选择排序四、堆排序五、冒泡排序六、快速排序七、归并排序八、计数排序&#xff08;非比较排序&#xff09;排序复杂度和稳定性总结 前置知识 [排序稳定性] 假定在待排序的记录序列中&#xff0c;存在多个…...

docker的安装

CentOS7 安装 Docker 安装需要的软件包&#xff0c; yum-util 提供yum-config-manager功能&#xff0c;另两个是devicemapper驱动依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 添加下载源 yum-config-manager --add-repo http://mirrors.aliyun.com/…...

【业务功能篇75】微服务项目环境搭建docker-mysql-redisSpringCloudAlibaba

项目环境准备 1.虚拟机环境 我们可以通过VMWare来安装&#xff0c;但是通过VMWare安装大家经常会碰到网络ip连接问题&#xff0c;为了减少额外的环境因素影响&#xff0c;Docker内容的讲解我们会通过VirtualBox结合Vagrant来安装虚拟机。 VirtualBox官网&#xff1a;https:/…...

学习笔记|认识数码管|控制原理|数码管实现0-9的显示|段码跟位码|STC32G单片机视频开发教程(冲哥)|第九集:数码管静态显示

文章目录 1.认识数码管2.控制原理十进制转换为任意进制其它进制转十进制 3.数码管实现0-9的显示1.用数组定义0-9的内码段码跟位码的区别2.尝试用延时实现0-9的循环显示3.用按键控制数字的加或者减。 总结课后练习&#xff1a; 1.认识数码管 数码管按段数可分为七段数码管和八段…...

CentOS 7/8 firewall 转发端口

#开启系统路由模式功能 echo net.ipv4.ip_forward1>>/etc/sysctl.conf sysctl -p #开启firewalld systemctl start firewalld 打开防火墙伪装IP # 检查是否允许伪装IP&#xff0c;返回no表示没开启&#xff0c;反之开启伪装IP firewall-cmd --query-masquerade #设置…...

mysql自动备份脚本

备份脚本 #!/bin/bash #author cheng #mysql数据自动备份 mysql_user“root” mysql_password“passwprd” mysql_host“localhost” mysql_port“3306” mysql_charset“utf8mb4” #备份文件存放地址(根据实际情况填写) backup_location/usr/cheng/msg_manager/sql #是否删…...

VUE笔记(九)vuex

一、vuex的简介 1、回顾组件之间的通讯 父组件向子组件通讯&#xff1a;通过props实现 子组件向父组件通讯&#xff1a;通过自定义事件($emit)方式来实现 兄弟组件之间的通讯&#xff1a;事件总线&#xff08;$eventBus&#xff09;、订阅与发布方式来实现 跨级组件的通讯…...

Webpack高频面试题

Webpack高频面试题 1 谈谈你对webpack的看法 现在的前端网页功能丰富&#xff0c;特别是SPA&#xff08;single page web application 单页应用&#xff09;技术流行后&#xff0c;JavaScript的复杂度增加和需要一大堆依赖包&#xff0c;还需要解决Scss&#xff0c;Less……新…...

数字基带传输系统

文章目录 前言一、数字基带系统基本组成二、基本码型1、数字基带信号2、6 种基本码型 三、数字基带信号的频谱特性四、数字基带信号选码1、原则2、常用的传输码型①、AMI 码&#xff08;传号交替反转码&#xff09;②、 H D B 3 HDB_3 HDB3​ 码&#xff08;3 阶高密度双极性码…...

FPGA使用MIG调用SODIMM内存条接口教程,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、SODIMM内存条简介3、设计思路框架视频输入视频缓存MIG配置调用SODIMM内存条VGA时序视频输出 4、vivado工程详解5、上板调试验证6、福利&#xff1a;工程代码的获取 1、前言 FPGA应用中&#xff0c;数据缓存是一大重点&#xff0c;不管是图像处理还是A…...

深度学习数据预处理

参考文章&#xff1a;深度学习中的数据预处理方法总结 在深度学习中&#xff0c;数据预处理&#xff08;preprocessing&#xff09;的重要性体现在以下几个方面&#xff1a; 1、数据质量&#xff1a; 原始数据通常包含错误、缺失值、异常值和噪声。预处理能够检测和处理这些问…...

手把手教你搞定VMware VCP-DCV 2024线下考试预约(附北上广考位抢票攻略)

2024年VMware VCP-DCV认证考试抢位全攻略&#xff1a;一线城市实战技巧 凌晨三点&#xff0c;北京中关村某科技公司的运维工程师小李又一次刷新了Pearson VUE页面——这已经是他连续第七天蹲守VCP-DCV 2024的考位。作为晋升技术主管的硬性条件&#xff0c;这张认证对他来说价值…...

YOLOv11赋能卡证检测矫正:新一代目标检测模型实战应用

YOLOv11赋能卡证检测矫正&#xff1a;新一代目标检测模型实战应用 最近在做一个卡证信息自动录入的项目&#xff0c;发现最头疼的不是后面的文字识别&#xff0c;而是第一步——把歪歪扭扭、角度各异的证件图片给“摆正”了。传统的图像处理方法&#xff0c;比如霍夫变换找直线…...

解决ModelScope与datasets版本兼容性问题的最佳实践

1. 为什么ModelScope和datasets版本兼容性这么重要&#xff1f; 第一次用ModelScope加载数据集时&#xff0c;我就被报错整懵了。明明按照官方文档安装了最新版&#xff0c;却提示"ImportError: cannot import name _FEATURE_TYPES from datasets"。后来才发现是Mode…...

零基础玩转OpenClaw:星图Qwen3-32B镜像的10个入门级自动化案例

零基础玩转OpenClaw&#xff1a;星图Qwen3-32B镜像的10个入门级自动化案例 1. 为什么选择OpenClawQwen3-32B组合&#xff1f; 去年冬天&#xff0c;当我第一次听说OpenClaw这个开源自动化框架时&#xff0c;内心是既兴奋又忐忑的。兴奋的是终于有一个能在本地电脑上实现AI自动…...

摆脱论文困扰!2026年实打实好用的专业降AI率平台

2026年论文降AI率工具已从“基础改写”升级为智能优化系统&#xff0c;核心评价维度包括AIGC识别精准度、文本自然度、学术格式合规性、查重适配能力、长文本逻辑性和多语种支持。本次测评覆盖6款主流工具&#xff0c;涵盖中文与英文、全流程与专项功能、免费与付费模式&#x…...

【stm32_2.1】【快速入门】自举模式、Flash闪存、LED点灯——对二极管PN结解析

目录 当前MCU概述 固化程序到单片机 自举模式 自举配置 Flash闪存 二极管的原理 当前MCU概述 MCU名称stm32F407ZET6处理器主频168MHz 闪存容量 512KB静态随机访问存储器SRAM192KBMCU引脚数量144pin 固化程序到单片机 写好的程序要固化到单片机&#xff0c;就必须学习怎…...

ComfyUI视频合成节点修复指南:从诊断到优化的完整解决方案

ComfyUI视频合成节点修复指南&#xff1a;从诊断到优化的完整解决方案 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 问题诊断&#xff1a;定位VHS_VideoCombine…...

别再手动组合特征了!用GBDT+LR搞定CTR预估,附Python实战代码与调参心得

GBDTLR&#xff1a;自动化特征工程的CTR预估实战指南 在推荐系统和广告投放领域&#xff0c;点击率&#xff08;CTR&#xff09;预估的准确性直接影响着平台的核心商业指标。传统手动特征工程方法在面对高维稀疏特征时往往力不从心&#xff0c;而GBDTLR的组合策略为我们提供了一…...

TypeScript——模块解析

模块解析1、相对模块导入2、非相对模块导入3、模块解析策略4、模块解析策略之Classic4.1、解析相对模块导入4.2、解析非相对模块导入5、模块解析策略之Node5.1、解析相对模块导入5.2、解析非相对模块导入6、--baseUrl6.1、设置--baseUrl6.2、解析--baseUrl7、paths7.1、设置pat…...

MS5803-14BA I²C驱动开发:嵌入式压力传感器实战指南

1. MS5803-14BA压力传感器库深度解析&#xff1a;面向嵌入式工程师的IC驱动开发实践1.1 传感器核心特性与工程定位MS5803-14BA是TE Connectivity&#xff08;原Measurement Specialties&#xff09;推出的高精度数字压力/温度复合传感器&#xff0c;采用MEMS压阻式传感原理与Δ…...