判断一个MFT是GPU还是CPU?
Determine whether a MFT is GPU or CPU?
我可以使用 MFT_FRIENDLY_NAME_Attribute
获取 MFT 的名称并使用 MFT_ENUM_FLAG_HARDWARE
检查它是硬件还是软件,我如何检查编码器是 CPU 还是基于 GPU ?
即Intel QuickSync 是 CPU,NVIDIA H.264 Encoder MFT 是 GPU,等等
编码器是通过 MFTEnumEx(MFT_CATEGORY_VIDEO_ENCODER, ...);
获取的,它提供了一个 IMFActivate
的数组,从那里我可以获得 MFT 标志和编码器的 GUID。
how can I check whether the encoder is CPU or GPU based
MFT 不指明它们是 CPU 还是基于 GPU。他们不必这样做,也没有多大意义。
MFT_ENUM_FLAG_HARDWARE
你已经发现的标志已经告诉你你想要的信息。
The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. MFTs in this category always process data asynchronously.
此标志表示此编码器背后没有 CPU 实现,它是一些处理编码的硬件。具体是什么硬件?一般是GPU。
没有 AMD、Intel 或 NVIDIA Media Foundation 编码器 MFT_ENUM_FLAG_HARDWARE
同时“基于 CPU”(如果 H.264/AVC 或 H.265/HEVC 在问题,上述供应商根本没有 CPU/software Media Foundation 形式的编码器)。
我可以使用 MFT_FRIENDLY_NAME_Attribute
获取 MFT 的名称并使用 MFT_ENUM_FLAG_HARDWARE
检查它是硬件还是软件,我如何检查编码器是 CPU 还是基于 GPU ?
即Intel QuickSync 是 CPU,NVIDIA H.264 Encoder MFT 是 GPU,等等
编码器是通过 MFTEnumEx(MFT_CATEGORY_VIDEO_ENCODER, ...);
获取的,它提供了一个 IMFActivate
的数组,从那里我可以获得 MFT 标志和编码器的 GUID。
how can I check whether the encoder is CPU or GPU based
MFT 不指明它们是 CPU 还是基于 GPU。他们不必这样做,也没有多大意义。
MFT_ENUM_FLAG_HARDWARE
你已经发现的标志已经告诉你你想要的信息。
The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. MFTs in this category always process data asynchronously.
此标志表示此编码器背后没有 CPU 实现,它是一些处理编码的硬件。具体是什么硬件?一般是GPU。
没有 AMD、Intel 或 NVIDIA Media Foundation 编码器 MFT_ENUM_FLAG_HARDWARE
同时“基于 CPU”(如果 H.264/AVC 或 H.265/HEVC 在问题,上述供应商根本没有 CPU/software Media Foundation 形式的编码器)。