FFmpeg
Loading...
Searching...
No Matches
mf_utils.h File Reference
#include <windows.h>
#include <initguid.h>
#include <dshow.h>
#include <codecapi.h>
#include <mfapi.h>
#include <mferror.h>
#include <mfobjects.h>
#include <mftransform.h>
#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  MFFunctions
 

Macros

#define NO_DSHOW_STRSAFE
 
#define ff_MFSetAttributeRatio   ff_MFSetAttributeSize
 
#define ff_MFGetAttributeRatio   ff_MFGetAttributeSize
 
#define ff_hr_str(hr)
 
#define FF_VARIANT_VALUE(type, contents)
 
#define FF_VAL_VT_UI4(v)
 
#define FF_VAL_VT_BOOL(v)
 
#define ff_guid_str(guid)
 

Enumerations

enum  ff_eAVEncCommonRateControlMode {
  ff_eAVEncCommonRateControlMode_CBR = 0 , ff_eAVEncCommonRateControlMode_PeakConstrainedVBR = 1 , ff_eAVEncCommonRateControlMode_UnconstrainedVBR = 2 , ff_eAVEncCommonRateControlMode_Quality = 3 ,
  ff_eAVEncCommonRateControlMode_LowDelayVBR = 4 , ff_eAVEncCommonRateControlMode_GlobalVBR = 5 , ff_eAVEncCommonRateControlMode_GlobalLowDelayVBR = 6
}
 
enum  ff_eAVScenarioInfo {
  ff_eAVScenarioInfo_Unknown = 0 , ff_eAVScenarioInfo_DisplayRemoting = 1 , ff_eAVScenarioInfo_VideoConference = 2 , ff_eAVScenarioInfo_Archive = 3 ,
  ff_eAVScenarioInfo_LiveStreaming = 4 , ff_eAVScenarioInfo_CameraRecord = 5 , ff_eAVScenarioInfo_DisplayRemotingWithFeatureMap = 6
}
 
enum  {
  ff_METransformUnknown = 600 , ff_METransformNeedInput , ff_METransformHaveOutput , ff_METransformDrainComplete ,
  ff_METransformMarker
}
 
enum  ff_eAVEncH264VProfile { ff_eAVEncH264VProfile_Base = 66 , ff_eAVEncH264VProfile_Main = 77 , ff_eAVEncH264VProfile_High = 100 }
 

Functions

HRESULT ff_MFGetAttributeSize (IMFAttributes *pattr, REFGUID guid, UINT32 *pw, UINT32 *ph)
 
