Xilinx系列FPGA实现4K视频缩放,基于Video Processing Subsystem实现,提供4套工程源码和技术支持

news2024/11/18 23:33:30

目录

  • 1、前言
    • 工程概述
    • 免责声明
  • 2、相关方案推荐
    • 我这里已有的FPGA图像缩放方案
    • 4K视频输入输出方案
    • Video Processing Subsystem视频缩放方案
  • 3、详细设计方案
    • 设计框图
    • 测试彩条
    • AXI4-Stream Data FIFO
    • Video Processing Subsystem
    • HDMI 1.4/2.0 Transmitter Subsystem
    • Video PHY Controller
    • 输出均衡电路
    • 视频输出显示
    • FPGA开发板
    • 工程源码架构
  • 4、工程源码1详解-->Kintex7版本,4K@30Hz版本
  • 5、工程源码2详解-->Kintex7版本,4K@60Hz版本
  • 6、工程源码3详解-->XCZU4EV版本,4K@30Hz版本
  • 7、工程源码4详解-->XCZU4EV版本,4K@60Hz版本
  • 8、工程移植说明
    • vivado版本不一致处理
    • FPGA型号不一致处理
    • 其他注意事项
  • 9、上板调试验证并演示
    • 准备工作
    • 输出效果演示
  • 10、福利:工程代码的获取

Xilinx系列FPGA实现4K视频缩放,基于Video Processing Subsystem实现,提供4套工程源码和技术支持

1、前言

没玩过图像缩放都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。目前市面上主流的FPGA图像缩放方案如下:
1:Xilinx的HLS方案,该方案简单,易于实现,但只能用于Xilinx自家的FPGA;
2:非纯Verilog方案,大部分代码使用Verilog实现,但中间的fifo或ram等使用了IP,导致移植性变差,难以在Xilinx、Altera和国产FPGA之间自由移植;
3:纯Verilog方案;
以上方案基本都很难实现4K分辨率的视频缩放,对此,Xilinx官方推出了Video Processing Subsystem IP核,该IP可轻松支持4K视频缩放,但遗憾的是仅可在Xilinx自家系列FPGA上使用,或许复旦微也可以;

工程概述

本设采用Xilinx官方的Video Processing Subsystem IP核为核心,实现4K视频缩放;输入源为手写的一个彩条视频,彩条分辨率为1920x1080@30Hz或60Hz,双像素输出(一个时钟48bit像素),输出接口为AXI4-Stream;彩条生成后给到Xilinx官方的AXI4-Stream Data FIFO实现数据跨时钟域处理;然后给到Xilinx官方的Video Processing Subsystem IP核实现视频缩放操作,将输入的1920x1080视频放大为3840x2160;然后给到Xilinx官方HDMI 1.4/2.0 Transmitter Subsystem IP核做4K视频的编码工作,可同时编码视频流和音频流,本工程没有音频输入;输出3路AXI4-Stream流和DDC控制信号,3路AXI4-Stream流进入Xilinx官方的Video PHY Controller IP核做4K视频并串转化工作,将原3路20bit的AXI4-Stream并行数据串化为高速串行信号,该IP需使用FPGA GT高速接口资源;输出的差分视频信号从GT BANK上输出,进入到板载的DP159或其他同等功能的芯片做均衡处理,然后连接到HDMI2.0输出接口;HDMI2.0周边电路需要i2c配置,所以还需要调用Zynq或者MicroBlaze软核进行配置,软核开发工具为Vitis SDK;
针对目前市面上主流的FPGA,共移植了4套工程源码,详情如下:
在这里插入图片描述
现对上述4套工程源码做如下解释,方便读者理解:

工程源码1

开发板FPGA型号为Xilinx–>Xilinx–Kintex7–xc7k325tffg676-2;FPGA内部逻辑产生一个分辨率为1920x1080@30Hz、双像素输出(一个时钟48bit像素)、输出接口为AXI4-Stream的彩条视频作为输入源,再经过Xilinx官方的AXI4-Stream Data FIFO实现数据跨时钟域处理;再经过Xilinx官方的Video Processing Subsystem IP核实现视频缩放操作,将输入的1920x1080@30Hz视频放大为3840x2160@30Hz;再经过Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核做4K视频的编码,再经过Xilinx官方的Video PHY Controller IP核做4K视频并串转换,输出的差分视频信号从GTX BANK上输出,最后连接到HDMI2.0输出接口;该工程需要运行MicroBlaze软核进行配置,适用于Xilinx 7系列FPGA开发移植;

