Sample Attributes

The following attributes apply to Media Samples. To get the attributes from a media sample, use the IMFAttributes interface.

Attribute Description
MFSampleExtension_3DVideo Specifies whether a media sample contains a 3D video frame.
MFSampleExtension_3DVideo_SampleFormat Specifies how a 3D video frame is stored in a media sample.
MFSampleExtension_BottomFieldFirst Specifies the field dominance for an interlaced video frame.
MFSampleExtension_CameraExtrinsics The camera extrinsics for the sample.
MFSampleExtension_CaptureMetadata The IMFAttributes store for all the metadata related to the capture pipeline.
MFSampleExtension_CleanPoint Indicates whether a video sample is a key frame.
MFSampleExtension_Content_KeyID Sets the Key ID for the sample.
MFSampleExtension_DerivedFromTopField Specifies whether a deinterlaced video frame was derived from the upper field or the lower field.
MFSampleExtension_DeviceTimestamp The time stamp from the device driver.
MFSampleExtension_Discontinuity Specifies whether a media sample is the first sample after a gap in the stream.
MFSampleExtension_Encryption_CryptByteBlock Specifies the encrypted byte block size for sample-based pattern encryption.
MFSampleExtension_Encryption_ProtectionScheme Specifies the protection scheme for encrypted samples.
MFSampleExtension_Encryption_SampleID Specifies the ID of an encrypted sample.
MFSampleExtension_Encryption_SkipByteBlock Specifies the clear (non-encrypted) byte block size for sample-based pattern encryption.
MFSampleExtension_Encryption_SubSampleMappingSplit Sets the sub-sample mapping for the sample indicating the clear and encrypted bytes in the sample data.
MFSampleExtension_FeatureMap
Contains one MACROBLOCK_DATA structure for each macroblock in the input frame.
MFSampleExtension_FrameCorruption Specifies whether a video frame is corrupted.
MFSampleExtension_ForwardedDecodeUnits Gets an object of type IMFCollection containing IMFSample objects which contain network abstraction layer units (NALUs) and Supplemental Enhancement Information (SEI) units forwarded by a decoder.
MFSampleExtension_ForwardedDecodeUnitType Specifies the type, NALU or SEI, of a unit attached to an IMFSample in a MFSampleExtension_ForwardedDecodeUnits collection.
MFSampleExtension_Interlaced Indicates whether a video frame is interlaced or progressive.
MFSampleExtension_LongTermReferenceFrameInfo Specifies Long Term Reference (LTR) frame info and is returned on the output sample.
MFSampleExtension_MeanAbsoluteDifference This attribute returns the mean absolute difference (MAD) across all macro-blocks in the Y plane.
MFSampleExtension_PacketCrossOffsets Specifies the payload boundaries for a frame. This applies to encrypted samples.
MFSampleExtension_PhotoThumbnail Contains the photo thumbnail of a IMFSample.
MFSampleExtension_PhotoThumbnailMediaType Contains the IMFMediaType which describes the image format type contained in the MFSampleExtension_PhotoThumbnail attribute.
MFSampleExtension_PinholeCameraIntrinsics The pinhole camera intrinsics for the sample.
MFSampleExtension_RepeatFirstField Specifies whether to repeat the first field in an interlaced frame.
MFSampleExtension_ROIRectangle Specifies the bounds of the region of interest which indicates the region of the frame that requires different quality.
MFSampleExtension_SingleField Specifies whether a video sample contains a single field or two interleaved fields
MFSampleExtension_SpatialLayerId
The spatial layer ID of the data contained in an IMFSample.
MFSampleExtension_TargetGlobalLuminance The value in Nits that specifies the targeted global backlight luminance for the associated video frame.
MFSampleExtension_TemporalLayerId
The temporal layer ID of the data contained in an IMFSample.
MFSampleExtension_Token Contains a pointer to the token that was provided to the IMFMediaStream::RequestSample method.
MFSampleExtension_VideoEncodePictureType Specifies the bounds of the region of interest which indicates the region of the frame that requires different quality.
MFSampleExtension_VideoEncodeQP Specifies the quantization parameter (QP) that was used to encode a video sample.

 

Not every media sample contains every attribute listed here. In some cases, an attribute applies only to certain kinds of data. For example, some attributes apply only to video samples, and should not appear on audio samples. In other cases, the attribute has a default value which applies if the attribute is not set.

IMFSample

Media Foundation Attributes

Media Samples