HRESULT ff_MFSetAttributeSize (IMFAttributes *pattr, REFGUID guid, UINT32 uw, UINT32 uh)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoThumbnailGenerationMode, 0x2efd8eee, 0x1150, 0x4328, 0x9c, 0xf5, 0x66, 0xdc, 0xe9, 0x33, 0xfc, 0xf4)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoDropPicWithMissingRef, 0xf8226383, 0x14c2, 0x4567, 0x97, 0x34, 0x50, 0x04, 0xe9, 0x6f, 0xf8, 0x87)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoSoftwareDeinterlaceMode, 0x0c08d1ce, 0x9ced, 0x4540, 0xba, 0xe3, 0xce, 0xb3, 0x80, 0x14, 0x11, 0x09)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoFastDecodeMode, 0x6b529f7d, 0xd3b1, 0x49c6, 0xa9, 0x99, 0x9e, 0xc6, 0x91, 0x1b, 0xed, 0xbf)
 
 DEFINE_GUID (ff_CODECAPI_AVLowLatencyMode, 0x9c27891a, 0xed7a, 0x40e1, 0x88, 0xe8, 0xb2, 0x27, 0x27, 0xa0, 0x24, 0xee)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoH264ErrorConcealment, 0xececace8, 0x3436, 0x462c, 0x92, 0x94, 0xcd, 0x7b, 0xac, 0xd7, 0x58, 0xa9)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoMPEG2ErrorConcealment, 0x9d2bfe18, 0x728d, 0x48d2, 0xb3, 0x58, 0xbc, 0x7e, 0x43, 0x6c, 0x66, 0x74)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoCodecType, 0x434528e5, 0x21f0, 0x46b6, 0xb6, 0x2c, 0x9b, 0x1b, 0x6b, 0x65, 0x8c, 0xd1)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoDXVAMode, 0xf758f09e, 0x7337, 0x4ae7, 0x83, 0x87, 0x73, 0xdc, 0x2d, 0x54, 0xe6, 0x7d)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoDXVABusEncryption, 0x42153c8b, 0xfd0b, 0x4765, 0xa4, 0x62, 0xdd, 0xd9, 0xe8, 0xbc, 0xc3, 0x88)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoSWPowerLevel, 0xfb5d2347, 0x4dd8, 0x4509, 0xae, 0xd0, 0xdb, 0x5f, 0xa9, 0xaa, 0x93, 0xf4)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoMaxCodedWidth, 0x5ae557b8, 0x77af, 0x41f5, 0x9f, 0xa6, 0x4d, 0xb2, 0xfe, 0x1d, 0x4b, 0xca)
 
 DEFINE_GUID (ff_CODECAPI_AVDecVideoMaxCodedHeight, 0x7262a16a, 0xd2dc, 0x4e75, 0x9b, 0xa8, 0x65, 0xc0, 0xc6, 0xd3, 0x2b, 0x13)
 
 DEFINE_GUID (ff_CODECAPI_AVDecNumWorkerThreads, 0x9561c3e8, 0xea9e, 0x4435, 0x9b, 0x1e, 0xa9, 0x3e, 0x69, 0x18, 0x94, 0xd8)
 
 DEFINE_GUID (ff_CODECAPI_AVDecSoftwareDynamicFormatChange, 0x862e2f0a, 0x507b, 0x47ff, 0xaf, 0x47, 0x01, 0xe2, 0x62, 0x42, 0x98, 0xb7)
 
 DEFINE_GUID (ff_CODECAPI_AVDecDisableVideoPostProcessing, 0xf8749193, 0x667a, 0x4f2c, 0xa9, 0xe8, 0x5d, 0x4a, 0xf9, 0x24, 0xf0, 0x8f)
 
 DEFINE_GUID (ff_CODECAPI_AVEncCommonRateControlMode, 0x1c0608e9, 0x370c, 0x4710, 0x8a, 0x58, 0xcb, 0x61, 0x81, 0xc4, 0x24, 0x23)
 
 DEFINE_GUID (ff_CODECAPI_AVEncCommonQuality, 0xfcbf57a3, 0x7ea5, 0x4b0c, 0x96, 0x44, 0x69, 0xb4, 0x0c, 0x39, 0xc3, 0x91)
 
 DEFINE_GUID (ff_CODECAPI_AVEncCommonMeanBitRate, 0xf7222374, 0x2144, 0x4815, 0xb5, 0x50, 0xa3, 0x7f, 0x8e, 0x12, 0xee, 0x52)
 
 DEFINE_GUID (ff_CODECAPI_AVEncH264CABACEnable, 0xee6cad62, 0xd305, 0x4248, 0xa5, 0xe, 0xe1, 0xb2, 0x55, 0xf7, 0xca, 0xf8)
 
 DEFINE_GUID (ff_CODECAPI_AVEncVideoForceKeyFrame, 0x398c1b98, 0x8353, 0x475a, 0x9e, 0xf2, 0x8f, 0x26, 0x5d, 0x26, 0x3, 0x45)
 
 DEFINE_GUID (ff_CODECAPI_AVEncMPVDefaultBPictureCount, 0x8d390aac, 0xdc5c, 0x4200, 0xb5, 0x7f, 0x81, 0x4d, 0x04, 0xba, 0xba, 0xb2)
 
 DEFINE_GUID (ff_CODECAPI_AVScenarioInfo, 0xb28a6e64, 0x3ff9, 0x446a, 0x8a, 0x4b, 0x0d, 0x7a, 0x53, 0x41, 0x32, 0x36)
 
 DEFINE_GUID (ff_CODECAPI_AVEncCommonBufferSize, 0x0db96574, 0xb6a4, 0x4c8b, 0x81, 0x06, 0x37, 0x73, 0xde, 0x03, 0x10, 0xcd)
 
 DEFINE_GUID (ff_CODECAPI_AVEncCommonMaxBitRate, 0x9651eae4, 0x39b9, 0x4ebf, 0x85, 0xef, 0xd7, 0xf4, 0x44, 0xec, 0x74, 0x65)
 
 DEFINE_GUID (ff_CODECAPI_AVEncCommonQualityVsSpeed, 0x98332df8, 0x03cd, 0x476b, 0x89, 0xfa, 0x3f, 0x9e, 0x44, 0x2d, 0xec, 0x9f)
 
 DEFINE_GUID (ff_CODECAPI_AVEncMPVGOPSize, 0x95f31b26, 0x95a4, 0x41aa, 0x93, 0x03, 0x24, 0x6a, 0x7f, 0xc6, 0xee, 0xf1)
 
 DEFINE_GUID (ff_CODECAPI_AVEncVideoEncodeQP, 0x2cb5696b, 0x23fb, 0x4ce1, 0xa0, 0xf9, 0xef, 0x5b, 0x90, 0xfd, 0x55, 0xca)
 
 DEFINE_GUID (ff_MF_SA_D3D11_BINDFLAGS, 0xeacf97ad, 0x065c, 0x4408, 0xbe, 0xe3, 0xfd, 0xcb, 0xfd, 0x12, 0x8b, 0xe2)
 
 DEFINE_GUID (ff_MF_SA_D3D11_USAGE, 0xe85fe442, 0x2ca3, 0x486e, 0xa9, 0xc7, 0x10, 0x9d, 0xda, 0x60, 0x98, 0x80)
 
 DEFINE_GUID (ff_MF_SA_D3D11_AWARE, 0x206b4fc8, 0xfcf9, 0x4c51, 0xaf, 0xe3, 0x97, 0x64, 0x36, 0x9e, 0x33, 0xa0)
 
 DEFINE_GUID (ff_MF_SA_D3D11_SHARED, 0x7b8f32c3, 0x6d96, 0x4b89, 0x92, 0x3, 0xdd, 0x38, 0xb6, 0x14, 0x14, 0xf3)
 
 DEFINE_GUID (ff_MF_SA_D3D11_SHARED_WITHOUT_MUTEX, 0x39dbd44d, 0x2e44, 0x4931, 0xa4, 0xc8, 0x35, 0x2d, 0x3d, 0xc4, 0x21, 0x15)
 
 DEFINE_GUID (ff_MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT, 0x851745d5, 0xc3d6, 0x476d, 0x95, 0x27, 0x49, 0x8e, 0xf2, 0xd1, 0xd, 0x18)
 
 DEFINE_GUID (ff_MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT_PROGRESSIVE, 0xf5523a5, 0x1cb2, 0x47c5, 0xa5, 0x50, 0x2e, 0xeb, 0x84, 0xb4, 0xd1, 0x4a)
 
 DEFINE_MEDIATYPE_GUID (ff_MFVideoFormat_HEVC, 0x43564548)
 
 DEFINE_MEDIATYPE_GUID (ff_MFVideoFormat_HEVC_ES, 0x53564548)
 
 DEFINE_MEDIATYPE_GUID (ff_MFVideoFormat_AV1, 0x31305641)
 
