Tag: Video

MediaFoundationVideoEncoderTransforms: Detecting support for hardware H.264 video encoders

H.264 (MPEG-4 Part 10 also known as MPEG-4 AVC) video encoding was never packaged into DirectShow filter by Microsoft and instead they offered Media Foundation Transform (MFT) for the job: H.264 Video Encoder. Further development gave us third party video encoders also packaged as MFTs. Hardware backed MFTs became a part of video hardware drivers…

Read the full article

Fragile MFEnumDeviceSources

As I mentioned in earlier post, Media Foundation video capture capability is internally using undocumented categories with pretty much the same transforms and enumeration applicable to categories documented. Without documenting it as public contract, MFEnumDeviceSources enumerates transforms, builds standard implementation for IMFMediaSource on top of available transform and… voila! Media Foundation offers “lightweight” API for…

Read the full article

Follow up: mixed parallel H.264 encoding, Intel® Quick Sync Video H.264 Encoder MFT + NVIDIA H.264 Encoder MFT

A scenario which was dropped out from previous post is mixed simultaneous encoding using both hardware encoders. Rationale: Intel QSV encoder might exist as a “free” capability of the motherboard (provided with onboard video adapter), The other one might be available with the video adapter intentionally plugged in (including for other reasons, such as to…

Read the full article

Media Foundation Video/Audio Capture Capabilities

Just like with DirectShow video capture capability information, it is helpful to unerstand what Medfia Foudnation video capture offering is exactly. Specifically: Video and audio sources available with MFEnumDeviceSources and MFCreateDeviceSource Source attributes, streams, media types DirectShow compatible representations H.264 realated attributes in media types might be not so obvious and device might report too…

Read the full article

CLSID_VideoInputDeviceCategory and Media Foundation

Media Foundation as video capture API is inflexible. At Microsoft – besides standard Media Foundation problems of backward compatibility, availability of developer tools and overall awkwardness – they decided to no longer offer video capture extensibility with Media Foundation. Be happy with MFEnumDeviceSources and don’t go anywhere else. They explain that they already provided support…

Read the full article

Not so good H.264 media type

MainConcept’s MP4 Demultiplexer in Annex B mode looks, well… slightly excessively broken. H.264 media type with start codes (H264 FourCC, but here they use legacy subtype informally known as MEDIASUBTYPE_H264_bis) do not require parameter sets as a part of MPEGVIDEOINFO2 structure. If they however decided to provide the NAL units, they have to be RLE…

Read the full article