工程源码2

开发板FPGA型号为Xilinx–>Xilinx–Kintex7–xc7k325tffg676-2;FPGA内部逻辑产生一个分辨率为1920x1080@60Hz、双像素输出(一个时钟48bit像素)、输出接口为AXI4-Stream的彩条视频作为输入源,再经过Xilinx官方的AXI4-Stream Data FIFO实现数据跨时钟域处理;再经过Xilinx官方的Video Processing Subsystem IP核实现视频缩放操作,将输入的1920x1080@60Hz视频放大为3840x2160@60Hz;再经过Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核做4K视频的编码,再经过Xilinx官方的Video PHY Controller IP核做4K视频并串转换,输出的差分视频信号从GTX BANK上输出,最后连接到HDMI2.0输出接口;该工程需要运行MicroBlaze软核进行配置,适用于Xilinx 7系列FPGA开发移植;

工程源码3

开发板FPGA型号为Xilinx–>Xilinx–Zynq UltraScale+MPSoCs–xczu4ev-sfvc784-2-i;FPGA内部逻辑产生一个分辨率为1920x1080@30Hz、双像素输出(一个时钟48bit像素)、输出接口为AXI4-Stream的彩条视频作为输入源,再经过Xilinx官方的AXI4-Stream Data FIFO实现数据跨时钟域处理;再经过Xilinx官方的Video Processing Subsystem IP核实现视频缩放操作,将输入的1920x1080@30Hz视频放大为3840x2160@30Hz;再经过Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核做4K视频的编码,再经过Xilinx官方的Video PHY Controller IP核做4K视频并串转换,输出的差分视频信号从GTH BANK上输出,最后连接到HDMI2.0输出接口;该工程需要运行Zynq软核进行配置,适用于Xilinx UltraScale+系列FPGA开发移植;

工程源码4

开发板FPGA型号为Xilinx–>Xilinx–Zynq UltraScale+MPSoCs–xczu4ev-sfvc784-2-i;FPGA内部逻辑产生一个分辨率为1920x1080@60Hz、双像素输出(一个时钟48bit像素)、输出接口为AXI4-Stream的彩条视频作为输入源,再经过Xilinx官方的AXI4-Stream Data FIFO实现数据跨时钟域处理;再经过Xilinx官方的Video Processing Subsystem IP核实现视频缩放操作,将输入的1920x1080@60Hz视频放大为3840x2160@60Hz;再经过Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核做4K视频的编码,再经过Xilinx官方的Video PHY Controller IP核做4K视频并串转换,输出的差分视频信号从GTH BANK上输出,最后连接到HDMI2.0输出接口;该工程需要运行Zynq软核进行配置,适用于Xilinx UltraScale+系列FPGA开发移植;

本文详细描述了Xilinx系列FPGA实现4K视频缩放的设计方案,经过反复大量测试稳定可靠,可在项目中直接移植使用,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字通信领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、相关方案推荐

我这里已有的FPGA图像缩放方案

我的主页目前有FPGA图像缩放专栏,改专栏收录了我目前手里已有的FPGA图像缩放方案,从实现方式分类有基于HSL实现的图像缩放、基于纯verilog代码实现的图像缩放;从应用上分为单路视频图像缩放、多路视频图像缩放、多路视频图像缩放拼接;从输入视频分类可分为OV5640摄像头视频缩放、SDI视频缩放、MIPI视频缩放等等;以下是专栏地址:
点击直接前往

4K视频输入输出方案

Xilinx系列FPGA有一套专用的基于GT高速接口资源的4K视频实现方案,我之前出过专门的博客,博客链接如下:
点击直接前往

Video Processing Subsystem视频缩放方案

Video Processing Subsystem是Xilinx官方推出的视频缩放方案,我之前出过专门的博客,博客链接如下:
点击直接前往

3、详细设计方案

设计框图

本设计使用的是Xilinx官方推荐的方案,设计框图如下:
在这里插入图片描述

测试彩条

输入源为纯verilog手写的一个彩条视频,彩条分辨率为1920x1080@30Hz或60Hz,双像素输出(一个时钟48bit像素),输出接口为AXI4-Stream;由于是双像素,所以30Hz的彩条参考时钟为74.25÷2=37.125M;60Hz的彩条参考时钟为148.5÷2=74.25M;彩条设置为8阶彩条,效果如下:
在这里插入图片描述
测试彩条在Block Design中如下:
在这里插入图片描述