char * ff_hr_str_buf (char *buf, size_t size, HRESULT hr)
 
IMFSample * ff_create_memory_sample (MFFunctions *f, void *fill_data, size_t size, size_t align)
 
enum AVSampleFormat ff_media_type_to_sample_fmt (IMFAttributes *type)
 
enum AVPixelFormat ff_media_type_to_pix_fmt (IMFAttributes *type)
 
const GUID * ff_pix_fmt_to_guid (enum AVPixelFormat pix_fmt)
 
int ff_fourcc_from_guid (const GUID *guid, uint32_t *out_fourcc)
 
char * ff_guid_str_buf (char *buf, size_t buf_size, const GUID *guid)
 
void ff_attributes_dump (void *log, IMFAttributes *attrs)
 
void ff_media_type_dump (void *log, IMFMediaType *type)
 
const CLSID * ff_codec_to_mf_subtype (enum AVCodecID codec)
 
int ff_instantiate_mf (void *log, MFFunctions *f, GUID category, MFT_REGISTER_TYPE_INFO *in_type, MFT_REGISTER_TYPE_INFO *out_type, int use_hw, IMFTransform **res)
 
void ff_free_mf (MFFunctions *f, IMFTransform **mft)
 

Macro Definition Documentation

◆ NO_DSHOW_STRSAFE

