windows11编译VideoProcessingFramework库

news2024/9/20 16:25:55

1、下载VideoProcessingFramework

Release v2.0.0 · NVIDIA/VideoProcessingFramework · GitHub

2、下载FFMPEG

Releases · BtbN/FFmpeg-Builds · GitHub

推荐 ffmpeg-n4.4-latest-win64-lgpl-shared-4.4

3、下载CMAKE

Download | CMake

4、下载visual studio 2019

Visual Studio 2019 版本 16.11 发行说明 | Microsoft Learn

5、生成project

 6、编译wheel

 编译日志

已启动生成…
1>------ 已启动生成: 项目: TC_CORE, 配置: Debug x64 ------
1>Building Custom Rule D:/01Tools/VideoProcessingFramework/src/TC/TC_CORE/CMakeLists.txt
1>Task.cpp
1>Token.cpp
1>正在生成代码...
1>TC_CORE.vcxproj -> D:\01Tools\VideoProcessingFramework\build\src\TC\TC_CORE\Debug\TC_CORE.lib
2>------ 已启动生成: 项目: TC, 配置: Debug x64 ------
2>Building Custom Rule D:/01Tools/VideoProcessingFramework/src/TC/CMakeLists.txt
2>Compiling CUDA source file ..\..\..\src\TC\src\Resize.cu...
2>
2>D:\01Tools\VideoProcessingFramework\build\src\TC>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\nvcc.exe"  --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64" -x cu   -ID:\01Tools\VideoProcessingFramework\src\TC\inc -ID:\01Tools\VideoProcessingFramework\src\TC\third_party -ID:\01Tools\VideoProcessingFramework\build\src\TC -I"D:\01Tools\ffmpeg-n4.4-latest-win64-lgpl-shared-4.4\include" -ID:\01Tools\VideoProcessingFramework\src\TC\TC_CORE\inc -ID:\01Tools\VideoProcessingFramework\build\src\TC\TC_CORE -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\include"     --keep-dir x64\Debug  -maxrregcount=0  --machine 64 --compile -cudart static -std=c++17 --generate-code=arch=compute_60,code=[compute_60,sm_60] --generate-code=arch=compute_70,code=[compute_70,sm_70] --generate-code=arch=compute_72,code=[compute_72,sm_72] --generate-code=arch=compute_75,code=[compute_75,sm_75] --generate-code=arch=compute_80,code=[compute_80,sm_80] --generate-code=arch=compute_86,code=[compute_86,sm_86] -Xcompiler="/EHsc -Zi -Ob0" -g  -D_WINDOWS -DHAS_BSF=1 -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D"CMAKE_INTDIR=\"Debug\"" -D_MBCS -DWIN32 -D_WINDOWS -DHAS_BSF=1 -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D"CMAKE_INTDIR=\"Debug\"" -Xcompiler "/EHsc /W1 /nologo /Od /FdD:\01Tools\VideoProcessingFramework\build\src\TC\Debug\TC.pdb /FS /Zi /RTC1 /MDd " -o TC.dir\Debug\Resize.obj "D:\01Tools\VideoProcessingFramework\src\TC\src\Resize.cu"
2>resize.cu
2>MemoryInterfaces.cpp
2>Tasks.cpp
2>TasksColorCvt.cpp
2>FFmpegDemuxer.cpp
2>NvDecoder.cpp
2>NvEncoder.cpp
2>NvEncoderCuda.cpp
2>NppCommon.cpp
2>NvCodecCliOptions.cpp
2>FfmpegSwDecoder.cpp
2>tc_dlopen_windows.cpp
2>正在生成代码...
2>TC.vcxproj -> D:\01Tools\VideoProcessingFramework\build\src\TC\Debug\TC.lib
3>------ 已启动生成: 项目: _PyNvCodec, 配置: Debug x64 ------
3>Building Custom Rule D:/01Tools/VideoProcessingFramework/src/PyNvCodec/CMakeLists.txt
3>PyBufferUploader.cpp
3>PyCudaBufferDownloader.cpp
3>PyFFMpegDecoder.cpp
3>PyFFMpegDemuxer.cpp
3>PyFrameUploader.cpp
3>PyNvCodec.cpp
3>PyNvDecoder.cpp
3>PyNvEncoder.cpp
3>D:\01Tools\VideoProcessingFramework\src\PyNvCodec\src\PyNvEncoder.cpp(436,71): warning C4312: “reinterpret_cast”: 从“T”转换到更大的“void *”
3>        with
3>        [
3>            T=long
3>        ]
3>PySurface.cpp
3>PySurfaceConverter.cpp
3>PySurfaceDownloader.cpp
3>PySurfaceRemaper.cpp
3>PySurfaceResizer.cpp
3>正在生成代码...
3>  正在创建库 D:/01Tools/VideoProcessingFramework/build/src/PyNvCodec/Debug/_PyNvCodec.lib 和对象 D:/01Tools/VideoProcessingFramework/build/src/PyNvCodec/Debug/_PyNvCodec.exp
3>_PyNvCodec.vcxproj -> D:\01Tools\VideoProcessingFramework\build\src\PyNvCodec\Debug\_PyNvCodec.cp38-win_amd64.pyd
3>已完成生成项目“_PyNvCodec.vcxproj”的操作。
4>------ 已启动生成: 项目: INSTALL, 配置: Debug x64 ------
4>-- Install configuration: "Debug"
4>-- Installing: C:/Program Files/PyNvCodec/PyNvCodec/_PyNvCodec.cp38-win_amd64.pyd
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/avcodec-58.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/avformat-58.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/avutil-56.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/cudart64_110.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/nppc64_11.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/nppial64_11.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/nppicc64_11.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/nppidei64_11.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/nppig64_11.dll
4>-- Up-to-date: C:/Program Files/PyNvCodec/PyNvCodec/swresample-3.dll
========== 生成: 成功 4 个,失败 0 个,最新 2 个,跳过 0 个 ==========