AXI4-Stream Data FIFO

AXI4-Stream Data FIFO的作用是实现彩条数据跨时钟处理,由原来的37.125M或74.25M跨越到300M,这里的读时钟用300M,对应3840x2160的参考时钟;AXI4-Stream Data FIFO在Block Design中如下:
在这里插入图片描述

Video Processing Subsystem

本设计用到Xilinx官方的Video Processing Subsystem IP核实现视频缩放操作,将输入的1920x1080@30Hz视频放大为3840x2160@30Hz;Video Processing Subsystem有缩放、去隔行、颜色空间转换等功能,这里仅使用图像缩放功能;其特点如下:
优点1:适用于Xilinx所有系列的FPGA器件和所有的Vivado版本;
优点2:支持最大分辨率8K的视频缩放;
优点3:输入视频格式:AXI4-Stream,方便对接Xilinx图像处理套路的相关IP;
优点4:输出视频格式:AXI4-Stream,方便对接Xilinx图像处理套路的相关IP;
优点5:模块占用的FPGA逻辑资源更小,相比于自己写的HLS图像缩放而言,官方的Video Processing Subsystem资源占用大约减小30%左右,且更高效:
注意!!!!
注意!!!!
注意!!!!
注意!!!!
缺点1:需要SDK软件配置,其本质为通过AXI_Lite 做寄存器配置,设计难度现对复杂,对新手小白不太友好;
缺点2:Xilinx官方提供的Video Processing Subsystem IAP并不能实现任意尺寸的图像缩放,只能在IAP中视频分辨率查找表范围内进行缩放操作,如果想要实现自定义任意尺寸缩放,需要修改Xilinx官方提供的API源代码,对新手小白极其友好,有此类需求的朋友可以联系博主,提供私人定制服务,也就是我帮你修改Xilinx官方提供的API源代码,以实现自定义任意尺寸缩放操作;但本设计的4K30帧分辨率在官方的API中存在,所以不需要定制;

以工程源码2为例,Video Processing Subsystem逻辑资源如下,请谨慎评估你的FPGA资源情况;
在这里插入图片描述
Video Processing Subsystem IP配置如下:
在这里插入图片描述

HDMI 1.4/2.0 Transmitter Subsystem

用XIlinx方案做4K HDMI视频收发必须要用到此IP,需要输出的4K HDMI视频先进入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核做4K 高清视频的编码工作,同时编码视频流和音频流,这里的音频流并没有数据传入,只是做了预留,用户可根据需求决定是否加入音频;输出3路AXI4-Stream流和DDC控制信号;DMI 1.4/2.0 Transmitter Subsystem配置如下:
在这里插入图片描述
该IP需要在Vitis SDK中做进一步详细配置,详情参考Vitis SDK C语言软件代码;

Video PHY Controller

用XIlinx方案做4K HDMI2.0视频收发必须要用到此IP,Video PHY Controller IP核主要做解串和串化的工作,利用FPGA GT资源,在发送端做4K 高清视频并做串化工作,将原3路20bit的AXI4-Stream并行数据串化为高速串行信号;Video PHY Controller配置如下:
在这里插入图片描述
该IP需要在Vitis SDK中做进一步详细配置,详情参考Vitis SDK C语言软件代码;

输出均衡电路

在HDMI输出端需要加均衡器电路,大体方案如下:
在这里插入图片描述
图中IC型号只做参考,具体根据你的项目方案而定;

视频输出显示

视频输出显示需要支持4K@60Hz,一般情况下,1千块以内的显示器是不支持的,我是用的是家里的电视机,品牌为小米电视EA55-2022款(@雷军,雷总请给鸡腿),你可以查询一下你的电视是否支持4K@60Hz。。。

FPGA开发板

为了确保工程与硬件FPGA开发板的适配性,推荐使用本博主同款开发板,以减少移植难度和快速验证,当然,如果你有自己的FPGA板子,也可以用自己的,只不过需要根据你板子将工程移植一下;本博主现有两款FPGA开发板可配套本工程的两套代码,分别如下:
1–>Xilinx Kintxe7 FPGA开发板;
2–>Zynq UltraScale+ FPGA开发板
需要这两款开发板的请联系博主。。。

工程源码架构