#define NO_DSHOW_STRSAFE

Definition at line 32 of file mf_utils.h.

◆ ff_MFSetAttributeRatio

#define ff_MFSetAttributeRatio   ff_MFSetAttributeSize

Definition at line 77 of file mf_utils.h.

◆ ff_MFGetAttributeRatio

#define ff_MFGetAttributeRatio   ff_MFGetAttributeSize

Definition at line 78 of file mf_utils.h.

◆ ff_hr_str

#define ff_hr_str ( hr)

◆ FF_VARIANT_VALUE

#define FF_VARIANT_VALUE ( type,
contents )
Value:
&(VARIANT){ .vt = (type), contents }
cl_device_type type

Definition at line 172 of file mf_utils.h.

◆ FF_VAL_VT_UI4

#define FF_VAL_VT_UI4 ( v)
Value:
FF_VARIANT_VALUE(VT_UI4, .ulVal = (v))
#define FF_VARIANT_VALUE(type, contents)
Definition mf_utils.h:172

Definition at line 174 of file mf_utils.h.

Referenced by mf_encv_output_adjust(), and mf_receive_packet().

◆ FF_VAL_VT_BOOL

#define FF_VAL_VT_BOOL ( v)
Value:
FF_VARIANT_VALUE(VT_BOOL, .boolVal = (v))

Definition at line 175 of file mf_utils.h.

Referenced by mf_encv_output_adjust().

◆ ff_guid_str

#define ff_guid_str ( guid)
Value:
ff_guid_str_buf((char[80]){0}, 80, guid)
char * ff_guid_str_buf(char *buf, size_t buf_size, const GUID *guid)
Definition mf_utils.c:333

Definition at line 184 of file mf_utils.h.

Referenced by ff_attributes_dump().

Enumeration Type Documentation

◆ ff_eAVEncCommonRateControlMode

Enumerator
ff_eAVEncCommonRateControlMode_CBR 
ff_eAVEncCommonRateControlMode_PeakConstrainedVBR 
ff_eAVEncCommonRateControlMode_UnconstrainedVBR 
ff_eAVEncCommonRateControlMode_Quality 
ff_eAVEncCommonRateControlMode_LowDelayVBR 
ff_eAVEncCommonRateControlMode_GlobalVBR 
ff_eAVEncCommonRateControlMode_GlobalLowDelayVBR 

Definition at line 127 of file mf_utils.h.

◆ ff_eAVScenarioInfo

Enumerator
ff_eAVScenarioInfo_Unknown 
ff_eAVScenarioInfo_DisplayRemoting 
ff_eAVScenarioInfo_VideoConference 
ff_eAVScenarioInfo_Archive 
ff_eAVScenarioInfo_LiveStreaming 
ff_eAVScenarioInfo_CameraRecord 
ff_eAVScenarioInfo_DisplayRemotingWithFeatureMap 

Definition at line 137 of file mf_utils.h.

◆ anonymous enum

anonymous enum
Enumerator
ff_METransformUnknown 
ff_METransformNeedInput 
ff_METransformHaveOutput 
ff_METransformDrainComplete 
ff_METransformMarker 

Definition at line 150 of file mf_utils.h.