7、查看编译文件

8、已编译好的轮子

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

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

相关文章

python必背内容

本篇文章给大家谈谈python必背内容,以及一个有趣的事情,希望对各位有所帮助,不要忘了收藏本站喔。 来源 | Towards Data Science 作者 | Soner Yildirim 编译 | VK Python在数据科学生态系统中占据主导地位PHP与PYTHON:基于语法&a…

Lizard Era: Beginning

题目 思路 暴力dfs会TLE,考虑折半搜索 将每次任务分为左边获得的和右边获得的 即 l 1 r 1 l 2 r 2 l 3 r 3 l_1r_1l_2r_2l_3r3 l1​r1​l2​r2​l3​r3 为了让左边搜索时只依赖l,右边只依赖r,所以移项变为 r 1 − r 2 l 2 − l 1 r_…

b 树和 b+树的理解

项目场景: 图灵奖获得者(Niklaus Wirth )说过: 程序 数据结构 算法, 也就说我们无时无刻 都在和数据结构打交道。 只是作为 Java 开发,由于技术体系的成熟度较高,使得大部分人认为&#xff1…

BugKu CTF(杂项篇MISC)—社工-进阶收集

BugKu CTF(杂项篇MISC)—社工-进阶收集 提 示: flag{小美小区名字拼音} 描 述: 小明当年为了追求小美想尽办法获得小美的地址。直到有一天小美发了一条说说,小明觉得希望来了。(实战改编题,难度降低了。) [外链图片转存失败,源站可能有防盗链机制,建议…

CAS 机制

问题分析与思考: CAS 是 Java 中 Unsafe 类里面的方法,它的全称是 CompareAndSwap,比较并交换 的意思。 它的主要功能是能够保证在多线程环境下,对于共享变量的修改的原子性。 举个例子,比如说有这样一个场景&#xff…

手机上怎么pdf转word?教你这样操作

手机上怎么pdf转word?在现代社会,PDF和Word文档是我们工作和学习中经常用到的文档格式。有时候,我们需要将PDF文档转换为Word文档,以便更好地编辑和修改。那么,我们该如何在手机上实现PDF转Word呢?今天就给…

从小白到大神之路之学习运维第71天-------Docker容器引擎操作(创建私有仓库、docker资源限制、数据持久化、volume的基本使用)

第四阶段 时 间:2023年8月1日 参加人:全班人员 内 容: Docker容器引擎操作 目录 一、Docker 容器操作 1、创建容器与运行容器 2、容器的启动与停止 3、容器的运行与终止 4、容器的进入 5、容器的导出与导入 6、容器的删除 7、文…

【C语言】关键字static——static修饰局部变量、全局变量和函数详解!

在C语言中,static是修饰变量和函数的。static修饰局部变量称为静态局部变量,static修饰全局变量称为静态全局变量,static修饰函数称为静态函数。 文章目录 静态变量在静态区分配内存static修饰全局变量static修饰局部变量static修饰函数 静态…

2023Q2纯电汽车销量统计,特斯拉遥遥领先,比亚迪和大众横向对比

根据8月1日的消息,国际科技媒体insideevs最近针对2023年第2季度特斯拉、比亚迪和大众三家电动汽车制造商的纯电动汽车销量做了横向比较。 根据媒体报道,2023年第2季度,三家汽车制造企业的销量都有不同程度的增长,较去年同期和今年…

千云探探监测到7月25日法国巴黎Facebook网络恢复正常

前情回顾:针对法国近期出现的骚乱,法国总统马克龙7月4日表示,如果事态失控,法国政府可能需要监管或关闭社交网络。北京时间2023年7月4日17时45分,埃文科技的千云探探发现法国巴黎地区访问Facebook社交网络的网络时延从…

iPhone 8 Plus透明屏应用范围详解

iPhone 8 Plus是苹果公司于2017年推出的一款智能手机,它采用了全新的玻璃机身设计,支持无线充电,并且搭载了更强大的A11仿生芯片。 而透明屏则是一种新型的屏幕技术,可以使手机屏幕呈现出透明的效果。 透明屏是一种将屏幕背后的元…

网络层:IP协议/Mac协议

IP协议 主机: 配有IP地址, 但是不进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由器的统 称; IP 目标网络(前半部分) 目标主机(后半部分) IP层的核心:IP地址定位主机(定…

MySQL篇

文章目录 一、MySQL-优化1、在MySQL中,如何定位慢查询?2、SQL语句执行很慢, 如何分析呢?3、了解过索引吗?(什么是索引)4、索引的底层数据结构了解过嘛 ?5、什么是聚簇索引什么是非聚簇索引 ?6、知道什么是回表查询嘛…

安达发|APS智能排程软件推动企业智能转型

随着智能化技术的飞速发展,企业在构建智能计划排产规划方面有了新的可能性。APS排程软件(Advanced Planning and Scheduling)作为一种强大的工具,为企业提供了实现智能计划排产规划的新模式,主要是利用计算机运算速度快…

面向对象程序三大特性一:封装(超详细)

目录 目录 封装 1.1访问限定符 1.2封装介绍 1.3封装的实现步骤 (三步) 总结 封装 1.1访问限定符 Java 中主要通过类和访问权限来实现封装: 类可以将数据以及封装数据的方法结合在一起,,而访问权限用来控制方法或者字段能否直接在类…

linux驱动定时器实现按键按下打印字符

#include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_irq.h> #include <linux/interrupt.h>struct device_node *dev; unsigned int irqno; //中断处理函数 irqreturn_t myirq_handler(int irq,void *…

后端整理(集合框架、IO流、多线程)

1. 集合框架 Java集合类主要有两个根接口Collection和Map派生出来 Collection派生两个子接口 List List代表了有序可重复集合&#xff0c;可以直接根据元素的索引进行访问Set Set代表无序不可重复集合&#xff0c;只能根据元素本身进行访问 Map接口派生 Map代表的是存储key…

Vue2面试题

1. Vue 的基本原理 当 一 个 Vue 实 例 创 建 时 &#xff0c; Vue 会 遍 历 data 中 的 属 性 &#xff0c; 用 Object.defineProperty &#xff08; vue3.0 使 用 proxy&#xff09; 将 它 们 转 为 getter/setter&#xff0c;并且在内部追踪相关依赖&#xff0c;在属性被访…

linux系统中详细分析MMU的具体实现

先来看一张图 ​第一&#xff1a;MMU内存管理 MMU&#xff08;Memory Management Unit&#xff0c;内存管理单元&#xff09;是一种硬件模块&#xff0c;用于在CPU和内存之间实现虚拟内存管理。 其主要功能是将虚拟地址转换为物理地址&#xff0c;同时提供访问权限的控制和缓存…

控制反转ioc理解,配置说明

先写个例子吧 配置文件&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"h…