工程源码架构包括vivado Block Design逻辑设计和vitis SDK软件设计;
以工程源码2为例,Block Design逻辑设计架构截图如下:
在这里插入图片描述
综合后的源码架构如下:
在这里插入图片描述
Vitis SDK软件代码如下:
在这里插入图片描述
代码为了兼容不同板卡的外围IC,所以代码显得冗余复杂,图中标记的为必须使用到的代码,大多数保持默认即可;主函数中图像缩放驱动调用如下:
在这里插入图片描述

4、工程源码1详解–>Kintex7版本,4K@30Hz版本

开发板FPGA型号:Xilinx–Kintex7–xc7k325tffg676-2;
开发环境:Vivado2022.2;
输入:FPGA内部生成彩条,双像素,分辨率1920x1080@30Hz;
图像缩放方案:Xilinx官方Video Processing Subsystem方案;
图像缩放示例:1920x1080@30Hz放大为3840x2160@30Hz;
输出:小米电视,HDMI2.0,分辨率3840x2160@30Hz;
软核类型:MicroBlaze;
使用GT资源类型:GTX;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA实现4K视频缩放的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

5、工程源码2详解–>Kintex7版本,4K@60Hz版本

开发板FPGA型号:Xilinx–Kintex7–xc7k325tffg676-2;
开发环境:Vivado2022.2;
输入:FPGA内部生成彩条,双像素,分辨率1920x1080@60Hz;
图像缩放方案:Xilinx官方Video Processing Subsystem方案;
图像缩放示例:1920x1080@60Hz放大为3840x2160@60Hz;
输出:小米电视,HDMI2.0,分辨率3840x2160@60Hz;
软核类型:MicroBlaze;
使用GT资源类型:GTX;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA实现4K视频缩放的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

6、工程源码3详解–>XCZU4EV版本,4K@30Hz版本

开发板FPGA型号:Xilinx–Zynq UltraScale+MPSoCs–xczu4ev-sfvc784-2-i;
开发环境:Vivado2022.2;
输入:FPGA内部生成彩条,双像素,分辨率1920x1080@30Hz;
图像缩放方案:Xilinx官方Video Processing Subsystem方案;
图像缩放示例:1920x1080@30Hz放大为3840x2160@30Hz;
输出:小米电视,HDMI2.0,分辨率3840x2160@30Hz;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
软核类型:Zynq UltraScale+ MPSoC;
使用GT资源类型:GTH;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA实现4K视频缩放的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

7、工程源码4详解–>XCZU4EV版本,4K@60Hz版本

开发板FPGA型号:Xilinx–Zynq UltraScale+MPSoCs–xczu4ev-sfvc784-2-i;
开发环境:Vivado2022.2;
输入:FPGA内部生成彩条,双像素,分辨率1920x1080@60Hz;
图像缩放方案:Xilinx官方Video Processing Subsystem方案;
图像缩放示例:1920x1080@60Hz放大为3840x2160@60Hz;
输出:小米电视,HDMI2.0,分辨率3840x2160@60Hz;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
软核类型:Zynq UltraScale+ MPSoC;
使用GT资源类型:GTH;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA实现4K视频缩放的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

8、工程移植说明

vivado版本不一致处理

1:如果你的vivado版本与本工程vivado版本一致,则直接打开工程;
2:如果你的vivado版本低于本工程vivado版本,则需要打开工程后,点击文件–>另存为;但此方法并不保险,最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本;
在这里插入图片描述
3:如果你的vivado版本高于本工程vivado版本,解决如下:
在这里插入图片描述
打开工程后会发现IP都被锁住了,如下:
在这里插入图片描述
此时需要升级IP,操作如下:
在这里插入图片描述
在这里插入图片描述

FPGA型号不一致处理

如果你的FPGA型号与我的不一致,则需要更改FPGA型号,操作如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更改FPGA型号后还需要升级IP,升级IP的方法前面已经讲述了;

其他注意事项

1:由于每个板子的DDR不一定完全一样,所以MIG IP需要根据你自己的原理图进行配置,甚至可以直接删掉我这里原工程的MIG并重新添加IP,重新配置;
2:根据你自己的原理图修改引脚约束,在xdc文件中修改即可;
3:纯FPGA移植到Zynq需要在工程中添加zynq软核;

9、上板调试验证并演示

准备工作

