Category: Uncategorized

Getting MF_E_TRANSFORM_NEED_MORE_INPUT from Video Processor MFT’s ProcessOutput just to let it take next input

Another example how Microsoft Media Foundation can be annoying in small things. So we have this Video Processor MFT transform which addresses multiple video conversion tasks: The video processor MFT is a Microsoft Media Foundation transform (MFT) that performs colorspace conversion, video resizing, deinterlacing, frame rate conversion, rotation, cropping, spatial left and right view unpacking,…

Read the full article

MediaFoundationDxgiCapabilities: with AMF SDK H.264 encoder related data

Yet another post on AMD AMF SDK and hopefully a helpful tool reference. I updated one of the capability discovery applications (MediaFoundationDxgiCapabilities) so that it includes a printout of AMFVideoEncoderVCE_AVC related properties similarly as they are printed for Nvidia video adapters. Information includes: runtime version (and its availability in first place!) maximal resolution, profile and…

Read the full article

Runtime H.264 encoder setting changes with AMD H.264 hardware MFT

One more AMD MFT related post for now. Some time ago I mentioned that Intel’s implementation of hardware H.264 video encoder Media Foundation Transform (MFT) is not implementing correctly runtime change of encoding settings. Respective Intel Developer Zone submission has received no follow-up and, presumably, attention over time. At this time it was a good…

Read the full article

AMD’s three ways to spell “enhancement”

From AMD AMF SDK documentation, AMF_Video_Encode_API.pdf: The typos are not a big deal for development, even though the symbol with the typo is a shortcut to a string with the same typo: #define AMF_VIDEO_ENCODER_NUM_TEMPORAL_ENHANCMENT_LAYERS L”NumOfTemporalEnhancmentLayers” The SDK offers a good frontend to AMD VCE hardware encoders, however there are a few unfortunate problems: documentation is…

Read the full article

Where is ID3D11DeviceChild::GetPrivateDataInterface?

ID3D11DeviceChild similarly to a few other related interfaces offers methods including: ID3D11DeviceChild::GetPrivateData – Get application-defined data from a device child. ID3D11DeviceChild::SetPrivateData – Set application-defined data to a device child and associate that data with an application-defined GUID. ID3D11DeviceChild::SetPrivateDataInterface – Associate an IUnknown-derived interface with this device child and associate that interface with an application-defined GUID.…

Read the full article