◆ ff_eAVEncH264VProfile

Enumerator
ff_eAVEncH264VProfile_Base 
ff_eAVEncH264VProfile_Main 
ff_eAVEncH264VProfile_High 

Definition at line 162 of file mf_utils.h.

Function Documentation

◆ ff_MFGetAttributeSize()

HRESULT ff_MFGetAttributeSize ( IMFAttributes * pattr,
REFGUID guid,
UINT32 * pw,
UINT32 * ph )

Definition at line 28 of file mf_utils.c.

Referenced by ff_attributes_dump().

◆ ff_MFSetAttributeSize()

HRESULT ff_MFSetAttributeSize ( IMFAttributes * pattr,
REFGUID guid,
UINT32 uw,
UINT32 uh )

Definition at line 40 of file mf_utils.c.

Referenced by mf_encv_input_adjust(), and mf_encv_output_adjust().

◆ DEFINE_GUID() [1/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoThumbnailGenerationMode ,
0x2efd8eee ,
0x1150 ,
0x4328 ,
0x9c ,
0xf5 ,
0x66 ,
0xdc ,
0xe9 ,
0x33 ,
0xfc ,
0xf4  )

◆ DEFINE_GUID() [2/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoDropPicWithMissingRef ,
0xf8226383 ,
0x14c2 ,
0x4567 ,
0x97 ,
0x34 ,
0x50 ,
0x04 ,
0xe9 ,
0x6f ,
0xf8 ,
0x87  )

◆ DEFINE_GUID() [3/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoSoftwareDeinterlaceMode ,
0x0c08d1ce ,
0x9ced ,
0x4540 ,
0xba ,
0xe3 ,
0xce ,
0xb3 ,
0x80 ,
0x14 ,
0x11 ,
0x09  )

◆ DEFINE_GUID() [4/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoFastDecodeMode ,
0x6b529f7d ,
0xd3b1 ,
0x49c6 ,
0xa9 ,
0x99 ,
0x9e ,
0xc6 ,
0x91 ,
0x1b ,
0xed ,
0xbf  )

◆ DEFINE_GUID() [5/35]

DEFINE_GUID ( ff_CODECAPI_AVLowLatencyMode ,
0x9c27891a ,
0xed7a ,
0x40e1 ,
0x88 ,
0xe8 ,
0xb2 ,
0x27 ,
0x27 ,
0xa0 ,
0x24 ,
0xee  )

◆ DEFINE_GUID() [6/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoH264ErrorConcealment ,
0xececace8 ,
0x3436 ,
0x462c ,
0x92 ,
0x94 ,
0xcd ,
0x7b ,
0xac ,
0xd7 ,
0x58 ,
0xa9  )

◆ DEFINE_GUID() [7/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoMPEG2ErrorConcealment ,
0x9d2bfe18 ,
0x728d ,
0x48d2 ,
0xb3 ,
0x58 ,
0xbc ,
0x7e ,
0x43 ,
0x6c ,
0x66 ,
0x74  )

◆ DEFINE_GUID() [8/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoCodecType ,
0x434528e5 ,
0x21f0 ,
0x46b6 ,
0xb6 ,
0x2c ,
0x9b ,
0x1b ,
0x6b ,
0x65 ,
0x8c ,
0xd1  )

◆ DEFINE_GUID() [9/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoDXVAMode ,
0xf758f09e ,
0x7337 ,
0x4ae7 ,
0x83 ,
0x87 ,
0x73 ,
0xdc ,
0x2d ,
0x54 ,
0xe6 ,
0x7d  )

◆ DEFINE_GUID() [10/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoDXVABusEncryption ,
0x42153c8b ,
0xfd0b ,
0x4765 ,
0xa4 ,
0x62 ,
0xdd ,
0xd9 ,
0xe8 ,
0xbc ,
0xc3 ,
0x88  )

◆ DEFINE_GUID() [11/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoSWPowerLevel ,
0xfb5d2347 ,
0x4dd8 ,
0x4509 ,
0xae ,
0xd0 ,
0xdb ,
0x5f ,
0xa9 ,
0xaa ,
0x93 ,
0xf4  )