试验需要准备以下设备:
FPGA开发板,可以自行购买,也可以找本博主购买同款开发板;
HDMI线;
4K分辨率显示器;
以工程源码1的开发板为例进行上板调试;
连接如下:
在这里插入图片描述

输出效果演示

输出效果静态演示如下:
在这里插入图片描述
输出效果动态演示如下:

FPGA-4K视频缩放

10、福利:工程代码的获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
在这里插入图片描述
此外,有很多朋友给本博主提了很多意见和建议,希望能丰富服务内容和选项,因为不同朋友的需求不一样,所以本博主还提供以下服务:
在这里插入图片描述

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

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

相关文章

多线程思维导图

多线程 线程是一个程序内部的一条执行流程 多线程的好处————消息通信,网页浏览等等 多线程是指从软硬件上实现多条执行流程的技术 并发和并行同时执行 多线程的创建 Java.Long包下的Thread类 定义一个子类…

PTE-靶场训练-1

PTE-靶场训练实战笔记 靶场搭建 靶场下载链接: https://pan.baidu.com/s/1ce1Kk0hSYlxrUoRTnNsiKA?pwdha1x vim /etc/sysconfig/network-scripts/ifcfg-eth0 设置好后reboot重启一下即可,然后访问81-85端口,共5题。 因为靶场出了问题&a…

OpenAI用GPT-4o打造癌症筛查AI助手;手机就能检测中风,准确率达 82%!中国气象局发布AI气象大模型...

AI for Science 企业动态速览—— * 皇家墨尔本大学用 AI 检测患者中风,准确率达 82% * OpenAI 用 GPT-4o 模型打造癌症筛查 AI 助手 * 中国气象局发布 AI 气象大模型风清、风雷、风顺 * AI 药企英矽智能:小分子抑制剂已完成中国 IIa 期临床试验全部患者…

【MySQL】数据库的索引机制

文章目录 前言1. 索引是什么2. 索引的优缺点2.1 优点2.2 缺点 3. 索引的操作3.1 创建索引3.2 查看索引3.3 删除索引 4. 索引的存储原理4.1 B树4.2 B树 结语 前言 在数据库中,我们经常使用到的操作就是查询,当数据量小的时候,查询的速度很快&…

Windows Server 2019 OVF, updated Jun 2024 (sysin) - VMware 虚拟机模板

Windows Server 2019 OVF, updated Jun 2024 (sysin) - VMware 虚拟机模板 2024 年 6 月版本更新,现在自动运行 sysprep,支持 ESXi Host Client 部署 请访问原文链接:https://sysin.org/blog/windows-server-2019-ovf/,查看最新…

Charles抓包工具系列文章(六)-- Block List 和 Allow List (黑白名单)

一、背景 Allow List 是白名单,请求的接口如果在白名单里,就被允许。 Block List 是黑名单,请求的接口如果在黑名单里,就被拒绝。 黑白名单是可以一起启用的,优先黑名单。 二、白名单 Allow List 1、新增白名单接口…

201.回溯算法:全排列(力扣)

