问题标签 [intel-media-sdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-8 - 英特尔媒体软件编码器
我正在使用图形编辑,并尝试使用带有 windows-8(32 位,处理器 Intel-core i5)的英特尔媒体软件编码器并出现配置错误
但它适用于以下情况:
- Windows-8(64 位,处理器 intel-core i3),
- Windows-7(32 位,处理器 intel-core i3),
- Windows-7(64 位,处理器 intel-core i3)。
请帮我解决问题。
streaming - Intel Media SDK 流输出
所以我正在尝试使用英特尔媒体 SDK 使用英特尔快速同步技术对相机帧进行编码,到目前为止,我已经设法将来自相机的原始帧从 OpenCV 编码为原始 mfxBitStream 的最终输出
现在我的问题是,我想将编码输出流式传输到 VLC 或其他任何东西,我该怎么做?
任何帮助将非常感激 :)
streaming - Intel Media SDK:关于 mfxIMPL 的使用
请有人能澄清英特尔 Media SDK 提供的 mfxIMPL 数据结构的用途吗?解码示例应用程序有一个代码行:
mfxIMPL impl = MFX_IMPL_HARDWARE;
这是否意味着解码器仅在 GPU 上运行。
如果我将 MFX_IMPL_HARDWARE 更改为 MFX_IMPL_SOFTWARE,解码器是否只能在 CPU 上运行?
c++ - 从共享对象调用时,libmfx.a 中的 MFXInit() 出现段错误
(虽然英特尔的论坛是一个更自然地提出这个问题的地方,但我在这里发布它是希望比英特尔完全缺乏的活动更多 - 到目前为止)
我无法创建使用 Intel Media SDK(linux 服务器)来操作 h264 视频的动态链接库,并注意到 MFX 库的设计存在问题。据我了解,程序应该链接到静态库,例如:
但是,此libmfx.a
库似乎将所有调用委托给dlopen
ed动态库/opt/intel/mediasdk/lib64/libmfxhw64.so
。值得注意的是,静态库和动态库公开的函数名(和签名)是相同的,这有点令人困惑和危险。
虽然我不理解这种设计背后的基本原理,但它本身不应该是一个问题,当(静态)libmfx.a
包含在共享对象中时,库中的一些静态/全局初始化显然不会造成严重破坏。IE。:
上面的库可以这样组装:
然后(动态)链接到main.o
这样:
(请注意,附加libdl
是必要的,以允许libmfx.a
。dlopen()
libmfxhw64.so
)
不幸的是,在第一次MFXInit()
调用时,程序会导致分段错误(访问地址 0x0000400)。GDB 回溯:
(注意MFXInit()
at stackframe#3
是 inlibmfx.a
而 at#1
是 in libmfxhw64.so
。)
请注意,创建为静态库时不会崩溃。使用断点和反汇编程序,我设法制作了以下回溯快照,在这两种情况下都是 at ,但它们似乎遇到了不同版本的(由于重定位,绝对地址毫无意义):mylib
#1
MFXInit+424
MFXQueryVersion
因为静态和共享的英特尔库都公开了相同的 API 函数,所以我可以直接链接到libmfxhw64.so
胆量,但我认为绕过静态“调度程序”是没有保证的(?)
有人可以解释英特尔在上述设计背后的想法吗?规范,为什么要提供一个仅委托给.so
具有相同接口的静态库?
此外,SEGV 似乎是由libmfx.a
或中的静态/全局数据引起的libmfxhw64.so
。有没有办法在动态加载的静态/全局部分上强制执行特定的执行顺序?调试此类问题的最佳方法是什么?
在 Intel Haswell i7-4790 @3.6Ghz 上使用 Intel Media SDK R2 (ubuntu 12) 和 Intel Media SDK 2015R3-R5 (Centos 7, 1.13/1.15) 进行测试
如果您有一个有效的英特尔 MSDK 设置,请编译我的示例代码以确认问题。
directx - 在 opencl 中更改 Directx 获取表面的图像格式
我在 opencl 工作,从 Directx 获取媒体表面
媒体表面具有如下和此处指定的 NV12 格式
我想将opencl对象的平面0(表示表面[0]和表面[2])的图像格式更改为CL_RGBA。有什么办法可以做到这一点吗?
android - 应用被拒绝,因为 OpenSSL
首先,这里和这里之前已经问过这个问题
我已经使用这个命令$ unzip -p YourApp.apk | strings | grep "OpenSSL"
来获取 OpenSSL 版本,我得到了
OpenSSL 1.0.0e 2011 年 9 月 6 日。
我在应用程序中使用了许多库 这是我的 gradle
找出哪个库正在使用 OpenSSL 的任何快速简便的方法也是如此。
谢谢。
c++ - Visual Studio 2015 中的错误,该错误在 2012 年消失
我在我的 Windows10 机器上使用 Intel Media SDK 的 API 版本 1.19 运行以下代码。
我在 Visual Studio 2015 中制作了该项目,但收到以下错误
严重性 错误代码
描述
项目
文件路径
程序行
错误已以上述格式写入。
但是,在 Visual Studio 2012 中,上述代码运行良好。请告知我应该怎么做才能将我的项目升级到 Visual Studio 2015?
我在 Visual Studio 2017RC 中遇到了 LNK2019(请参阅此处),因此我回滚到 Visual Studio 2015 和 2012。直到现在,针对此论坛或其他论坛上的错误的可用解决方案对我不起作用。对于警告 LNK4098,我无法得出要忽略哪些库的结论。
c++ - MFXVideoDECODE_Init 失败并出现 MFX_ERR_MEMORY_ALLOC
我正在尝试将 intel-media-sdk 解码器用于 h.264 视频。这是我初始化解码器的代码:
所以你可以看到MFXVideoDECODE::Init(mfxVideoParam*)
(内部调用MFXVideoDECODE_Init
)返回MFX_ERR_MEMORY_ALLOC
,奇怪的是在这个文档中它说这个函数没有这个返回值。
以下是有关以下内容的一些调试信息mfxVideoParams
:
AllocId = 0,AsyncDepth = 0,IOPattern = 16,mfx.CodecId = 541283905,mfx.CodecProfile = 77,mfx.CodecLevel = 30,vpp.In.FourCC = 842094158,vpp.In.Width = 864,vpp.In。高度 = 480,vpp.In.CropW = 854,vpp.In.CropH = 480,vpp.In.BufferSize = 31458144,vpp.In.AspectRatioW = 1,vpp.In.AspectRatioH = 1,vpp.In.PicStruct = 1、vpp.In.ChromaFormat = 1
这是此处使用的标头中的一些成员数据定义:
以下是有关我当前工作设备的一些信息,可能与此问题有关:
- 操作系统:Windows 8.1
- 处理器:Intel(R) Core(TM) i5-3470 CPU @ 3.20GHZ
- 系统类型:64位操作系统,基于x64的处理器
- 安装内存 (RAM) : 8.00 GB
最后,为了重现完全相同的情况,我big_buck_bunny_1080p_h264.mov
从该站点下载了名为的视频,然后使用 ffmpeg 将其提取到 h264 并在我的程序中使用。