◆ DEFINE_GUID() [12/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoMaxCodedWidth ,
0x5ae557b8 ,
0x77af ,
0x41f5 ,
0x9f ,
0xa6 ,
0x4d ,
0xb2 ,
0xfe ,
0x1d ,
0x4b ,
0xca  )

◆ DEFINE_GUID() [13/35]

DEFINE_GUID ( ff_CODECAPI_AVDecVideoMaxCodedHeight ,
0x7262a16a ,
0xd2dc ,
0x4e75 ,
0x9b ,
0xa8 ,
0x65 ,
0xc0 ,
0xc6 ,
0xd3 ,
0x2b ,
0x13  )

◆ DEFINE_GUID() [14/35]

DEFINE_GUID ( ff_CODECAPI_AVDecNumWorkerThreads ,
0x9561c3e8 ,
0xea9e ,
0x4435 ,
0x9b ,
0x1e ,
0xa9 ,
0x3e ,
0x69 ,
0x18 ,
0x94 ,
0xd8  )

◆ DEFINE_GUID() [15/35]

DEFINE_GUID ( ff_CODECAPI_AVDecSoftwareDynamicFormatChange ,
0x862e2f0a ,
0x507b ,
0x47ff ,
0xaf ,
0x47 ,
0x01 ,
0xe2 ,
0x62 ,
0x42 ,
0x98 ,
0xb7  )

◆ DEFINE_GUID() [16/35]

DEFINE_GUID ( ff_CODECAPI_AVDecDisableVideoPostProcessing ,
0xf8749193 ,
0x667a ,
0x4f2c ,
0xa9 ,
0xe8 ,
0x5d ,
0x4a ,
0xf9 ,
0x24 ,
0xf0 ,
0x8f  )

◆ DEFINE_GUID() [17/35]

DEFINE_GUID ( ff_CODECAPI_AVEncCommonRateControlMode ,
0x1c0608e9 ,
0x370c ,
0x4710 ,
0x8a ,
0x58 ,
0xcb ,
0x61 ,
0x81 ,
0xc4 ,
0x24 ,
0x23  )

◆ DEFINE_GUID() [18/35]

DEFINE_GUID ( ff_CODECAPI_AVEncCommonQuality ,
0xfcbf57a3 ,
0x7ea5 ,
0x4b0c ,
0x96 ,
0x44 ,
0x69 ,
0xb4 ,
0x0c ,
0x39 ,
0xc3 ,
0x91  )

◆ DEFINE_GUID() [19/35]

DEFINE_GUID ( ff_CODECAPI_AVEncCommonMeanBitRate ,
0xf7222374 ,
0x2144 ,
0x4815 ,
0xb5 ,
0x50 ,
0xa3 ,
0x7f ,
0x8e ,
0x12 ,
0xee ,
0x52  )

◆ DEFINE_GUID() [20/35]

DEFINE_GUID ( ff_CODECAPI_AVEncH264CABACEnable ,
0xee6cad62 ,
0xd305 ,
0x4248 ,
0xa5 ,
0xe ,
0xe1 ,
0xb2 ,
0x55 ,
0xf7 ,
0xca ,
0xf8  )

◆ DEFINE_GUID() [21/35]

DEFINE_GUID ( ff_CODECAPI_AVEncVideoForceKeyFrame ,
0x398c1b98 ,
0x8353 ,
0x475a ,
0x9e ,
0xf2 ,
0x8f ,
0x26 ,
0x5d ,
0x26 ,
0x3 ,
0x45  )

◆ DEFINE_GUID() [22/35]

DEFINE_GUID ( ff_CODECAPI_AVEncMPVDefaultBPictureCount ,
0x8d390aac ,
0xdc5c ,
0x4200 ,
0xb5 ,
0x7f ,
0x81 ,
0x4d ,
0x04 ,
0xba ,
0xba ,
0xb2  )

◆ DEFINE_GUID() [23/35]