class Solution { public:vector<int> res; // 用于存储当前排列组合vector<vector<int>> result; // 用于存储所有的排列组合void backtracing(vector<int>& nums, vector<bool>& used) {// 如果当前排列组合的长度等于 nums 的长度&am…

HDOJ5616 Jam‘s balance

目录 HDOJ5616 Jams balance题目描述背景输入输出 题解解法一解法二优化 打赏 HDOJ5616 Jam’s balance 题目描述 背景 有 N N N个已知质量的砝码&#xff0c;分别询问给出的 M M M个质量能否被称出 输入 第一行输入一个变量 T T T&#xff0c;表示有 T T T组数据&#xf…

二轮平衡车直立控制VREP仿真及python上位机监控实现基础环境

目录 1.引言2. 实验流程2.1. V-REP环境搭建2.2. 电机和部件建模 3.控制策略描述3.1. PID控制3. 2. 控制参数调整 4.代码结构5.结论配套环境和源代码PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源ps3.移动小车相关文章资源 1.引言 在机器人学和自动化领域…

东南亚本地化游戏

通常&#xff0c;亚洲电子游戏市场首先与中国联系在一起。但最近&#xff0c;分析人士越来越关注一个邻近地区&#xff1a;东南亚。而且有充分的理由。 该地区包括中南半岛、马来群岛和邻近岛屿上的十一个国家。1967年&#xff0c;其中10个国家&#xff08;除东帝汶外&#xf…

.NET C# 使用GDAL将mdb转换gdb数据

.NET C# 使用GDAL将mdb转换gdb数据 目录 .NET C# 使用GDAL将mdb转换gdb数据1 环境2 Nuget3 Code 1 环境 VisualStudio2022 .NET6 GDAL 3.8.5 2 Nuget 3 Code FeatureExtension.cs public static class FeatureExtension {[DllImport("gdal.dll", EntryPoint &…

各大广告商竞相厮杀下,诞生了一个偏门的副业方式

前段时间&#xff0c;想买摩托车&#xff0c;但是媳妇不让买&#xff0c;所以我打算偷偷买&#xff0c;然后萌生了去摆摊赚钱的想法&#xff0c;但是还没有实施就在网上接触到了“某赚”APP&#xff0c;于是一发不可收拾&#xff0c;用我的话来说&#xff0c;我做的不是副业&am…

从一万英尺外看libevent(源码刨析)

从一万英尺外看libevent 温馨提示&#xff1a;阅读时间大概二十分钟 前言 Libevent是用于编写高速可移植非阻塞IO应用的库&#xff0c;其设计目标是&#xff1a; 可移植性&#xff1a;使用libevent编写的程序应该可以在libevent支持的所有平台上工作。即使没有好的方式进行非…

多业态、多品牌企业,如何实现积分通积通兑?(附大会员方案)

2021年&#xff0c;龙湖升级珑珠为全业态通用积分&#xff0c;招商荟深度接入招商蛇口大会员体系建设&#xff1b;2022年&#xff0c;华润置地大会员“万象星”正式上线&#xff1b;2023年&#xff0c;“蒙牛生活家会员中心”全新上线…… 越来越多地产、零售等行业的集团品牌…

【学习】如何利用Python技术进行软件测试相关工作

Python是一种广泛使用的高级编程语言&#xff0c;它因其简洁的语法、强大的库支持和跨平台特性而受到开发者的喜爱。在软件测试领域&#xff0c;Python同样发挥着重要作用&#xff0c;它可以帮助测试人员编写自动化测试脚本、进行接口测试、性能测试、以及处理测试数据等。以下…

迅为RK3588开发板支持LVDS信号,标准 HDMI信号,IMIPI信号

性能强--iTOP-3588开发板采用瑞芯微RK3588处理器&#xff0c;是全新一代ALoT高端应用芯片&#xff0c;采用8nm LP制程&#xff0c;搭载八核64位CPU&#xff0c;四核Cortex-A76和四核Cortex-A55架构&#xff0c;主频高达2.4GHZ&#xff0c;8GB内存&#xff0c;32GB EMMC。 四核心…

2024第十三届中国PMO大会主持人介绍

全国PMO专业人士年度盛会 由PMO评论主办的2024第十三届中国PMO大会邀请了到十几位知名企业的PMO和项目管理专家来担任大会主持人。大会将于6月29-30日在北京举办&#xff0c;敬请关注&#xff01; 主持人介绍 肖杨&#xff0c;国际知名组织级项目管理专家&#xff0c;微薄之力…

[深度学习] 自编码器Autoencoder

自编码器&#xff08;Autoencoder&#xff09;是一种无监督学习算法&#xff0c;主要用于数据的降维、特征提取和数据重建。自编码器由两个主要部分组成&#xff1a;编码器&#xff08;Encoder&#xff09;和解码器&#xff08;Decoder&#xff09;。其基本思想是将输入数据映射…

软考《信息系统运行管理员》-1.2信息系统运维

1.2信息系统运维 传统运维模式&#xff08;软件&#xff09; 泛化&#xff1a;软件交付后围绕其所做的任何工作纠错&#xff1a;软件运行中错误的发现和改正适应&#xff1a;为适应环境做出的改变用户支持&#xff1a;为软件用户提供的支持 新的不同视角下的运维 “管理”的…

【八股系列】Vue中的<keep-alive>组件:深入解析与实践指南

&#x1f389; 博客主页&#xff1a;【剑九 六千里-CSDN博客】 &#x1f3a8; 上一篇文章&#xff1a;【探索响应式布局的奥秘&#xff1a;关键技术与实战代码示例】 &#x1f3a0; 系列专栏&#xff1a;【面试题-八股系列】 &#x1f496; 感谢大家点赞&#x1f44d;收藏⭐评论…