DEFINE_GUID ( ff_CODECAPI_AVScenarioInfo ,
0xb28a6e64 ,
0x3ff9 ,
0x446a ,
0x8a ,
0x4b ,
0x0d ,
0x7a ,
0x53 ,
0x41 ,
0x32 ,
0x36  )

◆ DEFINE_GUID() [24/35]

DEFINE_GUID ( ff_CODECAPI_AVEncCommonBufferSize ,
0x0db96574 ,
0xb6a4 ,
0x4c8b ,
0x81 ,
0x06 ,
0x37 ,
0x73 ,
0xde ,
0x03 ,
0x10 ,
0xcd  )

◆ DEFINE_GUID() [25/35]

DEFINE_GUID ( ff_CODECAPI_AVEncCommonMaxBitRate ,
0x9651eae4 ,
0x39b9 ,
0x4ebf ,
0x85 ,
0xef ,
0xd7 ,
0xf4 ,
0x44 ,
0xec ,
0x74 ,
0x65  )

◆ DEFINE_GUID() [26/35]

DEFINE_GUID ( ff_CODECAPI_AVEncCommonQualityVsSpeed ,
0x98332df8 ,
0x03cd ,
0x476b ,
0x89 ,
0xfa ,
0x3f ,
0x9e ,
0x44 ,
0x2d ,
0xec ,
0x9f  )

◆ DEFINE_GUID() [27/35]

DEFINE_GUID ( ff_CODECAPI_AVEncMPVGOPSize ,
0x95f31b26 ,
0x95a4 ,
0x41aa ,
0x93 ,
0x03 ,
0x24 ,
0x6a ,
0x7f ,
0xc6 ,
0xee ,
0xf1  )

◆ DEFINE_GUID() [28/35]

DEFINE_GUID ( ff_CODECAPI_AVEncVideoEncodeQP ,
0x2cb5696b ,
0x23fb ,
0x4ce1 ,
0xa0 ,
0xf9 ,
0xef ,
0x5b ,
0x90 ,
0xfd ,
0x55 ,
0xca  )

◆ DEFINE_GUID() [29/35]

DEFINE_GUID ( ff_MF_SA_D3D11_BINDFLAGS ,
0xeacf97ad ,
0x065c ,
0x4408 ,
0xbe ,
0xe3 ,
0xfd ,
0xcb ,
0xfd ,
0x12 ,
0x8b ,
0xe2  )

◆ DEFINE_GUID() [30/35]

DEFINE_GUID ( ff_MF_SA_D3D11_USAGE ,
0xe85fe442 ,
0x2ca3 ,
0x486e ,
0xa9 ,
0xc7 ,
0x10 ,
0x9d ,
0xda ,
0x60 ,
0x98 ,
0x80  )

◆ DEFINE_GUID() [31/35]

DEFINE_GUID ( ff_MF_SA_D3D11_AWARE ,
0x206b4fc8 ,
0xfcf9 ,
0x4c51 ,
0xaf ,
0xe3 ,
0x97 ,
0x64 ,
0x36 ,
0x9e ,
0x33 ,
0xa0  )

◆ DEFINE_GUID() [32/35]

DEFINE_GUID ( ff_MF_SA_D3D11_SHARED ,
0x7b8f32c3 ,
0x6d96 ,
0x4b89 ,
0x92 ,
0x3 ,
0xdd ,
0x38 ,
0xb6 ,
0x14 ,
0x14 ,
0xf3  )

◆ DEFINE_GUID() [33/35]

DEFINE_GUID ( ff_MF_SA_D3D11_SHARED_WITHOUT_MUTEX ,
0x39dbd44d ,
0x2e44 ,
0x4931 ,
0xa4 ,
0xc8 ,
0x35 ,
0x2d ,
0x3d ,
0xc4 ,
0x21 ,
0x15  )

◆ DEFINE_GUID() [34/35]

DEFINE_GUID ( ff_MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT ,
0x851745d5 ,
0xc3d6 ,
0x476d ,
0x95 ,
0x27 ,
0x49 ,
0x8e ,
0xf2 ,
0xd1 ,
0xd ,
0x18  )

◆ DEFINE_GUID() [35/35]

DEFINE_GUID ( ff_MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT_PROGRESSIVE ,
0xf5523a5 ,
0x1cb2 ,
0x47c5 ,
0xa5 ,
0x50 ,
0x2e ,
0xeb ,
0x84 ,
0xb4 ,
0xd1 ,
0x4a  )

◆ DEFINE_MEDIATYPE_GUID() [1/3]

DEFINE_MEDIATYPE_GUID ( ff_MFVideoFormat_HEVC ,
0x43564548  )

◆ DEFINE_MEDIATYPE_GUID() [2/3]

DEFINE_MEDIATYPE_GUID ( ff_MFVideoFormat_HEVC_ES ,
0x53564548  )

◆ DEFINE_MEDIATYPE_GUID() [3/3]

DEFINE_MEDIATYPE_GUID ( ff_MFVideoFormat_AV1 ,
0x31305641  )

◆ ff_hr_str_buf()

char * ff_hr_str_buf ( char * buf,
size_t size,
HRESULT hr )

Definition at line 50 of file mf_utils.c.

◆ ff_create_memory_sample()

IMFSample * ff_create_memory_sample ( MFFunctions * f,
void * fill_data,
size_t size,
size_t align )

Definition at line 76 of file mf_utils.c.

Referenced by mf_a_avframe_to_sample(), mf_receive_sample(), and process_software_frame().

◆ ff_media_type_to_sample_fmt()

enum AVSampleFormat ff_media_type_to_sample_fmt ( IMFAttributes * type)

Definition at line 114 of file mf_utils.c.

Referenced by ff_attributes_dump(), mf_enca_input_adjust(), and mf_enca_input_score().

◆ ff_media_type_to_pix_fmt()

enum AVPixelFormat ff_media_type_to_pix_fmt ( IMFAttributes * type)

Definition at line 158 of file mf_utils.c.

Referenced by ff_attributes_dump(), mf_encv_input_adjust(), and mf_encv_input_score().

◆ ff_pix_fmt_to_guid()

const GUID * ff_pix_fmt_to_guid ( enum AVPixelFormat pix_fmt)

Definition at line 176 of file mf_utils.c.

◆ ff_fourcc_from_guid()

int ff_fourcc_from_guid ( const GUID * guid,
uint32_t * out_fourcc )

Definition at line 190 of file mf_utils.c.

Referenced by ff_guid_str_buf().

◆ ff_guid_str_buf()

char * ff_guid_str_buf ( char * buf,
size_t buf_size,
const GUID * guid )

Definition at line 333 of file mf_utils.c.

◆ ff_attributes_dump()

void ff_attributes_dump ( void * log,
IMFAttributes * attrs )

Definition at line 359 of file mf_utils.c.

Referenced by ff_instantiate_mf(), and ff_media_type_dump().

◆ ff_media_type_dump()

void ff_media_type_dump ( void * log,
IMFMediaType * type )

Definition at line 503 of file mf_utils.c.

Referenced by mf_choose_input_type(), mf_choose_output_type(), and mf_output_type_get().

◆ ff_codec_to_mf_subtype()

const CLSID * ff_codec_to_mf_subtype ( enum AVCodecID codec)

Definition at line 508 of file mf_utils.c.

Referenced by mf_create(), and mf_init_encoder().

◆ ff_instantiate_mf()

int ff_instantiate_mf ( void * log,
MFFunctions * f,
GUID category,
MFT_REGISTER_TYPE_INFO * in_type,
MFT_REGISTER_TYPE_INFO * out_type,
int use_hw,
IMFTransform ** res )

Definition at line 552 of file mf_utils.c.

Referenced by mf_create().

◆ ff_free_mf()

void ff_free_mf ( MFFunctions * f,
IMFTransform ** mft )

Definition at line 645 of file mf_utils.c.

Referenced by mf_close().